Ejemplo n.º 1
0
Archivo: item.php Proyecto: trk/ionize
 /**
  * Add item windows
  * Purpose : Create one item (backend)
  * At this state, the item isn't added
  *
  */
 public function add_item()
 {
     $id_definition = $this->input->post('id_item_definition');
     $item_definition = $this->item_definition_model->get(array('id_item_definition' => $id_definition), Settings::get_lang('default'));
     // Element's fields
     $fields = $this->extend_field_model->get_lang_list(array('parent' => 'item', 'id_parent' => $id_definition, 'order_by' => 'ordering ASC'), Settings::get_lang('default'));
     $fields_lang = $this->extend_field_model->get_all('extend_field_lang');
     foreach ($fields as &$field) {
         foreach (Settings::get_languages() as $lang) {
             $langs = array_values(array_filter($fields_lang, create_function('$row', 'return $row["id_extend_field"] == "' . $field['id_extend_field'] . '";')));
             $field['langs'][$lang['lang']] = array_pop(array_filter($langs, create_function('$row', 'return $row["lang"] == "' . $lang['lang'] . '";')));
         }
     }
     $this->template['item_definition'] = $item_definition;
     $this->template['fields'] = $fields;
     $lang_fields = array_values(array_filter($fields, create_function('$row', 'return $row["translated"] == 1;')));
     $this->template['lang_fields'] = $lang_fields;
     // Check for langs fields different from
     $has_lang_fields = FALSE;
     foreach ($lang_fields as $lf) {
         if ($lf['type'] != 8) {
             $has_lang_fields = TRUE;
         }
     }
     $this->template['has_lang_fields'] = $has_lang_fields;
     // Check for Media type
     $has_media_fields = FALSE;
     foreach ($fields as $f) {
         if ($f['type'] == 8) {
             $has_media_fields = TRUE;
         }
     }
     $this->template['has_media_fields'] = $has_media_fields;
     $this->output('item/instance/edit');
 }