/**
  * @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');
 }