Fix attempting to set array value accessed via magic methods was silently ignored by changing and setting the whole array

This commit is contained in:
nathangray 2016-08-03 09:57:49 -06:00
parent de91e82426
commit 6ef849c9a7
5 changed files with 16 additions and 6 deletions

View File

@ -127,8 +127,10 @@ class import_events_csv implements iface_import_plugin {
} }
// set eventOwner // set eventOwner
$_definition->plugin_options['events_owner'] = isset( $_definition->plugin_options['events_owner'] ) ? $plugin_options = $_definition->plugin_options;
$plugin_options['events_owner'] = isset( $_definition->plugin_options['events_owner'] ) ?
$_definition->plugin_options['events_owner'] : $this->user; $_definition->plugin_options['events_owner'] : $this->user;
$_definition->plugin_options = $plugin_options;
// trash_users_records ? // trash_users_records ?
if ( $_definition->plugin_options['trash_users_records'] === true ) { if ( $_definition->plugin_options['trash_users_records'] === true ) {

View File

@ -132,9 +132,11 @@ class calendar_import_ical implements importexport_iface_import_plugin {
return; return;
} }
// switch off notifications by default // switch off notifications by default
$plugin_options = $_definition->plugin_options;
if (!isset($_definition->plugin_options['no_notification'])) if (!isset($_definition->plugin_options['no_notification']))
{ {
$_definition->plugin_options['no_notification'] = true; $plugin_options['no_notification'] = true;
$_definition->plugin_options = $plugin_options;
} }
// User wants conflicting events to not be imported // User wants conflicting events to not be imported
if($_definition->plugin_options['skip_conflicts']) if($_definition->plugin_options['skip_conflicts'])

View File

@ -142,7 +142,9 @@ if( $definition->get_identifier() < 1 ) {
$GLOBALS['egw_info']['flags']['currentapp'] = $definition->application; $GLOBALS['egw_info']['flags']['currentapp'] = $definition->application;
$definition->plugin_options['dry_run'] = $dryrun; $plugin_options = $definition->plugin_options;
$plugin_options['dry_run'] = $dryrun;
$definition->plugin_options = $plugin_options;
$type = $definition->type; $type = $definition->type;
$po = new $definition->plugin; $po = new $definition->plugin;

View File

@ -151,9 +151,11 @@ class infolog_import_infologs_csv implements importexport_iface_import_plugin {
} }
// set Owner // set Owner
$_definition->plugin_options['record_owner'] = $_definition->plugin_options['record_owner'] ? $plugin_options = $_definition->plugin_options;
$plugin_options['record_owner'] = $_definition->plugin_options['record_owner'] ?
$_definition->plugin_options['record_owner'] : $this->user; $_definition->plugin_options['record_owner'] : $this->user;
$_definition->plugin_options['record_owner'] = $this->user; $plugin_options['record_owner'] = $this->user;
$_definition->plugin_options = $plugin_options;
$_lookups = array( $_lookups = array(
'info_type' => $this->boinfolog->enums['type'], 'info_type' => $this->boinfolog->enums['type'],

View File

@ -144,8 +144,10 @@ class timesheet_import_csv implements importexport_iface_import_plugin
} }
// set Owner // set Owner
$_definition->plugin_options['record_owner'] = isset( $_definition->plugin_options['record_owner'] ) ? $plugin_options = $_definition->plugin_options;
$plugin_options['record_owner'] = isset( $_definition->plugin_options['record_owner'] ) ?
$_definition->plugin_options['record_owner'] : $this->user; $_definition->plugin_options['record_owner'] : $this->user;
$_definition->plugin_options = $plugin_options;
// Used to try to automatically match names to account IDs // Used to try to automatically match names to account IDs
$addressbook = new Api\Contacts\Storage(); $addressbook = new Api\Contacts\Storage();