コード例 #1
0
ファイル: elementvalidator.php プロジェクト: glauberm/cinevi
 /**
  * Loads in element's published validation objects
  *
  * @return  PlgFabrik_Validationrule[]	Validation objects
  */
 public function findAll()
 {
     if (isset($this->validations)) {
         return $this->validations;
     }
     $params = $this->elementModel->getParams();
     $validations = (array) $params->get('validations', 'array');
     $usedPlugins = (array) FArrayHelper::getValue($validations, 'plugin', array());
     $published = FArrayHelper::getValue($validations, 'plugin_published', array());
     $showIcon = FArrayHelper::getValue($validations, 'show_icon', array());
     $mustValidate = FArrayHelper::getValue($validations, 'must_validate', array());
     $validateIn = FArrayHelper::getValue($validations, 'validate_in', array());
     $validationOn = FArrayHelper::getValue($validations, 'validation_on', array());
     $mustValidate = FArrayHelper::getValue($validations, 'must_validate', array());
     $pluginManager = FabrikWorker::getPluginManager();
     $pluginManager->getPlugInGroup('validationrule');
     $c = 0;
     $this->validations = array();
     $dispatcher = JEventDispatcher::getInstance();
     JPluginHelper::importPlugin('fabrik_validationrule');
     $i = 0;
     foreach ($usedPlugins as $usedPlugin) {
         if ($usedPlugin !== '') {
             $isPublished = FArrayHelper::getValue($published, $i, true);
             if ($isPublished) {
                 $class = 'PlgFabrik_Validationrule' . JString::ucfirst($usedPlugin);
                 $conf = array();
                 $conf['name'] = JString::strtolower($usedPlugin);
                 $conf['type'] = JString::strtolower('fabrik_Validationrule');
                 /** @var PlgFabrik_Validationrule $plugIn */
                 $plugIn = new $class($dispatcher, $conf);
                 JPluginHelper::getPlugin('fabrik_validationrule', $usedPlugin);
                 $plugIn->elementModel = $this->elementModel;
                 $this->validations[] = $plugIn;
                 // Set params relative to plugin render order
                 $plugIn->setParams($params, $i);
                 $plugIn->getParams()->set('show_icon', FArrayHelper::getValue($showIcon, $i, true));
                 $plugIn->getParams()->set('validate_in', FArrayHelper::getValue($validateIn, $i, 'both'));
                 $plugIn->getParams()->set('validation_on', FArrayHelper::getValue($validationOn, $i, 'both'));
                 $plugIn->getParams()->set('must_validate', FArrayHelper::getValue($mustValidate, $i, '0'));
                 $plugIn->js();
                 $c++;
             }
         }
         $i++;
     }
     return $this->validations;
 }