"TYPO3 4.0.1: typo3_src-4.0.1/typo3/class.alt_menu_functions.inc Source File", "datetime" => "Sat Dec 2 19:22:20 2006", "date" => "2 Dec 2006", "doxygenversion" => "1.4.6", "projectname" => "TYPO3 4.0.1", "projectnumber" => "4.0.1" ); get_header($doxygen_vars); ?>
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 1999-2005 Kasper Skaarhoj (kasperYYYY@typo3.com) 00006 * All rights reserved 00007 * 00008 * This script is part of the TYPO3 project. The TYPO3 project is 00009 * free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * The GNU General Public License can be found at 00015 * http://www.gnu.org/copyleft/gpl.html. 00016 * A copy is found in the textfile GPL.txt and important notices to the license 00017 * from the author is found in LICENSE.txt distributed with these scripts. 00018 * 00019 * 00020 * This script is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU General Public License for more details. 00024 * 00025 * This copyright notice MUST APPEAR in all copies of the script! 00026 ***************************************************************/ 00073 class alt_menu_functions { 00074 00075 // Internal 00076 var $fsMod = array(); 00077 00094 function topMenu($theModules,$dontLink=0,$backPath='',$descr=0) { 00095 global $LANG, $TBE_TEMPLATE, $BE_USER; 00096 00097 // By default module sections are collapsable, only if they are explicitly turned off via TSconfig, they are not: 00098 $tmpArr = $BE_USER->getTSConfig('options.moduleMenuCollapsable'); 00099 $collapsable = ($tmpArr['value'] ? 0 : 1); 00100 unset($tmpArr); 00101 00102 // Initialize vars: 00103 $final=''; 00104 $menuCode=''; 00105 $descrCode=''; 00106 $menuCode_sub=''; 00107 $selectItems=array(); 00108 $mIcons=array(); 00109 $mJScmds=array(); 00110 $onBlur=$GLOBALS['CLIENT']['FORMSTYLE'] ? 'this.blur();' : ''; 00111 00112 $selectItems[] = '<option value="">[ '.$LANG->sL('LLL:EXT:lang/locallang_core.php:buttons.selMenu_modules',1).' ]</option>'; 00113 $mC=0; 00114 00115 // Remove the 'doc' module? 00116 if ($BE_USER->getTSConfigVal('options.disableDocModuleInAB')) { 00117 unset($theModules['doc']); 00118 } 00119 00120 // Get collapsed configuration 00121 if ($collapsable == 1) { 00122 $config = is_array ($BE_USER->uc['moduleData']['alt_menu.php']) ? $BE_USER->uc['moduleData']['alt_menu.php'] : array(); 00123 $collapsedOverride = t3lib_div::_GP('collapsedOverride'); 00124 if (is_array ($collapsedOverride)) { 00125 $config = array_merge ($config, $collapsedOverride); 00126 } 00127 00128 if (t3lib_div::_GP('collapsableExpandAll') == 1) { 00129 $config['expandAll'] = t3lib_div::_GP('expandAll'); 00130 } 00131 00132 if ($config['expandAll'] && is_array($collapsedOverride)) { 00133 $config = $collapsedOverride; 00134 } 00135 00136 $BE_USER->uc['moduleData']['alt_menu.php'] = $config; 00137 $BE_USER->writeUC($BE_USER->uc); 00138 00139 // all items have to be expanded when expandAll is set 00140 if($config['expandAll'] == 1) { 00141 foreach($config as $key => $value) { 00142 if($key != 'expandAll') 00143 $config[$key] = 0; 00144 } 00145 } 00146 } 00147 00148 // Traverse array with modules 00149 reset($theModules); 00150 while(list($moduleName,$moduleInfo)=each($theModules)) { 00151 $mC++; 00152 00153 $prefix = $this->getNavFramePrefix($moduleInfo); 00154 if ($prefix) { 00155 $this->fsMod[]='fsMod.recentIds["'.$moduleName.'"]="";'; 00156 } 00157 00158 // If there are submodules: 00159 if (is_array($moduleInfo['sub'])) { 00160 // Finding the default module to display 00161 if ($moduleInfo['defaultMod']) { 00162 $link = $moduleInfo['sub'][$moduleInfo['defaultMod']]['script']; 00163 } else { 00164 reset($moduleInfo['sub']); 00165 $subTemp = current($moduleInfo['sub']); 00166 $link = $subTemp['script']; 00167 } 00168 $link_sub = 1; // Tells that the main modules links to a submodule 00169 $link = ''; // Does not link to submodules... 00170 } else { 00171 $link = $moduleInfo['script']; 00172 $link_sub = 0; 00173 } 00174 00175 $link = t3lib_div::resolveBackPath($link); 00176 00177 $moduleKey = $moduleName.'_tab'; 00178 $moduleCSSId = 'ID_'.t3lib_div::md5int($moduleName); 00179 00180 // Creating image icon 00181 $image = @getimagesize($this->mIconFile($LANG->moduleLabels['tabs_images'][$moduleKey],$backPath)); 00182 $imageCode=''; 00183 $descr3_title = $LANG->moduleLabels['tabs'][$moduleKey].' '; 00184 if ($image) { 00185 $Ifilename = $this->mIconFilename($LANG->moduleLabels['tabs_images'][$moduleKey],$backPath); 00186 $imageCode = '<img src="'.$Ifilename.'" '.$image[3].' alt="" />'; 00187 $descr3_imageCode = '<img src="'.$Ifilename.'" '.$image[3].' title="'.htmlspecialchars($descr3_title).'" alt="" />'; 00188 } else { 00189 $descr3_imageCode = '<img'.t3lib_iconWorks::skinImg($backPath,'gfx/dummy_module.gif','width="14" height="12"').' title="'.htmlspecialchars($descr3_title).'" alt="" />'; 00190 } 00191 00192 // Creating the various links: 00193 $label = $LANG->moduleLabels['tabs'][$moduleKey]; 00194 if ($link && $prefix) $link=$prefix.rawurlencode($link); 00195 if ($link && !$dontLink) { 00196 $label = '<a href="#" onclick="top.goToModule(\''.$moduleName.'\');'.$onBlur.'return false;">'.$label.'</a>'; // && !$link_sub 00197 00198 $mIcons[] = '<a href="#" onclick="top.goToModule(\''.$moduleName.'\');'.$onBlur.'return false;" class="c-mainitem" id="'.$moduleCSSId.'">'.$descr3_imageCode.'</a>'; 00199 00200 $JScmd = ' 00201 top.content.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($link).'"+additionalGetVariables); 00202 top.highlightModuleMenuItem("'.$moduleCSSId.'",1);'; 00203 $mJScmds[] = "case '".$moduleName."': \n ".$JScmd." \n break;"; 00204 } 00205 00206 $selectItems[] = '<option value="top.goToModule(\''.$moduleName.'\');">'.htmlspecialchars($LANG->moduleLabels['tabs'][$moduleKey]).'</option>'; 00207 $label=' <b>'.$label.'</b> '; 00208 00209 00210 // make menu collapsable 00211 if($collapsable == 1 && is_array($moduleInfo['sub'])) { 00212 $collapseJS = 'onclick="window.location.href=\'alt_menu.php?collapsedOverride['.$moduleName.']='.($config[$moduleName] ? '0' : '1').'\'"'; 00213 $collapseIcon = '<span class="c-iconCollapse"><img'.t3lib_iconWorks::skinImg($backPath,'gfx/ol/'.($config[$moduleName] ? 'plusbullet.gif':'minusbullet.gif'),'width="18" height="16"').' title="" alt="" /></span>'; 00214 } else { 00215 $collapseJS = $collapseIcon = ''; 00216 } 00217 00218 // Creating a main item for the vertical menu (descr=0) 00219 $menuCode.=' 00220 <tr class="c-mainitem" id="'.$moduleCSSId.'"> 00221 <td colspan="3" '.$collapseJS.' >'.$imageCode.'<span class="c-label">'.$label.'</span>'.$collapseIcon.'</td> 00222 </tr>'; 00223 00224 // Code for "About modules" 00225 $descrCode.=' 00226 <tr class="c-mainitem bgColor4"> 00227 <td colspan="3">'.$imageCode.$label.'</td> 00228 </tr>'; 00229 00230 00231 // Hide submodules when collapsed: 00232 if($collapsable == 1 && $config[$moduleName] == 1 && $descr == 0 && $config['expandAll'] != 1) { 00233 unset($moduleInfo['sub']); 00234 } 00235 00236 // Traversing submodules 00237 $subCode=''; 00238 if (is_array($moduleInfo['sub'])) { 00239 reset($moduleInfo['sub']); 00240 $c=0; 00241 while(list($subName,$subInfo)=each($moduleInfo['sub'])) { 00242 if ($c==0) { 00243 $subCode.=' 00244 <tr class="c-first"> 00245 <td colspan="3"></td> 00246 </tr>'; 00247 $descrCode.=' 00248 <tr class="c-first"> 00249 <td colspan="3"></td> 00250 </tr>'; 00251 } 00252 00253 $link = t3lib_div::resolveBackPath($subInfo['script']); 00254 $prefix = $this->getNavFramePrefix($moduleInfo, $subInfo); 00255 00256 $subKey = $moduleName.'_'.$subName.'_tab'; 00257 $moduleCSSId = 'ID_'.t3lib_div::md5int($moduleName.'_'.$subName); 00258 00259 // Creating image icon 00260 $image = @getimagesize($this->mIconFile($LANG->moduleLabels['tabs_images'][$subKey],$backPath)); 00261 $imageCode=''; 00262 $descr3_title = $LANG->moduleLabels['tabs'][$subKey].': '.$LANG->moduleLabels['labels'][$subKey.'label']; 00263 if ($image) { 00264 $Ifilename = $this->mIconFilename($LANG->moduleLabels['tabs_images'][$subKey],$backPath); 00265 $imageCode = '<img src="'.$Ifilename.'" '.$image[3].' title="'.htmlspecialchars($LANG->moduleLabels['labels'][$subKey.'label']).'" alt="" />'; 00266 $descr3_imageCode = '<img src="'.$Ifilename.'" '.$image[3].' title="'.htmlspecialchars($descr3_title).'" alt="" />'; 00267 } else { 00268 $descr3_imageCode = '<img'.t3lib_iconWorks::skinImg($backPath,'gfx/dummy_module.gif','width="14" height="12"').' title="'.htmlspecialchars($descr3_title).'" alt="" />'; 00269 } 00270 00271 // Label for submodule: 00272 $label = $LANG->moduleLabels['tabs'][$subKey]; 00273 $label_descr = ' title="'.htmlspecialchars($LANG->moduleLabels['labels'][$subKey.'label']).'"'; 00274 $flabel = htmlspecialchars($label); 00275 $origLink = $link; 00276 if ($link && $prefix) $link=$prefix.rawurlencode($link); 00277 00278 // Setting additional JavaScript if frameset script: 00279 $addJS = ''; 00280 if ($moduleInfo['navFrameScript']) {$addJS="+'&id='+top.rawurlencode(top.fsMod.recentIds['".$moduleName."'])";} 00281 00282 // If there is a script to link to (and linking is not disabled. 00283 if ($link && !$dontLink) { 00284 // For condensed mode, send &cMR parameter to frameset script. 00285 if ($addJS && $BE_USER->uc['condensedMode']) {$addJS.= "+(cMR?'&cMR=1':'')";} 00286 00287 // Command for the selector box: 00288 $JScmd = ' 00289 top.content.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($link).'"'.$addJS.'+additionalGetVariables); 00290 top.fsMod.currentMainLoaded="'.$moduleName.'"; 00291 '; 00292 00293 if ($subInfo['navFrameScript']) { 00294 $JScmd.=' 00295 top.currentSubScript="'.$origLink.'";'; 00296 } 00297 00298 // If there is a frameset script in place: 00299 if (!$BE_USER->uc['condensedMode'] && $moduleInfo['navFrameScript']) { 00300 00301 // use special nav script from sub module, otherwise from the main module 00302 $subNavFrameScript = $subInfo['navFrameScript'] ? $subInfo['navFrameScript'] : $moduleInfo['navFrameScript']; 00303 $subNavFrameScript = t3lib_div::resolveBackPath($subNavFrameScript); 00304 00305 // add GET params for sub module to the nav script 00306 $subNavFrameScript = $this->wrapLinkWithAB($subNavFrameScript).$subInfo['navFrameScriptParam']; 00307 00308 $JScmd = ' 00309 if (top.content.list_frame && top.fsMod.currentMainLoaded=="'.$moduleName.'") { 00310 top.currentSubScript="'.$origLink.'"; 00311 top.content.list_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($origLink).'"'.$addJS.'+additionalGetVariables); 00312 if(top.currentSubNavScript!="'.$subNavFrameScript.'") { 00313 top.currentSubNavScript="'.$subNavFrameScript.'"; 00314 top.content.nav_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$subNavFrameScript.'"); 00315 } 00316 } else { 00317 top.content.location=top.TS.PATH_typo3+( 00318 top.nextLoadModuleUrl? 00319 "'.($prefix?$this->wrapLinkWithAB($link).'&exScript=':'').'listframe_loader.php": 00320 "'.$this->wrapLinkWithAB($link).'"'.$addJS.'+additionalGetVariables 00321 ); 00322 top.fsMod.currentMainLoaded="'.$moduleName.'"; 00323 top.currentSubScript="'.$origLink.'"; 00324 } 00325 '; 00326 } 00327 $selectItems[] = '<option value="top.goToModule(\''.$moduleName.'_'.$subName.'\');">'.htmlspecialchars('- '.$label).'</option>'; 00328 $onClickString = htmlspecialchars('top.goToModule(\''.$moduleName.'_'.$subName.'\');'.$onBlur.'return false;'); 00329 00330 $flabel = '<a href="#" onclick="'.$onClickString.'"'.$label_descr.'>'.htmlspecialchars($label).'</a>'; 00331 00332 $mIcons[] = '<a href="#" onclick="'.$onClickString.'"'.$label_descr.' class="c-subitem" id="'.$moduleCSSId.'">'.$descr3_imageCode.'</a>'; 00333 00334 $JScmd.= ' 00335 top.highlightModuleMenuItem("'.$moduleCSSId.'");'; 00336 $mJScmds[] = "case '".$moduleName.'_'.$subName."': \n ".$JScmd." \n break;"; 00337 } 00338 00339 $subCode.=' 00340 <tr class="c-subitem-row" id="'.$moduleCSSId.'"> 00341 <td></td> 00342 <td align="center">'.(!$BE_USER->uc['hideSubmoduleIcons']?$imageCode:'').'</td> 00343 <td class="c-subitem-label">'.$flabel.'</td> 00344 </tr>'; 00345 00346 // For "About modules": 00347 $descrCode.=' 00348 <tr class="c-subitem-row"> 00349 <td align="center">'.$imageCode.'</td> 00350 <td>'.$flabel.' </td> 00351 <td><strong>'.htmlspecialchars($LANG->moduleLabels['labels'][$subKey.'label']).'</strong><br />'.$LANG->moduleLabels['labels'][$subKey.'descr'].'</td> 00352 </tr>'; 00353 00354 // Possibly adding a divider line 00355 $c++; 00356 if ($c<count($moduleInfo['sub'])) { 00357 // Divider 00358 $subCode.=' 00359 <tr class="c-divrow"> 00360 <td colspan="3"><img'.t3lib_iconWorks::skinImg($backPath,'gfx/altmenuline.gif','width="105" height="3"').' alt="" /></td> 00361 </tr>'; 00362 } 00363 } 00364 // Spacer gif for top menu: 00365 if (count($theModules)>$mC) { 00366 $mIcons[]='<img src="'.$backPath.'gfx/acm_spacer2.gif" width="8" height="12" hspace="3" alt="" />'; 00367 } 00368 } 00369 00370 // Add spacers after each main section: 00371 $subCode.=' 00372 <tr class="c-endrow"> 00373 <td colspan="3"></td> 00374 </tr>'; 00375 $descrCode.=' 00376 <tr class="c-endrow"> 00377 <td colspan="3"></td> 00378 </tr>'; 00379 00380 // Add sub-code: 00381 $menuCode.=$subCode; 00382 } 00383 00384 // $descr==0: Ordinary vertical menu 00385 if ($menuCode) { 00386 if($collapsable == 1 || $config['expandAll'] == 1) { 00387 $collapseAllHTML = '<tr class="c-endrow"> 00388 <td></td> 00389 <td align="center"> 00390 <form action="alt_menu.php" method="get"> 00391 <input type="hidden" name="collapsableExpandAll" value="1" /> 00392 <input type="checkbox" name="expandAll" id="expandall" class="checkbox" value="1" onclick="this.form.submit();" '.($config['expandAll']?'checked="checked"':'').' /> 00393 </form> 00394 </td> 00395 <td class="c-subitem-label"><label for="expandall">'.$LANG->sL('LLL:EXT:lang/locallang_core.php:labels.expandAll',1).'</label></td> 00396 </tr>'; 00397 } else { 00398 $collapseAllHTML = ''; 00399 } 00400 00401 $final = ' 00402 00403 00404 <!-- 00405 Vertical module menu, shown in left frame of backend. 00406 --> 00407 <table border="0" cellpadding="0" cellspacing="0" id="typo3-vmenu"> 00408 '.$menuCode.' 00409 <tr class="c-endrow"> 00410 <td colspan="3">'.t3lib_BEfunc::cshItem('xMOD_csh_corebe', 'menu_modules', $GLOBALS['BACK_PATH']).'</td></tr> 00411 '.$collapseAllHTML.' 00412 </table>'; 00413 } 00414 00415 // Output for the "About modules" module 00416 if ($descr==1) { 00417 $descrCode = ' 00418 00419 00420 <!-- 00421 Listing of modules, for Help > About modules 00422 --> 00423 <table border="0" cellpadding="0" cellspacing="0" id="typo3-about-modules"> 00424 '.$descrCode.' 00425 </table>'; 00426 $final = $descrCode; 00427 } 00428 00429 // selector-box menu 00430 if ($descr==2) { 00431 00432 // Add admin-functions for clearing caches: 00433 if ($BE_USER->isAdmin()) { 00434 $functionArray = $this->adminFunctions($backPath); 00435 if (count($functionArray)) { 00436 $selectItems[] = '<option value=""></option>'; 00437 foreach($functionArray as $fAoptions) { 00438 $selectItems[] = '<option value="'.htmlspecialchars("window.location.href='".$fAoptions['href']."';").'">[ '.htmlspecialchars($fAoptions['title']).' ]</option>'; 00439 } 00440 } 00441 } 00442 00443 // Logout item: 00444 $selectItems[] = '<option value=""></option>'; 00445 $selectItems[] = '<option value="'.htmlspecialchars("top.location='logout.php';").'">[ '.$LANG->sL('LLL:EXT:lang/locallang_core.php:buttons.logout',1).' ]</option>'; 00446 $final = ' 00447 <select name="menuselector" onchange="eval(this.options[this.selectedIndex].value);"> 00448 '.implode(' 00449 ',$selectItems).' 00450 </select>'; 00451 } 00452 // topmenu - horizontal line of icons! 00453 if ($descr==3) { 00454 $final = ''.implode('',$mIcons).''; 00455 } 00456 00457 // Output for the goToModules() function in main frameset. 00458 if ($descr==4) { 00459 $final = chr(10).implode(chr(10),$mJScmds).chr(10); 00460 } 00461 00462 // Return result: 00463 return $final; 00464 } 00465 00473 function getNavFramePrefix($moduleInfo, $subModuleInfo=array()) { 00474 global $BE_USER; 00475 00476 $prefix = ''; 00477 $navFrameScript = $subModuleInfo['navFrameScript'] ? $subModuleInfo['navFrameScript'] : $moduleInfo['navFrameScript']; 00478 $navFrameScriptParam = isset($subModuleInfo['navFrameScriptParam']) ? $subModuleInfo['navFrameScriptParam'] : $moduleInfo['navFrameScriptParam']; 00479 if ($navFrameScript) { 00480 $navFrameScript = t3lib_div::resolveBackPath($navFrameScript); 00481 $navFrameScript = $this->wrapLinkWithAB($navFrameScript); 00482 00483 if ($BE_USER->uc['condensedMode']) { 00484 $prefix=$navFrameScript.$navFrameScriptParam.'¤tSubScript='; 00485 } else { 00486 $prefix='alt_mod_frameset.php?'. 00487 'fW="+top.TS.navFrameWidth+"'. 00488 '&nav="+top.TS.PATH_typo3+"'.rawurlencode($navFrameScript.$navFrameScriptParam). 00489 '&script='; 00490 } 00491 } 00492 return $prefix; 00493 } 00494 00504 function mIconFile($Ifilename,$backPath) { 00505 if (t3lib_div::isAbsPath($Ifilename)) { 00506 return $Ifilename; 00507 } 00508 return $backPath.$Ifilename; 00509 } 00510 00519 function mIconFilename($Ifilename,$backPath) { 00520 if (t3lib_div::isAbsPath($Ifilename)) { 00521 $Ifilename = '../'.substr($Ifilename,strlen(PATH_site)); 00522 } 00523 return $backPath.$Ifilename; 00524 } 00525 00531 function topButtons() { 00532 global $LANG; 00533 00534 $label = $GLOBALS['BE_USER']->user['ses_backuserid'] ? 'LLL:EXT:lang/locallang_core.php:buttons.exit' : 'LLL:EXT:lang/locallang_core.php:buttons.logout'; 00535 $out.= '<form action="logout.php" target="_top"><input type="submit" value="'.$LANG->sL($label,1).'" /></form>'; 00536 return $out; 00537 } 00538 00544 function adminButtons() { 00545 global $LANG; 00546 00547 $functionArray = $this->adminFunctions(''); 00548 00549 $icons=array(); 00550 foreach($functionArray as $fAoptions) { 00551 $icons[]= '<a href="'.htmlspecialchars($fAoptions['href']).'">'.$fAoptions['icon'].'</a>'; 00552 } 00553 00554 return implode('',$icons); 00555 } 00556 00563 function adminFunctions($backPath) { 00564 global $LANG,$BE_USER,$TYPO3_CONF_VARS; 00565 00566 $functions=array(); 00567 00568 // Clearing of cache-files in typo3conf/ + menu 00569 if ($TYPO3_CONF_VARS['EXT']['extCache']) { 00570 $title = $LANG->sL('LLL:EXT:lang/locallang_core.php:rm.clearCache_allTypo3Conf'); 00571 $functions[]=array( 00572 'title' => $title, 00573 'href' => $backPath.'tce_db.php?vC='.$BE_USER->veriCode().'&redirect='.rawurlencode(t3lib_div::getIndpEnv('TYPO3_REQUEST_SCRIPT')).'&cacheCmd=temp_CACHED', 00574 'icon' => '<img'.t3lib_iconWorks::skinImg($backPath,'gfx/clear_cache_files_in_typo3c.gif','width="21" height="18"').' title="'.htmlspecialchars($title).'" alt="" />' 00575 ); 00576 } 00577 00578 // Clear all page cache 00579 $title = $LANG->sL('LLL:EXT:lang/locallang_core.php:rm.clearCache_all'); 00580 $functions[]=array( 00581 'title' => $title, 00582 'href' => $backPath.'tce_db.php?vC='.$BE_USER->veriCode().'&redirect='.rawurlencode(t3lib_div::getIndpEnv('TYPO3_REQUEST_SCRIPT')).'&cacheCmd=all', 00583 'icon' => '<img'.t3lib_iconWorks::skinImg($backPath,'gfx/clear_all_cache.gif','width="21" height="18"').' title="'.htmlspecialchars($title).'" alt="" />' 00584 ); 00585 00586 // Return functions 00587 return $functions; 00588 } 00589 00596 function wrapLinkWithAB($link) { 00597 if (!strstr($link,'?')) { 00598 return $link.'?'; 00599 } else return $link; 00600 } 00601 } 00602 00603 00604 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.alt_menu_functions.inc']) { 00605 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.alt_menu_functions.inc']); 00606 } 00607 ?>