/** * Load values. * * Called internally by the plugin itself to load values from the render. * Can also by called when some one is calling the render object's Zikula_Form_View::setValues. * * @param Zikula_Form_View $view Reference to Zikula_Form_View render object. * @param array &$values Values to load. * * @return void */ function loadValue(Zikula_Form_View $view, &$values) { if ($this->enableDBUtil && $this->dataBased) { $items = null; $value = null; if ($this->group == null) { if ($this->dataField != null && isset($values['__CATEGORIES__'][$this->dataField])) { $value = $values['__CATEGORIES__'][$this->dataField]; } if ($this->itemsDataField != null && isset($values[$this->itemsDataField])) { $items = $values[$this->itemsDataField]; } } else { if (isset($values[$this->group])) { $data = $values[$this->group]; if (isset($data['__CATEGORIES__'][$this->dataField])) { $value = $data['__CATEGORIES__'][$this->dataField]; if ($this->itemsDataField != null && isset($data[$this->itemsDataField])) { $items = $data[$this->itemsDataField]; } } } } if ($items != null) { $this->setItems($items); } $this->setSelectedValue($value); } else { if ($this->enableDoctrine && $this->dataBased) { $items = null; $value = null; if ($this->group == null) { if ($this->dataField != null && isset($values['Categories'][$this->dataField])) { $value = $values['Categories'][$this->dataField]['category_id']; } if ($this->itemsDataField != null && isset($values[$this->itemsDataField])) { $items = $values[$this->itemsDataField]; } } else { if (isset($values[$this->group])) { $data = $values[$this->group]; if (isset($data['Categories'][$this->dataField])) { $value = $data['Categories'][$this->dataField]['category_id']; if ($this->itemsDataField != null && isset($data[$this->itemsDataField])) { $items = $data[$this->itemsDataField]; } } } } if ($items != null) { $this->setItems($items); } $this->setSelectedValue($value); } else { if ($this->doctrine2) { if (isset($values[$this->group])) { $entity = $values[$this->group]; if (isset($entity[$this->dataField])) { $collection = $entity[$this->dataField]; if (isset($collection[$this->registryId])) { $value = $collection[$this->registryId]->getCategory()->getId(); $this->setSelectedValue($value); } } } } else { parent::loadValue($view, $values); } } } }
/** * Load values. * * Called internally by the plugin itself to load values from the render. * Can also by called when some one is calling the render object's Zikula_Form_View::setValues. * * @param Zikula_Form_View $view Reference to Zikula_Form_View render object. * @param array &$values Values to load. * * @return void */ public function loadValue(Zikula_Form_View $view, &$values) { if ($this->enableDBUtil && $this->dataBased) { $items = null; $value = null; if ($this->group == null) { if ($this->dataField != null && isset($values['__CATEGORIES__'][$this->dataField])) { $value = $values['__CATEGORIES__'][$this->dataField]; } if ($this->itemsDataField != null && isset($values[$this->itemsDataField])) { $items = $values[$this->itemsDataField]; } } else { if (isset($values[$this->group])) { $data = $values[$this->group]; if (isset($data['__CATEGORIES__'][$this->dataField])) { $value = $data['__CATEGORIES__'][$this->dataField]; if ($this->itemsDataField != null && isset($data[$this->itemsDataField])) { $items = $data[$this->itemsDataField]; } } } } if ($items != null) { $this->setItems($items); } $this->setSelectedValue($value); } else { if ($this->enableDoctrine && $this->dataBased) { $items = null; $value = null; if ($this->group == null) { if ($this->dataField != null && isset($values['Categories'][$this->dataField])) { $value = $values['Categories'][$this->dataField]['category_id']; } if ($this->itemsDataField != null && isset($values[$this->itemsDataField])) { $items = $values[$this->itemsDataField]; } } else { if (isset($values[$this->group])) { $data = $values[$this->group]; if (isset($data['Categories'][$this->dataField])) { $value = $data['Categories'][$this->dataField]['category_id']; if ($this->itemsDataField != null && isset($data[$this->itemsDataField])) { $items = $data[$this->itemsDataField]; } } } } if ($items != null) { $this->setItems($items); } $this->setSelectedValue($value); } else { if ($this->doctrine2) { if (isset($values[$this->group])) { $entity = $values[$this->group]; if (isset($entity[$this->dataField])) { $collection = $entity[$this->dataField]; $selectedValues = array(); foreach ($collection as $c) { $categoryId = $c->getCategoryRegistryId(); if ($categoryId == $this->registryId) { $selectedValues[] = $c->getCategory()->getId(); } } if ($this->selectionMode == 'single' && isset($selectedValues[0])) { $this->setSelectedValue($selectedValues[0]); } else { $this->setSelectedValue($selectedValues); } } } } else { parent::loadValue($view, $values); } } } }