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); }
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; }