begin(); \Widget\Options::alloc()->to($options); \Widget\User::alloc()->to($user); \Widget\Security::alloc()->to($security); \Widget\Menu::alloc()->to($menu); /** 初始化上下文 */ $request = $options->request; $response = $options->response; /** 检测是否是第一次登录 */ $currentMenu = $menu->getCurrentMenu(); if (!empty($currentMenu)) { $params = parse_url($currentMenu[2]); $adminFile = basename($params['path']); if (!$user->logged && !\Typecho\Cookie::get('__typecho_first_run')) { if ('welcome.php' != $adminFile) { $response->redirect(\Typecho\Common::url('welcome.php', $options->adminUrl)); } else { \Typecho\Cookie::set('__typecho_first_run', 1); } } elseif ($user->pass('administrator', true)) { /** 检测版本是否升级 */ $mustUpgrade = version_compare(\Typecho\Common::VERSION, $options->version, '>'); if ($mustUpgrade && 'upgrade.php' != $adminFile && 'backup.php' != $adminFile) { $response->redirect(\Typecho\Common::url('upgrade.php', $options->adminUrl)); } elseif (!$mustUpgrade && 'upgrade.php' == $adminFile) { $response->redirect($options->adminUrl); } elseif (!$mustUpgrade && 'welcome.php' == $adminFile && $user->logged) { $response->redirect($options->adminUrl); } } }