Author Topic: Roundcube calendar plugin not working  (Read 63341 times)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
no upcoming dialog
« Reply #60 on: December 10, 2010, 12:30:10 PM »
Quote from: rosali;31742
Click on event and hit delete button on the upcoming dialog.

When I login to roundcube, make an appointment then I can remove, edit this one.

When I login again to roundcube, and I want to remove the appointment, then the dialog will not coming up...

If I make a new appointment, then I can edit or remove it directly...
The already maked event can be edited AFTER that I have made the new appointment, before it is been frozen....

Scheduled (time changes) is not working? for example: when I have made an appointment, standard time is 1 hour,
is it not possible to change it to two hours? (when I do this then it gives a database error: connection failed)
« Last Edit: December 10, 2010, 12:34:43 PM by Theet »

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #61 on: December 12, 2010, 07:14:59 AM »
Give me remote access to help this plugin working better.

At the moment it looks like just you having problems.
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
Error
« Reply #62 on: December 13, 2010, 08:12:40 AM »
Quote from: rosali;31749
Give me remote access to help this plugin working better.

At the moment it looks like just you having problems.

Sorry, I cannot give you remote access because then you have all rights on my system.

Yesterday I have setup the dutch version of calendar, before (with english version) it worked!
Now I have again the same error, see attachements.
He saves the appointments in de database, but he will give 3times an error with loading the calendar and the appointments will not
come into the calendar. Als now a new log.txt attachment
« Last Edit: December 13, 2010, 08:36:25 AM by Theet »

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #63 on: December 13, 2010, 10:58:49 AM »
Obiously you are not able to track the issue back to the root.

So, either give me remote access (setup a test environment) or give up.
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
.htaccess file
« Reply #64 on: December 14, 2010, 05:56:02 AM »
Is there something in the .htaccess file that is important for the roundcube calendar?

in my file .htaccess:

Order allow,deny
Deny from all


in the file of roundcube 0.5 beta:

# AddDefaultCharset   UTF-8
AddType text/x-component .htc


php_flag   display_errors   Off
php_flag   log_errors   On
# php_value   error_log   logs/errors

php_value   upload_max_filesize   5M
php_value   post_max_size      6M
php_value   memory_limit      64M

php_flag   zlib.output_compression      Off
php_flag   magic_quotes_gpc      Off
php_flag   magic_quotes_runtime      Off
php_flag   zend.ze1_compatibility_mode   Off
php_flag    suhosin.session.encrypt    Off

#php_value   session.cookie_path      /
php_value   session.auto_start   0
php_value   session.gc_maxlifetime   21600
php_value   session.gc_divisor   500
php_value   session.gc_probability   1

# PHP :: Bug #30766 :: mail() adds headers and encodes the body
php_value   mbstring.func_overload   0



RewriteEngine On
RewriteRule ^favicon.ico$ skins/default/images/favicon.ico



SetOutputFilter DEFLATE



# replace 'append' with 'merge' for Apache version 2.2.9 and later
#Header append Cache-Control public env=!NO_CACHE



ExpiresActive On
ExpiresDefault "access plus 1 month"


FileETag MTime Size

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #65 on: December 14, 2010, 05:59:19 AM »
No, there is nothing.
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
index.php (roundcube)
« Reply #66 on: December 14, 2010, 07:24:30 AM »
I have compare de index of roundcube and there are several differences/changes (red) in the file.

@Rosali:  can you see which changes are important for the calendar?

/*
 +-------------------------------------------------------------------------+
 | RoundCube Webmail IMAP Client                                           |
 | Version 0.3.1-20091031                                                  |
 |                                                                         |
 +-------------------------------------------------------------------------+
 | Author: Thomas Bruederli                          |
 +-------------------------------------------------------------------------+

 $Id: index.php 3081 2009-10-31 13:20:02Z thomasb $

*/

// include environment
require_once 'program/include/iniset.php';

// init application and start session with requested task
$RCMAIL = rcmail::get_instance();

// init output class
$OUTPUT = !empty($_REQUEST['_remote']) ? $RCMAIL->init_json() : $RCMAIL->load_gui(!empty($_REQUEST['_framed']));

// init plugin API
$RCMAIL->plugins->init();


// turn on output buffering
ob_start();

