/** * processAction * * Member registration process * * @return null */ public function processAction() { // set json context \View::setOutputContext('json'); \View::lockOutputContext(); // validate form $registerForm = \App::getInstance('\\modules\\user\\RegisterForm'); $registerForm->validate(); // invalid form data if (!$registerForm->isValid()) { throw new \MemberErrorException(array('title' => \View::$language->register_error, 'description' => \View::$language->register_proc_err_descr, 'form_messages' => $registerForm->getMessages())); } // create a new user $userData = $registerForm->getData(); // set new user defaults $userData->group_id = 0; // TODO get default user group ID $userData->password = $userData->password; // TODO need hash password algorythm $userData->time_zone = '+00:00'; // TODO get default user time zone $userData->status = 0; // TODO get default new registered user status $userData->activation_hash = 'xxx'; // TODO need algorythm for generation of activation hash $userData->avatar = 'no-avatar.png'; // TODO get default user avatar $UserModel = \App::getInstance('common\\UserModel'); $UserModel->createUser($userData); // TODO send email notification of account activation \App::dump($userData); // redirect to complete page \Storage::write('__register_complete', true); throw new \MemberSuccessException(array('redirection' => '/user/register/complete')); }
/** * processAction * * Member registration process * * @return null */ public function processAction() { // set json context \View::setOutputContext('json'); \View::lockOutputContext(); // validate form $registerForm = new forms\RegisterForm(); $registerForm->validate(); if (!$registerForm->isValid()) { throw new \MemberErrorException(array('title' => \View::$language->register_error, 'description' => \View::$language->register_proc_err_descr, 'form_messages' => $registerForm->getMessages())); } $userData = $registerForm->getData(); // set new user defaults $hCnf = \App::getConfig('hosts'); $mCnf = \App::getConfig('member-defaults'); $pass = \common\CryptHelper::generateHash($userData->password); $userData->group_id = $mCnf->group_id; $userData->cookie = \common\HashHelper::getUniqueKey(); $userData->password = $pass; $userData->time_zone = $mCnf->time_zone; $userData->status = $mCnf->status; $userData->activation_hash = \common\HashHelper::getUniqueKey(); $userData->avatar = '//' . $hCnf->st . $mCnf->avatar; // create a new user $UserModel = \App::getInstance('common\\UserModel'); $UserModel->createUser($userData); // TODO send email notification of account activation \App::dump($userData); // redirect to complete page \Storage::write('__register_complete', true); throw new \MemberSuccessException(array('redirection' => '/user/register/complete')); }
/** * processAction * * User sign in process * * @return null */ public function processAction() { \View::setOutputContext('json'); \View::lockOutputContext(); // validate form $signInForm = new forms\SignInForm(); $signInForm->validate(); if (!$signInForm->isValid()) { throw new \MemberErrorException(array('title' => \View::$language->sign_in_form_error, 'description' => \View::$language->sign_in_form_error_description, 'form_messages' => $signInForm->getMessages())); } // sign in helpers\SignInHelper::trySignIn($signInForm->getData()); }
/** * init * * Build CLI mode environment * * @param array $argv Command line arguments * @return null */ public static function init($argv) { View::setOutputContext('txt'); View::lockOutputContext(); $key = 'REQUEST_URI'; foreach ($argv as $k => $arg) { if ($arg == '-r' || $arg == '--request') { $next = $k + 1; if (array_key_exists($next, $argv)) { $_SERVER[$key] = $argv[$next]; } } } if (!array_key_exists($key, $_SERVER) || !$_SERVER[$key]) { throw new MemberErrorException(array('title' => 'CLI mode error', 'description' => '--request argument not found or invalid')); } }
/** * tryAction * * Try sign in user * * @return null */ public function tryAction() { \View::setOutputContext('json'); \View::lockOutputContext(); if (!\Request::isPost()) { throw new \MemberErrorException(array('title' => 'Ошибка', 'description' => 'Некорректный запрос')); } $signInValidator = new \modules\user\SignInValidator(); $signInValidator->validate(); /*$signInValidator = \App::getInstance('\\common\\Validator'); $signInValidator->validatePostParams(array( 'login' => function($value) { } ));*/ /*$x = array('a' => function() { return 'x'; }); \View::assign('x', $x['a']()); $login = \Request::getPostParam('login'); $pass = \Request::getPostParam('password'); $protection = \Request::getPostParam('protection_image');*/ }