[CLEANUP] Use comments not PHPDoc style comments in copyright block
[Packages/TYPO3.CMS.git] / typo3 / mod.php
1 <?php
2 /*
3 * This file is part of the TYPO3 CMS project.
4 *
5 * It is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License, either version 2
7 * of the License, or any later version.
8 *
9 * For the full copyright and license information, please read the
10 * LICENSE.txt file that was distributed with this source code.
11 *
12 * The TYPO3 project - inspiring people to share!
13 */
14 /**
15 * Module Dispatch script
16 *
17 * @author Kasper Skårhøj <kasperYYYY@typo3.com>
18 */
19 unset($MCONF);
20 require __DIR__ . '/init.php';
21 // Find module path:
22 $moduleName = (string)\TYPO3\CMS\Core\Utility\GeneralUtility::_GET('M');
23 $isDispatched = FALSE;
24 $formProtection = \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::get();
25 if (!$formProtection->validateToken(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('moduleToken'), 'moduleCall', $moduleName)) {
26 throw new UnexpectedValueException('Invalid form/module token detected. Access Denied!', 1392409507);
27 }
28 if ($temp_path = $GLOBALS['TBE_MODULES']['_PATHS'][$moduleName]) {
29 $GLOBALS['MCONF']['_'] = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl($moduleName);
30 if (file_exists($temp_path . 'conf.php')) {
31 require $temp_path . 'conf.php';
32 $moduleConfiguration = $GLOBALS['MCONF'];
33 } else {
34 $moduleConfiguration = $GLOBALS['TBE_MODULES']['_configuration'][$moduleName];
35 }
36 if (!empty($moduleConfiguration['access'])) {
37 $GLOBALS['BE_USER']->modAccess($moduleConfiguration, TRUE);
38 }
39
40 $BACK_PATH = '';
41 require $temp_path . 'index.php';
42 $isDispatched = TRUE;
43 } else {
44 if (is_array($GLOBALS['TBE_MODULES']['_dispatcher'])) {
45 foreach ($GLOBALS['TBE_MODULES']['_dispatcher'] as $dispatcherClassName) {
46 $dispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\ObjectManager::class)->get($dispatcherClassName);
47 if ($dispatcher->callModule($moduleName) === TRUE) {
48 $isDispatched = TRUE;
49 break;
50 }
51 }
52 }
53 }
54 if ($isDispatched === FALSE) {
55 throw new UnexpectedValueException('No module "' . htmlspecialchars($moduleName) . '" could be found.', 1294585070);
56 }
57 \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->shutdown();