/**
  * Handle the event.
  *
  * @param \Gitamin\Events\Issue\IssueHasAddedEvent $event
  *
  * @return void
  */
 public function handle(IssueWasAddedEvent $event)
 {
     if (!$event->issue->notify) {
         return false;
     }
     $issue = AutoPresenter::decorate($event->issue);
     $project = AutoPresenter::decorate($event->issue->project);
     // Only send emails for public issues.
     if ($event->issue->visible === 1) {
         foreach ($this->subscriber->all() as $subscriber) {
             $mail = ['email' => $subscriber->email, 'subject' => 'New issue reported.', 'has_project' => $event->issue->project ? true : false, 'project_name' => $project ? $project->name : null, 'status' => $issue->humanStatus, 'html_content' => $issue->formattedMessage, 'text_content' => $issue->message, 'token' => $subscriber->token, 'unsubscribe_link' => route('subscribe.unsubscribe', ['code' => $subscriber->verify_code])];
             $this->mailer->queue(['html' => 'emails.issues.new-html', 'text' => 'emails.issues.new-text'], $mail, function (Message $message) use($mail) {
                 $message->to($mail['email'])->subject($mail['subject']);
             });
         }
     }
 }
예제 #2
0
 /**
  * Shows the subscribers view.
  *
  * @return \Illuminate\View\View
  */
 public function indexAction()
 {
     return View::make('dashboard.subscribers.index')->withPageTitle(trans('dashboard.subscribers.subscribers') . ' - ' . trans('dashboard.dashboard'))->withSubscribers(Subscriber::all());
 }