Fixed bug #14968: Add unit tests for t3lib_div::validIP (Thanks to Nikolas Hagelstein...
[Packages/TYPO3.CMS.git] / typo3 / class.alt_menu_functions.inc
old mode 100755 (executable)
new mode 100644 (file)
index 57c58d1..ee751cf
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2005 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 1999-2009 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -142,8 +142,7 @@ class alt_menu_functions {
                }
 
                        // Traverse array with modules
-               reset($theModules);
-               while(list($moduleName,$moduleInfo)=each($theModules))  {
+               foreach ($theModules as $moduleName => $moduleInfo) {
                        $mC++;
 
                        $prefix = $this->getNavFramePrefix($moduleInfo);
@@ -185,7 +184,7 @@ class alt_menu_functions {
                        $descr3_title = $LANG->moduleLabels['tabs'][$moduleKey].' ';
                        if ($image)     {
                                $Ifilename = $this->mIconFilename($LANG->moduleLabels['tabs_images'][$moduleKey],$backPath);
-                               $collection[$moduleKey]['icon'] = array($Ifilename, $image[3]); 
+                               $collection[$moduleKey]['icon'] = array($Ifilename, $image[3]);
                                $imageCode = '<img src="'.$Ifilename.'" '.$image[3].' alt="" />';
                                $descr3_imageCode = '<img src="'.$Ifilename.'" '.$image[3].' title="'.htmlspecialchars($descr3_title).'" alt="" />';
                        } else {
@@ -207,13 +206,13 @@ class alt_menu_functions {
                        }
 
                        $selectItems[] = '<option value="top.goToModule(\''.$moduleName.'\');">'.htmlspecialchars($LANG->moduleLabels['tabs'][$moduleKey]).'</option>';
-                       $label='&nbsp;<b>'.$label.'</b>&nbsp;';
+                       $label='&nbsp;<strong>'.$label.'</strong>&nbsp;';
 
 
                                // make menu collapsable
                        if($collapsable == 1 && is_array($moduleInfo['sub'])) {
                                $collapseJS = 'onclick="window.location.href=\'alt_menu.php?collapsedOverride['.$moduleName.']='.($config[$moduleName] ? '0' : '1').'\'"';
-                               $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>';
+                               $collapseIcon = t3lib_iconWorks::getSpriteIcon('actions-view-table-' . ($config[$moduleName] ? 'expand' : 'collapse'), array('class' => 'c-iconCollapse'));
                        } else {
                                $collapseJS = $collapseIcon = '';
                        }
@@ -239,10 +238,9 @@ class alt_menu_functions {
                                // Traversing submodules
                        $subCode='';
                        if (is_array($moduleInfo['sub']))       {
-                               reset($moduleInfo['sub']);
                                $collection[$moduleKey]['subitems'] = array();
                                $c=0;
-                               while(list($subName,$subInfo)=each($moduleInfo['sub'])) {
+                               foreach ($moduleInfo['sub'] as $subName => $subInfo) {
                                        if ($c==0)              {
                                                $subCode.='
                                                                <tr class="c-first">
@@ -272,7 +270,7 @@ class alt_menu_functions {
                                        $descr3_title = $LANG->moduleLabels['tabs'][$subKey].': '.$LANG->moduleLabels['labels'][$subKey.'label'];
                                        if ($image)     {
                                                $Ifilename = $this->mIconFilename($LANG->moduleLabels['tabs_images'][$subKey],$backPath);
-                                               $collection[$moduleKey]['subitems'][$subKey]['icon'] = array($Ifilename, $image[3]); 
+                                               $collection[$moduleKey]['subitems'][$subKey]['icon'] = array($Ifilename, $image[3]);
                                                $imageCode = '<img src="'.$Ifilename.'" '.$image[3].' title="'.htmlspecialchars($LANG->moduleLabels['labels'][$subKey.'label']).'" alt="" />';
                                                $descr3_imageCode = '<img src="'.$Ifilename.'" '.$image[3].' title="'.htmlspecialchars($descr3_title).'" alt="" />';
                                        } else {
@@ -288,7 +286,7 @@ class alt_menu_functions {
 
                                                // Setting additional JavaScript if frameset script:
                                        $addJS = '';
-                                       if ($moduleInfo['navFrameScript'])      {$addJS="+'&id='+top.rawurlencode(top.fsMod.recentIds['".$moduleName."'])";}
+                                       if ($moduleInfo['navFrameScript'])      {$addJS = "+'&id='+top.rawurlencodeAndRemoveSiteUrl(top.fsMod.recentIds['" . $moduleName . "'])";}
 
                                                // If there is a script to link to (and linking is not disabled.
                                        if ($link && !$dontLink)        {
@@ -355,11 +353,24 @@ class alt_menu_functions {
                                                        </tr>';
 
                                                // For "About modules":
+                                       $moduleLabel = htmlspecialchars($LANG->moduleLabels['labels'][$subKey.'label']);
+                                       $moduleLabelHtml = !empty($moduleLabel) ? '<strong>' . $moduleLabel . '</strong><br />' : '';
+                                       $moduleDescription = $LANG->moduleLabels['labels'][$subKey.'descr'];
+
                                        $descrCode.='
                                                        <tr class="c-subitem-row">
                                                                <td align="center">'.$imageCode.'</td>
-                                                               <td>'.$flabel.'&nbsp;&nbsp;</td>
-                                                               <td><strong>'.htmlspecialchars($LANG->moduleLabels['labels'][$subKey.'label']).'</strong><br />'.$LANG->moduleLabels['labels'][$subKey.'descr'].'</td>
+                                                               <td>'.$flabel.'&nbsp;&nbsp;</td>';
+
+                                       if (!empty($moduleLabel) || !empty($moduleDescription)) {
+                                               $descrCode .= '
+                                                               <td class="module-description">' . $moduleLabelHtml . $moduleDescription . '</td>';
+                                       } else {
+                                               $descrCode .= '
+                                                               <td>&nbsp;</td>';
+                                       }
+
+                                       $descrCode .= '
                                                        </tr>';
 
                                                // Possibly adding a divider line
@@ -616,7 +627,7 @@ class alt_menu_functions {
                        return $link.'?';
                } else return $link;
        }
-       
+
        /**
         * Generates some JavaScript code for the frame.
         *
@@ -624,7 +635,7 @@ class alt_menu_functions {
         */
        function generateMenuJScode($loadedModules, $menuType = 4)      {
                global $TBE_TEMPLATE;
-               
+
                $goToModuleSwitch = $this->topMenu($loadedModules, 0, '', $menuType);
 
                $jsCode = '
@@ -644,7 +655,7 @@ class alt_menu_functions {
                switch(modName) {'.$goToModuleSwitch.'
                }
        }';
-               
+
                return $jsCode;
        }
 }