/**
  * 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}");
 }
示例#2
0
 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;
     }
 }