$var) ? $this->$var : ''; } function Set($name, $value) { if (is_array($name)) { for ($i=0; $i$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 IsKernel4Link() { $path = $this->Get('path'); if(!$path) return false; $file = $this->Get('file'); return ( strpos($path, 'index.php') !== false || strpos($file, 'kernel4:') !== false) ? true : false; } function URL() { global $rootURL, $m_var_list_update; if(!$this->IsJavaScriptLink()) { $m_var_list_update['opener']='r'; if ( $this->IsKernel4Link() ) { global $var_list_update; $stack_t = isset($var_list_update['t']) ? $var_list_update['t'] : null; $var_list_update['t'] = $this->Get('file'); $env = BuildEnv(); $url = $rootURL.$this->Get('path'); $url .= (strstr($url, '?') ? '&' : '?').'env='.$env; if ($stack_t == null) { unset($var_list_update['t']); } else { $var_list_update['t'] = $stack_t; } return $url; } else { $env = BuildEnv(); } $url = $rootURL.$this->Get('path').$this->Get('file'); $url .= (strstr($url, '?') ? '&' : '?').'env='.$env; } else { // never called (tested with all modules installed) $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 ="
$caption
"; } else $o = ''; 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 = "
$caption
"; 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 SimpleSection($module, $section_name, $tab_phrase, $title_phrase, $path, $script, $child,$parent,$left,$right) { // simplified method to add sections global $pathtoroot; $sn = explode(':', $section_name); if (substr($script, 0, 8) == 'kernel4:') { $img_path = $sn[0].'/admin_templates/img/icons'; } else { $img_path = $module.'/admin/images/icons'; } if (!$img_path) { } if( !isset($title_phrase) ) $title_phrase = $tab_phrase; $this->AddSection( $section_name,$tab_phrase, $title_phrase,$path, $script, $img_path.'/icon46_'.$sn[1].'.gif', $img_path.'/icon24_'.$sn[1].'.gif', $child,$parent,$left,$right,0,'',1,null,null,null,$img_path.'/icon46_list_'.$sn[1].'.gif'); } 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
\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).'", "return checkEditMode();"));'."\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).'", "return checkEditMode();"));'."\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 = stripslashes( strip_tags( $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; } if( defined('REQUIRE_LAYER_HEADER') ) { $o = "

"; $o .= "
 $caption

"; } else { $o = '
 '.$caption.'

'; } } } 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 $section = GetVar('section'); if($section) { $section = explode(':', $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 = "
"; $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 .= "
"; } } return $o; } function section_header($envar,$navbar=NULL,$extra_title=NULL, $no_help = false, $OtherSection = '') { 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 = ""; //background="'.$imagesURL.'/tabnav_left.jpg" if($no_help == false) $o .= '
'; $o .= ''; $o .= '
'; //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 = ''.$caption.''; unset($node); } $o .= $output; if(strlen($navbar)) $o .= "::".$navbar.""; if($OtherSection) $node_key = $OtherSection; $o .= ""; if($no_help == false) $o .= ""; $o .= "
"; } 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",'in-portal:emaillog',0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_sessions_log.gif"); $objSections->AddSection("in-portal:emaillog","la_tab_EmailLog","la_tab_EmailLog",$admin."/logs/","email_log.php", $admin."/icons/icon46_email_log.gif",$admin."/icons/icon24_email_log.gif", NULL,"in-portal:reports","in-portal:emaillog",NULL,0,"",1,NULL,NULL,NULL,$admin."/icons/icon46_list_email_log.gif"); /* Help */ $objSections->AddSection("in-portal:help","la_tab_Help","la_title_Help",$admin."/help/","manual.pdf", $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","la_tab_Help","la_title_Help",$admin."/help/topics/","download.html", $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); ?>