function login () { // Load Auth app $auth_app = Frix::app('auth'); // Already authorized? if ($auth_app->get_user()) { // Go to the admin home redir(url(self::$root)); } // Load AuthUser model $auth_app->load_model('AuthUser'); // Get model meta $meta = AuthUser::meta(); $f = new Form; $f->add_fields(array( 'username' => new CharField('Username', array('length' => 30)), 'password' => new PasswordField('Password', array('length' => 32)), )); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $f->input($_POST); $user = $meta->one(array('username' => $f->get_username())); if ($auth_app->authenticate($user, $f->get_password())) { redir($_SERVER['REQUEST_URI']); } else { self::$context['msg'] = 'Wrong username or password.'; self::$context['msg_type'] = 'err'; } } self::$context['form'] = $f; $t = new Template('frix/admin/login'); echo $t->render(self::$context); }