public function processSurveys(array $surveys)
 {
     foreach ($surveys as $survey) {
         if ($survey->surveyInfo == null) {
             $info = new SurveyInfo();
             $info->surveyId = $survey->sid;
             $info->surveyType = $survey->location;
             $survey->surveyInfo = $info;
         }
         if ($survey->surveyInfo->isActive == null) {
             $survey->surveyInfo->isActive = $survey->isActive();
             $survey->surveyInfo->save();
         } else {
             if ($survey->surveyInfo->isActive && $survey->surveyInfo->isActive != $survey->isActive()) {
                 $attachedFiles = AttachedFile::model()->findAllByAttributes(array('fileType' => AttachedFile::FILE_TYPE_FULL_ANALYTICS, 'modelId' => $survey->sid, 'modelType' => get_class($survey)));
                 $linksToFiles = array();
                 $filesToAttachment = array();
                 foreach ($attachedFiles as $file) {
                     if ($file->attachType == AttachedFile::ATTACH_TYPE_LINK) {
                         $linksToFiles[$file->filePath] = $file->name;
                     } elseif ($file->attachType == AttachedFile::ATTACH_TYPE_FILE) {
                         $filesToAttachment[$file->filePath] = $file->fileName;
                     }
                 }
                 $exportHelper = new ExcelExportSurveyHelper($survey);
                 $res = $exportHelper->export();
                 if ($res != null) {
                     $excelFilepath = "/tmp/" . md5(time() . "_" . $survey->sid . "_" . $survey->location) . '.xls';
                     file_put_contents($excelFilepath, $res['content']);
                     $filesToAttachment[$excelFilepath] = 'Массив данных в Excel.xls';
                 }
                 $mail = new YiiMailer();
                 $mail->setFrom(Yii::app()->params['adminEmail'], 'Администраток ЛК');
                 $mail->setTo(Yii::app()->params['adminEmail']);
                 $mail->setSubject('Опрос перешёл в список завершённых.');
                 $mail->setView('surveyChangeActivity');
                 $mail->setData(array('survey' => $survey, 'linksToFiles' => $linksToFiles));
                 $mail->setAttachment($filesToAttachment);
                 echo "[" . date("Y-m-d H:i:s") . "]  try to send mail\n";
                 if (!$mail->send()) {
                     echo "[" . date("Y-m-d H:i:s") . "]  fail \n";
                     print_r($mail->getError());
                     echo PHP_EOL;
                 }
                 $survey->surveyInfo->isActive = $survey->isActive();
                 $survey->surveyInfo->save();
             }
         }
     }
 }
Esempio n. 2
0
 public function sendMailSorry($email)
 {
     try {
         $this->title = "Mail test";
         $mail = new YiiMailer();
         $mail->setView('sorry');
         $mail->setFrom('*****@*****.**', 'John Doe');
         $mail->setSubject('Confirm your order');
         $mail->setTo($email);
         $mail->send();
         var_dump($mail->getError());
     } catch (Exception $e) {
         var_dump($e->getMessage());
     }
 }
Esempio n. 3
0
 public static function sendRecoveryPasswordEmail($user, $newPassword)
 {
     $mail = new YiiMailer();
     $mail->setLayout('mail');
     $mail->setView('recoveryPassword');
     $mail->setData(array('administrator' => $user, 'new_password' => $newPassword));
     $mail->setFrom('*****@*****.**', Yii::app()->params['SITE_NAME']);
     $mail->setTo($user->username);
     $mail->setSubject(Yii::t(Yii::app()->params['TRANSLATE_FILE'], 'Instruction to recovery password from ' . Yii::app()->params['SITE_NAME'] . ' system'));
     if ($mail->send()) {
         return null;
     } else {
         return $mail->getError();
     }
 }
