public function actionPendingMails() { // verify if are emails pending to send $emails = Emails::model()->findAll(array('condition' => 't.email_status = 0', 'limit' => Yii::app()->params['mailSendMultiples'])); if (count($emails) > 0) { foreach ($emails as $email) { Yii::import('application.extensions.phpMailer.yiiPhpMailer'); $mailer = new yiiPhpMailer(); if ($mailer->Ready($email->email_subject, $email->email_body, array('email' => $email->email_toMail, 'name' => $email->email_toName), $email->email_priority)) { $email->email_status = 1; $email->email_sentDate = date("Y-m-d G:i:s"); $email->save(false); } } } }
public function actionRecover() { // create ForgottenPasswordForm object $model = new ForgottenPasswordForm(); // verify if ForgottenPasswordForm was used if (isset($_POST['ForgottenPasswordForm'])) { $model->attributes = $_POST['ForgottenPasswordForm']; // validate model if ($model->validate()) { // criteria object used to find all user data information $userCriteria = new CDbCriteria(); $userCriteria->condition = "user_email = :user_email"; $userCriteria->params = array(':user_email' => $model->user_email); $CountUser = Users::model()->count($userCriteria); $transaction = Yii::app()->db->beginTransaction(); if ($CountUser > 0) { $user = Users::model()->find($userCriteria); // -- Password Generator $vowels = 'aeiou'; $consonants = 'bcdfghjklmnpqrstvwxyz'; $password = ''; $alt = time() % 2; for ($i = 0; $i < 10; $i++) { if ($alt == 1) { $password .= $consonants[rand() % strlen($consonants)]; $alt = 0; } else { $password .= $vowels[rand() % strlen($vowels)]; $alt = 1; } } $user->user_password = md5($password); if ($user->save(false)) { $str = $this->renderPartial('//templates/users/PasswordChanged', array('userRequest' => $user->CompleteName, 'user_email' => $user->user_email, 'user_password' => $password, 'applicationName' => Yii::app()->name, 'applicationUrl' => "http://" . $_SERVER['SERVER_NAME'] . Yii::app()->request->baseUrl), true); $subject = Yii::t('email', 'PasswordReset'); Yii::import('application.extensions.phpMailer.yiiPhpMailer'); $mailer = new yiiPhpMailer(); $mailer->Ready($subject, $str, array('name' => $user->CompleteName, 'email' => $user->user_email), Emails::PRIORITY_NORMAL); Yii::app()->user->setFlash('PasswordSuccessChanged', Yii::t('site', 'PasswordSuccessChanged')); $this->refresh(); } else { throw new CException('Error #000001'); } } else { throw new CException(Yii::t('site', 'EmailNotExist')); } } } $this->layout = 'login'; $this->render('recover', array('model' => $model)); }
private function sendEmailAlert($attributes) { $recipients = Users::model()->with('Companies.Projects')->findAll(array('condition' => 'Projects.project_id = ' . $attributes['project_id'], 'together' => true)); $recipientsList = array(); foreach ($recipients as $user) { array_push($recipientsList, $user->user_email); } $str; Yii::import('application.extensions.miniTemplator.miniTemplator'); $t = new miniTemplator(); $t->readTemplateFromFile("templates/ActivityCreation.tpl"); $t->setVariable("applicationName", Yii::app()->name); $t->setVariable("project", Projects::model()->findByPk($attributes['project_id'])->project_name); $t->setVariable("logActivity", $attributes['log_activity']); $t->setVariable("activityCreatedByUser", Users::model()->findByPk($attributes['user_id'])->CompleteName); $t->setVariable("date", $attributes['log_date']); $t->setVariable("applicationUrl", "http://" . $_SERVER['SERVER_NAME'] . Yii::app()->request->baseUrl); $t->generateOutputToString($str); $subject = "Activity Notification"; Yii::import('application.extensions.phpMailer.yiiPhpMailer'); $mailer = new yiiPhpMailer(); $mailer->Ready($subject, $str, $recipientsList); }