Verzeichnisstruktur phpBB-3.1.0
- Veröffentlicht
- 27.10.2014
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
common.php
001 <?php
002 /**
003 *
004 * This file is part of the phpBB Forum Software package.
005 *
006 * @copyright (c) phpBB Limited <https://www.phpbb.com>
007 * @license GNU General Public License, version 2 (GPL-2.0)
008 *
009 * For full copyright and license information, please see
010 * the docs/CREDITS.txt file.
011 *
012 */
013
014 /**
015 * Minimum Requirement: PHP 5.3.3
016 */
017
018 if (!defined('IN_PHPBB'))
019 {
020 exit;
021 }
022
023 require($phpbb_root_path . 'includes/startup.' . $phpEx);
024 require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
025
026 $phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
027 $phpbb_class_loader->register();
028
029 $phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
030 extract($phpbb_config_php_file->get_all());
031
032 if (!defined('PHPBB_INSTALLED'))
033 {
034 // Redirect the user to the installer
035 require($phpbb_root_path . 'includes/functions.' . $phpEx);
036
037 // We have to generate a full HTTP/1.1 header here since we can't guarantee to have any of the information
038 // available as used by the redirect function
039 $server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
040 $server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');
041 $secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 1 : 0;
042
043 $script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
044 if (!$script_name)
045 {
046 $script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
047 }
048
049 // $phpbb_root_path accounts for redirects from e.g. /adm
050 $script_path = trim(dirname($script_name)) . '/' . $phpbb_root_path . 'install/index.' . $phpEx;
051 // Replace any number of consecutive backslashes and/or slashes with a single slash
052 // (could happen on some proxy setups and/or Windows servers)
053 $script_path = preg_replace('#[\\\\/]{2,}#', '/', $script_path);
054
055 // Eliminate . and .. from the path
056 require($phpbb_root_path . 'phpbb/filesystem.' . $phpEx);
057 $phpbb_filesystem = new phpbb\filesystem();
058 $script_path = $phpbb_filesystem->clean_path($script_path);
059
060 $url = (($secure) ? 'https://' : 'http://') . $server_name;
061
062 if ($server_port && (($secure && $server_port <> 443) || (!$secure && $server_port <> 80)))
063 {
064 // HTTP HOST can carry a port number...
065 if (strpos($server_name, ':') === false)
066 {
067 $url .= ':' . $server_port;
068 }
069 }
070
071 $url .= $script_path;
072 header('Location: ' . $url);
073 exit;
074 }
075
076 // In case $phpbb_adm_relative_path is not set (in case of an update), use the default.
077 $phpbb_adm_relative_path = (isset($phpbb_adm_relative_path)) ? $phpbb_adm_relative_path : 'adm/';
078 $phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;
079
080 // Include files
081 require($phpbb_root_path . 'includes/functions.' . $phpEx);
082 require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
083 include($phpbb_root_path . 'includes/functions_compatibility.' . $phpEx);
084
085 require($phpbb_root_path . 'includes/constants.' . $phpEx);
086 require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
087
088 // Set PHP error handler to ours
089 set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
090
091 $phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
092 $phpbb_class_loader_ext->register();
093
094 phpbb_load_extensions_autoloaders($phpbb_root_path);
095
096 // Set up container
097 $phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
098 $phpbb_container = $phpbb_container_builder->get_container();
099
100 $phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
101 $phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
102
103 require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
104
105 // Add own hook handler
106 require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
107 $phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
108 $phpbb_hook_finder = $phpbb_container->get('hook_finder');
109
110 foreach ($phpbb_hook_finder->find() as $hook)
111 {
112 @include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);
113 }
114
115 /**
116 * Main event which is triggered on every page
117 *
118 * You can use this event to load function files and initiate objects
119 *
120 * NOTE: At this point the global session ($user) and permissions ($auth)
121 * do NOT exist yet. If you need to use the user object
122 * (f.e. to include language files) or need to check permissions,
123 * please use the core.user_setup event instead!
124 *
125 * @event core.common
126 * @since 3.1.0-a1
127 */
128 $phpbb_dispatcher->dispatch('core.common');
129