Hajeebtok.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app;
  3. use app\Controllers\AccountController;
  4. use app\Types\DatabaseObjects\Message;
  5. use app\Types\DatabaseObjects\Comment;
  6. use app\Types\WebhookMessage;
  7. use Exception;
  8. use Pecee\Http\Request;
  9. use Pecee\SimpleRouter\SimpleRouter;
  10. use Pecee\Http\Middleware\BaseCsrfVerifier;
  11. use app\Controllers\VideoController;
  12. use app\Controllers\HomeController;
  13. use app\Interfaces\IDatabase;
  14. use app\Types\MariaDBDatabase;
  15. use app\Types\DatabaseObjects\Video;
  16. use app\Types\DatabaseObjects\Account;
  17. use app\Controllers\ErrorController;
  18. class Hajeebtok {
  19. public static IDatabase $Database;
  20. public static Config $Config;
  21. public static function InitializeApp() {
  22. Logger::SetMinLevel(LogLevel::DBUG);
  23. Logger::SetMaxLogSizeKB(1000);
  24. self::$Config = new Config();
  25. date_default_timezone_set(self::$Config->GetByDotKey("Instance.Timezone"));
  26. self::$Database = new MariaDBDatabase([
  27. "Host" => self::$Config->GetByDotKey("Database.Host"),
  28. "Port" => self::$Config->GetByDotKey("Database.Port"),
  29. "Username" => self::$Config->GetByDotKey("Database.Username"),
  30. "Password" => self::$Config->GetByDotKey("Database.Password"),
  31. "Database" => self::$Config->GetByDotKey("Database.Database"),
  32. "Charset" => self::$Config->GetByDotKey("Database.Charset"),
  33. ]);
  34. //SimpleRouter::csrfVerifier(new BaseCsrfVerifier());
  35. SimpleRouter::setDefaultNamespace('app\Controllers');
  36. VideoController::RegisterRoutes();
  37. HomeController::RegisterRoutes();
  38. AccountController::RegisterRoutes();
  39. //Logger::Info("Hajeebtok application initialized.");
  40. SimpleRouter::error(function (Request $request, Exception $error) {
  41. Logger::Error("Route fault: $error");
  42. $request->setRewriteCallback(function () use ($error) {
  43. return ErrorController::ApiError($error->getCode());
  44. });
  45. });
  46. SimpleRouter::start();
  47. }
  48. }