public function run(array &$data)
 {
     $data['template'] = $this->getTemplate();
     if (!isset($_GET['user_id']) || !isset($_GET['verificationCode'])) {
         $data['errors'] = array('message' => 'Missing parameters');
         return;
     }
     try {
         UserActions::verifyAccount(intval($_GET['user_id']), $_GET['verificationCode']);
         $data['success'] = true;
         return;
     } catch (ControllerException $ex) {
         $data['errors'] = array('message' => $ex->getMessage());
     } catch (\Exception $ex) {
         $data['errors'] = array('message' => 'Unexpected error. Please contact an admin.');
     }
 }
 private function register(array &$data)
 {
     // Grab the user-entered log-in data
     $user_firstname = trim($_POST['firstname']);
     $user_lastname = trim($_POST['lastname']);
     $user_email = trim($_POST['email']);
     $user_login = trim($_POST['login']);
     $user_password1 = trim($_POST['password1']);
     $user_password2 = trim($_POST['password2']);
     try {
         UserActions::register($user_firstname, $user_lastname, $user_email, $user_login, $user_password1, $user_password2);
         $data['created'] = true;
         return;
     } catch (ControllerException $ex) {
         $data['errors'] = array('message' => $ex->getMessage());
     } catch (UserCreationException $ex) {
         $data['errors'] = array('message' => $ex->getMessage());
     } catch (\Exception $ex) {
         $data['errors'] = array('message' => 'Unexpected error. Please contact an admin.');
     }
     $user = array();
     if (isset($user_firstname)) {
         $user_firstname = preg_replace('%(")*(.[^"]{1,40})%', '$2', $user_firstname);
         $user['firstname'] = $user_firstname;
     }
     if (isset($user_lastname)) {
         $user_lastname = preg_replace('%(")*(.[^"]{1,40})%', '$2', $user_lastname);
         $user['lastname'] = $user_lastname;
     }
     if (isset($user_email)) {
         $user_email = preg_replace('%(")*(.[^"]{1,40})%', '$2', $user_email);
         $user['email'] = $user_email;
     }
     if (isset($user_login)) {
         $user_login = preg_replace('%(")*(.[^"]{1,40})%', '$2', $user_login);
         $user['login'] = $user_login;
     }
     $data['newuser'] = $user;
 }
Example #3
0
<?php

namespace AttOn;

use Logger;
use Slim\Slim;
/* @var $app Slim */
/* @var $debug bool */
global $app, $debug;
$app->post('/login/', function () use($app, $debug) {
    // logout user if logged in
    Controller\User\UserActions::logout();
    try {
        $username = isset($_POST['username']) ? $_POST['username'] : '';
        $password = isset($_POST['password']) ? $_POST['password'] : '';
        $remember = isset($_POST['remember']) ? true : false;
        Controller\User\UserActions::login($username, $password, $remember);
        // successfully logged in, redirect to main route
        $app->redirect(ABS_REF_PREFIX);
    } catch (Exceptions\LoginException $ex) {
        $user = Model\User\ModelUser::getCurrentUser();
        $data = array();
        $data['user'] = $user->getViewData();
        $data['errors'] = array('login' => $ex->getMessage());
        if (isset($_POST['username']) && !empty($_POST['username'])) {
            $data['user']['username'] = $_POST['username'];
        }
        $data['template'] = 'login';
        $app->render('main.twig', $data);
    }
});
Example #4
0
/* @var $debug bool */
/* @var $logger Logger */
global $app, $debug, $logger;
$app->get('/', function () use($app, $debug) {
    $data = array();
    HeaderViewHelper::parseCurrentUser($data);
    $data['template'] = 'home';
    $app->render('main.twig', $data);
});
$app->get('/login/', function () use($app, $debug) {
    UserActions::logout();
    $data['template'] = 'login';
    $app->render('main.twig', $data);
});
$app->get('/logout/', function () use($app, $debug) {
    UserActions::logout();
    $app->redirect(ABS_REF_PREFIX);
});
$app->get('/map/', function () use($app, $debug) {
    $data = array();
    HeaderViewHelper::parseCurrentUser($data);
    if (ModelGame::getCurrentGame() === null) {
        $data['errors'] = array('message' => 'select a game first');
        $app->render('error.twig', $data);
        return;
    }
    try {
        $map = new Map();
        $map->run($data);
    } catch (MapException $ex) {
        $data['errors'] = array('message' => $ex->getMessage());