Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

common.php

Zuletzt modifiziert: 09.10.2024, 12:50 - Dateigröße: 5.19 KiB


 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.9
 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_ENVIRONMENT'))
 033  {
 034      @define('PHPBB_ENVIRONMENT', 'production');
 035  }
 036   
 037  if (!defined('PHPBB_INSTALLED'))
 038  {
 039      // Redirect the user to the installer
 040      require($phpbb_root_path . 'includes/functions.' . $phpEx);
 041   
 042      // We have to generate a full HTTP/1.1 header here since we can't guarantee to have any of the information
 043      // available as used by the redirect function
 044      $server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
 045      $server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');
 046      $secure = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 1 : 0;
 047   
 048      if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https')
 049      {
 050          $secure = 1;
 051          $server_port = 443;
 052      }
 053   
 054      $script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
 055      if (!$script_name)
 056      {
 057          $script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
 058      }
 059   
 060      // $phpbb_root_path accounts for redirects from e.g. /adm
 061      $script_path = trim(dirname($script_name)) . '/' . $phpbb_root_path . 'install/app.' . $phpEx;
 062      // Replace any number of consecutive backslashes and/or slashes with a single slash
 063      // (could happen on some proxy setups and/or Windows servers)
 064      $script_path = preg_replace('#[\\\\/]{2,}#', '/', $script_path);
 065   
 066      // Eliminate . and .. from the path
 067      require($phpbb_root_path . 'phpbb/filesystem.' . $phpEx);
 068      $phpbb_filesystem = new phpbb\filesystem\filesystem();
 069      $script_path = $phpbb_filesystem->clean_path($script_path);
 070   
 071      $url = (($secure) ? 'https://' : 'http://') . $server_name;
 072   
 073      if ($server_port && (($secure && $server_port <> 443) || (!$secure && $server_port <> 80)))
 074      {
 075          // HTTP HOST can carry a port number...
 076          if (strpos($server_name, ':') === false)
 077          {
 078              $url .= ':' . $server_port;
 079          }
 080      }
 081   
 082      $url .= $script_path;
 083      header('Location: ' . $url);
 084      exit;
 085  }
 086   
 087  // In case $phpbb_adm_relative_path is not set (in case of an update), use the default.
 088  $phpbb_adm_relative_path = (isset($phpbb_adm_relative_path)) ? $phpbb_adm_relative_path : 'adm/';
 089  $phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;
 090   
 091  // Include files
 092  require($phpbb_root_path . 'includes/functions.' . $phpEx);
 093  require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
 094  include($phpbb_root_path . 'includes/functions_compatibility.' . $phpEx);
 095   
 096  require($phpbb_root_path . 'includes/constants.' . $phpEx);
 097  require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
 098   
 099  if (PHPBB_ENVIRONMENT === 'development')
 100  {
 101      \phpbb\debug\debug::enable();
 102  }
 103  else
 104  {
 105      set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
 106  }
 107   
 108  $phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
 109  $phpbb_class_loader_ext->register();
 110   
 111  // Set up container
 112  try
 113  {
 114      $phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
 115      $phpbb_container = $phpbb_container_builder->with_config($phpbb_config_php_file)->get_container();
 116  }
 117  catch (InvalidArgumentException $e)
 118  {
 119      if (PHPBB_ENVIRONMENT !== 'development')
 120      {
 121          trigger_error(
 122              'The requested environment ' . PHPBB_ENVIRONMENT . ' is not available.',
 123              E_USER_ERROR
 124          );
 125      }
 126      else
 127      {
 128          throw $e;
 129      }
 130  }
 131   
 132  $phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
 133  $phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
 134   
 135  require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
 136   
 137  register_compatibility_globals();
 138   
 139  // Add own hook handler
 140  require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
 141  $phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
 142   
 143  /* @var $phpbb_hook_finder \phpbb\hook\finder */
 144  $phpbb_hook_finder = $phpbb_container->get('hook_finder');
 145   
 146  foreach ($phpbb_hook_finder->find() as $hook)
 147  {
 148      @include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);
 149  }
 150   
 151  /**
 152  * Main event which is triggered on every page
 153  *
 154  * You can use this event to load function files and initiate objects
 155  *
 156  * NOTE:    At this point the global session ($user) and permissions ($auth)
 157  *        do NOT exist yet. If you need to use the user object
 158  *        (f.e. to include language files) or need to check permissions,
 159  *        please use the core.user_setup event instead!
 160  *
 161  * @event core.common
 162  * @since 3.1.0-a1
 163  */
 164  $phpbb_dispatcher->dispatch('core.common');
 165