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(); } }
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; }
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; }
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; }