/** * 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; }