protected function loadModel($id)
 {
     $attachedFile = AttachedFile::model()->findByPk($id);
     if (!$attachedFile) {
         throw new CHttpException(404);
     }
     return $attachedFile;
 }
 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();
             }
         }
     }
 }
Пример #3
0
        </thead>
        <tbody>
            <?php 
    foreach ($model->attachedFiles as $attachedFile) {
        ?>
                <tr>
                    <td><?php 
        echo $attachedFile->name;
        ?>
</td>
                    <td><?php 
        echo AttachedFile::model()->getAttributeLabel($attachedFile->attachType);
        ?>
</td>
                    <td><?php 
        echo AttachedFile::model()->getAttributeLabel($attachedFile->fileType);
        ?>
</td>
                    <td>
                        <?php 
        echo CHtml::link($attachedFile, $attachedFile->getURL(), array('target' => '_blank'));
        ?>
                    </td>
                    <td>
                        <?php 
        $deleteFileUrl = Yii::app()->createUrl('/attachedFile/delete', array('id' => $attachedFile->id));
        ?>
                        <a class="delete-link" data-title="Удалить" title="" data-toggle="tooltip" href="<?php 
        echo $deleteFileUrl;
        ?>
" data-original-title="Удалить">