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; }
/** * 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); } }
protected function render($view, $data) { return CBaseController::renderInternal(Yii::app()->basePath . '/widgets/MainMenu/views/' . $view . '.php', array('data' => $data, 'controller' => $this->current_controller), true); }