Fixed bug #10298: Various XSS issues in the BE user admin module
[Packages/TYPO3.CMS.git] / typo3 / alt_intro.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 1999-2008 Kasper Skaarhoj (kasperYYYY@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 * 'About modules' script - the default start-up module.
29 * Will display the list of main- and sub-modules available to the user.
30 * Each module will be show with description and a link to the module.
31 *
32 * $Id$
33 * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
34 * XHTML compliant
35 *
36 * @author Kasper Skaarhoj <kasperYYYY@typo3.com>
37 */
38 /**
39 * [CLASS/FUNCTION INDEX of SCRIPT]
40 *
41 *
42 *
43 * 75: class SC_alt_intro
44 * 84: function init()
45 * 98: function main()
46 * 148: function printContent()
47 *
48 * TOTAL FUNCTIONS: 3
49 * (This index is automatically created/updated by the extension "extdeveval")
50 *
51 */
52
53
54 require ('init.php');
55 require ('template.php');
56 require_once (PATH_t3lib.'class.t3lib_loadmodules.php');
57 require_once (PATH_t3lib.'class.t3lib_basicfilefunc.php');
58 require_once ('class.alt_menu_functions.inc');
59 $LANG->includeLLFile('EXT:lang/locallang_alt_intro.xml');
60
61
62
63
64
65
66
67
68 /**
69 * Script Class for the introduction screen, alias "About > Modules" which shows the description of each available module for the user.
70 *
71 * @author Kasper Skaarhoj <kasperYYYY@typo3.com>
72 * @package TYPO3
73 * @subpackage core
74 */
75 class SC_alt_intro {
76
77 /**
78 * Object for backend modules.
79 *
80 * @var t3lib_loadModules
81 */
82 var $loadModules;
83 var $content;
84
85 /**
86 * Initialization of script class
87 *
88 * @return void
89 */
90 function init() {
91 global $TBE_MODULES;
92
93 // Loads the available backend modules so we can create the description overview.
94 $this->loadModules = t3lib_div::makeInstance('t3lib_loadModules');
95 $this->loadModules->observeWorkspaces = TRUE;
96 $this->loadModules->load($TBE_MODULES);
97 }
98
99 /**
100 * Main content - displaying the module descriptions
101 *
102 * @return void
103 */
104 function main() {
105 global $BE_USER,$LANG,$TYPO3_CONF_VARS;
106 global $TBE_TEMPLATE;
107
108 $alt_menuObj = t3lib_div::makeInstance('alt_menu_functions');
109
110 $TBE_TEMPLATE->divClass = $TBE_TEMPLATE->bodyTagId;
111 $this->content.= $TBE_TEMPLATE->startPage('About modules');
112
113 $this->content .= '
114 <h1>TYPO3 '.TYPO3_version.'<br />'.$LANG->getLL('introtext').'</h1>
115
116 <p>'.t3lib_BEfunc::TYPO3_copyRightNotice().'</p>';
117
118 $this->content .= '
119 '.t3lib_BEfunc::displayWarningMessages();
120
121 $this->content .= '
122 <p>'.$LANG->getLL('introtext2').'</p>';
123
124
125 // Printing the description of the modules available
126 $this->content.=$alt_menuObj->topMenu($this->loadModules->modules,0,'',1);
127 $this->content.='<br />';
128
129 // end text: 'Features may vary depending on your website and permissions'
130 $this->content.='<p class="c-features"><em>('.$LANG->getLL('endText').')</em></p>';
131 $this->content.='<hr />';
132
133 // Logged in user, eg: 'You're logged in as user: admin (John Doe, john@doe.email)'
134 $this->content.='<p class="c-user">'.
135 htmlspecialchars($LANG->getLL('userInfo')).
136 sprintf(' <strong>%s</strong> (%s)',
137 htmlspecialchars($BE_USER->user['username']),
138 htmlspecialchars(implode(', ',array($BE_USER->user['realName'],$BE_USER->user['email'])))
139 ).
140 '</p>
141 <br />
142 <br />';
143
144 // End page
145 $this->content.= $TBE_TEMPLATE->endPage();
146 }
147
148 /**
149 * Outputting the accumulated content to screen
150 *
151 * @return void
152 */
153 function printContent() {
154 echo $this->content;
155 }
156 }
157
158
159 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/alt_intro.php']) {
160 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/alt_intro.php']);
161 }
162
163
164
165 // Make instance:
166 $SOBE = t3lib_div::makeInstance('SC_alt_intro');
167 $SOBE->init();
168 $SOBE->main();
169 $SOBE->printContent();
170
171 ?>