// check if config files had errors
if ($err_str = $RCMAIL->config->get_error()) {
  raise_error(array(
    'code' => 601,
    'type' => 'php',
    'message' => $err_str), false, true);
}

// check DB connections and exit on failure
if ($err_str = $DB->is_error()) {
  raise_error(array(
    'code' => 603,
    'type' => 'db',
    'message' => $err_str), FALSE, TRUE);
}

// error steps
if ($RCMAIL->action=='error' && !empty($_GET['_code'])) {
  raise_error(array('code' => hexdec($_GET['_code'])), FALSE, TRUE);
}

// check if https is required (for login) and redirect if necessary
if (empty($_SESSION['user_id']) && ($force_https = $RCMAIL->config->get('force_https', false))) {
  $https_port = is_bool($force_https) ? 443 : $force_https;
  if (!rcube_https_check($https_port)) {
    header('Location: https://' . $_SERVER['HTTP_HOST'] . ($https_port != 443 ? ':' . $https_port : '') . $_SERVER['REQUEST_URI']);
    exit;

  }
}

// trigger startup plugin hook
$startup = $RCMAIL->plugins->exec_hook('startup', array('task' => $RCMAIL->task, 'action' => $RCMAIL->action));
$RCMAIL->set_task($startup['task']);
$RCMAIL->action = $startup['action'];

// try to log in
if ($RCMAIL->action=='login' && $RCMAIL->task=='mail') {
  // purge the session in case of new login when a session already exists
  $RCMAIL->kill_session();
 
  $auth = $RCMAIL->plugins->exec_hook('authenticate', array(
    'host' => $RCMAIL->autoselect_host(),
    'user' => trim(get_input_value('_user', RCUBE_INPUT_POST)),
    'cookiecheck' => true,
  )) + array('pass' => get_input_value('_pass', RCUBE_INPUT_POST, true, 'ISO-8859-1'));

  // check if client supports cookies
  if ($auth['cookiecheck'] && empty($_COOKIE)) {
    $OUTPUT->show_message("cookiesdisabled", 'warning');
  }
  else if ($_SESSION['temp'] && !$auth['abort'] && !empty($auth['host']) &&
            !empty($auth['user']) && isset($auth['pass']) &&
            $RCMAIL->login($auth['user'], $auth['pass'], $auth['host'])) {

    // create new session ID
    rcube_sess_unset('temp');
    rcube_sess_regenerate_id();

    // send auth cookie if necessary
    $RCMAIL->authenticate_session();

   // log successful login
    if ($RCMAIL->config->get('log_logins')) {
      write_log('userlogins', sprintf('Successful login for %s (id %d) from %s',
        $RCMAIL->user->get_username(),
        $RCMAIL->user->ID,
        $_SERVER['REMOTE_ADDR']));

    }
   
    // restore original request parameters
    $query = array();
    if ($url = get_input_value('_url', RCUBE_INPUT_POST))
      parse_str($url, $query);

   // allow plugins to control the redirect url after login success
    $redir = $RCMAIL->plugins->exec_hook('login_after', $query + array('task' => $RCMAIL->task));

    unset($redir['abort']);

    // send redirect
    $OUTPUT->redirect($redir);
  }
  else {
    $OUTPUT->show_message($IMAP->error_code < -1 ? 'imaperror' : 'loginfailed', 'warning');

    $RCMAIL->plugins->exec_hook('login_failed', array('code' => $IMAP->error_code, 'host' => $auth['host'], 'user' => $auth['user']));
    $RCMAIL->kill_session();
  }
}

// end session
else if ($RCMAIL->task=='logout' && isset($_SESSION['user_id'])) {
  $userdata = array('user' => $_SESSION['username'], 'host' => $_SESSION['imap_host'], 'lang' => $RCMAIL->user->language);
  $OUTPUT->show_message('loggedout');
  $RCMAIL->logout_actions();
  $RCMAIL->kill_session();
  $RCMAIL->plugins->exec_hook('logout_after', $userdata);
}

// check session and auth cookie
else if ($RCMAIL->action != 'login' && $_SESSION['user_id'] && $RCMAIL->action != 'send') {
  if (!$RCMAIL->authenticate_session()) {
    $OUTPUT->show_message('sessionerror', 'error');
    $RCMAIL->kill_session();
  }
}

