public function actionSendMailResetPassword() { if (isset($_POST['ForgotPasswordForm'])) { $model = new ForgotPasswordForm(); $model->attributes = $_POST['ForgotPasswordForm']; if ($model->validate()) { $modelBarcode = new UserBarcode(); $modelBarcode->id = UserBarcode::model()->getMaxId() + 1; $modelEmailTemplate = EmailTemplate::model()->findEMailTempalte('User Reset Password'); $modelUser = User::model()->findByAttributes(array('email' => $model->emailReset)); $modelBarcode->barcode = Yii::app()->extraFunctions->randomString(32); if ($modelEmailTemplate !== NULL && $modelUser !== NULL) { $description = $modelEmailTemplate->description; $subject = $modelEmailTemplate->subject; $variables = array('{link}' => CHtml::link(Yii::app()->createAbsoluteUrl('site/resetPassword', array('barcodeId' => $modelBarcode->id)), Yii::app()->createAbsoluteUrl('site/resetPassword', array('barcodeId' => $modelBarcode->id))), '{barcode}' => $modelBarcode->barcode); $final_array = Yii::app()->extraFunctions->emailSendArray($description, $variables); //replace varibles $send_mail_data = array('subject' => $subject, 'firstName' => ucwords($modelUser->first_name), 'content' => $final_array); $message = $this->renderPartial('_emailTemplate', $send_mail_data, true); //call a template view $result = Yii::app()->extraFunctions->sendEmail($modelUser->email, $subject, $message, $modelUser->first_name . ' ' . $modelUser->last_name); //send mail if ($result === TRUE) { $modelBarcode->userid = $modelUser->id; $modelBarcode->start_time = date('Y-m-d H:i:s'); $temp_startTime = Yii::app()->extraFunctions->getFormatDate($modelBarcode->start_time); $modelBarcode->end_time = Yii::app()->extraFunctions->getEndTime($temp_startTime, 1); $modelBarcode->action = 'resetPassword'; $modelBarcode->save(); } } else { Yii::app()->user->setFlash('error', Yii::t('backend', 'Your request failed. Please contact administrators.')); } $this->redirect(array('site/login')); } else { Yii::app()->user->setFlash('error', Yii::t('backend', 'Your email has not registered in our system.')); $this->redirect('login'); } } }