Пример #1
0
<?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
Пример #2
0
<?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));
Пример #3
0
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
Пример #4
0
<?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;