示例#1
0
 public function test_resolve_cached()
 {
     $cache_map = array('class_loader___phpbb__' => array('\\phpbb\\a\\cached_name' => 'a/cached_name'), 'class_loader___' => array('\\phpbb\\ext\\foo' => 'foo'));
     $cache = new phpbb_mock_cache($cache_map);
     $prefix = dirname(__FILE__) . '/';
     $class_loader = new \phpbb\class_loader('phpbb\\', $prefix . 'phpbb/', 'php', $cache);
     $class_loader_ext = new \phpbb\class_loader('\\', $prefix . 'phpbb/', 'php', $cache);
     $prefix .= 'phpbb/';
     $this->assertEquals($prefix . 'dir/class_name.php', $class_loader->resolve_path('\\phpbb\\dir\\class_name'), 'Class in a directory');
     $this->assertFalse($class_loader->resolve_path('\\phpbb\\ext\\foo'));
     $this->assertFalse($class_loader_ext->resolve_path('\\phpbb\\a\\cached_name'));
     $this->assertEquals($prefix . 'a/cached_name.php', $class_loader->resolve_path('\\phpbb\\a\\cached_name'), 'Cached class found');
     $this->assertEquals($prefix . 'foo.php', $class_loader_ext->resolve_path('\\phpbb\\ext\\foo'), 'Cached class found in alternative loader');
     $cache_map['class_loader___phpbb__']['\\phpbb\\dir\\class_name'] = 'dir/class_name';
     $cache->check($this, $cache_map);
 }
 /**
  * Gets the 'class_loader.ext' service.
  *
  * This service is shared.
  * This method always returns the same instance of the service.
  *
  * @return \phpbb\class_loader A phpbb\class_loader instance.
  */
 protected function getClassLoader_ExtService()
 {
     $this->services['class_loader.ext'] = $instance = new \phpbb\class_loader('\\', './ext/', 'php');
     $instance->register();
     $instance->set_cache($this->get('cache.driver'));
     return $instance;
 }
示例#3
0
	exit(1);
}

define('IN_PHPBB', true);
define('IN_INSTALL', true);
define('PHPBB_ENVIRONMENT', 'production');
$phpbb_root_path = __DIR__ . '/../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);

//
// Let's do the common.php logic
//
require($phpbb_root_path . 'includes/startup.' . $phpEx);
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);

$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();

// In case $phpbb_adm_relative_path is not set (in case of an update), use the default.
$phpbb_adm_relative_path = (isset($phpbb_adm_relative_path)) ? $phpbb_adm_relative_path : 'adm/';
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;

// Include files
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
include($phpbb_root_path . 'includes/functions_compatibility.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);

// Set PHP error handler to ours
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
示例#4
0
    $url .= $script_path;
    header('Location: ' . $url);
    die;
}
// In case $phpbb_adm_relative_path is not set (in case of an update), use the default.
$phpbb_adm_relative_path = isset($phpbb_adm_relative_path) ? $phpbb_adm_relative_path : 'adm/';
$phpbb_admin_path = defined('PHPBB_ADMIN_PATH') ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;
// Include files
require $phpbb_root_path . 'includes/functions.' . $phpEx;
require 'D:\\Dev\\UniServerZ\\www\\qwp\\wp-content\\plugins\\wp-phpbb-unicorn\\inc/cache/functions_content.' . $phpEx;
include $phpbb_root_path . 'includes/functions_compatibility.' . $phpEx;
require $phpbb_root_path . 'includes/constants.' . $phpEx;
require $phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx;
// Set PHP error handler to ours
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
phpbb_load_extensions_autoloaders($phpbb_root_path);
// Set up container
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
require $phpbb_root_path . 'includes/compatibility_globals.' . $phpEx;
// Add own hook handler
require $phpbb_root_path . 'includes/hooks/index.' . $phpEx;
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
$phpbb_hook_finder = $phpbb_container->get('hook_finder');
foreach ($phpbb_hook_finder->find() as $hook) {
    @(include $phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);
}
require $phpbb_root_path . 'phpbb/class_loader.' . $phpEx;
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
extract($phpbb_config_php_file->get_all());
require $phpbb_root_path . 'includes/constants.' . $phpEx;
require $phpbb_root_path . 'includes/functions.' . $phpEx;
require $phpbb_root_path . 'includes/functions_admin.' . $phpEx;
require $phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx;
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container_builder->set_dump_container(false);
$input = new ArgvInput();
if ($input->hasParameterOption(array('--safe-mode'))) {
    $phpbb_container_builder->set_use_extensions(false);
    $phpbb_container_builder->set_dump_container(false);
} else {
    $phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
    $phpbb_class_loader_ext->register();
    phpbb_load_extensions_autoloaders($phpbb_root_path);
}
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_container->get('request')->enable_super_globals();
require $phpbb_root_path . 'includes/compatibility_globals.' . $phpEx;
$user = $phpbb_container->get('user');
$user->data['user_id'] = ANONYMOUS;
$user->ip = '127.0.0.1';
$user->add_lang('acp/common');
$user->add_lang('cli');
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $user);
$application->register_container_commands($phpbb_container->get('console.command_collection'));
$application->run($input);