Code Monkey home page Code Monkey logo

roundcube-toolbox's People

Contributors

callidior avatar dicea-unipd avatar gianlucagiacometti avatar henri-j-norden avatar joebordes avatar sinyaweo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

roundcube-toolbox's Issues

New install issues and notes; RM 1.5, Postfix, Postfixadmin, Dovecot, MySQL

  1. The project documentation and config.php.conf.dist are a bit out-of-sync. Project installation states $rcmail_config['toolbox_dsn']'must be set. Toolbox didn't appear to read that var at all. Set $config['toolbox_postfix_dsnw'] instead, per config file comments, and it worked. Docs should also point out that the dsn for Roundcube needs to be set, which is buried in the middle of the config rather than placed at the top with the Postfix/Postfixadmin dsn

  2. Docs are unclear which db the user should create the toolbox tables in. Probably help some folks to explicitly state that the tables need to be added to the Roundcube db rather than Postfixadmin db.

  3. Alias issue: SQL inserts fail due to invalid timestamp. Disabling strict mode on the MySQL server is a workaround, but the creation and modification dates making the insert are invalid 0000-00-00 00:00:00. Log shows Now() for the timestamp in the SQL, but it's not making it into the db.

  4. Alias issue: 'Enabled' boolean not reflecting correctly in Toolbox. I have verified that toggling active is actually reflecting correctly in the db - the problem is that the Roundcube:alias:active field is not being shown correctly by toolbox.

Set of Tools...

Would you mind listing the "tools" in the Readme?
Or did I overlook something and it is written somewhere?

roundcube-toolbox-1.4.10.1, malfunctional aliases + out of office

On Debian 11, Roundcube 1.4.12 is malfunctional "aliases" + "out of office".
Here is diff

