Exemplo n.º 1
0
 public static function forceLogin($user = null, $remember = false)
 {
     if ($user->exists()) {
         DB::instance()->delete("user_sessions", array("", "hash", "=", Cookie::get(Config::get('remember/cookie_name'))));
         Session::put(Config::get('session/loggedId'), $user->id());
         if ($remember) {
             $hash = Hash::hashUnique();
             DB::instance()->insert("user_sessions", array('user_id' => $user->id(), 'hash' => $hash, 'expiry' => DateFormat::sql(time() + Config::get('remember/cookie_expiry'))));
             Cookie::put(Config::get('remember/cookie_name'), $hash, Config::get('remember/cookie_expiry'));
         }
         self::$_currentUser = new User();
     }
 }
Exemplo n.º 2
0
function createPage($smarty)
{
    if (Users::loggedIn()) {
        Redirect::to('?page=profile');
    }
    if (Input::exists()) {
        if (Input::get('action') === 'register') {
            $validation = new Validate();
            $validation->check($_POST, array_merge(Config::get('validation/register_info'), Config::get('validation/set_password')));
            if ($validation->passed()) {
                try {
                    Users::create(array('student_id' => Input::get('sid'), 'password' => Hash::hashPassword(Input::get('password')), 'permission_group' => 1, 'name' => Input::get('name'), 'email' => Input::get('email'), 'umail' => Input::get('sid') . '@umail.leidenuniv.nl', 'phone' => Phone::formatNumber(Input::get('phone')), 'joined' => DateFormat::sql()));
                    Users::login(Input::get('sid'), Input::get('password'));
                    Notifications::addSuccess('You have been succesfully registered!');
                    Redirect::to('?page=profile');
                } catch (Exception $e) {
                    Notifications::addError($e->getMessage());
                }
            } else {
                Notifications::addValidationFail($validation->getErrors());
            }
        }
        if (Input::get('action') === 'login') {
            $validation = new Validate();
            $validation->check($_POST, Config::get('validation/login'));
            if ($validation->passed()) {
                $login = Users::login(Input::get('sid'), Input::get('password'), Input::getAsBool('remember'));
                if ($login) {
                    Notifications::addSuccess('You have been logged in!');
                    Redirect::to('?page=profile');
                } else {
                    Notifications::addValidationFail('Invalid student number or password.');
                }
            } else {
                Notifications::addValidationFail($validation->getErrors());
            }
        }
    }
    $smarty->assign('remember', Input::getAsBool('remember'));
    $smarty->assign('name', Input::get('name'));
    $smarty->assign('sid', Input::get('sid'));
    $smarty->assign('email', Input::get('email'));
    $smarty->assign('phone', Input::get('phone'));
    return $smarty;
}
Exemplo n.º 3
0
 public static function events($history, $subject = null)
 {
     $searchString1 = "";
     $searchString2 = "";
     $searchParams = array();
     if (isset($subject)) {
         $searchString1 = "WHERE S.abbreviation = ?";
         $searchString2 = "WHERE S.abbreviation = ?";
         $searchParams[] = $subject;
     } else {
         $searchString1 = "WHERE S.active";
         $searchString2 = "WHERE S.active";
     }
     if (!$history) {
         $searchString1 .= " AND (concat(A.end_date, ' ', A.end_time) > ? OR A.completion = 0)";
         $searchString2 .= " AND concat(E.date, ' 24:00:00') >= ?";
         $searchParams[] = DateFormat::sql();
     }
     $searchParams = array_merge($searchParams, $searchParams);
     $data = DB::instance()->query("\r\n            SELECT A.id, concat(A.end_date, ' ', A.end_time) as 'date', A.desc_short as 'task', A.completion as 'completion', 'assignment' as 'type', S.name as 'subject_name', S.abbreviation as 'subject'\r\n                FROM `" . Users::showSid() . "_assignments` A\r\n                INNER JOIN `subjects` S\r\n                ON A.subject = S.abbreviation\r\n                {$searchString1}\r\n            UNION\r\n            SELECT E.id, E.date, concat(E.weight, ' ', S.name) as 'task', E.mark as 'completion', 'exam' as 'type', S.name as 'subject_name', S.abbreviation as 'subject'\r\n                FROM `" . Users::showSid() . "_exams` E\r\n                INNER JOIN `subjects` S\r\n                ON E.subject = S.abbreviation\r\n                {$searchString2}\r\n            ORDER BY date ASC\r\n        ", $searchParams);
     $results = $data->results();
     foreach ($results as $entry) {
         self::parseEvent($entry);
     }
     return $results;
 }
Exemplo n.º 4
0
 private static function getFormattedInput($fields)
 {
     $data = array();
     foreach ($fields as $field => $type) {
         if (Input::has($field)) {
             if ($type === 'datetime') {
                 $data[$field] = DateFormat::sql(Input::get($field));
             } elseif ($type === 'date') {
                 $data[$field] = DateFormat::sqlDate(Input::get($field));
             } elseif ($type === 'time') {
                 $data[$field] = DateFormat::sqlTime(Input::get($field));
             } else {
                 $data[$field] = Input::get($field);
             }
         }
     }
     return $data;
 }