Ejemplo n.º 1
0
 public function install_menu_lang_export($langs_ids)
 {
     if (empty($langs_ids)) {
         return false;
     }
     $this->CI->load->helper('menu');
     $return = array();
     foreach ($this->menu as $gid => $menu_data) {
         $temp = linked_install_process_menu_items($this->menu, 'export', $gid, 0, $this->menu[$gid]["items"], $gid, $langs_ids);
         $return = array_merge($return, $temp);
     }
     return array("menu" => $return);
 }
Ejemplo n.º 2
0
 public function install_menu_lang_export($langs_ids)
 {
     if (empty($langs_ids)) {
         return false;
     }
     $this->CI->load->helper('menu');
     $return = array();
     foreach (array_keys($this->_menu) as $gid) {
         $temp = linked_install_process_menu_items($this->_menu, 'export', $gid, 0, $this->_menu[$gid]['items'], $gid, $langs_ids);
         $return = array_merge($return, $temp);
     }
     return array('menu' => $return);
 }
Ejemplo n.º 3
0
 function linked_install_process_menu_items(&$structure, $process_type, $menu_gid, $parent_id, &$items, $lang_prefix = "", $lang_data = array(), $lang_tooltip_data = array())
 {
     $menu_data = $structure[$menu_gid];
     if (empty($menu_data["id"])) {
         $menu_data["id"] = $structure[$menu_gid]["id"] = linked_install_set_menu($menu_gid, "none");
     }
     if (empty($menu_data["id"])) {
         return array();
     }
     if ($process_type == "export") {
         $return = array();
     }
     if (!empty($items)) {
         foreach ($items as $item_gid => $item_data) {
             if ($process_type == "create") {
                 if (!isset($item_data["action"])) {
                     $item_data["action"] = '';
                 }
                 if (!isset($item_data["link"])) {
                     $item_data["link"] = '/';
                 }
                 if (!isset($item_data["icon"])) {
                     $item_data["icon"] = '';
                 }
                 if (!isset($item_data["status"])) {
                     $item_data["status"] = 0;
                 }
                 if (!isset($item_data["sorter"])) {
                     $item_data["sorter"] = 0;
                 }
                 if (!isset($item_data["indicator_gid"])) {
                     $item_data["indicator_gid"] = '';
                 }
                 $items[$item_gid]["id"] = linked_install_set_menu_item($item_gid, $menu_data['id'], $item_data["action"], $parent_id, $item_data["link"], $item_data['icon'], $item_data["status"], $item_data["sorter"], $item_data["indicator_gid"]);
                 if (!empty($items[$item_gid]["items"])) {
                     linked_install_process_menu_items($structure, $process_type, $menu_gid, (int) $items[$item_gid]["id"], $items[$item_gid]["items"]);
                 }
             } elseif ($process_type == "update") {
                 $new_prefix = $lang_prefix . '_' . $item_gid;
                 $new_prefix_tooltip = $lang_prefix . '_' . $item_gid . "_tooltip";
                 if (!empty($lang_data[$new_prefix])) {
                     $item_lang_data = $lang_data[$new_prefix];
                 } else {
                     $item_lang_data = null;
                 }
                 if (!empty($lang_data[$new_prefix_tooltip])) {
                     $item_lang_tooltip_data = $lang_data[$new_prefix_tooltip];
                 } else {
                     $item_lang_tooltip_data = null;
                 }
                 $item_id = $items[$item_gid]["id"];
                 if (!$item_id) {
                     $items[$item_gid]["id"] = $item_id = linked_install_set_menu_item($item_gid, $menu_data["id"], "none");
                 }
                 linked_install_set_menu_item_lang($item_id, $menu_data["id"], "update", $item_lang_data, $item_lang_tooltip_data);
                 if (!empty($items[$item_gid]["items"])) {
                     linked_install_process_menu_items($structure, $process_type, $menu_gid, $item_id, $items[$item_gid]["items"], $new_prefix, $lang_data, $lang_tooltip_data);
                 }
             } elseif ($process_type == "export") {
                 $new_prefix = $lang_prefix . '_' . $item_gid;
                 $new_prefix_tooltip = $lang_prefix . '_' . $item_gid . "_tooltip";
                 $item_id = $items[$item_gid]["id"];
                 if (!$item_id) {
                     $items[$item_gid]["id"] = $item_id = linked_install_set_menu_item($item_gid, $menu_data["id"], "none");
                 }
                 if ('create' == $items[$item_gid]["action"]) {
                     $return[$new_prefix] = linked_install_set_menu_item_lang($item_id, $menu_data["id"], "export", $lang_data);
                     $return[$new_prefix_tooltip] = linked_install_set_menu_item_lang($item_id, $menu_data["id"], "export", $lang_data, array(), 'tooltip');
                 }
                 if (!empty($items[$item_gid]["items"])) {
                     $temp = linked_install_process_menu_items($structure, $process_type, $menu_gid, $item_id, $items[$item_gid]["items"], $new_prefix, $lang_data);
                     $return = array_merge($return, $temp);
                 }
             }
         }
     }
     if ($process_type == "export") {
         return $return;
     } else {
         return;
     }
 }