diff -aur /usr/src/roundcube-toolbox-1.4.10.1/lib/Roundcube/rcube_toolbox_storage_sql_helper.php /usr/share/roundcube/plugins/toolbox/lib/Roundcube/rcube_toolbox_storage_sql_helper.php
--- /usr/src/roundcube-toolbox-1.4.10.1/lib/Roundcube/rcube_toolbox_storage_sql_helper.php      2021-01-22 14:08:58.000000000 +0100
+++ /usr/share/roundcube/plugins/toolbox/lib/Roundcube/rcube_toolbox_storage_sql_helper.php     2021-12-14 17:34:02.925234763 +0100
@@ -157,7 +157,8 @@
     // convert formatted string into timestamp/datetime
     public function to_timestamp($field, $format)
     {
-        $date = DateTime::createFromFormat($format['php'], $date);
+        //$date = DateTime::createFromFormat($format['php'], $date);
+        $date = DateTime::createFromFormat($format['php'], $field);
         $dsn = $this->db::parse_dsn($this->dsn);
         $format = $format[$dsn['phptype']];
         switch ($dsn['phptype']) {
diff -aur /usr/src/roundcube-toolbox-1.4.10.1/lib/Roundcube/rcube_toolbox_storage_sql.php /usr/share/roundcube/plugins/toolbox/lib/Roundcube/rcube_toolbox_storage_sql.php
--- /usr/src/roundcube-toolbox-1.4.10.1/lib/Roundcube/rcube_toolbox_storage_sql.php     2021-01-22 14:08:58.000000000 +0100
+++ /usr/share/roundcube/plugins/toolbox/lib/Roundcube/rcube_toolbox_storage_sql.php    2021-12-17 01:11:46.186899190 +0100
@@ -607,13 +607,15 @@
                     rcube::write_log($this->logfile, "SQL in [storage].[sql].[function save_tool_data]: execute query [INSERT INTO `{$this->postfix_sql_alias_table_name}` (`{$this->postfix_sql_address_field_in_alias}`, `{$this->postfix_sql_goto_field_in_alias}`, `{$this->postfix_sql_domain_field_in_alias}`, `{$this->postfix_sql_created_field_in_alias}`, `{$this->postfix_sql_modified_field_in_alias}`, `{$this->postfix_sql_active_field_in_alias}`) VALUES ('{$address}', '{$user}', '{$parts[1]}', '{$this->db->now()}', '{$this->db->now()}', '{$settings['main']['active']}');]");
                 }
                 $this->db->query(
-                    "INSERT INTO `{$this->postfix_sql_alias_table_name}` (`{$this->postfix_sql_address_field_in_alias}`, `{$this->postfix_sql_goto_field_in_alias}`, `{$this->postfix_sql_domain_field_in_alias}`, `{$this->postfix_sql_created_field_in_alias}`, `{$this->postfix_sql_modified_field_in_alias}`, `{$this->postfix_sql_active_field_in_alias}`) VALUES (?, ?, ?, ?, ?, ?);",
+                    //"INSERT INTO `{$this->postfix_sql_alias_table_name}` (`{$this->postfix_sql_address_field_in_alias}`, `{$this->postfix_sql_goto_field_in_alias}`, `{$this->postfix_sql_domain_field_in_alias}`, `{$this->postfix_sql_created_field_in_alias}`, `{$this->postfix_sql_modified_field_in_alias}`, `{$this->postfix_sql_active_field_in_alias}`) VALUES (?, ?, ?, ?, ?, ?);",
+                    "INSERT INTO `{$this->postfix_sql_alias_table_name}` (`{$this->postfix_sql_address_field_in_alias}`, `{$this->postfix_sql_goto_field_in_alias}`, `{$this->postfix_sql_domain_field_in_alias}`, `{$this->postfix_sql_created_field_in_alias}`, `{$this->postfix_sql_modified_field_in_alias}`, `{$this->postfix_sql_active_field_in_alias}`) VALUES (?, ?, ?, {$this->db->now()}, {$this->db->now()}, {$settings['main']['active']});",
                     $address,
                     $user,
                     $parts[1],
-                    $this->db->now(),
-                    $this->db->now(),
-                    $settings['main']['active']);
+                    //$this->db->now(),
+                    //$this->db->now(),
+                    //$settings['main']['active']
+                    );
                 if ($this->loglevel > 0) {
                     if ($err_str = $this->db->is_error()) {
                         rcube::write_log($this->logfile, "ERROR in [storage].[sql].[function save_tool_data]: cannot insert into alias: " . $err_str);
@@ -776,8 +778,9 @@
                 else {
                     $settings['main']['created'] = $this->db->now();
                     $queries[] = [
-                                'sql' => "INSERT INTO {$this->postfix_sql_vacation_table_name} (" . implode(', ', array_keys($settings['main'])) . ") VALUES (" . implode(',',array_values($settings['main'])) . ");",
-                                'data' => [],
+                                //'sql' => "INSERT INTO {$this->postfix_sql_vacation_table_name} (" . implode(', ', array_keys($settings['main'])) . ") VALUES (" . implode(',',array_values($settings['main'])) . ");",
+                                'sql' => "INSERT INTO {$this->postfix_sql_vacation_table_name} (`{$this->postfix_sql_email_field_in_vacation}`, `{$this->postfix_sql_domain_field_in_vacation}`, " . implode(', ', array_keys($settings['main'])) . ") VALUES (?,?," . implode(',',array_values($settings['main'])) . ");",
+                                'data' => [$user, $parts[1]],
                                 'type' => 'insert'
                     ];
                 }
@@ -790,6 +793,18 @@
                 ];

                 //remove autoreply address from alias list, but keep custom aliases
+                $concat = $this->db->concat($this->db->quote($parts[0]),$this->db->quote('#'),$this->db->quote($parts[1]),$this->db->quote('@'),$this->db->quote($this->postfixadmin_vacation_domain),$this->db->quote(','));
+                $queries[] = [
+                                'sql' => "UPDATE {$this->postfix_sql_alias_table_name} SET `{$this->postfix_sql_goto_field_in_alias}` = replace({$this->postfix_sql_goto_field_in_alias}, {$concat}, ''), `{$this->postfix_sql_modified_field_in_alias}` = {$this->db->now()} WHERE `{$this->postfix_sql_address_field_in_alias}` = ? AND `{$this->postfix_sql_domain_field_in_alias}` = ?;",
+                                'data' => [$user, $parts[1]],
+                                'type' => 'update'
+                ];
+                $concat = $this->db->concat($this->db->quote(','),$this->db->quote($parts[0]),$this->db->quote('#'),$this->db->quote($parts[1]),$this->db->quote('@'),$this->db->quote($this->postfixadmin_vacation_domain));
+                $queries[] = [
+                                'sql' => "UPDATE {$this->postfix_sql_alias_table_name} SET `{$this->postfix_sql_goto_field_in_alias}` = replace({$this->postfix_sql_goto_field_in_alias}, {$concat}, ''), `{$this->postfix_sql_modified_field_in_alias}` = {$this->db->now()} WHERE `{$this->postfix_sql_address_field_in_alias}` = ? AND `{$this->postfix_sql_domain_field_in_alias}` = ?;",
+                                'data' => [$user, $parts[1]],
+                                'type' => 'update'
+                ];
                 $concat = $this->db->concat($this->db->quote($parts[0]),$this->db->quote('#'),$this->db->quote($parts[1]),$this->db->quote('@'),$this->db->quote($this->postfixadmin_vacation_domain));
                 $queries[] = [
                                 'sql' => "UPDATE {$this->postfix_sql_alias_table_name} SET `{$this->postfix_sql_goto_field_in_alias}` = replace({$this->postfix_sql_goto_field_in_alias}, {$concat}, ''), `{$this->postfix_sql_modified_field_in_alias}` = {$this->db->now()} WHERE `{$this->postfix_sql_address_field_in_alias}` = ? AND `{$this->postfix_sql_domain_field_in_alias}` = ?;",
@@ -798,12 +813,13 @@
                 ];

                 //add autoreply address as alias
-                $concat = $this->db->concat($this->postfix_sql_goto_field_in_alias,$this->db->quote($parts[0]),$this->db->quote('#'),$this->db->quote($parts[1]),$this->db->quote('@'),$this->db->quote($this->postfixadmin_vacation_domain));
-                $queries[] = [
+                //$concat = $this->db->concat($this->postfix_sql_goto_field_in_alias,$this->db->quote($parts[0]),$this->db->quote('#'),$this->db->quote($parts[1]),$this->db->quote('@'),$this->db->quote($this->postfixadmin_vacation_domain));
+                $concat = $this->db->concat($this->postfix_sql_goto_field_in_alias,$this->db->quote(','),$this->db->quote($parts[0]),$this->db->quote('#'),$this->db->quote($parts[1]),$this->db->quote('@'),$this->db->quote($this->postfixadmin_vacation_domain));
+                if ( $settings['main']['active'] == 'true' ) { $queries[] = [
                                 'sql' => "UPDATE {$this->postfix_sql_alias_table_name} SET `{$this->postfix_sql_goto_field_in_alias}` = {$concat}, `{$this->postfix_sql_modified_field_in_alias}` = {$this->db->now()} WHERE `{$this->postfix_sql_address_field_in_alias}` = ? AND `{$this->postfix_sql_domain_field_in_alias}` = ? AND `{$this->postfix_sql_active_field_in_alias}` = true;",
                                 'data' => [$user, $parts[1]],
                                 'type' => 'update'
-                ];
+                ]; }

                 foreach ($queries as $query) {

@@ -860,11 +876,12 @@
                             rcube::write_log($this->logfile, "SQL in [storage].[sql].[function save_tool_data]: execute query [INSERT INTO `toolbox_customise_domains` (`domain_name`, `purge_trash`, `purge_junk`, `modified`, `modified_by`) VALUES ('{$parts[1]}', '{$settings['domain']['purge_trash']}', '{$settings['domain']['purge_junk']}', '{$this->db->now()}', '{$user}');]");
                         }
                         $this->db->query(
-                            "INSERT INTO `toolbox_customise_domains` (`domain_name`, `purge_trash`, `purge_junk`, `modified`, `modified_by`) VALUES (?, ?, ?, ?, ?);",
+                            //"INSERT INTO `toolbox_customise_domains` (`domain_name`, `purge_trash`, `purge_junk`, `modified`, `modified_by`) VALUES (?, ?, ?, ?, ?);",
+                            "INSERT INTO `toolbox_customise_domains` (`domain_name`, `purge_trash`, `purge_junk`, `modified`, `modified_by`) VALUES (?, ?, ?, {$this->db->now()}, ?);",
                             $parts[1],
                             $settings['domain']['purge_trash'],
                             $settings['domain']['purge_junk'],
-                            $this->db->now(),
+                            //$this->db->now(),
                             $user);
                         if ($this->loglevel > 0) {
                             if ($err_str = $this->db->is_error()) {
@@ -957,7 +974,8 @@
                                 rcube::write_log($this->logfile, "SQL in [storage].[sql].[function save_tool_data]: execute query [INSERT INTO `toolbox_customise_skins` (`toolbox_customise_domain_id`, `skin`, `blankpage_type`, `blankpage_image`, `blankpage_url`, `blankpage_custom`, `additional_css`, `modified`, `modified_by`) VALUES ('{$domain_id}', '{$skin}', '{$values['blankpage_type']}', '{$values['blankpage_image']}', '{$values['blankpage_url']}', '{$values['blankpage_custom']}', '{$values['additional_css']}', '{$this->db->now()}', '{$user}');]");
                             }
                             $this->db->query(
-                                "INSERT INTO `toolbox_customise_skins` (`toolbox_customise_domain_id`, `skin`, `customise_blankpage`, `blankpage_type`, `blankpage_image`, `blankpage_url`, `blankpage_custom`, `customise_css`, `additional_css`, `customise_logo`, `customised_logo`, `modified`, `modified_by`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);",
+                                //"INSERT INTO `toolbox_customise_skins` (`toolbox_customise_domain_id`, `skin`, `customise_blankpage`, `blankpage_type`, `blankpage_image`, `blankpage_url`, `blankpage_custom`, `customise_css`, `additional_css`, `customise_logo`, `customised_logo`, `modified`, `modified_by`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);",
+                                "INSERT INTO `toolbox_customise_skins` (`toolbox_customise_domain_id`, `skin`, `customise_blankpage`, `blankpage_type`, `blankpage_image`, `blankpage_url`, `blankpage_custom`, `customise_css`, `additional_css`, `customise_logo`, `customised_logo`, `modified`, `modified_by`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, {$this->db->now()}, ?);",
                                 $domain_id,
                                 $skin,
                                 $values['customise_blankpage'],
@@ -969,7 +987,7 @@
                                 $values['additional_css'],
                                 $values['customise_logo'],
                                 $values['customised_logo'],
-                                $this->db->now(),
+                                //$this->db->now(),
                                 $user);
                             if ($this->loglevel > 0) {
                                 if ($err_str = $this->db->is_error()) {
Pouze v /usr/share/roundcube/plugins/toolbox/localization: cs_CZ.inc
diff -aur /usr/src/roundcube-toolbox-1.4.10.1/toolbox.php /usr/share/roundcube/plugins/toolbox/toolbox.php
--- /usr/src/roundcube-toolbox-1.4.10.1/toolbox.php     2021-01-22 14:08:58.000000000 +0100
+++ /usr/share/roundcube/plugins/toolbox/toolbox.php    2021-12-16 12:11:09.818875392 +0100
@@ -1193,8 +1193,8 @@
                     rcube::write_log($this->logfile, "STEP in [function save]: prepare vacation settings");
                 }
                 $new_settings['main']['active'] = rcube_utils::get_input_value('_vacationactive', rcube_utils::INPUT_POST) ?: false;
-                $new_settings['main']['activefrom'] = rcube_utils::get_input_value('_vacationactivefrom', rcube_utils::INPUT_POST) ?: date("Y-m-d H:i:s");
-                $new_settings['main']['activeuntil'] = rcube_utils::get_input_value('_vacationactiveuntil', rcube_utils::INPUT_POST) ?: date('"Y-m-d H:i:s"', strtotime("+1 week"));
+                $new_settings['main']['activefrom'] = rcube_utils::get_input_value('_vacationactivefrom', rcube_utils::INPUT_POST) ?: date($this->rcube->config->get('toolbox_vacation_dateformat')['php']);
+                $new_settings['main']['activeuntil'] = rcube_utils::get_input_value('_vacationactiveuntil', rcube_utils::INPUT_POST) ?: date($this->rcube->config->get('toolbox_vacation_dateformat')['php'], strtotime("+1 week"));
                 $new_settings['main']['interval_time'] = rcube_utils::get_input_value('_vacationintervaltime', rcube_utils::INPUT_POST) ?: $this->rcube->config->get('toolbox_vacation_interval_time')['replyonce'];
                 $new_settings['main']['subject'] = rcube_utils::get_input_value('_vacationsubject', rcube_utils::INPUT_POST) ?: $this->rcube->config->get('toolbox_vacation_subject');
                 $new_settings['main']['body'] = rcube_utils::get_input_value('_vacationbody', rcube_utils::INPUT_POST) ?: $this->rcube->config->get('toolbox_vacation_body');

Best Regards,
Stepan Brajko

Notworking

image

What is the issue with this? when I click on options it will not show any things, please recheck it.

FR Localisation : invalid syntax

localization/fr_FR.inc line 172, invalid syntax at the end of line, the file is not correct
$labels['safelogin-os'] = 'Systeme d’exploitation’;

Database connect error, but don't want to use DB

Hi,
as soon as I enable the plugin, roundcube throws db errors like the following:

[13-Aug-2021 12:13:53 +0000]: <1c68b788> DB Error: SQLSTATE[08006] [7] could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Network unreachable
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432? (POST /?_task=mail&_action=refresh)

I am using the recent docker-container using sqlite (there will be ~5 users, so sqlite should do). At the moment I only want to use the "purge" tool and hope that this will not need a database connection. My configuration now looks like this:

$config['plugins'] = array_filter(array_unique(array_merge($config['plugins'], ['toolbox'])));
$config['toolbox_tools'] = [ 'purge' ];
$config['toolbox_roundcube_dsnw'] = 'sqlite:////var/roundcube/db/sqlite.db?mode=0646';
$config['toolbox_postfix_dsnrw'] = '';

Any chance to get it running?

Regards, Uli

Missing end of line and installation

Hello,
thank you for great plugin. I just installed it and I had to deal with 2 issues:
config.inc.php.dist on line 202 "$config['toolbox_use_postfixadmin_domain_admins'] = true" missing ';' and the end of line. During install it is copied to live and creates error.

During install it is installed into folder 'roundcube_toolbox'. When I enabled plugin 'roucube_toolbox" error appeared, because it looked for 'roundube_toolbox.php'. I had to rename folder into 'toolbox', change in config file. I do not know if I did something wrong, it does not seem to me. It can cause some troubles in future with upgrade, I do not know.

Have a nice day
Tomas

ERROR 1054 (42S22) at line 41: Unknown column 'toolbox_customise_domains.domain_name' in 'field list'

Got that error message and had to change the query to create the view to:

CREATE OR REPLACE VIEW toolbox_customise_skins_view AS
SELECT
toolbox_customise_domains.domain_name,
toolbox_customise_skins.skin,
toolbox_customise_skins.customise_blankpage,
toolbox_customise_skins.blankpage_type,
toolbox_customise_skins.blankpage_image,
toolbox_customise_skins.blankpage_url,
toolbox_customise_skins.blankpage_custom,
toolbox_customise_skins.customise_css,
toolbox_customise_skins.additional_css
FROM toolbox_customise_skins
LEFT JOIN toolbox_customise_domains ON (toolbox_customise_domains.id = toolbox_customise_skins.toolbox_customise_domain_id);

After I enabled the toolbox (and only aliases) in roundcube the menu item appears, but the apache-error-log gives me
PHP Warning: Invalid argument supplied for foreach() in /usr/share/roundcubemail/program/steps/settings/edit_prefs.inc on line 56
and the form remains empty.

Any help would be appreciated.

PHP Warning: Invalid argument supplied

I get an error in apache errorlog
PHP Warning: Invalid argument supplied for foreach() in /usr/share/roundcubemail/program/steps/settings/edit_prefs.inc on line 56
and the screen shows
afbeelding
I added the module as described and only enabled aliases.
Is there something else required besides the installation of kolab and this module?

Did I miss something here?

Setting alias causes MySQL error: "Invalid datetime 'now()'"

I just installed the toolbox plugin v1.4.10, using Roundcube v1.4.11, using MySQL v5.7.29.

If I want to set an Alias, I get this MySQL error in the error log:

[20-Mar-2021 16:40:52 +0100]: <l0ov7hqo> DB Error: [1292] Incorrect datetime value: 'now()' for column 'created' at row 1 (SQL Query: INSERT INTO `alias` (`address`, `goto`, `domain`, `created`, `modified`, `active`) VALUES ('[email protected]', '[email protected]', 'xyz.net', 'now()', 'now()', 'true')) in /var/lib/roundcube/program/lib/Roundcube/rcube_db.php on line 543 (POST /webmail/?_task=settings&_action=plugin.toolbox.save)

It seems the now() function does not generate a valid datetime here. Checking the MySQL docs (even though for v8 and I'm using v5.7) reveals that the now() function returns a date string in a specific format (and indeed it behaves here as described in my old MySQL version), and this is apparently not a valid datetime.

Set blankpage triggers an issue in small screens

When set_env('blankpage', $blankpage) is called the focus moves to the layout-content element.
If this is acceptable in most screens, in small screens makes it impossible to use the app, since the focus cannot be set on the layout-list for more a fraction of a second.

Mysql error while initial sql script setup.

Hi,

i have folowing error while running initial script and don't understand how to resolve it :
[ #mysql -u user roundcubemail < mysql.initial.sql ]

ERROR 1054 (42S22) at line 43: Unknown column 'toolbox_customise_domains.domain_name' in 'field list'

please help me.

Centos 7, mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64)

Roudcube 1.6.1 errors

Hello, thank you very much for your work.
Installed the plugin on Rouncube 1.6.1
I have errors in the log file.
There are no new entries in the database.
In the Rouncube settings in the Attachments section there is only a 'Save' button.
MariaDB+Ubuntu server 22.04+PHP8.1

cat /var/www/roundcube/logs/errors.log 
[09-Mar-2023 15:46:56 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox)
[09-Mar-2023 15:46:56] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:46:56] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:56] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:56] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:56] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:56] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:56] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:57 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox.edit&_section=aliases&_framed=1)
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:57] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:57] PHP Warning:  Undefined variable $addr in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 648
[09-Mar-2023 15:46:57] PHP Warning:  Undefined variable $addr in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 648
[09-Mar-2023 15:46:57] PHP Warning:  Undefined variable $addr in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 648
[09-Mar-2023 15:46:57] PHP Warning:  Undefined variable $addr in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 648
[09-Mar-2023 15:46:57] PHP Warning:  Undefined variable $addr in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 645
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key 1 in /var/www/roundcube/plugins/toolbox/toolbox.php on line 648
[09-Mar-2023 15:46:57 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox.edit&_section=forward&_framed=1)
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:57] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:57] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:58 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox.edit&_section=vacation&_framed=1)
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:58] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "active" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 799
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "activefrom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 807
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "activeuntil" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 815
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "interval_time" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 828
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "subject" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 836
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "body" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 852
[09-Mar-2023 15:46:58 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox.edit&_section=purge&_framed=1)
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:58] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:58] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:59 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox.edit&_section=preview&_framed=1)
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:59] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "toolbox_message_preview" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 919
[09-Mar-2023 15:46:59] PHP Warning:  Undefined array key "toolbox_markasread_doubleclick" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 926
[09-Mar-2023 15:47:00 +0300]: PHP Error: Failed to load plugin file /var/www/roundcube/plugins/roundcube_toolbox/roundcube_toolbox.php in /var/www/roundcube/program/lib/Roundcube/rcube_plugin_api.php on line 193 (GET /?_task=settings&_action=plugin.toolbox.edit&_section=attachments&_framed=1)
[09-Mar-2023 15:47:00] PHP Warning:  Undefined array key "customise_blankpage" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 137
[09-Mar-2023 15:47:00] PHP Warning:  Undefined array key "blankpage_type" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:47:00] PHP Warning:  Undefined array key "blankpage_url" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:47:00] PHP Warning:  Undefined array key "blankpage_image" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:47:00] PHP Warning:  Undefined array key "blankpage_custom" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 142
[09-Mar-2023 15:47:00] PHP Warning:  Undefined array key "additional_css" in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229
[09-Mar-2023 15:47:00] PHP Deprecated:  file_exists(): Passing null to parameter #1 ($filename) of type string is deprecated in /var/www/roundcube/plugins/toolbox/toolbox.php on line 229