Esempio n. 4
0
 public static function emailStudentActivation($user, $hash)
 {
     $student = Student::model()->with('college', 'program', 'educationLevel')->findByPk($user->user_id);
     $mail = new YiiMailer('studentActivation', array('student' => $student, 'user' => $user, 'hash' => $hash));
     $mail->render();
     $mail->From = Yii::app()->params['nonReplyEmail'];
     $mail->FromName = Yii::app()->name;
     $mail->Subject = Yii::app()->name . ' - Student account verification';
     $mail->AddAddress(YII_DEBUG ? Yii::app()->params['adminEmail'] : $user->email);
     if ($mail->Send()) {
         $mail->ClearAddresses();
         Yii::log("Mail sent via " . Yii::app()->params['nonReplyEmail'], 'log');
         Yii::log("Mail sent successfully to " . (YII_DEBUG ? Yii::app()->params['adminEmail'] : $user->email), 'log');
         return true;
     } else {
         Yii::log("Email error: " . $mail->getError(), 'log');
         return false;
     }
 }
Esempio n. 5
0
 public function send()
 {
     $mailer = new YiiMailer();
     $maildata = $this->args;
     if ($this->view) {
         $mailer->setView($this->view);
     }
     $mailer->setData($maildata);
     $mailer->setFrom($this->from, $this->fromUser);
     $mailer->setTo($this->to);
     $mailer->setSubject($this->subject);
     $mailer->setBody($this->body);
     $sent = $mailer->send();
     if ($sent) {
         return array('status' => true, 'error' => '');
     } else {
         return array('status' => false, 'error' => $mailer->getError());
     }
 }
Esempio n. 6
0
 public function run($args)
 {
     //Do some cron processing...
     $cronResult = "Cron job finished successfuly";
     $mail = new YiiMailer();
     //use "cron" view from views/mail
     $mail->setView('cron');
     $mail->setData(array('message' => $cronResult, 'name' => get_class($this), 'description' => 'Cron job', 'mailer' => $mail));
     //set properties
     $mail->setFrom('*****@*****.**', 'Console application');
     $mail->setSubject($cronResult);
     $mail->setTo('*****@*****.**');
     $mail->setAttachment(Yii::getPathOfAlias('webroot.files') . '/yii-1.1.0-validator-cheatsheet.pdf');
     //send
     if ($mail->send()) {
         echo 'Mail sent successfuly';
     } else {
         echo 'Error while sending email: ' . $mail->getError();
     }
     echo PHP_EOL;
 }
Esempio n. 7
0
 /**
  * Displays the contact page
  */
 public function actionContact()
 {
     $model = new ContactForm();
     if (Yii::app()->request->isPostRequest) {
         $model->attributes = Yii::app()->request->getPost('ContactForm');
         if ($model->validate()) {
             $mail = new YiiMailer('contact', array('message' => $model->body, 'name' => $model->name, 'phone' => $model->phone, 'description' => Yii::t('site', 'Contact form')));
             $mail->setFrom($model->email, $model->name);
             $mail->setSubject(Yii::t('site', 'Контактная форма'));
             $mail->setTo('*****@*****.**');
             if ($mail->send()) {
                 Yii::app()->user->setFlash('success', Yii::t('site', 'Thank you for contacting us. We will respond to you as soon as possible.'));
                 $this->refresh();
             } else {
                 Yii::app()->user->setFlash('danger', $mail->getError());
                 //                    Yii::app()->user->setFlash('danger', Yii::t('site', 'Something went wrong, please, try again later'));
             }
         }
     }
     $this->render('contact', array('model' => $model));
 }
Esempio n. 8
0
 /**
  * Displays the contact page
  */
 public function actionContact()
 {
     $model = new ContactForm();
     if (isset($_POST['ContactForm'])) {
         $model->attributes = $_POST['ContactForm'];
         if ($model->validate()) {
             //use 'contact' view from views/mail
             $mail = new YiiMailer('contact', array('message' => $model->body, 'name' => $model->name, 'description' => 'Contact form'));
             //set properties
             $mail->setFrom($model->email, $model->name);
             $mail->setSubject($model->subject);
             $mail->setTo(Yii::app()->params['adminEmail']);
             //send
             if ($mail->send()) {
                 Yii::app()->user->setFlash('contact', 'Thank you for contacting us. We will respond to you as soon as possible.');
             } else {
                 Yii::app()->user->setFlash('error', 'Error while sending email: ' . $mail->getError());
             }
             $this->refresh();
         }
     }
     $this->render('contact', array('model' => $model));
 }
