public function testQueue() { $app = new App(); $app->registerInstance($app); $app->register(Config::class); $app->register(Cache::class); $app->register(AwesomeRenderer::class); $renderer = $app->get(Renderer::class); $this->assertInstanceOf(AwesomeRenderer::class, $renderer); $this->assertEquals(AwesomeRenderer::class, $renderer->render()); $this->assertInstanceOf(Config::class, $renderer->getConfig()); $this->assertInstanceOf(App::class, $renderer->getApp()); $cache = $app->get(Cache::class); $this->assertInstanceOf(Cache::class, $cache); $this->assertInstanceOf(Config::class, $cache->getConfig()); }
(new Mobicms\Firewall\Firewall())->run($request->getClientIp()); // Register Response instance $response = new Response('Content', Response::HTTP_OK, ['content-type' => 'text/html']); App::registerInstance($response, 'response'); // Database initialization $db = new \Mobicms\Database\PDOmysql(Config\Database::$dbHost, Config\Database::$dbName, Config\Database::$dbUser, Config\Database::$dbPass); App::registerInstance($db, 'db'); // Starting the Session and register instance $session = new Session(new NativeSessionStorage(new PdoSessionHandler($db, $request))); $session->start(); App::registerInstance($session, 'session'); // User initialization App::registerInstance(new \Mobicms\Checkpoint\Facade($db, $request, $response, $session), 'user'); // i18n initialization $i18n = new Mobicms\i18n\Translate(); App::registerInstance($i18n, 'lng'); /** * Translate a message * * @param string $message * @param string $domain * @return string */ function _s($message, $domain = 'default') { global $i18n; return $i18n->translateSystem($message, $domain); } /** * The plural version of _s() *
* @version v.1.0.0 2015-02-01 */ defined('MOBICMS') or die('Error: restricted access'); $public_actions = ['reputation' => 'reputation.php']; $personal_actions = ['option' => 'option.php', 'option/avatar' => 'option_avatar.php', 'option/avatar/animation' => 'option_avatar_animation.php', 'option/avatar/delete' => 'option_avatar_delete.php', 'option/avatar/gravatar' => 'option_avatar_gravatar.php', 'option/avatar/image' => 'option_avatar_image.php', 'option/edit' => 'option_edit.php', 'option/email' => 'option_email.php', 'option/language' => 'option_language.php', 'option/nickname' => 'option_nickname.php', 'option/password' => 'option_password.php', 'option/rank' => 'option_rank.php', 'option/settings' => 'option_settings.php', 'option/theme' => 'option_theme.php']; App::lng()->setModule('profile'); $query = App::router()->getQuery(); $user = App::user()->get(); $include = __DIR__ . '/includes/'; if (isset($query[0])) { try { if (!ctype_digit($query[0]) || $query[0] < 1) { throw new Exception('Invalid data'); } $profile = App::user()->findById($query[0]); App::registerInstance($profile, 'profile'); if (isset($query[1])) { $act = implode('/', array_slice($query, 1)); if (($user->rights == 9 || $user->rights == 7 && $user->rights > $profile->rights || App::user()->isValid() && $user->id == $profile->id) && isset($personal_actions[$act])) { $include .= $personal_actions[$act]; } elseif (isset($public_actions[$act])) { $include .= $public_actions[$act]; } else { $include = false; } } else { $include .= 'profile.php'; } } catch (Exception $e) { //TODO: Сделать пересылку на ошибку несуществующего юзера echo _s('User does not exists');
} // Register Loader instance App::registerInstance($autoload, 'autoload'); // Register Request instance $request = new Request($_GET, $_POST, [], $_COOKIE, $_FILES, $_SERVER); App::registerInstance($request, 'request'); // Starting the Firewall (new Mobicms\Firewall\Firewall())->run($request->getClientIp()); // Register Response instance $response = new Response('Content', Response::HTTP_OK, ['content-type' => 'text/html']); App::registerInstance($response, 'response'); // Database initialization $db = new \Mobicms\Database\PDOmysql(Config\Database::$dbHost, Config\Database::$dbName, Config\Database::$dbUser, Config\Database::$dbPass); App::registerInstance($db, 'db'); // Starting the Session and register instance $session = new Session(new NativeSessionStorage(new PdoSessionHandler($db, $request))); $session->start(); App::registerInstance($session, 'session'); // User initialization App::registerInstance(new \Mobicms\Checkpoint\Facade($db, $request, $response, $session), 'user'); // i18n functions require __DIR__ . DS . 'Mobicms/i18n/functions.php'; // Output buffering ob_start(); // Shutdown handlers register_shutdown_function(function () { App::response()->setContent(App::view()->render()); App::response()->prepare(App::request())->send(); session_register_shutdown(); // This important! });