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!'); } } }
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); }