diff --git a/public/index.php b/public/index.php index 113ffd5..f3c0e5a 100644 --- a/public/index.php +++ b/public/index.php @@ -34,10 +34,6 @@ if (! $autoloader = require file_exists(__DIR__.'/../vendor/autoload.php') ? __D // Check required extensions $requiredExtensions = [ 'sqlite3', - 'gd', - 'imap', - 'redis', - 'mongodb' ]; if ($missing = array_filter($requiredExtensions, fn($ext) => !extension_loaded($ext))) { diff --git a/install.php b/public/install.php similarity index 85% rename from install.php rename to public/install.php index a173918..938e0b1 100644 --- a/install.php +++ b/public/install.php @@ -15,7 +15,6 @@ namespace DragonKnight; use DragonKnight\Actions\Install; -define('DRAGONKNIGHTBOT_START', microtime(true)); ini_set('display_errors', 1); error_reporting(E_ALL); @@ -24,7 +23,7 @@ ignore_user_abort(true); ini_set('max_execution_time', 0); ini_set('memory_limit', '-1'); // Unlimited memory usage -function loadEnv(string $filePath = __DIR__.'/.env'): void +function loadEnv(string $filePath = __DIR__.'/../.env'): void { if (! file_exists($filePath)) { throw new \Exception('The .env file does not exist.'); @@ -41,9 +40,9 @@ function loadEnv(string $filePath = __DIR__.'/.env'): void } }); } -loadEnv(getcwd().'/.env'); +loadEnv(getcwd().'/../.env'); -if (! $autoloader = require file_exists(__DIR__.'/vendor/autoload.php') ? __DIR__.'/vendor/autoload.php' : __DIR__.'/../../autoload.php') { +if (! $autoloader = require file_exists(__DIR__.'/../vendor/autoload.php') ? __DIR__.'/../vendor/autoload.php' : __DIR__.'/../../autoload.php') { throw new \Exception('Composer autoloader not found. Run `composer install` and try again.'); } diff --git a/src/DragonKnight/functions.php b/src/DragonKnight/functions.php index a84b0ec..881fdfa 100644 --- a/src/DragonKnight/functions.php +++ b/src/DragonKnight/functions.php @@ -132,12 +132,12 @@ function babblebox_messages(): string */ function db(): Database { - if (! is_dir($path = getcwd().'/db')) { + if (! is_dir($path = __DIR__.'/../../db')) { error_log('Database folder not found at '.$path.'. Please run the installer first.'); - throw new \RuntimeException('Database folder not found. Please run the installer first.'); + throw new \RuntimeException("Database folder not found at $path. Please run the installer first."); } - return $GLOBALS['database'] ??= new Database(getcwd().'/db/database.db'); + return $GLOBALS['database'] ??= new Database($path.'/database.db'); } /** @@ -681,7 +681,7 @@ function is_post(): bool /** * Get the current page title per updates. Optionally set a new title. */ -function page_title(?string $new_title = null): string +function page_title(?string $new_title = null): ?string { if ($new_title) { return $GLOBALS['state']['new-page-title'] = $new_title;