예제 #1
0
 public function send()
 {
     //		$this->body = (new CController('__MAIL__'))->renderPartial( Yii::app()->basePath .'application.widgets.mailSender.views.'.$this->view,$this->dataArray, true);
     $this->body = CBaseController::renderInternal(Yii::app()->basePath . '/widgets/mailSender/views/' . $this->view . '.php', $this->dataArray, true);
     $mailer = Yii::createComponent('application.extensions.mailer.EMailer');
     $mailer->From = $this->from;
     $mailer->FromName = $this->from_name;
     if (is_array($this->recipient)) {
         foreach ($this->recipient as $key => $recipient) {
             $mailer->AddAddress($recipient);
         }
     } elseif (is_string($this->recipient)) {
         $mailer->AddAddress($this->recipient);
     }
     $mailer->isHTML($this->html);
     $mailer->Subject = $this->subject;
     $mailer->Body = $this->body;
     $mailer->CharSet = 'UTF-8';
     if ($this->attachments) {
         foreach ($this->attachments as $key => $attachment) {
             $mailer->AddAttachment($attachment['file_path'], $attachment['file_name']);
         }
     }
     $result = $mailer->Send();
     return $result;
 }
예제 #2
0
 /**
  * Renders a view file.
  * This method is required by {@link IViewRenderer}.
  * @param CBaseController $context the controller or widget who is rendering the view file.
  * @param string $sourceFile the view file path
  * @param mixed $data the data to be passed to the view
  * @param boolean $return whether the rendering result should be returned
  * @return mixed the rendering result, or null if the rendering result is not needed.
  */
 public function renderFile($context, $sourceFile, $data, $return)
 {
     if (!is_file($sourceFile) || ($file = realpath($sourceFile)) === false) {
         throw new CException(Yii::t('yii', 'View file "{file}" does not exist.', array('{file}' => $sourceFile)));
     }
     $viewFile = $this->getViewFile($sourceFile);
     if (@filemtime($sourceFile) > @filemtime($viewFile)) {
         $this->generateViewFile($sourceFile, $viewFile);
         @chmod($viewFile, $this->filePermission);
     }
     return $context->renderInternal($viewFile, $data, $return);
 }
 public function actionMilestonesPending()
 {
     $Milestones = Milestones::model()->MilestoneWithPendingTasks();
     foreach ($Milestones as $milestone) {
         $Tasks = Tasks::model()->findTaskByMilestone($milestone->milestone_id);
         $str = CBaseController::renderInternal(Yii::app()->params['templatesPath'] . '/milestones/overdueMilestones.php', array('user' => $milestone->Users->completeName, 'tasks' => $Tasks, 'applicationName' => Yii::app()->name, 'applicationUrl' => "http://localhost/celestic/" . Yii::app()->request->baseUrl), true);
         $subject = Yii::t('email', 'overdueMilestone');
         Yii::import('application.extensions.phpMailer.yiiPhpMailer');
         $mailer = new yiiPhpMailer();
         $mailer->pushMail($subject, $str, array('name' => $milestone->Users->CompleteName, 'email' => $milestone->Users->user_email), Emails::PRIORITY_NORMAL);
     }
 }
예제 #4
0
 protected function render($view, $data)
 {
     return CBaseController::renderInternal(Yii::app()->basePath . '/widgets/MainMenu/views/' . $view . '.php', array('data' => $data, 'controller' => $this->current_controller), true);
 }