コード例 #1
0
ファイル: RegisterForm.php プロジェクト: Avinash1000/traceper
 public function isExists($attribute, $params)
 {
     if (!$this->hasErrors()) {
         $criteria = new CDbCriteria();
         $criteria->select = 'email';
         $criteria->condition = 'email=:email';
         $criteria->params = array(':email' => $this->email);
         $data = Users::model()->find($criteria);
         if ($data == null) {
             $data = UserCandidates::model()->find($criteria);
         }
         if ($data != null) {
             $this->addError('email', 'E-mail is already registered!');
         }
     }
 }
コード例 #2
0
 public function actionActivate()
 {
     $result = "Sorry, you entered this page with wrong parameters";
     if (isset($_GET['email']) && $_GET['email'] != null && isset($_GET['key']) && $_GET['key'] != null) {
         $email = $_GET['email'];
         $key = $_GET['key'];
         $processOutput = true;
         // collect user input data
         $criteria = new CDbCriteria();
         $criteria->select = 'Id,email,realname,password,time';
         $criteria->condition = 'email=:email';
         $criteria->params = array(':email' => $email);
         $userCandidate = UserCandidates::model()->find($criteria);
         // $params is not needed
         $generatedKey = md5($email . $userCandidate->time);
         if ($generatedKey == $key) {
             $users = new Users();
             $users->email = $userCandidate->email;
             $users->realname = $userCandidate->realname;
             $users->password = $userCandidate->password;
             $result = "Sorry, there is a problem in activating the user";
             if ($users->save()) {
                 $userCandidate->delete();
                 $result = "Your account has been activated successfully, you can login now";
                 //echo CJSON::encode(array("result"=> "1"));
             }
         }
     }
     $this->renderPartial('accountActivationResult', array('result' => $result), false, true);
 }