Esempio n. 9
0
 public static function sendMail($to, $subject, $view, $params)
 {
     if ($view != "empty") {
         $template = Template::model()->findByName($view);
         if ($template != null) {
             self::sendMailWithContent($to, $subject, $template->applyParams($params));
             return;
         }
     }
     $mail = new YiiMailer($view, $params);
     //set properties
     $setting = Yii::app()->params["accounts"]["mail"];
     $mail->setFrom($setting["adminEmail"], $setting["admin"]);
     $mail->setSubject($subject);
     $mail->setTo($to);
     $mail->IsSMTP();
     $mail->Host = $setting["host"];
     $mail->SMTPDebug = 0;
     $mail->SMTPAuth = true;
     $mail->SMTPSecure = $setting["smtp"]["secure"];
     $mail->Host = $setting["smtp"]["host"];
     $mail->Port = $setting["smtp"]["port"];
     $mail->Username = $setting["smtp"]["username"];
     $mail->Password = $setting["smtp"]["password"];
     //send
     if ($mail->send()) {
         return;
     } else {
         echo "Error while sending email: " . $mail->getError();
         return false;
     }
 }
 public function actionCreate()
 {
     //        if (!Yii::app()->user->checkAccess('administrator')) {
     //            throw new Http403Exception();
     //        }
     $wizard = PublicSurveyRequestWizard::loadWizard();
     $surveyRequest = new UserSurveyRequest();
     //SurveyRequestHelper::loadSurveyRequestOfCurrentUser();
     if (Yii::app()->request->isPostRequest) {
         $successRequest = true;
         if ($wizardPost = Yii::app()->request->getPost(get_class($wizard->current()))) {
             if (!empty($_FILES[get_class($wizard->current())])) {
                 foreach (array_keys($_FILES[get_class($wizard->current())]["name"]) as $fileAttrName) {
                     $wizard->current()->{$fileAttrName} = CUploadedFile::getInstance($wizard->current(), $fileAttrName);
                 }
             }
             $wizard->setCurrentData($wizardPost);
             if (Yii::app()->request->getPost('next')) {
                 if ($successRequest = $wizard->current()->validate()) {
                     $wizard->next();
                 }
             }
             if (Yii::app()->request->getPost('prev')) {
                 $wizard->prev(true);
             }
             if (Yii::app()->request->getPost('start')) {
                 if ($successRequest = $wizard->current()->validate()) {
                     $surveyRequest = $this->saveSurveyRequest($wizard, $surveyRequest);
                     $surveyRequest->status = UserSurveyRequest::STATUS_WAITING;
                     $surveyRequest->save();
                     foreach ($wizard->getFiles() as $name => $file) {
                         $attributes = array('name' => $name, 'fileType' => AttachedFile::FILE_TYPE_SIMPLE_ATTACH, 'attachType' => AttachedFile::ATTACH_TYPE_FILE);
                         AttachedFileHelper::uploadFile(new AttachedFile(), $attributes, get_class($surveyRequest), $surveyRequest->id, $file);
                     }
                     $mail = new YiiMailer();
                     $mail->setFrom(Yii::app()->params['noReplyEmail']);
                     $mail->setTo(Yii::app()->params['notificationEmail']);
                     $mail->setSubject('Создание нового брифа');
                     $mail->setView('surveyCreated');
                     $mail->setData(array('controller' => $this, 'wizard' => $wizard, 'surveyRequest' => $surveyRequest));
                     $filesToAttachment = array();
                     foreach ($surveyRequest->files as $file) {
                         $filesToAttachment[$file->filePath] = $file->name;
                     }
                     $mail->setAttachment($filesToAttachment);
                     if (!$mail->send()) {
                         error_log('Cannot send email about survey: ' . $mail->getError());
                     }
                     Yii::app()->user->setFlash('success', "Запрос на создание проекта успешно отправлен. Специалист BCGroup свяжется с Вами в течение дня.");
                     $wizard = new PublicSurveyRequestWizard();
                 }
             }
         }
         if (Yii::app()->request->getPost('save')) {
             $this->saveSurveyRequest($wizard, $surveyRequest);
         } else {
             $wizard->temporarySave();
         }
         if ($successRequest) {
             $this->redirect('create');
         }
     }
     $this->layout = 'publicMain';
     $this->render("create", array('wizard' => $wizard));
 }
