See four lines in changelog, 2004-05-18. Basically a lot of fixes for character set...
[Packages/TYPO3.CMS.git] / typo3 / alt_menu.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
6 * All rights reserved
7 *
8 * This script is part of the TYPO3 project. The TYPO3 project is
9 * free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * The GNU General Public License can be found at
15 * http://www.gnu.org/copyleft/gpl.html.
16 * A copy is found in the textfile GPL.txt and important notices to the license
17 * from the author is found in LICENSE.txt distributed with these scripts.
18 *
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27 /**
28 * Displays the vertical menu in the left most frame of TYPO3s backend
29 *
30 * $Id$
31 * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
32 * XHTML-trans compliant
33 *
34 * @author Kasper Skaarhoj <kasper@typo3.com>
35 */
36 /**
37 * [CLASS/FUNCTION INDEX of SCRIPT]
38 *
39 *
40 *
41 * 78: class SC_alt_menu
42 * 89: function init()
43 * 105: function main()
44 * 177: function printContent()
45 *
46 * TOTAL FUNCTIONS: 3
47 * (This index is automatically created/updated by the extension "extdeveval")
48 *
49 */
50
51
52 require ('init.php');
53 require ('template.php');
54 require_once (PATH_t3lib.'class.t3lib_loadmodules.php');
55 require_once (PATH_t3lib.'class.t3lib_basicfilefunc.php');
56 require_once ('class.alt_menu_functions.inc');
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 /**
72 * Script Class for rendering the vertical menu in the left side of the backend frameset
73 *
74 * @author Kasper Skaarhoj <kasper@typo3.com>
75 * @package TYPO3
76 * @subpackage core
77 */
78 class SC_alt_menu {
79
80 // Internal, Static: GPvar
81 var $_clearCacheFiles;
82
83 /**
84 * Initialize
85 * Loads the backend modules available for the logged in user.
86 *
87 * @return void
88 */
89 function init() {
90 global $TBE_MODULES;
91
92 // Setting GPvars:
93 $this->_clearCacheFiles = t3lib_div::_GP('_clearCacheFiles');
94
95 // Loads the backend modules available for the logged in user.
96 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
97 $this->loadModules->load($TBE_MODULES);
98 }
99
100 /**
101 * Main content generated
102 *
103 * @return void
104 */
105 function main() {
106 global $BE_USER,$TYPO3_CONF_VARS,$TBE_TEMPLATE,$TYPO_VERSION;
107
108 $TBE_TEMPLATE->docType='xhtml_trans';
109 $TBE_TEMPLATE->divClass='vertical-menu';
110 $this->content.=$TBE_TEMPLATE->startPage('Vertical Backend Menu');
111 $backPath = $GLOBALS['BACK_PATH'];
112
113 // Printing the menu
114 $alt_menuObj = t3lib_div::makeInstance('alt_menu_functions');
115 $this->content.=$alt_menuObj->topMenu($this->loadModules->modules);
116
117 // clear cache commands for Admins
118 if($BE_USER->isAdmin()) {
119 $functionsArray = $alt_menuObj->adminFunctions($backPath);
120
121 $this->content.='
122
123 <!--
124 Menu with admin functions: Clearing cache:
125 -->
126 <div id="typo3-alt-menu-php-adminFunc">';
127
128 // Header: Admin functions
129 $this->content.='<h2 class="bgColor5">'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.adminFunctions',1).'</h2>';
130
131 // Table with those admin functions
132 $this->content.='
133 <table border="0" cellpadding="0" cellspacing="1" width="100%">';
134
135 $rows=array();
136 foreach($functionsArray as $functionsArraySetup) {
137 $rows[]='
138 <tr>
139 <td valign="top" align="center">'.$functionsArraySetup['icon'].'</td>
140 <td><a href="'.htmlspecialchars($functionsArraySetup['href']).'">'.htmlspecialchars($functionsArraySetup['title']).'</a></td>
141 </tr>';
142 }
143
144 // Imploding around the divider table row:
145 $this->content.=implode('
146 <tr>
147 <td colspan="2"><img'.t3lib_iconWorks::skinImg($backPath,'gfx/altmenuline.gif','width="105" height="3"').' alt="" /></td>
148 </tr>',$rows);
149
150 $this->content.='
151 </table>';
152 $this->content.='
153 </div>
154 ';
155 }
156
157 // Printing bottons (logout button)
158 $this->content.='
159
160
161 <!--
162 Logout button / username
163 -->
164 <div id="typo3-alt-menu-php-logininfo">'.$alt_menuObj->topButtons().
165 '<p id="username">['.htmlspecialchars($BE_USER->user['username']).']</p>
166 </div>';
167
168 // End page:
169 $this->content.=$TBE_TEMPLATE->endPage();
170 }
171
172 /**
173 * Outputting the accumulated content to screen
174 *
175 * @return void
176 */
177 function printContent() {
178 echo $this->content;
179 }
180 }
181
182 // Include extension?
183 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/alt_menu.php']) {
184 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/alt_menu.php']);
185 }
186
187
188
189
190
191
192
193
194
195
196
197
198 // Make instance:
199 $SOBE = t3lib_div::makeInstance('SC_alt_menu');
200 $SOBE->init();
201 $SOBE->main();
202 $SOBE->printContent();
203 ?>