gianlucagiacometti / roundcube-toolbox Goto Github PK
View Code? Open in Web Editor NEWSet of tools for Roundcube webmail
Set of tools for Roundcube webmail
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
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.
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.
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.
Would you mind listing the "tools" in the Readme?
Or did I overlook something and it is written somewhere?
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
localization/fr_FR.inc line 172, invalid syntax at the end of line, the file is not correct
$labels['safelogin-os'] = 'Systeme d’exploitation’;
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
This function needs a global check
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
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
FROMtoolbox_customise_skins
LEFT JOINtoolbox_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.
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
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?
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.
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.
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)
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
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```
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?
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
toolbox_postfix_dsnw set sqlite not work
In composer.json is roundcube/plugin-installer required in version 0.1.6, but Roundcube 1.4.10 uses version 0.2.0 and that renders your plugin unistallable.
Milan
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.