コード例 #1
0
 /**
  * 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);
             }
         }
     }
 }
コード例 #2
0
 /**
  * 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);
             }
         }
     }
 }