public function __construct($id = 0)
 {
     $this->module_path = str_replace(basename(__FILE__), "", __FILE__);
     parent::__construct($id);
     if (!$this->id) {
         $this->modcache = "no_cache";
     }
 }
 public function __construct($id = 0)
 {
     $this->module_path = str_replace(basename(__FILE__), "", __FILE__);
     parent::__construct($id);
 }
Esempio n. 3
0
 function execute_ajax()
 {
     global $charset;
     global $do;
     global $menu;
     $response = array();
     switch ($do) {
         case "get_tree":
             if (!isset($this->managed_datas['module']['menus'][$menu]) || !isset($this->managed_datas['module']['menus'][$menu]['items'])) {
                 $items = array('identifier' => 'id', 'label' => 'title', 'items' => array());
             } else {
                 $items = array('identifier' => 'id', 'label' => 'title', 'items' => $this->managed_datas['module']['menus'][$menu]['items']);
             }
             $response['content'] = json_encode($items);
             $response['content-type'] = "application/json";
             break;
         case "save_tree":
             global $tree_infos;
             global $elements;
             //				$this->debug("------------------------start-------------------------");
             //				$this->debug("------------------------posted-------------------------");
             //				$this->debug(stripslashes($elements));
             //				$this->debug($tree_infos);
             $tree = array();
             if ($charset != 'utf-8') {
                 $elements = utf8_encode($elements);
             }
             $elements = json_decode(stripslashes($elements), true);
             //$elements = $this->charset_normalize($elements,"utf-8");
             $tree_infos = json_decode(stripslashes($tree_infos), true);
             $tree_infos = array_reverse($tree_infos, true);
             //				$this->debug("------------------------entrée-------------------------");
             //				$this->debug($elements);
             //				$this->debug($tree_infos);
             //				$this->debug("------------------------debut boucle-------------------------");
             foreach ($tree_infos as $elem => $children) {
                 //					$this->debug("------------------------$elem-------------------------");
                 //					$this->debug($children);
                 if ($elements[$elem]) {
                     $tree[$elem] = array('id' => $elem, 'title' => $elements[$elem]['title'], 'link' => $elements[$elem]['link'], 'type' => $elements[$elem]['type']);
                     unset($elements[$elem]);
                 }
                 if ($elem == 0) {
                     $name = 'items';
                 } else {
                     $name = 'children';
                 }
                 foreach ($children as $child) {
                     if ($elements[$child]) {
                         $tree[$elem][$name][] = array('id' => $child, 'title' => $elements[$child]['title'], 'link' => $elements[$child]['link'], 'type' => $elements[$child]['type']);
                         unset($elements[$child]);
                     } else {
                         if ($tree[$child]) {
                             $tree[$elem][$name][] = $tree[$child];
                             unset($tree[$child]);
                         }
                     }
                 }
                 //					$this->debug("------------------------entrée-------------------------");
                 //					$this->debug($elements);
                 //					$this->debug("------------------------arbre-------------------------");
                 //					$this->debug($tree);
             }
             $this->managed_datas['module']['menus'][$menu]['items'] = $tree[0]['items'];
             $query = "replace into cms_managed_modules set managed_module_name = '" . $this->class_name . "', managed_module_box = '" . $this->addslashes(serialize($this->managed_datas)) . "'";
             mysql_query($query);
             $response['content'] = "OK";
             $response['content-type'] = "application/json";
             break;
         default:
             $response = parent::execute_ajax();
             break;
     }
     return $response;
 }
 function execute_ajax()
 {
     global $charset;
     global $do;
     global $metadatas;
     $response = array();
     switch ($do) {
         case "del_tab":
             global $suppr_element;
             if (!isset($this->managed_datas['module']['metadatas'][$metadatas]) || !isset($this->managed_datas['module']['metadatas'][$metadatas]['items'])) {
                 $items = array('identifier' => 'id', 'label' => 'title', 'items' => array());
             } else {
                 $items = array('identifier' => 'id', 'label' => 'title', 'items' => $this->managed_datas['module']['metadatas'][$metadatas]['items']);
             }
             if ($charset != 'utf-8') {
                 $suppr_element = utf8_encode($suppr_element);
             }
             if ($suppr_element) {
                 if (count($items['items'])) {
                     if (array_key_exists($suppr_element, $items['items'])) {
                         array_splice($items['items'], $key_exists, 1);
                     }
                 }
             }
             $this->managed_datas['module']['metadatas'][$metadatas]['items'] = $items["items"];
             $query = "replace into cms_managed_modules set managed_module_name = '" . $this->class_name . "', managed_module_box = '" . $this->addslashes(serialize($this->managed_datas)) . "'";
             pmb_mysql_query($query);
             $response['content'] = "OK";
             $response['content-type'] = "application/json";
             break;
         case "save_tab":
             global $elements;
             if (!isset($this->managed_datas['module']['metadatas'][$metadatas]) || !isset($this->managed_datas['module']['metadatas'][$metadatas]['items'])) {
                 $items = array('identifier' => 'id', 'label' => 'title', 'items' => array());
             } else {
                 $items = array('identifier' => 'id', 'label' => 'title', 'items' => $this->managed_datas['module']['metadatas'][$metadatas]['items']);
             }
             if ($charset != 'utf-8') {
                 $elements = utf8_encode($elements);
             }
             $elements = json_decode(stripslashes($elements), true);
             if (count($elements)) {
                 foreach ($elements as $key => $value) {
                     $items['items'][$key] = array('label' => $value['label'], 'desc' => $value['desc'], 'default_template' => $value['default_template']);
                 }
             }
             $this->managed_datas['module']['metadatas'][$metadatas]['items'] = $items["items"];
             $query = "replace into cms_managed_modules set managed_module_name = '" . $this->class_name . "', managed_module_box = '" . $this->addslashes(serialize($this->managed_datas)) . "'";
             pmb_mysql_query($query);
             $response['content'] = "OK";
             $response['content-type'] = "application/json";
             break;
         default:
             $response = parent::execute_ajax();
             break;
     }
     return $response;
 }