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(); } } } }
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)); }
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; }
$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.'