/** * Reroutes calls to method implemented by settings delegate to the delegate class */ public function __call($ps_name, $pa_arguments) { if ($ps_name == 'setSetting' && $pa_arguments[0] == 'refineries') { // // Load refinery-specific settings as refineries are selected // if (is_array($pa_arguments[1])) { $va_current_settings = $this->SETTINGS->getAvailableSettings(); foreach ($pa_arguments[1] as $vs_refinery) { if (is_array($va_refinery_settings = ca_data_importer_items::getRefinerySettings($vs_refinery))) { $va_current_settings += $va_refinery_settings; } } $this->SETTINGS->setAvailableSettings($va_current_settings); } } if (method_exists($this->SETTINGS, $ps_name)) { return call_user_func_array(array($this->SETTINGS, $ps_name), $pa_arguments); } die($this->tableName() . " does not implement method {$ps_name}"); }
public function removeItem($pn_item_id) { $t_item = new ca_data_importer_items(); if (!in_array($pn_item_id, $this->getItemIDs())) { return false; // don't delete items from other importers } if ($t_item->load($pn_item_id)) { $t_item->setMode(ACCESS_WRITE); $t_item->delete(); } else { return false; } }