Exemple #1
0
 /**
  * Pre process field args before creating the field object
  * @param string $field
  * @param array &$args
  */
 protected function preProcessFieldArgs($field, &$args)
 {
     parent::preProcessFieldArgs($field, $args);
     if (array_key_exists('meta', $args) && array_key_exists('add_limit_module', $args['meta'])) {
         $mod_factory = I2CE_ModuleFactory::instance();
         foreach ($args['meta']['add_limit_module'] as $module => $method) {
             if ($mod_factory->isEnabled($module)) {
                 $mod_class = $mod_factory->getClass($module);
                 if (!$mod_class->_hasMethod($method)) {
                     I2CE::raiseError("Cannot access method {$method} of {$module} when " . $this->getName() . "." . $field . " is trying to add limits from it.");
                 } else {
                     $args['meta']['limits_add'][$module] = $mod_class->{$method}($this, $args);
                     $args['meta']['enable_limits_add'][$module] = 1;
                 }
             }
         }
     }
 }