summaryrefslogtreecommitdiff
path: root/plugins/phpbb4/phpbb4_bootstrap.php
diff options
context:
space:
mode:
authorChristoph Burschka2012-10-30 15:40:38 +0100
committerChristoph Burschka2012-10-30 15:40:38 +0100
commitb04c17301ec17397f858fb8cca7cb0043c16d4d5 (patch)
tree720e0d076e035f00e300e426b9323f05b77f9e36 /plugins/phpbb4/phpbb4_bootstrap.php
parentRefactor to a general, flexible and extensible architecture. (diff)
downloadejabberd-auth-php-b04c17301ec17397f858fb8cca7cb0043c16d4d5.tar.gz
Add phpbb4 plugin (for trunk of phpBB)
Diffstat (limited to 'plugins/phpbb4/phpbb4_bootstrap.php')
-rw-r--r--plugins/phpbb4/phpbb4_bootstrap.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/plugins/phpbb4/phpbb4_bootstrap.php b/plugins/phpbb4/phpbb4_bootstrap.php
new file mode 100644
index 0000000..3f7dee5
--- /dev/null
+++ b/plugins/phpbb4/phpbb4_bootstrap.php
@@ -0,0 +1,51 @@
+<?php
+define('IN_PHPBB', TRUE);
+$phpEx = 'php';
+
+use Symfony\Component\Config\FileLocator;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
+
+require($phpbb_root_path . 'includes/startup.' . $phpEx);
+require_once __DIR__ . '/noweb_user.php';
+
+if (file_exists($phpbb_root_path . 'config.' . $phpEx))
+{
+ require($phpbb_root_path . 'config.' . $phpEx);
+}
+
+// Include files
+require($phpbb_root_path . 'includes/class_loader.' . $phpEx);
+require($phpbb_root_path . 'includes/di/processor/interface.' . $phpEx);
+require($phpbb_root_path . 'includes/di/processor/config.' . $phpEx);
+
+require($phpbb_root_path . 'includes/functions.' . $phpEx);
+require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
+
+require($phpbb_root_path . 'includes/constants.' . $phpEx);
+require($phpbb_root_path . 'includes/db/' . ltrim($dbms, 'dbal_') . '.' . $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_container = new ContainerBuilder();
+$loader = new YamlFileLoader($phpbb_container, new FileLocator($phpbb_root_path.'/config'));
+$loader->load('services.yml');
+
+$processor = new phpbb_di_processor_config($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx);
+$processor->process($phpbb_container);
+
+// Setup class loader first
+$phpbb_class_loader = $phpbb_container->get('class_loader');
+$phpbb_class_loader_ext = $phpbb_container->get('class_loader.ext');
+
+// Instantiate some basic classes
+$user = new noweb_user;
+$auth = $phpbb_container->get('auth');
+$db = $phpbb_container->get('dbal.conn');
+
+// Grab global variables, re-cache if necessary
+$config = $phpbb_container->get('config');
+set_config(null, null, null, $config);
+set_config_count(null, null, null, $config);