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);
 }
Exemplo n.º 2
0
 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];
     }
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
 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));
 }
Exemplo n.º 8
0
 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'));
 }
Exemplo n.º 11
0
 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));
 }
Exemplo n.º 12
0
 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));
 }
Exemplo n.º 14
0
 /**
  *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));
 }
Exemplo n.º 15
0
 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;
     }
 }
Exemplo n.º 18
0
 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));
 }
Exemplo n.º 20
0
 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);
         }
     }
 }
Exemplo n.º 21
0
 /**
  * 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'));
     }
 }
Exemplo n.º 22
0
 /**
  * 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));
 }
Exemplo n.º 23
0
 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);
         }
     }
 }
Exemplo n.º 24
0
 /**
  * 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();
 }
Exemplo n.º 26
0
 /**
  * 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));
 }
Exemplo n.º 27
0
 /** 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">
Exemplo n.º 29
0
 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);
 }
Exemplo n.º 30
0
 /**
  * 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'));
     }
 }