/** * @param array[string] $parts * @param array[string] $mod * @return string */ public static function main($parts, $mod) { if (Session::get('user_id') === null) { Session::setOnce('warning', "You aren't logged in"); NekoPHP::redirect(NekoPHP::getModuleUrl() . '/login'); } Session::set('user_id', null); Session::setOnce('success', 'You have been logged out'); NekoPHP::redirect(NekoPHP::getBaseUrl()); }
/** * @param array[string] $parts * @param array[string] $mod * @return string */ public static function main($parts, $mod) { $user = Models\User::getByEmail($_POST['email']); if ($user === null || !$user->checkPassword($_POST['password'])) { return $mod['twig']->render('login.twig', ['error' => 'Username or password incorrect', 'form_url' => \NekoPHP\NekoPHP::getModuleUrl() . '/login']); } Session::set('user_id', $user->getId()); Session::setOnce('success', "You have been logged in as {$user->getEmail()}"); if (Session::existsOnce('login-redirect-to')) { return NekoPHP::redirect(Session::getOnce('login-redirect-to')); } return NekoPHP::redirect(NekoPHP::getModuleUrl() . '/profile'); }