public function run() { $form = new AjaxRegisterAction_RegisterForm(); $form->name = $_REQUEST['popup_username']; $form->email = $_REQUEST['popup_email']; if ($form->validate()) { $user = new User(); $user->name = $form->name; $user->mail = $form->email; $user->type = User::TYPE_INDIVIDUAL; $user->created = time(); $user->status = User::STATUS_NOT_CONFIRMED; // Change password to a new one Yii::import('webroot.controllers.UserController'); $generatedPass = UserController::generatePassword(); $user->pass = md5($generatedPass); $user->save(false); // Mail the user if (Mailer::mailFastRegister($user, $generatedPass, $form->email)) { $result = array("result" => 0, "message" => Yii::t('amo', 'Email sent!!')); } else { $result = array("result" => -1, "message" => Yii::t('amo', 'Error sending email')); } } else { $errors = $form->getErrors('email'); $result = array("result" => -1, "message" => implode(", ", $errors)); } echo CJSON::encode($result); exit(0); // To avoid loggers append things to request }
public function run() { $form = new AjaxForgotAction_ForgotForm(); $form->email = $_REQUEST['popup_email']; if ($form->validate()) { $user = User::model()->find('mail=:mail', array(':mail' => $form->email)); if (isset($user)) { // Change password to a new one Yii::import('webroot.controllers.UserController'); $generatedPass = UserController::generatePassword(); $user->pass = md5($generatedPass); if ($user->save(false)) { // Mail the user if (Mailer::mailForgotPassword($generatedPass, $form->email)) { $result = array("result" => 0, "message" => Yii::t('amo', 'Email sent!!')); } else { $result = array("result" => -1, "message" => Yii::t('amo', 'Error sending email')); } } else { $result = array("result" => -1, "message" => Yii::t('amo', 'Could not save to database')); } } else { $result = array("result" => -1, "message" => Yii::t('amo', 'There is no user with such email')); } } else { $errors = $form->getErrors('email'); $result = array("result" => -1, "message" => implode(", ", $errors)); } echo CJSON::encode($result); exit(0); // To avoid loggers append things to request }