Esempio n. 11
0
 public function SendMailConfirm()
 {
     try {
         $data = BookService::model()->findByAttributes(array('id' => Yii::app()->session['order_id']));
         $this->title = "Mail test";
         $mail = new YiiMailer();
         $mail->setView('confirm');
         $mail->setData(array('data' => $data));
         $mail->setFrom('*****@*****.**', 'John Doe');
         $mail->setSubject('Confirm your order');
         $mail->setTo($data->email);
         $mail->send();
         var_dump($mail->getError());
     } catch (Exception $e) {
         var_dump($e->getMessage());
     }
 }
Esempio n. 12
0
 public function sendplainmail($to, $from, $messagedata, $attachment = array(), $test = false)
 {
     $mail = new YiiMailer('default', array('message' => $messagedata->mb_message));
     //set properties
     if (is_object($to)) {
         $mail->setTo($to->u_email);
     } else {
         $mail->setTo($to);
     }
     if (is_object($from)) {
         $mail->setFrom($from->u_email);
     } else {
         $mail->setFrom($from);
     }
     $mail->setSubject($messagedata->mb_subject);
     if (!empty($attachment)) {
         $file = $attachment['file'];
         $filename = $attachment['filename'];
         $mail->setAttachment(array($file => $filename));
     }
     //send
     if ($mail->send() || $_SERVER['HTTP_HOST'] == 'localhost') {
         $messagedata->save();
         $r = true;
     } else {
         Yii::app()->user->setFlash('error', 'Error while sending email: ' . $mail->getError());
         $r = false;
     }
     return $r;
 }
Esempio n. 13
0
 public function register()
 {
     if (!$this->validate()) {
         return false;
     }
     $user = new User();
     $user->setFullName($this->fio);
     $user->username = $this->email;
     $user->email = $this->email;
     $user->password = md5($this->password);
     $user->passwordConfirm = md5($this->passwordConfirmation);
     $user->organizationName = $this->organizationName;
     $user->organizationPhone = $this->organizationPhone;
     $user->mobilePhone = $this->mobilePhone;
     $user->isKnownFromSearch = $this->isKnownFromSearch;
     $user->isKnownFromRecommendation = $this->isKnownFromRecommendation;
     $user->isKnownFromInetAdvert = $this->isKnownFromInetAdvert;
     $user->isKnownFromMaps = $this->isKnownFromMaps;
     $user->isKnownFromOther = $this->isKnownFromOther;
     if (!$user->save()) {
         return false;
     }
     $auth = Yii::app()->authManager;
     $defaultRole = $auth->getAuthItem(User::DEFAULT_ROLE);
     if ($defaultRole) {
         $auth->assign(User::DEFAULT_ROLE, $user->id);
     }
     $mail = new YiiMailer();
     $mail->setFrom(Yii::app()->params['noReplyEmail']);
     $mail->setTo(Yii::app()->params['notificationEmail']);
     $mail->setSubject('Заявка на регистрацию нового пользователя');
     $mail->setView('userRegistration');
     $mail->setData(array('user' => $user));
     if (!$mail->send()) {
         error_log('Cannot send email about registered user: ' . $mail->getError());
     }
     return true;
 }
Esempio n. 14
0
 public function actionDeactivate($id)
 {
     $user = $this->loadModel($id);
     if ($user->id == Yii::app()->user->id) {
         throw new Http403Exception();
     }
     $user->deactivate();
     $mail = new YiiMailer();
     $mail->setFrom(Yii::app()->params['noReplyEmail']);
     $mail->setTo($user->email);
     $mail->setSubject('Учётная запись заблокирована.');
     $mail->setView('userDeactivated');
     $mail->setData(array('user' => $user));
     if (!$mail->send()) {
         error_log('Cannot send email about deactivated user: '******'view', 'id' => $user->id));
 }