Error when setting vacation message

I just installed the toolbox plugin v1.4.10, using Roundcube v1.4.11, using PHP 7.2 and MySQL v5.7.29.

When I want to set a vacation message, after I hit "save", no confirmation appears, and the interface part where I edited the inputs stays empty.
After checking the error log, I find this error being logged every time I try to set a vacation message in RoundCube Toolbox:

Stack trace:
#0 /var/www/lib/roundcube/plugins/toolbox/lib/Roundcube/rcube_toolbox_storage_sql.php(744): rcube_toolbox_storage_sql_helper->to_timestamp('19/03/2021', '%d/%m/%Y')
#1 /var/lib/roundcube/plugins/toolbox/toolbox.php(1300): rcube_toolbox_storage_sql->save_tool_data('moritz@sangham....', Array)
#2 /var/lib/roundcube/program/lib/Roundcube/rcube_plugin_api.php(522): toolbox->save()
#3 /var/lib/roundcube/index.php(292): rcube_plugin_api->exec_action('plugin.toolbox....')
#4 {main}
  thrown in /var/lib/roundcube/plugins/toolbox/lib/Roundcube/rcube_toolbox_storage_sql_helper.php on line 170```

Release 1.4.10 does not work with RoundCube 1.4.X

I have RoundCube 1.4.11 installed.
I tried to install Toolbox plugin 1.4.10 (or 1.4.10.1 or 1.4.10.2) by unpacking the release tar-ball into the RoundCube plugins directory.
The menu items for the Toolbox plugin appear in RoundCube, but when clicking on anyhing, the interface is empty.
I checked the RoundCube error log, and I find this:

Stack trace:
#0 /var/www/html/webmail/program/include/rcmail_output_html.php(1359): toolbox->tool_render_form(Array)
#1 [internal function]: rcmail_output_html->xml_command(Array)
#2 /var/www/html/webmail/program/include/rcmail_output_html.php(1209): preg_replace_callback('/<roundcube:([-...', Array, '<roundcube:incl...')
#3 /var/www/html/webmail/program/include/rcmail_output_html.php(781): rcmail_output_html->parse_xml('<roundcube:incl...')
#4 /var/www/html/webmail/program/include/rcmail_output_html.php(615): rcmail_output_html->parse('tooledit', false)
#5 /var/www/html/webmail/plugins/toolbox/toolbox.php(530): rcmail_output_html->send('toolbox.tooledi...')
#6 /var/www/html/webmail/program/lib/Roundcube/rcube_plugin_api.php(522): toolbox->init_html()
#7 /var/www/html/webmail/index.php(292): rcube_plugin_api->exec_action('plugin.toolbox....')
#8 {main}
  thrown in /var/www/html/webmail/plugins/toolbox/toolbox.php on line 1204```
  
  Apparently, the file `program/include/rcmail_action.php` is missing in RoundCube 1.4.X. It is present in the GitHub master, and 1.5 Beta.
  Is it really correct that this plugin is supposed to be working with RoundCube 1.4.X, as described? 

Failed to load plugin file roundcube_toolbox.php

Hello, I am trying to install this plugin but I am not sure what I'm doing wrong.
I just updated Roundcube to version 1.5.0, updated the composer packages and everything else seems to be working, so I added this plugin with:

 composer require gianlucagiacometti/roundcube-toolbox:dev-master

It doesn't show up under About->Installed plugins, though, so I checked errors.log and could see the following error:

PHP Error: Failed to load plugin file plugins/roundcube_toolbox/roundcube_toolbox.php in program/lib/Roundcube/rcube_plugin_api.php on line 193 (POST /mail/?_task=mail&_action=refresh)

I do not understand why its looking for roundcube_toolbox.php instead of toolbox.php.
I tested renaming both the file toolbox.php to roundcube_toolbox.php and the class toolbox to roundcube_toolbox - the plugin then loads, but Roundcube stops working entirely (even with what should be working settings in plugins/roundcube_toolbox/config.inc.php):

 DB Error: could not find driver in /opt/www/roundcubemail-1.5.0/program/lib/Roundcube/rcube_db.php on line 194 (GET /mail/?_task=mail)
 DB Error: could not find driver (GET /mail/?_task=mail)

I'm using composer version 2.1.8, roundcube/plugin-installer 0.3.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.