From b0237ddd97e8b1d41476873eefeb4a79f101866c Mon Sep 17 00:00:00 2001 From: Shish Date: Mon, 27 Jan 2020 19:05:43 +0000 Subject: [PATCH] more stuff to util.php --- core/_bootstrap.php | 30 +++--------------------------- core/util.php | 27 ++++++++++++++++++++++----- index.php | 9 +++++---- tests/bootstrap.php | 4 ++++ 4 files changed, 34 insertions(+), 36 deletions(-) diff --git a/core/_bootstrap.php b/core/_bootstrap.php index c953e07a..a561613f 100644 --- a/core/_bootstrap.php +++ b/core/_bootstrap.php @@ -4,47 +4,23 @@ * actually do anything as far as the app is concerned */ -global $cache, $config, $database, $user, $page, $_tracer, $tracer_enabled; +global $cache, $config, $database, $user, $page, $_tracer; require_once "core/sys_config.php"; require_once "core/polyfills.php"; require_once "core/util.php"; require_once "vendor/autoload.php"; -// set up and purify the environment -_version_check(); _sanitise_environment(); - -// The trace system has a certain amount of memory consumption every time it is used, -// so to prevent running out of memory during complex operations code that uses it should -// check if tracer output is enabled before making use of it. -$tracer_enabled = constant('TRACE_FILE')!==null; - -// load base files $_tracer->begin("Bootstrap"); -require_all(array_merge( - zglob("core/*.php"), - zglob("core/{".ENABLED_MODS."}/*.php"), - zglob("ext/*/info.php") -)); - +_load_core_files(); $cache = new Cache(CACHE_DSN); $database = new Database(DATABASE_DSN); $config = new DatabaseConfig($database); - ExtensionInfo::load_all_extension_info(); Extension::determine_enabled_extensions(); require_all(zglob("ext/{".Extension::get_enabled_extensions_as_string()."}/main.php")); - -// load the theme parts -require_all(_get_themelet_files(get_theme())); +_load_theme_files(); $page = new Page(); - -// hook up event handlers _load_event_listeners(); - -if (AUTO_DB_UPGRADE) { - send_event(new DatabaseUpgradeEvent()); -} -send_event(new InitExtEvent()); $_tracer->end(); diff --git a/core/util.php b/core/util.php index 824530e1..66af7561 100644 --- a/core/util.php +++ b/core/util.php @@ -477,8 +477,22 @@ function require_all(array $files): void { } } -function _version_check(): void +function _load_core_files() { + require_all(array_merge( + zglob("core/*.php"), + zglob("core/{".ENABLED_MODS."}/*.php"), + zglob("ext/*/info.php") + )); +} + +function _load_theme_files() { + require_all(_get_themelet_files(get_theme())); +} + +function _sanitise_environment(): void { + global $_tracer, $tracer_enabled; + if (MIN_PHP_VERSION) { if (version_compare(phpversion(), MIN_PHP_VERSION, ">=") === false) { print " @@ -490,11 +504,10 @@ date and you should plan on moving elsewhere. exit; } } -} -function _sanitise_environment(): void -{ - global $_tracer; + if (file_exists("images") && !file_exists("data/images")) { + die("As of Shimmie 2.7 images and thumbs should be moved to data/images and data/thumbs"); + } if (TIMEZONE) { date_default_timezone_set(TIMEZONE); @@ -506,6 +519,10 @@ function _sanitise_environment(): void error_reporting(E_ALL); } + // The trace system has a certain amount of memory consumption every time it is used, + // so to prevent running out of memory during complex operations code that uses it should + // check if tracer output is enabled before making use of it. + $tracer_enabled = constant('TRACE_FILE')!==null; $_tracer = new EventTracer(); if (COVERAGE) { diff --git a/index.php b/index.php index 42e6693f..c5155302 100644 --- a/index.php +++ b/index.php @@ -48,10 +48,6 @@ if (!file_exists("data/config/shimmie.conf.php")) { exit; } -if (file_exists("images") && !file_exists("data/images")) { - die("As of Shimmie 2.7 images and thumbs should be moved to data/images and data/thumbs"); -} - if (!file_exists("vendor/")) { //CHECK: Should we just point to install.php instead? Seems unsafe though. print <<mark(@$_SERVER["REQUEST_URI"]); $_tracer->begin($_SERVER["REQUEST_URI"] ?? "No Request"); +if (AUTO_DB_UPGRADE) { + send_event(new DatabaseUpgradeEvent()); +} +send_event(new InitExtEvent()); + try { // start the page generation waterfall $user = _get_user(); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index d412a635..401f8857 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -9,6 +9,10 @@ $_SERVER['QUERY_STRING'] = '/'; chdir(dirname(dirname(__FILE__))); require_once "core/_bootstrap.php"; +if (AUTO_DB_UPGRADE) { + send_event(new DatabaseUpgradeEvent()); +} +send_event(new InitExtEvent()); abstract class ShimmiePHPUnitTestCase extends \PHPUnit\Framework\TestCase {