<?php return function ($site, $pages, $page) { //set variables $troubleshootLink = null; $typeOfTroubleshoot = null; $invalid = null; //if $_POST data is present if (count($_POST) > 0) { //store specific sanitized $_POST variables into $data variable $data = r::postData(array('email', 'password')); //define validation rules for $data $rules = array('email' => array('required', 'email'), 'password' => array('required', 'match' => c::get('password.length.regex'))); //define validation messages for $data $messages = array('email' => l('field.email.validation.message'), 'password' => l('field.password.validaton.message')); //if validation is passed if (!($invalid = invalid(array_filter($data), $rules, $messages))) { //compute user's username (based upon user's email) $computedUsername = Auth::computeUsername($data['email']); //get user $user = Auth::loadUser($computedUsername); //if user exists if ($user) { //get user's activation hash //(if user's activation hash is empty -> user is activated, otherwise not) //please note: in case the activation procedure is disabled //this test evaluates always to true, as if the user was activated $isActivated = $user->activation(); //if user has been activated if (empty($isActivated)) { //set login redirect page to tests page
<?php return function ($site, $pages, $page) { //set variables $url = null; $data = null; $status = null; //if page is accessed thorugh ajax if (r::ajax()) { //store sanitized $_POST variables $currentTestData = r::postData(array('test', 'user', 'data')); //get logged user (if any) if ($user = Auth::loggedUser()) { //get user's session page $userSession = site()->find(implode(DS, array(c::get('sessions.folder'), $user->session()))); //istantiate testSession object $tSession = new testSession($userSession, $user->username()); //get user's current session status $userSessionStatus = $user->status(); //if ajaxed $currentTestData equals user's current session status if (str::lower($currentTestData['test']) == str::lower($userSessionStatus)) { //if it was possitble to update user's results file (by appending $currentTestData) if (f::append($tSession->getUserResultsFile(), PHP_EOL . a::json($currentTestData))) { //set updated user's session status to next avalibale test $updatedStatus = $tSession->getNextTest($currentTestData['test']); //if there aren't tests available, set user's session statuts to completed session if (!$updatedStatus) { $updatedStatus = c::get('session.status.completed'); } //update user's session status to next avalibale test $user->update(array('status' => $updatedStatus));
return function ($site, $pages, $page) { //set variables $data = null; $userTestSession = null; $invalid = null; $success = null; //get current logged user $user = Auth::loggedUser(); //if a user is currently logged if ($user) { //get user's subscribed session $userTestSession = $pages->find(implode(DS, array(c::get('sessions.folder'), $user->session()))); //if $_POST data is present if (count($_POST) > 0) { //store specific sanitized $_POST variables into editData session variable s::set('editData', r::postData(array('password', 'password2'))); //redirect to same page (POST/GET/REDIRECT PATTERN-like) header('HTTP/1.1 303 See Other'); header('Location: ' . $page->url()); } elseif (s::get('editData')) { //store editData session variable into $data $data = s::get('editData'); //unset editData session variable s::remove('editData'); //define validation rules for $data $rules = array('password' => array('required', 'match' => c::get('password.length.regex')), 'password2' => array('required', 'same' => $data['password'])); //define validation messages for $data $messages = array('password' => l('field.password.validaton.message'), 'password2' => l('field.password2.validaton.message')); //edit user only if validation is passed if (!($invalid = invalid(array_filter($data), $rules, $messages))) { //store user's old password
<?php return function ($site, $pages, $page) { //set variables $user = null; $data = null; $invalid = null; $success = null; //if $_POST data is present if (count($_POST) > 0) { //store specific sanitized $_POST variables into registerData session variable s::set('registerData', r::postData(array('email', 'password', 'password2', 'session'))); //redirect to same page (POST/GET/REDIRECT PATTERN-like) header('HTTP/1.1 303 See Other'); header('Location: ' . $page->url()); } elseif (s::get('registerData')) { //store registerData session variable into $data varaiable $data = s::get('registerData'); //unset $registerData session variable s::remove('registerData'); //define validation rules for $data $rules = array('email' => array('required', 'email'), 'password' => array('required', 'match' => c::get('password.length.regex')), 'password2' => array('required', 'same' => $data['password']), 'session' => array('required')); //define validation messages for $data $messages = array('email' => l('field.email.validation.message'), 'password' => l('field.password.validaton.message'), 'password2' => l('field.password2.validaton.message'), 'session' => l('field.session.validaton.message')); //if validation is passed if (!($invalid = invalid(array_filter($data), $rules, $messages))) { //compute user's username (based upon user's email) $computedUsername = Auth::computeUsername($data['email']); //**** USER DATA**************************************************************************** //user's computed name $paramUsername = $computedUsername;