12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace app;
- use app\Controllers\AccountController;
- use app\Types\DatabaseObjects\Message;
- use app\Types\DatabaseObjects\Comment;
- use app\Types\WebhookMessage;
- use Exception;
- use Pecee\Http\Request;
- use Pecee\SimpleRouter\SimpleRouter;
- use Pecee\Http\Middleware\BaseCsrfVerifier;
- use app\Controllers\VideoController;
- use app\Controllers\HomeController;
- use app\Interfaces\IDatabase;
- use app\Types\MariaDBDatabase;
- use app\Types\DatabaseObjects\Video;
- use app\Types\DatabaseObjects\Account;
- use app\Controllers\ErrorController;
- class Hajeebtok {
- public static IDatabase $Database;
- public static Config $Config;
- public static function InitializeApp() {
- Logger::SetMinLevel(LogLevel::DBUG);
- Logger::SetMaxLogSizeKB(5000);
- self::$Config = new Config();
- self::$Database = new MariaDBDatabase([
- "Host" => self::$Config->GetByDotKey("Database.Host"),
- "Port" => self::$Config->GetByDotKey("Database.Port"),
- "Username" => self::$Config->GetByDotKey("Database.Username"),
- "Password" => self::$Config->GetByDotKey("Database.Password"),
- "Database" => self::$Config->GetByDotKey("Database.Database"),
- "Charset" => self::$Config->GetByDotKey("Database.Charset"),
- ]);
- //SimpleRouter::csrfVerifier(new BaseCsrfVerifier());
- SimpleRouter::setDefaultNamespace('app\Controllers');
-
- VideoController::RegisterRoutes();
- HomeController::RegisterRoutes();
- AccountController::RegisterRoutes();
-
- Logger::Info("Hajeebtok application initialized.");
- SimpleRouter::error(function (Request $request, Exception $error) {
- Logger::Error("Route fault: $error");
- $request->setRewriteCallback(function () use ($error) {
- return ErrorController::ApiError($error->getCode());
- });
- });
- SimpleRouter::start();
- }
- }
|