[FEATURE] Remove conf.php for ext:filelist
[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 = $TBE_MODULES['_PATHS'][$moduleName]) {
29 $MCONF['_'] = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl($moduleName);
30 if (file_exists($temp_path . 'conf.php')) {
31 require $temp_path . 'conf.php';
32 }
33
34 $BACK_PATH = '';
35 require $temp_path . 'index.php';
36 $isDispatched = TRUE;
37 } else {
38 if (is_array($TBE_MODULES['_dispatcher'])) {
39 foreach ($TBE_MODULES['_dispatcher'] as $dispatcherClassName) {
40 $dispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\ObjectManager::class)->get($dispatcherClassName);
41 if ($dispatcher->callModule($moduleName) === TRUE) {
42 $isDispatched = TRUE;
43 break;
44 }
45 }
46 }
47 }
48 if ($isDispatched === FALSE) {
49 throw new UnexpectedValueException('No module "' . htmlspecialchars($moduleName) . '" could be found.', 1294585070);
50 }
51 \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->shutdown();