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();
             }
         }
     }
 }
예제 #2
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;
 }
 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));
 }
예제 #4
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;
 }
예제 #5
0
파일: success.php 프로젝트: laptopsr/miinus
        $html2pdf->WriteHTML($this->renderPartial('kuitti_pdf', array('id' => $model->id), true));
        $content_PDF = $html2pdf->Output('kuitti.pdf', EYiiPdf::OUTPUT_TO_STRING);
        //$html2pdf->Output();
        //exit;
        $file = $model->id . '_' . date("Y_m_d", $_GET['TIMESTAMP']) . '.pdf';
        file_put_contents('kuitit/' . $file, $content_PDF);
        $maksettu_pvm = date("Y-m-d H:i:s", $_GET['TIMESTAMP']);
        Orders::model()->updatebypk($model->id, array('status' => 1, 'maksettu_pvm' => $maksettu_pvm));
        $message = "\n\t\tHei. Kiitos ostoksestasi miinus.fi ohjelmaan.<br>\n\t\tHinta sis.alv: " . $model->hinta . "<br>\n\t\tAikavali: " . date("d.m.Y", strtotime($model->start)) . " - " . date("d.m.Y", strtotime($model->stop)) . ".<br>\n\t\tKuitti on liitenä.\n\t\t<br><br>\n\t\t<b>Terveisin Miinus.fi</b>\n\t   ";
        $mail = new YiiMailer();
        //$mail->clearLayout();//if layout is already set in config
        $mail->setFrom('*****@*****.**', 'MIINUS.FI');
        $mail->setTo($model->sahkoposti);
        $mail->setSubject("Maksaminen onnistui.");
        $mail->setBody($message);
        $mail->setAttachment('kuitit/' . $file);
        if ($mail->send()) {
            echo '
		  <div class="alert alert-info">
			<h1>
			Maksaminen onnistui.<br>

<meta http-equiv="refresh" content="3;url=' . Yii::app()->request->baseUrl . '/index.php/site/ruoka_paivakirja" />

<h2>Sinut ohjataan ruokapäiväkirjaan.<br>
 Jos mitään ei tapahdu paina <a href="' . Yii::app()->request->baseUrl . '/index.php/site/ruoka_paivakirja">tästä</a>.</h2>

			</h1>
		  </div>
		  ';
            //Käyttökoodi on '.$model->koodi.'