clear("menus_"); } $menus_equery = explode('.', e_QUERY); if (isset($_POST['custom_select'])) { $menus_equery[1] = $_POST['custom_select']; //header("location:".e_SELF."?".$_POST['custom_select']); //exit; } else if (!isset($menus_equery[1])) { $menus_equery[1] = ''; } if ($menus_equery[1] == '' || $menus_equery[1] == 'default_layout') { $menus_header = $HEADER; $menus_footer = $FOOTER; } else if ($menus_equery[1] == 'custom_layout') { $menus_header = $CUSTOMHEADER ? $CUSTOMHEADER : $HEADER; $menus_footer = $CUSTOMFOOTER ? $CUSTOMFOOTER : $FOOTER; } else if ($menus_equery[1] == 'newsheader_layout') { $menus_header = $NEWSHEADER ? $NEWSHEADER : $HEADER; $menus_footer = $FOOTER; } else { $menus_header = $CUSTOMHEADER[$menus_equery[1]] ? $CUSTOMHEADER[$menus_equery[1]] : $HEADER; $menus_footer = $CUSTOMFOOTER[$menus_equery[1]] ? $CUSTOMFOOTER[$menus_equery[1]] : $FOOTER; } $layouts_str = $HEADER.$FOOTER; if ($NEWSHEADER) { $layouts_str .= $NEWSHEADER; } if ($CUSTOMPAGES) { if (is_array($CUSTOMPAGES)) { foreach ($CUSTOMPAGES as $custom_extract_key => $custom_extract_value) { if ($CUSTOMHEADER[$custom_extract_key]) { $layouts_str .= $CUSTOMHEADER[$custom_extract_key]; } if ($CUSTOMFOOTER[$custom_extract_key]) { $layouts_str .= $CUSTOMFOOTER[$custom_extract_key]; } } } else { if ($CUSTOMHEADER) { $layouts_str .= $CUSTOMHEADER; } if ($CUSTOMFOOTER) { $layouts_str .= $CUSTOMFOOTER; } } } $menu_array = parseheader($layouts_str, 'check'); sort($menu_array, SORT_NUMERIC); $menu_check = 'set'; foreach ($menu_array as $menu_value) { if ($menu_value != $menu_check) { $menu_areas[] = $menu_value; } $menu_check = $menu_value; } // Cams Bit ----------- Activate Multiple Menus --- if($_POST['menuActivate']) { foreach ($_POST['menuActivate'] as $k => $v) { if (trim($v)) { $location = $k; } } $menu_count = $sql->db_Count("menus", "(*)", " WHERE menu_location='$location' "); foreach($_POST['menuselect'] as $sel_mens) { $sql->db_Update("menus", "menu_location='$location', menu_order='".($menu_count+1)."' WHERE menu_id='$sel_mens' "); $menu_count++; } } // ============= if (isset($_POST['menuAct'])) { foreach ($_POST['menuAct'] as $k => $v) { if (trim($v)) { $id = $k; list($menu_act, $location, $position, $newloc) = explode(".", $_POST['menuAct'][$k]); } } } if ($menu_act == 'config') { if($newloc) { $newloc = ".".$newloc; } $newurl = $PLUGINS_DIRECTORY.$location."/{$position}{$newloc}.php"; $newurl = SITEURL.str_replace("//", "/", $newurl); echo " "; exit; } if ($menu_act == "adv") { require_once(e_HANDLER."userclass_class.php"); $sql->db_Select("menus", "*", "menu_id='$id' "); $row = $sql->db_Fetch(); extract($row); $listtype = substr($menu_pages, 0, 1); $menu_pages = substr($menu_pages, 2); $menu_pages = str_replace("|", "\n", $menu_pages); $text = "
\n
".MENLAN_4." ". r_userclass('menu_class', $menu_class, "off", "public,member,guest,admin,main,classes,nobody")."

"; $checked = ($listtype == 1) ? " checked='checked' " : ""; $text .= " ".MENLAN_26."
"; $checked = ($listtype == 2) ? " checked='checked' " : ""; $text .= " ".MENLAN_27."

".MENLAN_28."
"; $text .= ""; $text .= "

"; $caption = MENLAN_7." ".$menu_name; $ns->tablerender($caption, $text); } unset($message); if ($menu_act == "sv") { $pagelist = explode("\r\n", $_POST['pagelist']); for ($i = 0 ; $i < count($pagelist) ; $i++) { $pagelist[$i] = trim($pagelist[$i]); } $plist = implode("|", $pagelist); $pageparms = $_POST['listtype'].'-'.$plist; $pageparms = preg_replace("#\|$#", "", $pageparms); $pageparms = (trim($_POST['pagelist']) == '') ? '' : $pageparms; $sql->db_Update("menus", "menu_class='".$_POST['menu_class']."', menu_pages='{$pageparms}' WHERE menu_id='$id' "); $message = "
".MENLAN_8."
"; } if ($menu_act == "move") { $menu_count = $sql->db_Count("menus", "(*)", " WHERE menu_location='$newloc' "); $sql->db_Update("menus", "menu_location='$newloc', menu_order='".($menu_count+1)."' WHERE menu_id='$id' "); $sql->db_Update("menus", "menu_order=menu_order-1 WHERE menu_location='$location' AND menu_order > $position"); } if ($menu_act == "deac") { $sql->db_Update("menus", "menu_location='0', menu_order='0' WHERE menu_id='$id' "); $sql->db_Update("menus", "menu_order=menu_order-1 WHERE menu_location='$location' AND menu_order > $position"); } if ($menu_act == "bot") { $menu_count = $sql->db_Count("menus", "(*)", " WHERE menu_location='$location' "); $sql->db_Update("menus", "menu_order=".($menu_count+1)." WHERE menu_order='$position' AND menu_location='$location' "); $sql->db_Update("menus", "menu_order=menu_order-1 WHERE menu_location='$location' AND menu_order > $position"); } if ($menu_act == "top") { $sql->db_Update("menus", "menu_order=menu_order+1 WHERE menu_location='$location' AND menu_order < $position"); $sql->db_Update("menus", "menu_order=1 WHERE menu_id='$id' "); } if ($menu_act == "dec") { $sql->db_Update("menus", "menu_order=menu_order-1 WHERE menu_order='".($position+1)."' AND menu_location='$location' "); $sql->db_Update("menus", "menu_order=menu_order+1 WHERE menu_id='$id' AND menu_location='$location' "); } if ($menu_act == "inc") { $sql->db_Update("menus", "menu_order=menu_order+1 WHERE menu_order='".($position-1)."' AND menu_location='$location' "); $sql->db_Update("menus", "menu_order=menu_order-1 WHERE menu_id='$id' AND menu_location='$location' "); } if (strpos(e_QUERY, 'configure') === FALSE) { // Scan plugin directories to see if menus to add $efile = new e_file; $fileList = $efile->get_files(e_PLUGIN,"_menu\.php$",'standard',2); foreach($fileList as $file) { list($parent_dir) = explode('/',str_replace(e_PLUGIN,"",$file['path'])); $file['path'] = str_replace(e_PLUGIN,"",$file['path']); $file['fname'] = str_replace(".php","",$file['fname']); $valid_menu = FALSE; $existing_menu = $sql->db_Count("menus", "(*)", "WHERE menu_name='{$file['fname']}'"); if (file_exists(e_PLUGIN.$parent_dir."/plugin.php")) { include(e_PLUGIN.$parent_dir."/plugin.php"); if ($sql->db_Select("plugin", "*", "plugin_path='".$eplug_folder."' AND plugin_installflag='1' ")) { // Its a 'new style' plugin with a plugin.php file - ionly include if plugin installed $valid_menu = TRUE; // Whether new or existing, include in list } } else { // Just add the menu anyway $valid_menu = TRUE; } if ($valid_menu) { $menustr .= "&".str_replace(".php", "", $file['fname']); if (!$existing_menu) { // New menu to add to list $sql->db_Insert("menus", " 0, '{$file['fname']}', 0, 0, 0, '' ,'{$file['path']}'"); $message .= "".MENLAN_10." - ".$file['fname']."
"; } } } if (!is_object($sql2)) $sql2 = new db; // Shouldn't be needed foreach ($menu_areas as $menu_act) { if ($sql->db_Select("menus", "*", "menu_location='$menu_act' ORDER BY menu_order ASC")) { $c = 1; while ($row = $sql->db_Fetch()) { extract($row); $sql2->db_Update("menus", "menu_order='$c' WHERE menu_id='$menu_id' "); $c++; } } } $sql->db_Select("menus", "*", "menu_path NOT REGEXP('[0-9]+') "); while (list($menu_id, $menu_name, $menu_location, $menu_order) = $sql->db_Fetch()) { if (stristr($menustr, $menu_name) === FALSE) { $sql2->db_Delete("menus", "menu_name='$menu_name'"); $message .= "".MENLAN_11." - ".$menu_name."
"; } } } foreach ($menu_areas as $menu_act) { $menus_sql[] = "menu_location!='".$menu_act."'"; } if ($message != "") { echo $ns -> tablerender('Updated', "
".$message."


"); } if (strpos(e_QUERY, 'configure') === FALSE) { $cnt = $sql->db_Select("menus", "*", "menu_location='1' ORDER BY menu_name "); // calculate height to remove vertical scroll-bar. $text = ""; echo $ns -> tablerender(MENLAN_35, $text, 'menus_config'); } else { $menus_query = implode(' && ', $menus_sql); $sql->db_Update("menus", "menu_location='0', menu_order='0' WHERE ".$menus_query); if ($CUSTOMPAGES) { if ($menu_act != 'adv') { $text = "
".MENLAN_30." "; $text .= $frm->form_select_open('custom_select', 'onchange="this.form.submit()"'); if ($menus_equery[1] == '' || $menus_equery[1] == 'default_layout') { $text .= $frm->form_option(MENLAN_31, 'selected', 'default_layout'); } else { $text .= $frm->form_option(MENLAN_31, FALSE, 'default_layout'); } if ($NEWSHEADER) { if ($menus_equery[1] == 'newsheader_layout') { $text .= $frm->form_option(MENLAN_32, 'selected', 'newsheader_layout'); } else { $text .= $frm->form_option(MENLAN_32, FALSE, 'newsheader_layout'); } } if ($CUSTOMPAGES) { if (is_array($CUSTOMPAGES)) { foreach ($CUSTOMPAGES as $custom_pages_key => $custom_pages_value) { if ($menus_equery[1] == $custom_pages_key) { $text .= $frm->form_option($custom_pages_key, 'selected', $custom_pages_key); } else { $text .= $frm->form_option($custom_pages_key, FALSE, $custom_pages_key); } } } else { if ($menus_equery[1] == 'custom_layout') { $text .= $frm->form_option(MENLAN_33, 'selected', 'custom_layout'); } else { $text .= $frm->form_option(MENLAN_33, FALSE, 'custom_layout'); } } } $text .= $frm->form_select_close(); $text .= "
"; $ns->tablerender(MENLAN_29, $text); } } parseheader($menus_header); echo "
"; echo $frm->form_open("post", e_SELF."?configure.".$menus_equery[1], "menuActivation"); $text = ""; $sql->db_Select("menus", "*", "menu_location='0' ORDER BY menu_name "); $text .= ""; $text .= ""; $text .= "
".MENLAN_36."......".MENLAN_37."
"; $text .= ""; $text .= "

".MENLAN_38.""; $text .= "

"; foreach ($menu_areas as $menu_act) { $text .= "

\n"; } $text .= "
"; echo $ns -> tablerender(MENLAN_22, $text); echo $frm->form_close(); echo "
"; parseheader($menus_footer); } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// function parseheader($LAYOUT, $check = FALSE) { $tmp = explode("\n", $LAYOUT); for ($c = 0; $c < count($tmp); $c++) { if (preg_match("/[\{|\}]/", $tmp[$c])) { if ($check) { if (strstr($tmp[$c], "{MENU=")) { $str[] = preg_replace("/\{MENU=(.*?)(:.*?)?\}/si", "\\1", $tmp[$c]); } } else { checklayout($tmp[$c]); } } else { if (!$check) { echo $tmp[$c]; } } } if ($check) { return $str; } } function checklayout($str) { // Displays a basic representation of the theme global $pref, $menu_areas, $ns, $PLUGINS_DIRECTORY, $frm, $sc_style, $tp, $menus_equery; if (strstr($str, "LOGO")) { echo $tp -> parseTemplate("{LOGO}"); } else if(strstr($str, "SITENAME")) { echo "
[SiteName]
"; } else if (strstr($str, "SITETAG")) { echo "
[SiteTag]
"; } else if (strstr($str, "SITELINKS")) { echo "
[SiteLinks]
"; } else if (strstr($str, "LANGUAGELINKS")) { echo "
[Language]
"; } else if (strstr($str, "CUSTOM")) { $cust = preg_replace("/\W*\{CUSTOM=(.*?)(\+.*)?\}\W*/si", "\\1", $str); echo "
[".$cust."]
"; } // Display embedded Plugin information. else if (strstr($str, "PLUGIN")) { $plug = preg_replace("/\{PLUGIN=(.*?)\}/si", "\\1", $str); $plug = trim($plug); if (file_exists((e_PLUGIN."{$plug}/{$plug}_config.php"))) { $link = e_PLUGIN."{$plug}/{$plug}_config.php"; } if(file_exists((e_PLUGIN.$plug."/config.php"))) { $link = e_PLUGIN.$plug."/config.php"; } $plugtext = ($link) ? "(".MENLAN_34.":".MENLAN_16.")" : "(".MENLAN_34.")" ; echo "
"; $ns -> tablerender($plug, $plugtext); } else if (strstr($str, "MENU")) { $ns = new e107table; $menu = preg_replace("/\{MENU=(.*?)(:.*?)?\}/si", "\\1", $str); if (isset($sc_style['MENU']['pre']) && strpos($str, 'ret') !== false) { echo $sc_style['MENU']['pre']; } echo "
".MENLAN_14." ".$menu."

"; $text = " "; $sql9 = new db; if ($sql9->db_Count("menus", "(*)", " WHERE menu_location='$menu' ")) { unset($text); echo $frm->form_open("post", e_SELF."?configure.".$menus_equery[1], "frm_menu_".intval($menu)); $sql9->db_Select("menus", "*", "menu_location='$menu' ORDER BY menu_order"); $menu_count = $sql9->db_Rows(); while (list($menu_id, $menu_name, $menu_location, $menu_order, $menu_class, $menu_pages, $menu_path) = $sql9->db_Fetch()) { $menu_name = preg_replace("#_menu#i", "", $menu_name); $vis = ($menu_class || strlen($menu_pages) > 1) ? " * " : ""; $caption = "
{$menu_name}{$vis}
"; $menu_info = "{$menu_location}.{$menu_order}"; $text = ""; $conf = ''; if (file_exists(e_PLUGIN."{$menu_path}/{$menu_name}_menu_config.php")) { $conf = "config.{$menu_path}.{$menu_name}_menu_config"; } if($conf == '' && file_exists(e_PLUGIN."{$menu_path}/config.php")) { $conf = "config.{$menu_path}.config"; } $text .= "