<?php $sections = array(); class clsSection { var $m_sections; var $m_name; var $m_title; var $m_path; var $m_file; var $m_icon; var $m_icon_small; var $m_icon_list; var $m_child; var $m_parent; var $m_left; var $m_right; var $m_notree = 0; var $m_notabs=0; var $m_nonavbar=0; var $m_notitle=0; var $m_toolbar=0; var $m_description = NULL; var $m_onclick=NULL; var $m_key; var $m_bar_title; var $m_bar_title_plain_text = ""; function clsSection() { /* constructor */ } function Get($name) { $var = "m_" . $name; return isset($this->$var) ? $this->$var : ''; } function Set($name, $value) { if (is_array($name)) { for ($i=0; $i<sizeof($name); $i++) { $var = "m_" . $name[$i]; $this->$var = $value[$i]; } } else { $var = "m_" . $name; $this->$var = $value; } } function IsJavaScriptLink() { $file = $this->Get('file'); if(!$file) return false; return (substr($file, 0, 10) == 'javascript' || $file == '#') ? true : false; } function IconURL($large=1) { global $rootURL; if($large==1) { $url = $rootURL.$this->Get("icon"); } elseif($large==2) { $url = $rootURL.$this->Get("icon_list"); } else $url = $rootURL.$this->Get("icon_small"); return $url; } function URL() { global $rootURL; $env = BuildEnv(); if(!$this->IsJavaScriptLink()) { $url = $rootURL.$this->Get("path").$this->Get("file"); if(strstr($url,"?")) { $url .= "&env=".$env; } else $url .= "?env=".$env; } else $url = $this->Get("file"); return $url; } /* functions to display navigation elements */ function tab($envar) { global $imagesURL; $link = $this->URL(); if(!$this->IsJavaScriptLink()) { if(!strstr($link,"env=")) $link .= "?". $envar; } $onclick = $this->Get("onclick"); $caption = language($this->Get("name")); if(strlen($this->Get("name"))) { $o ="<!-- Tab: $caption --> <td><table bgcolor=\"#009FF0\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" onclick=\"\"> <tr onclick=\"$onclick\"> <td bgcolor=\"#009FF0\"><img alt=\"\" src=\"$imagesURL/tab_left.gif\" width=\"15\" height=\"23\"></td> <td nowrap bgcolor=\"#009FF0\" background=\"$imagesURL/tab_back.gif\" align=\"center\"> <a href=\"$link\" class=\"tab2\" onClick=\"$onclick\">$caption</a><br> </td> <td bgcolor=\"#009FF0\"><img alt=\"\" src=\"$imagesURL/tab_right.gif\" width=\"15\" height=\"23\"></td> </tr> </table></td>"; } return $o; }//Individual Tab function active_tab() { global $imagesURL, $envar; $link = $this->URL(); $onclick = $this->Get("onclick"); if(!$this->IsJavaScriptLink()) { if(!strstr($link,"env=")) $link .= "?". $envar; } $caption = language($this->Get("name")); if (strlen($caption)<=8) $backgr = "$imagesURL/tab_active_back3.jpg"; else if (strlen($caption)<=20) $backgr = "$imagesURL/tab_active_back2.jpg"; else $backgr = "$imagesURL/tab_active_back.jpg"; $o = "<!-- Tab: $caption --> <td><table bgcolor=\"#FFFB32\" background=\"$backgr\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr> <td><img alt=\"\" src=\"$imagesURL/tab_active_left.gif\" width=\"15\" height=\"23\"></td> <td nowrap align=\"center\" background=\"$imagesURL/tab_active_back.gif\"> <a href=\"$link\" class=\"tab\" onClick=\"$onclick\">$caption</a><br> </td> <td><img alt=\"\" src=\"$imagesURL/tab_active_right.gif\" width=\"15\" height=\"23\"></td></tr> </table></td>"; return $o; }//Active Tab } /*clsSection*/ class clsSectionList { var $sections; // var $section; var $current; function clsSectionList() { $this->sections = array(); $this->current = "default"; } function GetSection($section) { if(is_array($this->sections) && strlen($section)) { if(array_key_exists($section,$this->sections)) { return $this->sections[$section]; } else return NULL; } else return NULL; } function SetCurrentSection($section) { $this->current = $section; } function GetCurrentSection() { $ret = $this->GetSection($this->current); if(!is_object($ret)) $ret = $this->GetSection("default"); return $ret; } function AddSection($section,$name,$title,$path,$file,$icon,$icon_small, $child,$parent,$left,$right, $notree=0,$onClick = "",$notabs=0,$nonavbar=0,$notitle=0,$toolbar=0,$icon_list="", $bar_title = "", $bar_title_plain_text = "") { if($file == "subitems.php") $file .= "?section=$section"; $s = new clsSection(); $s->Set("name", $name); $s->Set("title",$title); $s->Set("path", $path); $s->Set("file", $file); $s->Set("icon", $icon); $s->Set("icon_list", $icon_list); $s->Set("icon_small", $icon_small); $s->Set("child", $child); $s->Set("parent", $parent); $s->Set("left", $left); $s->Set("right", $right); $s->Set("notree", $notree); $s->Set("notabs", $notabs); $s->Set("nonavbar", $nonavbar); $s->Set("notitle", $notitle); $s->Set("toolbar", $toolbar); $s->Set("description", NULL); $s->Set("onclick", $onClick); $s->Set("key",$section); $s->Set("bar_title",$bar_title); $s->Set("bar_title_plain_text", $bar_title_plain_text); if($parent != NULL) { $p = $this->GetSection($parent); if(is_object($p)) { if(!strlen($p->Get("child"))) { //echo "Setting child of $parent to $section<br>\n"; $p->Set("child", $section); //set the parent if none set! $this->sections[$parent]=$p; } } if(!strlen($left) && !strlen($right)) { /* find first child w/ a null right value */ foreach($this->sections as $secname => $subsection) { if($subsection->Get("parent") == $parent) { if(!strlen($subsection->Get("right"))) { $this->sections[$secname]->Set("right", $section); $s->Set("left", $secname); break; } } } } } $this->sections[$section]=$s; } function AddDescription($section,$desc) { $sec = $this->GetSection($section); if(is_object($sec)) { $sec->Set("description",$desc); $this->sections[$section] = $sec; } } function sectionURL($section) { return $this->sections[$section]->URL(); } function SectionIconURL($section,$large=1) { return $this->sections[$section]->IconURL($large); } function BuildTree($element, $parent) { global $pathtoroot,$envar; global $rootURL; $org = $element; $element = strtolower($element); $j_el=str_replace("-","_",$element); $j_el=str_replace(":","_",$j_el); $j_par=str_replace("-","_",$parent); $j_par=str_replace(":","_",$j_par); $sec = $this->sections[$element]; if(is_object($sec)) { $caption = $this->sections[$element]->Get("name"); if(strlen($caption)==0) $caption = $this->sections[$element]->Get("title"); $caption = language($caption); $child =$this->sections[$element]->Get("child"); $notree = ""; if( isset($this->sections[$child]) && is_object($this->sections[$child]) ) $notree = $this->sections[$child]->Get("notree"); if (($child == NULL) or ($notree==-1)) { print "var item = insDoc($j_par, gLnk(0, \"".$caption."\", \"".$this->SectionURL($element)."\"));\n"; print "item.iconSrc = '".$this->SectionIconURL($element,0)."';\n"; if($this->sections[$element]->Get("right")!=NULL) $this->BuildTree($this->sections[$element]->Get("right"), $parent); return; } if ($child != NULL && $notree !=-1) { //print "$j_el = insFld($j_par, gFld(\"".$sections[$element]['name']."\"));\n"; print "var $j_el = insFld($j_par, gFld(\"".$caption."\",\"".$this->SectionURL($element)."\"));\n"; print $j_el . ".iconSrc='".$this->SectionIconURL($element,0)."';\n"; if($this->sections[$element]->Get("right")!=NULL) $this->BuildTree($this->sections[$element]->Get("right"), $parent); $parent = $element; $this->BuildTree($this->sections[$element]->Get("child"), $parent); } } } function page_title() { global $imagesURL,$adminURL, $objConfig; $o = ""; $sec = $this->GetCurrentSection(); if($sec->Get("notitle")!="1") { $caption = $sec->Get("title"); if(strlen($caption)==0) { if(strlen($sec->Get("parent"))) { $p = $this->GetSection($sec->Get("parent")); if(is_object($p)) { $caption = $p->Get("title"); $icon = $p->IconURL(1); } } } else $icon = $sec->IconURL(1); $logout_link = $adminURL."/index.php"; if(strlen($caption)) { if($sec->Get("key")=="in-portal:root") { $caption=$objConfig->Get("Site_Name"); } else { $caption = admin_language($caption); } $bg_image = 'logo_bg.gif'; $replace_modules = Array('in-link','in-news','in-bulletin'); foreach($replace_modules as $r_module) if( $this->IsModule($r_module) ) { $bg_image = 'logo_bg_'.$r_module.'.gif'; break; } $o = "<DIV style='position:relative; z-Index: 1; background-color: #ffffff; padding-top:1px;'> <div style='position:absolute; width:100%;top:0px;' align='right'> <img src='".$imagesURL.'/'.$bg_image."'></div><img src='".$imagesURL."/spacer.gif' width=1 height=7> <br><div style='z-Index:1; position:relative'>"; $o .= "<!-- ADMIN TITLE --><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\"> <tr><td valign=\"top\" class=\"admintitle\" align=\"left\"> <img alt=\"\" width=\"46\" height=\"46\" src=\"$icon\" align=\"absmiddle\"> $caption<br> <img src='".$imagesURL."/spacer.gif' width=1 height=4><br> </td></tr></table>"; } } return $o; } function IsModule($module_name) { // checks if there is requested module used in right frame // module folder match $url_split = explode('/', $_SERVER['PHP_SELF']); if( in_array($module_name, $url_split) ) return 1; // module section match if( isset($_REQUEST['section']) ) { $section = explode(':', $_GET['section']); if( $section[0] == $module_name ) return true; } return false; } function page_tabs($envar) { $showtabs=0; $o = ''; $sec = $this->GetCurrentSection(); if ($sec->Get("notabs")!=1) { //get starting node $node = $sec; while (strlen($node->Get("left"))) { $node = $this->GetSection($node->Get("left")); } if($node) { $o = "<!-- TABS --><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\"><tr> <td align=\"right\" width=\"100%\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\"23\"> <tr>"; $showtabs=1; } //traverse and print tabs while ( isset($node) && is_object($node) ) { if ($node->Get("key") == $this->current) $o .= $node->active_tab(); else $o .= $node->tab($envar); $right = $node->Get("right"); unset($node); if(strlen($right)) $node = $this->GetSection($right); } if($showtabs) { $o .= "</tr></table></td></tr></table>"; } } return $o; } function section_header($envar,$navbar=NULL,$extra_title=NULL, $no_help = false) { global $pathtoroot; global $pathtolocal; global $imagesURL; global $adminURL; global $objConfig; $output = ''; $HelpIcon = $imagesURL."/blue_bar_help.gif"; $node = $this->GetCurrentSection(); if(is_object($node)) { $helpURL = $adminURL.'/help/help.php?'.( substr($envar,0,3) == 'env' ? '' : 'env=').$envar.'&destform=popup'; $node_key = $node->Get('key'); $o = "<!-- SECTION NAVIGATOR -->"; //background="'.$imagesURL.'/tabnav_left.jpg" if($no_help == false) $o .= '<form name="help_form" id="help_form" action="'.$helpURL.'" method="post"><input type="hidden" id="section" name="section" value=""></form>'; $o .= '<table border="0" cellpadding="2" cellspacing="0" class="tableborder_full" width="100%" height="30">'; $o .= '<tr><TD class="header_left_bg" width="100%">'; //get path up to the parent node while ( isset($node) && is_object($node) ) { if(!strlen($extra_title)) { $bar_title = $node->Get("bar_title"); $bar_title_plain_text = $node->Get("bar_title_plain_text"); if(strlen($bar_title) && !is_null($bar_title)) $caption = language($bar_title); elseif (is_null($bar_title)) $caption = ""; else $caption = language($node->Get("name")); if (strlen($bar_title_plain_text)) $caption.= $bar_title_plain_text; } else $caption = $extra_title; $output = "<span class=\"tablenav_link\">$caption</span>"; unset($node); } $o .= $output; if(strlen($navbar)) $o .= "::<b>".$navbar."</b>"; $o .= "</td><td align=\"right\" class=\"tablenav\" background=\"$imagesURL/tabnav_back.jpg\" width=\"10\">"; if($no_help == false) $o .= "<a class=\"link\" onclick=\"ShowHelp('".$node_key."');\"><img src=\"$HelpIcon\" border=\"0\"></A>"; $o .= "</td></tr></table><!-- END SECTION NAVIGATOR -->"; } return $o; } } /* clsSectionList */ $objSections = new clsSectionList(); $objSections->AddSection("in-portal:root", $objConfig->Get("Site_Name"), $objConfig->Get("Site_Name"), $admin."/","subitems.php", $admin."/icons/icon46_site.gif", $admin."/icons/icon24_site.gif", "in-portal:site", NULL, NULL,"in-portal:users",0,"",1, NULL,NULL,NULL, "", "la_section_overview"); $objSections->AddSection("in-portal:site", "la_tab_Site_Structure","la_title_Site_Structure", $admin."/","subitems.php", $admin."/icons/icon46_struct.gif", $admin."/icons/icon24_struct.gif", "in-portal:browse", "in-portal:root", NULL,"in-portal:users",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_struct.gif","la_selecting_categories"); $objSections->AddSection("in-portal:users","la_tab_Community","la_title_Community",$admin."/","subitems.php", $admin."/icons/icon46_community.gif",$admin."/icons/icon24_community.gif", NULL,"in-portal:root","in-portal:site","in-portal:modules",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_community.gif","la_section_overview"); $objSections->AddSection("in-portal:modules","la_tab_ModulesSettings","la_title_Settings",$admin."/","subitems.php", $admin."/icons/icon46_modules.gif",$admin."/icons/icon24_modules.gif",NULL, "in-portal:root","in-portal:users","in-portal:reports",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_modules.gif","la_section_overview"); $objSections->AddSection("in-portal:mod_status","la_tab_Modules","la_title_Module_Status",$admin."/modules/","mod_status.php", $admin."/icons/icon46_modules.gif",$admin."/icons/icon24_modules.gif",NULL, NULL,NULL,NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_modules.gif"); $objSections->AddSection("in-portal:addmodule","la_tab_Modules","la_title_Add_Module",$admin."/modules/","addmodule.php", $admin."/icons/icon46_modules.gif",$admin."/icons/icon24_modules.gif",NULL, NULL,NULL,NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_modules.gif"); $objSections->AddSection("in-portal:reports","la_tab_Reports","la_title_Reports",$admin."/","subitems.php", $admin."/icons/icon46_summary_logs.gif",$admin."/icons/icon24_summary_logs.gif",NULL, "in-portal:root","in-portal:modules","in-portal:system",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_summary_logs.gif","la_section_overview"); $objSections->AddSection("in-portal:log_summary","la_tab_Summary","la_tab_Summary",$admin."/logs/","summary.php", $admin."/icons/icon46_summary.gif",$admin."/icons/icon24_summary.gif",NULL, "in-portal:reports",NULL,"in-portal:searchlog",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_summary.gif"); $objSections->AddSection("in-portal:searchlog","la_tab_SearchLog","la_tab_SearchLog",$admin."/logs/","searchlog.php", $admin."/icons/icon46_search_log.gif",$admin."/icons/icon24_search_log.gif", NULL,"in-portal:reports","in-portal:log_summary","in-portal:sessionlog",0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_search_log.gif"); $objSections->AddSection("in-portal:sessionlog","la_tab_SessionLog","la_tab_SessionLog",$admin."/logs/","session_list.php", $admin."/icons/icon46_sessions_log.gif",$admin."/icons/icon24_sessions_log.gif", NULL,"in-portal:reports","in-portal:sessionlog",NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_sessions_log.gif"); /* Help */ $objSections->AddSection("in-portal:help","la_tab_Help","la_title_Help",$admin."/help/","help.php", $admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif", NULL,"in-portal:root","in-portal:system",NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_help.gif"); $objSections->AddSection("in-portal:help_overview","la_tab_Overview","la_title_Help",$admin."/help/","help.php", $admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif", NULL,"in-portal:help",NULL,"in-portal:help_ch1",NULL,NULL,NULL,NULL,NULL,NULL,$admin."/icons/icon46_list_help.gif"); $objSections->AddSection("in-portal:help_ch1","Chapter 1","Chapter 1",$admin."/help/","help.php", $admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif", NULL,"inportal:help","in-portal:help_overview","in-portal:help_ch2"); $objSections->AddSection("in-portal:help_ch2","Chapter 2","Chapter 2",$admin."/help/","help.php", $admin."/icons/icon46_help.gif",$admin."/icons/icon24_help.gif", NULL,"inportal:help","in-portal:help_ch1",NULL); /* Help ends */ $objSections->AddSection("in-portal:item_select","la_title_Select_Item","Select Item",$admin."/","item_select.php","","", NULL,NULL,NULL,0,"",1,1); $objSections->AddSection("in-portal:rel_select","la_title_Select_Target_Item","Select Item",$admin."/","rel_select.php","","", NULL,NULL,NULL,0,"",1,0,1,1); $NewButtons = array(); /* each module will add to the array declared below, which contains the info for the 'new' button for the module's Browse data. The array is an array of arrays, and the subarray should contain the following indexes: ImagePath = URL to the directory containing the image Action = Action attribute of the image (this is also the "base name" of the image Alt = Image ALT value Tab = If set, button will only be displayed when this div is active */ $m = GetModuleArray("admin"); if(is_array($m)) { foreach($m as $key=>$value) { $mod = $pathtoroot . $value . "admin/include/navmenu.php"; include_once($mod); } } $objSections->AddSection("default","","",$admin."/","#",NULL,NULL,NULL,NULL,NULL,NULL); ?>