/** * Sets a service container parameter. * * @param string $name The parameter name * @param $value * * @internal param mixed $parameters The parameter value */ public function setParameter($name, $value) { if (is_array($value) && RokCommon_Utils_ArrayHelper::isAssociative($value)) { foreach ($value as $key => $subvalue) { $subname = $name . RokCommon_Registry::SEPARATOR . $key; $this->setParameter($name . RokCommon_Registry::SEPARATOR . $key, $subvalue); } } elseif (is_array($value) && $this->parameters->exists($name)) { $current = $this->parameters->get($name); if (is_array($current)) { $merged = array_merge($current, $value); $this->parameters->set(strtolower($name), $merged); } else { $this->parameters->set(strtolower($name), $value); } } else { $this->parameters->set(strtolower($name), $value); } }
/** * Method to filter the form data. * * @param array $data An array of field values to filter. * @param string $group The dot-separated form group path on which to filter the fields. * * @return mixed Array or false. * * @since 11.1 */ public function filter($data, $group = null) { // Make sure there is a valid RokCommon_Form XML document. if (!$this->xml instanceof SimpleXMLElement) { return false; } // Initialise variables. $input = new RokCommon_Registry($data); $output = new RokCommon_Registry(); // Get the fields for which to filter the data. $fields = $this->findFieldsByGroup($group); if (!$fields) { // PANIC! return false; } // Filter the fields. foreach ($fields as $field) { // Initialise variables. $name = (string) $field['name']; // Get the field groups for the element. $attrs = $field->xpath('ancestor::fields[@name]/@name'); $groups = array_map('strval', $attrs ? $attrs : array()); $group = implode('.', $groups); // Get the field value from the data input. if ($group) { // Filter the value if it exists. if ($input->exists($group . '.' . $name)) { $output->set($group . '.' . $name, $this->filterField($field, $input->get($group . '.' . $name, (string) $field['default']))); } } else { // Filter the value if it exists. if ($input->exists($name)) { $output->set($name, $this->filterField($field, $input->get($name, (string) $field['default']))); } } } return $output->toArray(); }
/** * @param $context * @param $value * @return mixed */ protected function _set($context, $value) { return $this->_storage->set($context, $value); }