// don't check for valid request tokens in these actions
$request_check_whitelist = array('login'=>1, 'spell'=>1);

// check client X-header to verify request origin
if ($OUTPUT->ajax_call) {
  if (!$RCMAIL->config->get('devel_mode') && rc_request_header('X-RoundCube-Request') != $RCMAIL->get_request_token() && !empty($RCMAIL->user->ID)) {
    header('HTTP/1.1 404 Not Found');
    die("Invalid Request");
  }
}
// check request token in POST form submissions
else if (!empty($_POST) && !$request_check_whitelist[$RCMAIL->action] && !$RCMAIL->check_request()) {
  $OUTPUT->show_message('invalidrequest', 'error');
  $OUTPUT->send($RCMAIL->task);
}


// not logged in -> show login page
if (empty($RCMAIL->user->ID)) {
  if ($OUTPUT->ajax_call)
    $OUTPUT->redirect(array(), 2000);
 
  if (!empty($_REQUEST['_framed']))
    $OUTPUT->command('redirect', '?');

  // check if installer is still active
  if ($RCMAIL->config->get('enable_installer') && is_readable('./installer/index.php')) {
    $OUTPUT->add_footer(html::div(array('style' => "background:#ef9398; border:2px solid #dc5757; padding:0.5em; margin:2em auto; width:50em"),
      html::tag('h2', array('style' => "margin-top:0.2em"), "Installer script is still accessible") .
      html::p(null, "The install script of your RoundCube installation is still stored in its default location!") .
      html::p(null, "Please remove the whole installer folder from the RoundCube directory because .
        these files may expose sensitive configuration data like server passwords and encryption keys
        to the public. Make sure you cannot access the installer script from your browser.")
      )
    );
  }
 
  $OUTPUT->set_env('task', 'login');
  $OUTPUT->send('login');
}

// CSRF prevention (missing)

// handle keep-alive signal
if ($RCMAIL->action == 'keep-alive') {
  $OUTPUT->reset();
  $OUTPUT->send();
}
// save preference value
else if ($RCMAIL->action == 'save-pref') {
  $RCMAIL->user->save_prefs(array(get_input_value('_name', RCUBE_INPUT_POST) => get_input_value('_value', RCUBE_INPUT_POST)));
  $OUTPUT->reset();
  $OUTPUT->send();

}


// map task/action to a certain include file
$action_map = array(
  'mail' => array(
    'preview' => 'show.inc',
    'print'   => 'show.inc',
    'moveto'  => 'move_del.inc',
    'delete'  => 'move_del.inc',
    'send'    => 'sendmail.inc',
    'expunge' => 'folders.inc',
    'purge'   => 'folders.inc',
    'remove-attachment'  => 'attachments.inc',
    'display-attachment' => 'attachments.inc',
    'upload' => 'attachments.inc',
  ),
 
  'addressbook' => array(
    'add' => 'edit.inc',
  ),
 
  'settings' => array(
    'folders'       => 'manage_folders.inc',
    'create-folder' => 'manage_folders.inc',
    'rename-folder' => 'manage_folders.inc',
    'delete-folder' => 'manage_folders.inc',
    'subscribe'     => 'manage_folders.inc',
    'unsubscribe'   => 'manage_folders.inc',
    'add-identity'  => 'edit_identity.inc',
  )
);

// include task specific functions
if (is_file($incfile = 'program/steps/'.$RCMAIL->task.'/func.inc'))
  include_once($incfile);

// allow 5 "redirects" to another action
$redirects = 0; $incstep = null;
while ($redirects < 5) {
  $stepfile = !empty($action_map[$RCMAIL->task][$RCMAIL->action]) ?
    $action_map[$RCMAIL->task][$RCMAIL->action] : strtr($RCMAIL->action, '-', '_') . '.inc';

  // execute a plugin action
  if (preg_match('/^plugin\./', $RCMAIL->action)) {
    $RCMAIL->plugins->exec_action($RCMAIL->action);
    break;
  }
  // try to include the step file
  else if (is_file($incfile = 'program/steps/'.$RCMAIL->task.'/'.$stepfile)) {
    include($incfile);
    $redirects++;
  }
  else {
    break;
  }
}


// parse main template (default)
$OUTPUT->send($RCMAIL->task);


// if we arrive here, something went wrong
raise_error(array(
  'code' => 404,
  'type' => 'php',
  'line' => __LINE__,
  'file' => __FILE__,
  'message' => "Invalid request"), true, true);
                     
?>

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #67 on: December 14, 2010, 08:25:44 AM »
You need Roundcube v0.5 beta. This file is version 0.3.x.
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
pg_hba.conf
« Reply #68 on: December 15, 2010, 08:24:40 AM »
Quote from: rosali;31772
You need Roundcube v0.5 beta. This file is version 0.3.x.

Okay, I have already Roundcube v0.5 beta.

Is it possible something I have to change /usr/syno/pgsql/etc/.. in the file pg_hba.conf and postgresql.conf to let work calendar correctly?
« Last Edit: December 15, 2010, 09:32:22 AM by Theet »

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #69 on: December 15, 2010, 10:55:28 AM »
I don't think so. Roundcube itself works also without any config changes. There is nothing I could think about what should it make necessary for the calendar plugin.
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline martinenders

  • Newbie
  • *
  • Posts: 1
Roundcube calendar plugin not working
« Reply #70 on: December 15, 2010, 01:07:30 PM »
Hi,

In my Roundcube installation the calendar plugin also works not properly.
The Userinterface works fine, but events aren't displayed.

It seems that the events can't be loaded from the server.

If I create a new event the message box on the top of the page appears and says "Server Error! (OK)"
But the request for the Event Creation is send properly - the event appears in the Database.

The First Request where I create a new Event with title "test" (I assume that this request creats the entry in the database):
http://........./h-roundcube/?_task=dummy&_action=plugin.newEvent
--> Response: {"action":"plugin.newEvent","exec":"","callbacks":[["plugin.reloadCalendar",[]]]}

Second Request:
http://......../h-roundcube/?_task=dummy&_action=plugin.getEvents&_=1292436238739&start=1290985200&end=1294614000
--> Response: ... SERVICE CURRENTLY NOT AVAILABLE! .... Error No. [500] ....

The third Request is the same as the Second.


Roundcube Version: 0.5 - beta
Calendar Plugin: 2.1 - 14.11.2010
JQuery Plugin: 1.8.2
Database: PostgreSQL

Greetings,
Martin

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #71 on: December 15, 2010, 03:52:35 PM »
I do not have PostGreSQL here. So, I can't track your problems back to the root!

Give me remote access on a test environment. I'm sure I'm able to solve these issues!

My plugin runs on MySQL ... no remote access, please no complaints anymore!
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
Same problem...
« Reply #72 on: December 16, 2010, 02:52:33 AM »
Quote from: martinenders;31794
Hi,

In my Roundcube installation the calendar plugin also works not properly.
The Userinterface works fine, but events aren't displayed.

It seems that the events can't be loaded from the server.

If I create a new event the message box on the top of the page appears and says "Server Error! (OK)"
But the request for the Event Creation is send properly - the event appears in the Database.

The First.... Second Request... The third Request....


Roundcube Version: 0.5 - beta
Calendar Plugin: 2.1 - 14.11.2010
JQuery Plugin: 1.8.2
Database: PostgreSQL

Greetings,
Martin

@Martin: I think I have exactly the same problem and same 3 error messages, I hope you can help Rosali with a remote access to solve the problem.
« Last Edit: December 16, 2010, 03:18:30 AM by Theet »

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Roundcube calendar plugin not working
« Reply #73 on: December 17, 2010, 08:34:06 AM »
Try this package.

Notice:
#1-Re-build database from scratch! It is working for me on PostgreSQL.
#2-Re-configure it

EDIT: Removed attachment
« Last Edit: December 18, 2010, 01:01:42 AM by rosali »
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline Theet

  • Jr. Member
  • **
  • Posts: 42
Jqueryui?
« Reply #74 on: December 17, 2010, 09:12:34 AM »
Quote from: rosali;31835
Try this package.

Notice:
#1-Re-build database from scratch! It is working for me on PostgreSQL.
#2-Re-configure it


Now I have installed the new plugin and updated the postgreSQL. Now I have login to Roundcube and calendar asks for the jqueryui plugin. I have already marked jqueryui as plugin. Do I have the wrong version?

jqueryui plugin must be registered before calendar plugin.