public function registrationAction(Request $request) { if (Session::has('user')) { header('Location: /'); } $form = new RegisterForm($request); if ($request->isPost()) { if ($form->isValid()) { if ($form->validPassword()) { if ($form->passwordCheck()) { $password = new Password($form->password); $model = new securityModel(); $params = array('nickname' => $form->nickname, 'first_name' => $form->first_name, 'last_name' => $form->last_name, 'email' => $form->email, 'password' => $password); $status = $model->addUser($params); if ($status == 'Success') { Session::setFlash('Well done! Now you can Login'); return $this->render('login', $params); } else { Session::setFlash('This nickname or email are already used, try another one'); } } else { Session::setFlash('Password not match'); } } else { Session::setFlash('Password has to consist more than 6 symbols, but less then 32'); } } else { Session::setFlash('Fill the fields'); } } $args = array('nickname' => $form->nickname, 'first_name' => $form->first_name, 'last_name' => $form->last_name, 'email' => $form->email); return $this->render('registration', $args); }
public function httpPostMethod(Http $http, array $formFields) { /* * Méthode appelée en cas de requête HTTP POST * * L'argument $http est un objet permettant de faire des redirections etc. * L'argument $formFields contient l'équivalent de $_POST en PHP natif. */ try { $Customer = new CustomerModel(); $verifEmail = $Customer->sameMail($formFields['Email']); if ($verifEmail && ctype_digit($formFields['Year']) && ctype_digit($formFields['Month']) && ctype_digit($formFields['Day']) && ctype_digit($formFields['Phone']) && strlen($formFields['Phone']) === 10 && ctype_digit($formFields['ZipCode']) && strlen($formFields['ZipCode']) === 5 && isset($formFields['password']) && $formFields['password2'] == $formFields['password'] && isset($formFields['Email']) && filter_var($formFields['Email'], FILTER_VALIDATE_EMAIL) != false) { $Birthdate = $formFields['Year'] . '-' . $formFields['Month'] . '-' . $formFields['Day']; //var_dump($Birthdate); $Customer_id = $Customer->registerCustomer($formFields['FirstName'], $formFields['LastName'], $Birthdate, $formFields['Phone'], $formFields['Address'], $formFields['Address2'], $formFields['City'], $formFields['ZipCode'], $formFields['Email'], $formFields['password']); //var_dump($Customer_id); $user = $Customer->findCustomer($Customer_id); $UserSession = new UserSession(); $UserSession->create($user); $http->redirectTo(''); } else { $http->redirectTo('Exception?Error=3'); } } catch (DomainException $event) { $form = new RegisterForm(); $form->bind($formFields); $form->setErrorMessage($event->getMessage()); return ['_form' => $form]; } }
public function indexAction() { $form = new RegisterForm(); if ($this->request->isPost()) { $password = $this->request->getPost("password"); $repeatPassword = $this->request->getPost("repeatPassword"); if ($password != $repeatPassword) { $this->flash->error('Passwords are different'); } else { $user = new User(); if (!$form->isValid($_POST, $user)) { foreach ($form->getMessages() as $message) { $this->flash->error((string) $message); } } else { $user->password = $this->security->hash($user->password); $user->userprofile = new Userprofile(); $user->usercard = new Usercard(); if ($user->save() == false) { foreach ($user->getMessages() as $message) { $this->flash->error((string) $message); } } else { $this->tag->setDefault('email', ''); $this->tag->setDefault('password', ''); $this->flash->success('Thanks for sign-up! Log in to start Advanture</h6>'); return $this->forward('session/index'); } } } } $this->view->form = $form; }
public function getRegisterForm() { require_once APPLICATION_PATH . '/forms/RegisterForm.php'; $form = new RegisterForm(); $form->setAction($this->_helper->url('registerprocess')); //$form->getElement('next')->setValue($this->getRequest()->getParam('next')); return $form; }
public function actionRegister() { $model = new RegisterForm(); if (Yii::app()->request->isPostRequest) { $model->attributes = $_POST['RegisterForm']; if ($model->validate()) { print "Зарегистрирован успешно"; } } $this->render("register", array("model" => $model)); }
public function run() { $model = new RegisterForm(); if (($post = $this->request->getPost('RegisterForm', false)) !== false) { $model->attributes = $post; if ($model->save()) { $this->response(200, '注册用户成功'); $this->app->end(); } } $this->render('register', ['model' => $model]); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new RegisterForm(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; $model->user->attributes = $_POST['User']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->user->user_id)); } } $this->render('create', array('model' => $model)); }
public function indexAction() { $form = new RegisterForm(); if ($this->request->isPost()) { if ($form->isValid($this->request->getPost()) != false) { $user = new Users(); $user->assign(array('name' => $this->request->getPost('name', 'striptags'), 'email' => $this->request->getPost('email'), 'number' => $this->request->getPost('number'), 'password' => $this->security->hash($this->request->getPost('password')), 'telephone' => $this->request->getPost('telephone'))); if ($user->save()) { return $this->dispatcher->forward(array('controller' => 'index', 'action' => 'index')); } $this->flash->error($user->getMessages()); } } $this->view->form = $form; }
{ $ret = $this->student->validate(); if (!$ret) { $this->addErrors($this->student->getErrors()); } } public function save() { //start a transaction $transaction = Yii::app()->db->beginTransaction(); try { if ($this->user->isNewRecord) { $this->user->is_verified = 0; $verification = new UserVerification(); } //try to save the data to db $ret = parent::save(); if ($ret) { $ret = $this->student->save(true, null, $this->user); if (isset($verification)) { Yii::log("Verification is set"); $verification->user_id = $this->user->user_id; $this->hash = $verification->generateHash(); if (!$verification->save()) { throw new Exception(); } if (!Emailer::emailStudentActivation($this->user, $this->hash)) { throw new Exception(); } } } $transaction->commit(); //Yii::app()->user->setFlash('success',sprintf(Constants::SUCCESS_SURVEY_SUBMITTED,$model->getSurvey()->title)); return $ret; } catch (Exception $e) {
public function processAction() { if (!$this->request->isPost()) { return $this->redirect()->toRoute(NULL, array('controller' => 'Create', 'action' => 'index')); } $post = $this->request->getPost(); $form = new RegisterForm(); $form->setData($post); if (!$form->isValid()) { $model = new ViewModel(array('error' => true, 'form' => $form)); $model->setTemplate('leads/leads/index'); return $model; } $this->createUser($form->getData()); return $this->redirect()->toRoute(NULL, array('controller' => 'Create', 'action' => 'confirm')); }
public function actionIndex() { if (!config('register.allow')) { throw new CHttpException(404, Yii::t('main', 'Регистрация отключена.')); } $formModel = new RegisterForm(); if (!$formModel->gs_list) { throw new CHttpException(404, Yii::t('main', 'Регистрация невозможна из за отсутствия серверов.')); } if (isset($_POST['RegisterForm'])) { $formModel->setAttributes($_POST['RegisterForm']); if ($formModel->validate()) { $formModel->registerAccount(); $this->refresh(); } } $this->render('//register', array('model' => $formModel)); }
public function actionRegister() { $this->layout = '/layouts/index'; $model = new RegisterForm(); if (($post = $this->request->getPost('RegisterForm', false)) != false) { $model->attributes = $post; if ($model->save()) { $login = new LoginForm(); $post['remember'] = 0; $login->attributes = $post; if ($login->validate() && $login->login()) { $this->redirect($this->createUrl('index/dashboard')); } else { $this->redirect($this->createUrl('index')); } } } $this->render('register', ['model' => $model]); }
/** * Register action */ public function actionindex() { $model = new RegisterForm(); if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; if ($model->validate()) { // Save the member and redirect $user = new Members(); $user->scenario = 'register'; $user->role = 'member'; $user->attributes = $_POST['RegisterForm']; $user->save(); // Redirect Yii::app()->user->setFlash('success', Yii::t('register', 'Registration Completed. Please sign in.')); $this->redirect('login/index'); } } $this->render('index', array('model' => $model)); }
/** *Displays the register page */ public function actionRegister() { $model = new RegisterForm(); // if it is ajax validation request if (isset($_POST['ajax']) && $_POST['ajax'] === 'register-form') { Yii::app()->end(); } if (isset($_POST['RegisterForm'])) { $user = new User(); $user->attributes = $_POST['RegisterForm']; // validate user input and redirect to the previous page if valid // Yii::app()->user means MyshowWebUser if ($user->register()) { $this->redirect(Yii::app()->user->returnUrl); } $model->addError('email', 'email已经被注册过了,请重新注册'); } $this->pageTitle = '注册'; $this->breadcrumbs = array($this->pageTitle); // display the login form $this->render('register', array('model' => $model)); }
public function registerAction() { $form = new RegisterForm(); $request = $this->getRequest(); if ($request->isPost() && $request->getPost('register') == 'Register') { $post = $request->getPost(); if ($form->isValid($post)) { if ($this->_user->freeUsername($post['user'])) { $result = $this->_user->register($post); if ($result == 1) { $this->view->loginMsg = self::REG_OK; $this->_forward('login'); } else { $this->view->registerMsg = self::REG_ERROR; } } else { $this->view->registerMsg = self::REG_TAKEN; } } else { $this->view->registerMsg = self::REG_INVALID; } } $this->view->form = $form; }
public function init() { parent::init(); $this->setAction(APPLICATION_BASEURL_INDEX . "/admin/participantedit?act=save"); $this->getElement("accept")->setLabel("Change These"); $_isActive = $this->createElement("checkbox", "isactive")->setValue("1")->setChecked(false)->setLabel("Active?"); $this->addElement($_isActive); $_isAdmin = $this->createElement("checkbox", "isadmin")->setValue("1")->setChecked(false)->setLabel("Administrator?"); $this->addElement($_isAdmin); $_id = $this->createElement("hidden", "pid"); $this->addElement($_id); //Add the submit button to the last order... $_sbmt = $this->getElement("accept"); $this->removeElement("accept"); $this->addElement($_sbmt); }
public function save() { //start a transaction $transaction = Yii::app()->db->beginTransaction(); try { //try to save the data to db $ret = parent::save(); if ($ret) { $ret = $this->collegeAdmin->save(true, null, $this->user); } $transaction->commit(); //Yii::app()->user->setFlash('success',sprintf(Constants::SUCCESS_SURVEY_SUBMITTED,$model->getSurvey()->title)); return $ret; } catch (Exception $e) { //if something happens, simply set the error message and redirect as normal $transaction->rollback(); //Yii::app()->user->setFlash('error','Unable to create your account.'); return false; } }
public function actionRegister() { $session = Yii::app()->session; $step = $session->get('registerStep', 1); $userStep = $this->iGet('step', 1); if (!Yii::app()->user->isGuest && $step !== 3) { $this->redirect(Yii::app()->homeUrl); } if ($userStep < $step) { $step = min($userStep, 1); Yii::app()->session->remove(RegisterForm::REGISTER_WCAID); } $model = new RegisterForm('step' . $step); $model->step = $step; $model->loadData(); // collect user input data if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; // validate user input and redirect to the previous page if valid if ($model->validate()) { $session->add('registerStep', ++$step); if ($model->isLastStep()) { if (!$model->register()) { throw new CHttpException(500, Yii::t('common', 'Something goes wrong')); } } $this->redirect(array('/site/register', 'step' => $step)); } if (ctype_digit($model->birthday)) { $model->birthday = date($model::$dateFormat, $model->birthday); } } $this->pageTitle = array('Register'); $model->verifyCode = ''; $this->title = 'Register'; $this->render('register' . $step, array('model' => $model, 'step' => $step)); }
/** * Creates a new user account. */ public function actionRegister() { // TRUE if multiples accounts can be created if (!Yii::app()->params['multiplesAccounts']) { if (AppTools::masterAdmin()) { Yii::app()->user->loginRequired(); Yii::app()->end(); } } $register = new RegisterForm(); // RegisterForm was sent via POST if (isset($_POST['RegisterForm'])) { // Get attributes from POST to RegisterForm object model $register->attributes = $_POST['RegisterForm']; // validate if register has all fields required if ($register->validate()) { // create new user and account, then redirect to signsucess if ($register->create()) { if (Yii::app()->params['multiplesAccounts']) { $this->redirect(Yii::app()->controller->createUrl("site/signsucess")); } else { $this->redirect(Yii::app()->controller->createUrl("site/index")); } } } } // output register view $this->layout = "login"; $this->render('register', array('model' => $register)); }
function registerAction() { $this->view->title = "Register New Account"; $this->view->messages = $this->_flashMessenger->getMessages(); $this->_helper->layout->disableLayout(); $lang = $this->_request->getParam('lang'); if (isset($lang)) { $langNamespace = new Zend_Session_Namespace('Lang'); $langNamespace->lang = $lang; $this->_helper->redirector->gotoSimple('register', 'register', null, array('a' => $this->_request->getParam('a'), 'i' => $this->_request->getParam('i'))); } $db = Zend_Registry::get('db'); $currentTime = date("Y-m-d H:i:s"); $loginform = new LoginForm(); $this->view->form = $loginform; $form = new RegisterForm(); $form->setAttrib('id', 'registerForm'); $this->view->registerForm = $form; $signupAuthCodeModel = new SignupAuthCode(); $auth_code = $this->_request->getParam('a'); if ($auth_code) { $form->auth_code->setValue($auth_code); $code = $signupAuthCodeModel->fetchRow("use_date is null and auth_code = '" . $auth_code . "'"); } // auto-fill code and email address if (isset($code) && $code->id) { $this->view->codeId = $code->id; $select1 = $db->select(); $select1->from("invitation_email", "to"); $select1->where("invitation_email.signup_auth_code_id = ?", $code->id); $toEmail = $db->fetchOne($select1); $form->registerEmail->setValue($toEmail); $code->view_date = $currentTime; $code->save(); } //public link $invite_code = $this->_request->getParam('i'); if ($invite_code) { $code2 = $signupAuthCodeModel->fetchRow("public_signup_link = true and auth_code = '" . $invite_code . "'"); $publicLinkValid = false; if (isset($code2)) { $select2 = $db->select(); $select2->from('signup_auth_code', 'count(*)')->where('use_date>date_sub(now(),interval 1 day)')->where('sender =' . $code2->sender)->where('source = "PUBLIC_LINK"')->where('receiver is not null'); $registered = $db->fetchOne($select2); if (intval($registered) < 100) { $publicLinkValid = true; } } } if (isset($code2)) { if ($publicLinkValid) { $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ'; $generatedCode = ''; for ($codeCount = 0; $codeCount < 12; $codeCount++) { $generatedCode = $generatedCode . $codePattern[mt_rand(0, 35)]; } $signupAuthCode = $signupAuthCodeModel->createRow(); $signupAuthCode->auth_code = $generatedCode; $signupAuthCode->create_date = $currentTime; $signupAuthCode->sender = $code2->sender; $signupAuthCode->source = 'PUBLIC_LINK'; $signupAuthCode->auto_invitation = $code2->auto_invitation; $signupAuthCode->save(); $form->auth_code->setValue($generatedCode); } else { $this->_flashMessenger->addMessage($this->view->translate('Sorry_This_register_link_has_been_overused')); $this->_helper->redirector('register', 'register'); } } if ($this->_request->isPost()) { $this->view->registered = 0; $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $db = Zend_Registry::get('db'); if ($form->getValue('registerPassword') == $form->getValue('repeat')) { //2011-04-01 ham register modification if (trim($form->getValue('auth_code')) == '') { //check duplicated email $result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE email = :temp", array('temp' => $form->getValue('registerEmail'))); //check duplicated phone $phone_result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE login_phone = :temp", array('temp' => $form->getValue('loginPhone'))); //var_dump($result);die; if ($result > 0) { $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('registerEmail') . $this->view->translate('Register_email_is_invalid'); } else { if ($phone_result > 0) { $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('loginPhone') . $this->view->translate('Register_phone_is_invalid'); } else { $currentTime = date("Y-m-d H:i:s"); $email = $form->getValue('registerEmail'); //generate enable account link $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ'; $active_code = ''; for ($codeCount = 0; $codeCount < 12; $codeCount++) { $active_code = $active_code . $codePattern[mt_rand(0, 35)]; } $activeLink = $this->view->home . '/public/register/activate/p/' . $active_code; //save link into DB $tomorrow = mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 1, date("Y")); $expire_date = date("Y-m-d H:i:s", $tomorrow); $temporaryLinkModel = new TemporaryLink(); $temporaryLink = array("link" => $activeLink, "email" => $email, "expire_date" => $expire_date); $temporaryLink_id = $temporaryLinkModel->insert($temporaryLink); //send mail $emailSubject = $this->view->translate('ENABLE_ACCOUNT_subject'); $emailBody = $this->view->translate('ENABLE_ACCOUNT_body'); $stringChange = array("?ENABLEACCOUNTLINK?" => $activeLink); $emailBody = strtr($emailBody, $stringChange); $config = Zend_Registry::get('config'); $smtpSender = new Zend_Mail_Transport_Smtp($config->smtp->invitation->mail->server, array('username' => $config->smtp->invitation->mail->username, 'password' => $config->smtp->invitation->mail->password, 'auth' => $config->smtp->invitation->mail->auth, 'ssl' => $config->smtp->invitation->mail->ssl, 'port' => $config->smtp->invitation->mail->port)); // $smtpSender = new Zend_Mail_Transport_Smtp( // 'smtp.163.com',array( // 'username'=>'*****@*****.**', // 'password'=>'19990402', // 'auth'=>'login')); Zend_Mail::setDefaultTransport($smtpSender); $mail = new Zend_Mail('utf-8'); $langNamespace = new Zend_Session_Namespace('Lang'); if ($langNamespace->lang == 'en' || $langNamespace->lang == 'EN') { $mail->setSubject($emailSubject); } else { $mail->setSubject("=?UTF-8?B?" . base64_encode($emailSubject) . "?="); } $mail->setBodyText($emailBody); $mail->setFrom($config->smtp->forgetpassword->mail->username, $this->view->translate('Wildfire')); // $mail->setFrom('*****@*****.**','yun_simon'); $mail->addTo($email); $mail->send(); // save new consumer $consumerModel = new Consumer(); $row = $consumerModel->createRow(); $row->name = $form->getValue('name'); $row->email = $form->getValue('registerEmail'); $row->login_phone = $form->getValue('loginPhone'); $row->password = md5($form->getValue('registerPassword')); $row->state = "ACTIVE"; $row->save(); $this->view->registered = 1; } } //2011-04-01 ham register modification } else { // verify auth code $codeModel = new SignupAuthCode(); $code = $codeModel->fetchRow("auth_code='" . $form->getValue('auth_code') . "' and use_date is null"); if ($code != NULL) { //check pest if ($code->sender != null) { $consumerModel = new Consumer(); $consumer = $consumerModel->fetchRow("id = " . $code->sender); if ($consumer != null && $consumer->pest == '1') { return; } } //check duplicated email $result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE email = :temp", array('temp' => $form->getValue('registerEmail'))); //check duplicated phone $phone_result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE login_phone = :temp", array('temp' => $form->getValue('loginPhone'))); if ($result > 0) { $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('registerEmail') . $this->view->translate('Register_email_is_invalid'); } else { if ($phone_result > 0) { $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('loginPhone') . $this->view->translate('Register_phone_is_invalid'); } else { $currentTime = date("Y-m-d H:i:s"); //2011-04-02 ham.bao add the logic of activating the account $email = $form->getValue('registerEmail'); //generate enable account link $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ'; $active_code = ''; for ($codeCount = 0; $codeCount < 12; $codeCount++) { $active_code = $active_code . $codePattern[mt_rand(0, 35)]; } $activeLink = $this->view->home . '/public/register/activate/p/' . $active_code; //save link into DB $tomorrow = mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 1, date("Y")); $expire_date = date("Y-m-d H:i:s", $tomorrow); $temporaryLinkModel = new TemporaryLink(); $temporaryLink = array("link" => $activeLink, "email" => $email, "expire_date" => $expire_date); $temporaryLink_id = $temporaryLinkModel->insert($temporaryLink); //send mail //2011-04-02 ham.bao add the logic of activating the account // save new consumer $consumerModel = new Consumer(); $row = $consumerModel->createRow(); $row->name = $form->getValue('name'); $row->email = $form->getValue('registerEmail'); $row->login_phone = $form->getValue('loginPhone'); $row->password = md5($form->getValue('registerPassword')); $row->state = "ACTIVE"; $row->save(); //expire the auth_code $code->receiver = $row->id; $code->use_date = $currentTime; $code->save(); //add points for code sender // if (!empty($code->sender)&& $code->sender!=""){ // $pointRecordModel = new RewardPointTransactionRecord(); // $point = $pointRecordModel->createRow(); // $point->consumer_id = $code->sender; // $point->transaction_id = 2; // $point->date = $currentTime; // $point->point_amount = 5; // $point->save(); // } // send auto intivitaion if (!empty($code->auto_invitation) && $code->auto_invitation != 0) { $campaignInvitationModel = new CampaignInvitation(); $ci = $campaignInvitationModel->createRow(); $ci->consumer_id = $row->id; $ci->campaign_id = $code->auto_invitation; $ci->create_date = $currentTime; $ci->state = "NEW"; $ci->save(); } $this->view->registered = 1; // Login Automatically $authAdapter = new Zend_Auth_Adapter_DbTable($db); $authAdapter->setTableName('consumer'); $authAdapter->setIdentityColumn('email'); $authAdapter->setCredentialColumn('password'); $authAdapter->setIdentity($form->getValue('registerEmail')); $authAdapter->setCredential(md5($form->getValue('registerPassword'))); $auth = Zend_Auth::getInstance(); $auth->authenticate($authAdapter); $authNamespace = new Zend_Session_Namespace('Zend_Auth'); $authNamespace->user = $row; $this->_flashMessenger->addMessage('Welcome!'); $this->_helper->redirector('index', 'home'); } } } else { $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_authcode_is_invalid'); } } } else { $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_repeat_password_is_error'); } } else { $form->populate($formData); } } }
/** * finish install applcation * redirect user to admin panel or home site. * * @return void */ public function actionStep4() { //redirect previous step if (Yii::app()->session->contains('aemail') === false && Yii::app()->session->contains('password') === false) { $this->redirect(array('step3')); } $model = new RegisterForm(); if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; if ($model->validate() === true) { //post to www.open-school.org/register // create a new cURL resource // $ch = curl_init(); //$data = http_build_query(CMap::mergeArray($model->attributes, array('ip'=>gethostbyname($_SERVER['SERVER_NAME']),'domain'=>Yii::app()->request->hostInfo.Yii::app()->request->baseUrl,'key'=>Yii::app()->session['key'])), null, '&'); // set URL and other appropriate options // $options = array( // CURLOPT_URL => 'http://licence-server.open-school.org/register.php', // CURLOPT_HEADER => false, // CURLOPT_POST => true, // CURLOPT_POSTFIELDS => $data, // CURLOPT_RETURNTRANSFER => true, // ); //curl_setopt_array($ch, $options); //$content = curl_exec($ch); //$content=trim($content,'()'); //$result = CJSON::decode($content, true); //curl_close($ch); // if (is_array($result) && isset($result['ReturnedData']) && $result['ReturnedData'] === 'OK') { //create Settings.php /*Yii::setPathOfAlias('Cms', Yii::getPathOfAlias('application.modules.Cms')); Yii::setPathOfAlias('User', Yii::getPathOfAlias('application.modules.User')); Yii::setPathOfAlias('Category', Yii::getPathOfAlias('application.modules.Category')); Yii::setPathOfAlias('Page', Yii::getPathOfAlias('application.modules.Page')); Yii::setPathOfAlias('News', Yii::getPathOfAlias('application.modules.News')); Yii::setPathOfAlias('Statistics', Yii::getPathOfAlias('application.modules.Statistics')); Yii::setPathOfAlias('Messaging', Yii::getPathOfAlias('application.modules.Messaging')); Yii::setPathOfAlias('Support', Yii::getPathOfAlias('application.modules.Support')); $this->initDbConnection(); //Generate module settings //Modify this array for modules in this package $modules = array('Cms','User','News','Statistics','Messaging','Support','Gallery','Statistics'); foreach($modules as $module) //SettingsService::db2php(array('Module' => $module)); Cms::rawService('Cms/Settings/db2php', array('Module' => $module)); //Cache pages and categories Cms::rawService('Cms/Page/cache',array()); Cms::rawService('Cms/Category/cache',array()); //Permission Cms::rawService('Cms/Permission/createAuthItems',array('cleanup' => 1));*/ //update .htaccess $this->redirect(array('step5')); // } } } //Check if (isset(Yii::app()->session['key']) and isset(Yii::app()->session['email'])) { $key_info['key'] = Yii::app()->session['key']; Yii::app()->session->remove('key'); //Remove $key_info['email'] = Yii::app()->session['email']; Yii::app()->session->remove('email'); //Remove // $serverurl = "http://licence-server.open-school.org/server.php"; //$ch = curl_init ($serverurl); //curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt ($ch, CURLOPT_POST, true); //curl_setopt ($ch, CURLOPT_POSTFIELDS, $key_info); // $result = curl_exec ($ch); // $result = json_decode($result, true); // if($result['valid'] == 'true') if (1) { Yii::app()->session['key'] = $key_info['key']; Yii::app()->session['email'] = $key_info['email']; $this->render('step5', array('model' => $model)); } else { //session contains invalid key //die("Invalid Key!"); echo 'Invalid Key'; $this->redirect(array('index')); } } else { //session expired or direct link $this->redirect(array('index')); } }
/** * Registration page * **/ public function actionRegister() { $this->setPageTitle(Yii::t('ciims.controllers.Site', '{{app_name}} | {{label}}', array('{{app_name}}' => Cii::getConfig('name', Yii::app()->name), '{{label}}' => Yii::t('ciims.controllers.Site', 'Sign Up')))); $this->layout = '//layouts/main'; $model = new RegisterForm(); $user = new Users(); $error = ''; if (isset($_POST) && !empty($_POST)) { $model->attributes = $_POST['RegisterForm']; if ($model->validate()) { if (!function_exists('password_hash')) { require_once YiiBase::getPathOfAlias('ext.bcrypt.bcrypt') . '.php'; } // Bcrypt the initial password instead of just using the basic hashing mechanism $hash = Users::model()->encryptHash(Cii::get($_POST['RegisterForm'], 'email'), Cii::get($_POST['RegisterForm'], 'password'), Yii::app()->params['encryptionKey']); $cost = Cii::getBcryptCost(); $password = password_hash($hash, PASSWORD_BCRYPT, array('cost' => $cost)); $user->attributes = array('email' => Cii::get($_POST['RegisterForm'], 'email'), 'password' => $password, 'firstName' => NULL, 'lastName' => NULL, 'displayName' => Cii::get($_POST['RegisterForm'], 'displayName'), 'user_role' => 1, 'status' => Users::INACTIVE); try { if ($user->save()) { $hash = mb_strimwidth(hash("sha256", md5(time() . md5(hash("sha512", time())))), 0, 16); $meta = new UserMetadata(); $meta->user_id = $user->id; $meta->key = 'activationKey'; $meta->value = $hash; $meta->save(); // Send the registration email $this->sendEmail($user, Yii::t('ciims.email', 'Activate Your Account'), '//email/register', array('user' => $user, 'hash' => $hash), true, true); $this->redirect($this->createUrl('/register-success')); return; } } catch (CDbException $e) { $model->addError(null, Yii::t('ciims.controllers.Site', 'The email address has already been associated to an account. Do you want to login instead?')); } } } $this->render('register', array('model' => $model, 'error' => $error, 'user' => $user)); }
function registerAction() { $this->view->title = "Register New Account"; $this->view->messages = $this->_flashMessenger->getMessages(); $this->_helper->layout->disableLayout(); $lang = $this->_request->getParam('lang'); if (isset($lang)) { $langNamespace = new Zend_Session_Namespace('Lang'); $langNamespace->lang = $lang; $this->_helper->redirector->gotoSimple('register', 'register', null, array('a' => $this->_request->getParam('a'), 'i' => $this->_request->getParam('i'))); } $db = Zend_Registry::get('db'); $currentTime = date("Y-m-d H:i:s"); $loginform = new LoginForm(); $this->view->form = $loginform; $form = new RegisterForm(); $this->view->registerForm = $form; $signupAuthCodeModel = new SignupAuthCode(); $auth_code = $this->_request->getParam('a'); if ($auth_code) { $form->auth_code->setValue($auth_code); $code = $signupAuthCodeModel->fetchRow("use_date is null and auth_code = '" . $auth_code . "'"); } // auto-fill code and email address if (isset($code) && $code->id) { $this->view->codeId = $code->id; $select1 = $db->select(); $select1->from("invitation_email", "to"); $select1->where("invitation_email.signup_auth_code_id = ?", $code->id); $toEmail = $db->fetchOne($select1); $form->registerEmail->setValue($toEmail); $code->view_date = $currentTime; $code->save(); } //public link $invite_code = $this->_request->getParam('i'); if ($invite_code) { $code2 = $signupAuthCodeModel->fetchRow("public_signup_link = true and auth_code = '" . $invite_code . "'"); $publicLinkValid = false; if (isset($code2)) { $select2 = $db->select(); $select2->from('signup_auth_code', 'count(*)')->where('use_date>date_sub(now(),interval 1 day)')->where('sender =' . $code2->sender)->where('source = "PUBLIC_LINK"')->where('receiver is not null'); $registered = $db->fetchOne($select2); if (intval($registered) < 100) { $publicLinkValid = true; } } } if (isset($code2)) { if ($publicLinkValid) { $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ'; $generatedCode = ''; for ($codeCount = 0; $codeCount < 12; $codeCount++) { $generatedCode = $generatedCode . $codePattern[mt_rand(0, 35)]; } $signupAuthCode = $signupAuthCodeModel->createRow(); $signupAuthCode->auth_code = $generatedCode; $signupAuthCode->create_date = $currentTime; $signupAuthCode->sender = $code2->sender; $signupAuthCode->source = 'PUBLIC_LINK'; $signupAuthCode->auto_invitation = $code2->auto_invitation; $signupAuthCode->save(); $form->auth_code->setValue($generatedCode); } else { $this->_flashMessenger->addMessage($this->view->translate('Sorry_This_register_link_has_been_overused')); $this->_helper->redirector('register', 'register'); } } if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $db = Zend_Registry::get('db'); if ($form->getValue('registerPassword') == $form->getValue('repeat')) { // verify auth code $codeModel = new SignupAuthCode(); $code = $codeModel->fetchRow("auth_code='" . $form->getValue('auth_code') . "' and use_date is null"); if ($code) { //check pest if ($code->sender != null) { $consumerModel = new Consumer(); $consumer = $consumerModel->fetchRow("id = " . $code->sender); if ($consumer != null && $consumer->pest == '1') { return; } } //check duplicated email $result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE email = :temp", array('temp' => $form->getValue('registerEmail'))); //check duplicated phone $phone_result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE login_phone = :temp", array('temp' => $form->getValue('loginPhone'))); if ($result > 0) { $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('registerEmail') . $this->view->translate('Register_email_is_invalid'); } else { if ($phone_result > 0) { $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('loginPhone') . $this->view->translate('Register_phone_is_invalid'); } else { $currentTime = date("Y-m-d H:i:s"); // save new consumer $consumerModel = new Consumer(); $row = $consumerModel->createRow(); $row->name = $form->getValue('name'); $row->email = $form->getValue('registerEmail'); $row->login_phone = $form->getValue('loginPhone'); $row->password = md5($form->getValue('registerPassword')); $row->save(); //expire the auth_code $code->receiver = $row->id; $code->use_date = $currentTime; $code->save(); //add points for code sender // if (!empty($code->sender)&& $code->sender!=""){ // $pointRecordModel = new RewardPointTransactionRecord(); // $point = $pointRecordModel->createRow(); // $point->consumer_id = $code->sender; // $point->transaction_id = 2; // $point->date = $currentTime; // $point->point_amount = 5; // $point->save(); // } // send auto intivitaion if (!empty($code->auto_invitation) && $code->auto_invitation != 0) { $campaignInvitationModel = new CampaignInvitation(); $ci = $campaignInvitationModel->createRow(); $ci->consumer_id = $row->id; $ci->campaign_id = $code->auto_invitation; $ci->create_date = $currentTime; $ci->state = "NEW"; $ci->save(); } // Login Automatically $authAdapter = new Zend_Auth_Adapter_DbTable($db); $authAdapter->setTableName('consumer'); $authAdapter->setIdentityColumn('email'); $authAdapter->setCredentialColumn('password'); $authAdapter->setIdentity($form->getValue('registerEmail')); $authAdapter->setCredential(md5($form->getValue('registerPassword'))); $auth = Zend_Auth::getInstance(); $auth->authenticate($authAdapter); $authNamespace = new Zend_Session_Namespace('Zend_Auth'); $authNamespace->user = $row; $this->_flashMessenger->addMessage('Welcome!'); $this->_helper->redirector('index', 'home'); } } } else { $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_authcode_is_invalid'); } } else { $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_password_is_invalid'); } } else { $form->populate($formData); } } }
/** * Handles the registration of new users on the site */ public function actionRegister() { $this->layout = '//layouts/main'; $this->setPageTitle(Yii::t('ciims.controllers.Site', '{{app_name}} | {{label}}', array('{{app_name}}' => Cii::getConfig('name', Yii::app()->name), '{{label}}' => Yii::t('ciims.controllers.Site', 'Sign Up')))); $model = new RegisterForm(); if (Cii::get($_POST, 'RegisterForm', false)) { $model->attributes = $_POST['RegisterForm']; // Save the user's information if ($model->save()) { // Set a flash message Yii::app()->user->setFlash('success', Yii::t('ciims.controllers.Site', 'You have successfully registered an account. Before you can login, please check your email for activation instructions')); $this->redirect($this->createUrl('site/login')); } } $this->render('register', array('model' => $model)); }
public function render() { $oauth_data = Openbiz::$app->getSessionContext()->getVar('_OauthUserInfo'); if (!$oauth_data) { header("Location: " . OPENBIZ_APP_INDEX_URL . "/user/login"); exit; } return parent::render(); }
/** * actionRegisterUser * * @access public * @return void */ public function actionRegisterUser() { Yii::log("actionRegisterUser called", "trace", self::LOG_CAT); $model = new RegisterForm(); // Form to add users $rolesModel = new UsersHasRoles(); // Form to add roles to users_has_roles table $encryption = Yii::app()->encryption; if (isset($_GET['usd']) && isset($_GET['risksur'])) { // Check if incoming url has these values. i.e. user has clicked on confirmation link. $password = $_GET['risksur']; // Get the user password $decryptData = $encryption->decrypt($_GET['usd'], self::FORGOT_SALT); // Decrypt the user details $userDetails = explode(",", $decryptData); // if the link has expired or not valid give error message to user if ($encryption->isExpired() || !isset($userDetails[0]) || !isset($userDetails[2]) || $userDetails[2] != "newUser") { Yii::app()->user->setFlash('error', 'The account activation data is either expired or invalid. Kindly register again.'); Yii::log("Expired link or invalid parameters in link sent by confirmationUrl", "error", self::LOG_CAT); $this->redirect(array('site/login')); return; } // Arrange data to be saved to the db i.e. creating the user. $model->userName = $userDetails[0]; $model->email = $userDetails[1]; $model->password = $password; $model->confirmPassword = $password; $model->active = "1"; // Set status to active // $model->save(); // Save the user details if (!$model->save()) { // If the user hasn't been saved to users yable then show an error Yii::app()->user->setFlash('error', 'There was a problem activating your account. Please contact the RiskSur admin on info@tracetracker.com'); $this->redirect(array('site/login')); return; } $rolesModel->users_id = $model->userId; // Get the last inserted userId in users table $rolesModel->roles_id = "3"; // Insert roleId 3 i.e. normal user as defined in roles table // $rolesModel->save(); // Save to users_has_roles table if (!$rolesModel->save()) { // If the user roles haven't been save then show an error Yii::app()->user->setFlash('error', 'There was a problem activating your account. Please contact the RiskSur admin on info@tracetracker.com'); $this->redirect(array('site/login')); return; } // Else if all data was saved show a success message. Yii::app()->user->setFlash('success', 'Thank you for registering on Risksur, please login to continue.'); $this->redirect(array('site/login')); return; } if (isset($_POST['RegisterForm'])) { // Check if there is a post i.e. user has entered data $model->attributes = $_POST['RegisterForm']; if ($model->userName == "" || $model->email == "" || $model->password == "") { // Check for blanks Yii::app()->user->setFlash('error', 'All fields must be filled in!'); Yii::log("Blank fields posted", "error", self::LOG_CAT); $this->render('register', array('model' => $model)); return; } if (!filter_var($model->email, FILTER_VALIDATE_EMAIL)) { // Check for invalid email address Yii::app()->user->setFlash('error', 'Enter a valid email address!'); Yii::log("Invalid format of email address provided", "error", self::LOG_CAT); $this->render('register', array('model' => $model)); return; } if ($model->confirmPassword !== $model->password) { // Check for password mismatch Yii::app()->user->setFlash('error', 'Password mismatch! Re-type the password'); Yii::log("Password mis-match", "error", self::LOG_CAT); $this->render('register', array('model' => $model)); return; } // Query for the email address provided $queryUserEmail = Yii::app()->db->createCommand()->select('*')->from('users')->where('email = "' . $model->email . '" ')->queryAll(); if (count($queryUserEmail) > 0) { // If the email address already exists shown an error message Yii::app()->user->setFlash('error', 'The email is already registered. Enter a different email address.'); Yii::log("Email already registered", "error", self::LOG_CAT); $this->render('register', array('model' => $model)); return; } // Query for the username provided $queryUserName = Yii::app()->db->createCommand()->select('*')->from('users')->where('userName = "******" ')->queryAll(); if (count($queryUserName) > 0) { // If the username already exists show an error message Yii::app()->user->setFlash('error', 'The username is already registered. Enter a different username.'); Yii::log("Username already registered", "error", self::LOG_CAT); $this->render('register', array('model' => $model)); return; } $model->password = md5($this->salt . $_POST['RegisterForm']['password']); // MD5 and Salt the password b4 saving $mail = new TTMailer(); // Initiate mailer $originUrl = Yii::app()->createAbsoluteUrl("site/login"); $cancelLink = $this->createUrl('site/login'); // Not sure what this is for but wth, just leave it there $encryptUserData = urlencode($encryption->encrypt($model->userName . "," . $model->email . ",newUser", 86400, self::FORGOT_SALT)); $confirmationUrl = "http://" . $_SERVER["HTTP_HOST"] . Yii::app()->request->baseUrl . "/index.php/site/registerUser?usd={$encryptUserData}" . "&redirect_uri=" . $cancelLink . "&risksur=" . $model->password; $subject = 'User Registration'; $altBody = 'To view the message, please use an HTML compatible email viewer!'; $message = 'Dear ' . $model->userName . ',<br><br>'; $message .= 'You have successfully registered at ' . $originUrl . '. Click on the link below to activate your account:<br><br>'; $message .= '<a href="' . $confirmationUrl . '">' . $confirmationUrl . '</a><br><br>'; $message .= '<b>Best Regards,</b><br><br>'; $message .= '<b>Team RiskSur</b>'; $toAddress = $model->email; $toName = $model->userName; /*IF EMAIL IS NOT SENT THEN LOG THE ERROR*/ if (!$mail->ttSendMail($subject, $altBody, $message, $toAddress, $toName)) { Yii::log("Error in sending user registration email to " . $model->email, "error", self::LOG_CAT); return; } Yii::app()->user->setFlash('success', "User Created Successfully"); $this->redirect(array('site/login')); return; } $this->render('register', array('model' => $model)); }
/** Register for an account * @access public * @return void */ public function registerAction() { if ($this->_auth->hasIdentity()) { $this->getFlash()->addMessage('You are already logged in and registered.'); $this->_redirect('/users/account'); } else { $salt = $this->_helper->config()->auth->salt; $form = new RegisterForm(); $this->view->form = $form; if ($this->getRequest()->isPost() && $form->isValid($this->_request->getPost())) { $to = array(array('email' => $form->getValue('email'), 'name' => $form->getValue('first_name') . ' ' . $form->getValue('last_name'))); $emailData = array('email' => $form->getValue('email'), 'name' => $form->getValue('first_name') . ' ' . $form->getValue('last_name'), 'activationKey' => md5($form->getValue('username') . $form->getValue('first_name'))); $this->_users->register($form->getValues()); $this->_helper->mailer($emailData, 'activateAccount', $to); $this->getFlash()->addMessage('Your account has been created. Please check your email.'); $this->redirect('/users/account/activate/'); $form->populate($form->getValues()); $this->getFlash()->addMessage('There are a few problems with your registration<br/> Please review and correct them.'); } } }
*/ require_once dirname(__FILE__) . '/../../lib/form/phLoader.php'; phLoader::registerAutoloader(); /* * register a file view loader so Minacl knows where * to look for form view files (this time we are * looking in the folder of the first example so we * can re-use our form template) */ phViewLoader::setInstance(new phFileViewLoader(dirname(__FILE__) . '/../registration')); /* * include and create our RegisterForm instance that * has all the validators embedded in it */ require_once 'RegisterForm.php'; $form = new RegisterForm('register', 'registerForm'); if ($_SERVER['REQUEST_METHOD'] == 'POST') { /* * data has been posted back, bind it to the form */ $form->bindAndValidate($_POST['register']); if ($form->isValid()) { /* * form data is valid, put your code to * register a new user here */ echo "<h1>Registration Complete!</h1>"; } } ?> <form action="/registration2/register.php" method="post">
public function actionRegister() { $model = new RegisterForm(); $arrModels = array('model' => $model); if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; if ($model->validate()) { $account = new Account(); $account->attributes = $_POST['RegisterForm']; if ($account->save()) { Yii::app()->user->setFlash('register', Yii::t('flexiblearn', 'Thank you for your registration. Please log in to the system with the new one account.')); $this->refresh(); } $arrModels['account'] = $account; } else { $model->password = ''; $model->password_repeat = ''; } } $this->render('register', $arrModels); }
/** * finish install applcation * redirect user to admin panel or home site. * * @return void */ public function actionStep4() { //redirect previous step if (Yii::app()->session->contains('aemail') === false && Yii::app()->session->contains('password') === false) { $this->redirect(array('step3')); } $model = new RegisterForm(); if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; if ($model->validate() === true) { //post to www.open-school.org/register // create a new cURL resource $ch = curl_init(); $data = http_build_query(CMap::mergeArray($model->attributes, array('ip' => gethostbyname($_SERVER['SERVER_NAME']), 'domain' => Yii::app()->request->hostInfo . Yii::app()->request->baseUrl, 'key' => Yii::app()->session['key'])), null, '&'); // set URL and other appropriate options $options = array(CURLOPT_URL => 'http://licence-server.open-school.org/register.php', CURLOPT_HEADER => false, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $data, CURLOPT_RETURNTRANSFER => true); curl_setopt_array($ch, $options); $content = curl_exec($ch); $content = trim($content, '()'); $result = CJSON::decode($content, true); curl_close($ch); $this->initDbConnection(); $posts_1 = Configurations::model()->findByAttributes(array('id' => 1)); $posts_1->config_value = $_POST['RegisterForm']['schoolname']; $posts_1->save(); $posts_2 = Configurations::model()->findByAttributes(array('id' => 2)); $posts_2->config_value = $_POST['RegisterForm']['address']; $posts_2->save(); $this->redirect(array('step5')); } } //Check if (isset(Yii::app()->session['key']) and isset(Yii::app()->session['email'])) { $key_info['key'] = Yii::app()->session['key']; Yii::app()->session->remove('key'); //Remove $key_info['email'] = Yii::app()->session['email']; Yii::app()->session->remove('email'); //Remove $serverurl = "http://licence-server.open-school.org/server.php"; Yii::app()->session['key'] = $key_info['key']; Yii::app()->session['email'] = $key_info['email']; $this->render('step5', array('model' => $model)); } else { //session expired or direct link $this->redirect(array('index')); } }