Fixed bug #14968: Add unit tests for t3lib_div::validIP (Thanks to Nikolas Hagelstein...
[Packages/TYPO3.CMS.git] / typo3 / alt_menu.php
old mode 100755 (executable)
new mode 100644 (file)
index 7797561..253166a
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2005 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 1999-2010 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -52,8 +52,6 @@
 
 require ('init.php');
 require ('template.php');
-require_once (PATH_t3lib.'class.t3lib_loadmodules.php');
-require_once (PATH_t3lib.'class.t3lib_basicfilefunc.php');
 require_once ('class.alt_menu_functions.inc');
 
 
@@ -120,7 +118,6 @@ class SC_alt_menu {
        function main() {
                global $BE_USER,$TYPO3_CONF_VARS,$TBE_TEMPLATE;
 
-               $TBE_TEMPLATE->docType='xhtml_trans';
                $TBE_TEMPLATE->divClass='vertical-menu';
                $TBE_TEMPLATE->bodyTagAdditions = 'onload="top.restoreHighlightedModuleMenuItem()"';
 
@@ -131,8 +128,10 @@ class SC_alt_menu {
                $alt_menuObj = t3lib_div::makeInstance('alt_menu_functions');
                $this->content.= $alt_menuObj->topMenu($this->loadModules->modules);
 
-                       // clear cache commands for Admins
-               if($BE_USER->isAdmin()) {       //  && $BE_USER->workspace===0 NOT used anyway because under a workspace developers might still like to clear cache!
+                       // clear cache commands for Admins and allowed users
+               if($GLOBALS['BE_USER']->isAdmin()
+               || $GLOBALS['BE_USER']->getTSConfigVal('options.clearCache.pages')
+               || $GLOBALS['BE_USER']->getTSConfigVal('options.clearCache.all')) {     //  && $BE_USER->workspace===0 NOT used anyway because under a workspace developers might still like to clear cache!
                        $functionsArray = $alt_menuObj->adminFunctions($backPath);
 
                        $this->content.='
@@ -150,16 +149,19 @@ class SC_alt_menu {
                                // Header: Admin functions
                        $this->content.='
                                        <tr class="c-mainitem">
-                                               <td colspan="2"><span class="c-label"><b>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.adminFunctions',1).'</b>&nbsp;</span><span class="c-iconCollapse"></span></td>
+                                               <td colspan="2"><span class="c-label"><strong>'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.adminFunctions',1).'</strong>&nbsp;</span><span class="c-iconCollapse"></span></td>
                                        </tr>';
 
                        $rows=array();
-                       foreach($functionsArray as $functionsArraySetup)        {
-                               $rows[]='
-                                       <tr class="c-subitem">
-                                               <td valign="top" align="center" class="icon">'.$functionsArraySetup['icon'].'</td>
-                                               <td><a href="'.htmlspecialchars($functionsArraySetup['href']).'">'.htmlspecialchars($functionsArraySetup['title']).'</a></td>
-                                       </tr>';
+                       foreach($functionsArray as $functionsArraySetup) {
+                               if(($functionsArraySetup['id'] == 'all' && ($GLOBALS['BE_USER']->isAdmin() || $GLOBALS['BE_USER']->getTSConfigVal('options.clearCache.all')))
+                               || ($functionsArraySetup['id'] == 'temp_CACHED' && $GLOBALS['BE_USER']->isAdmin())) {
+                                       $rows[]='
+                                               <tr class="c-subitem">
+                                                       <td valign="top" align="center" class="icon">'.$functionsArraySetup['icon'].'</td>
+                                                       <td><a href="'.htmlspecialchars($functionsArraySetup['href']).'">'.htmlspecialchars($functionsArraySetup['title']).'</a></td>
+                                               </tr>';
+                                       }
                        }
 
                                // Imploding around the divider table row:
@@ -178,11 +180,13 @@ class SC_alt_menu {
 
                        // superuser mode
                if($BE_USER->user['ses_backuserid']) {
-                       $username = '<p id="username" class="typo3-red-background">[SU: '.htmlspecialchars($BE_USER->user['username']).']</p>';
+                       $username = '<p id="username" class="typo3-red-background">[' .
+                               $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_misc.xml:switchtousershort') . ' ' .
+                               htmlspecialchars($BE_USER->user['username']) . ']</p>';
                } else {
-                       $username = '<p id="username">['.htmlspecialchars($BE_USER->user['username']).']</p>';
+                       $username = '<p id="username">[' . htmlspecialchars($BE_USER->user['username']) . ']</p>';
                }
-                       // Printing bottons (logout button)
+                       // Printing buttons (logout button)
                $this->content.='
 
 
@@ -206,25 +210,17 @@ class SC_alt_menu {
        }
 }
 
-// Include extension?
+
 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/alt_menu.php'])     {
        include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/alt_menu.php']);
 }
 
 
 
-
-
-
-
-
-
-
-
-
 // Make instance:
 $SOBE = t3lib_div::makeInstance('SC_alt_menu');
 $SOBE->init();
 $SOBE->main();
 $SOBE->printContent();
+
 ?>
\ No newline at end of file