Esempio n. 1
0
File: item.php Progetto: 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');
 }
Esempio n. 2
0
 /**
  * Returns one definition fields list
  *
  *
  */
 function get_field_list()
 {
     $fields = array();
     if (Authority::can('edit', 'admin/item/definition')) {
         $id_definition = $this->input->post('id_item_definition');
         $fields = $this->extend_field_model->get_lang_list(array('parent' => 'item', 'id_parent' => $id_definition), Settings::get_lang('default'));
     }
     $this->xhr_output($fields);
     //
     /*
     $this->template['id_item_definition'] = $id_definition;
     $this->template['fields'] = $fields;
     
     $this->output('item/definition/fields');
     */
 }
Esempio n. 3
0
 /**
  * Returns all the extend fields (definitions) for one kind of parent
  * Used by Admin panel to display the extend fields list
  * Called by XHR by admin/views/extend/index.php
  *
  * @param	String		Parent type. Can be 'article', 'page', etc.
  *
  */
 function get_extend_fields()
 {
     $mode = $this->input->post('mode');
     // Get data formed to feed the category select box
     $where = array('parent !=' => 'element');
     // Order By
     $order_by = $this->input->post('order_by');
     if ($order_by) {
         $where['order_by'] = $order_by;
     }
     // Limit to one parent type : Useful for limited lists
     $parent = $this->input->post('parent');
     if ($parent) {
         $where['parent'] = $parent;
     }
     // Limit to several parents
     $parents = $this->input->post('parents');
     if ($parents) {
         $parents = explode(',', $parents);
         $where['where_in'] = array('parent' => $parents);
     }
     // Returns the extends list ordered by 'ordering'
     $extend_fields = $this->extend_field_model->get_lang_list($where, Settings::get_lang('default'));
     if ($mode === 'json') {
         $this->xhr_output($extend_fields);
     } else {
         // Get the parents
         $parents = array();
         foreach ($extend_fields as $extend) {
             if (!in_array($extend['parent'], $parents)) {
                 $parents[] = $extend['parent'];
             }
         }
         $this->template['parent'] = $parent ? $parent : FALSE;
         $this->template['parents'] = $parents;
         $this->template['extend_fields'] = $extend_fields;
         $this->output('extend/list');
     }
 }