/**
  * Handle the event.
  *
  * @param \CachetHQ\Cachet\Events\CustomerHasSubscribedEvent $event
  */
 public function handle(CustomerHasSubscribedEvent $event)
 {
     $mail = ['email' => $event->subscriber->email, 'subject' => 'Confirm your subscription.', 'link' => route('subscribe-verify', ['code' => $event->subscriber->verify_code]), 'appUrl' => env('APP_URL')];
     $this->mailer->queue(['html' => 'emails.subscribers.verify-html', 'text' => 'emails.subscribers.verify-text'], $mail, function (Message $message) use($mail) {
         $message->to($mail['email'])->subject($mail['subject']);
     });
 }
 /**
  * Handle the event.
  *
  * @param \CachetHQ\Cachet\Events\UserWasInvitedEvent $event
  *
  * @return void
  */
 public function handle(UserWasInvitedEvent $event)
 {
     $mail = ['email' => $event->invite->email, 'subject' => 'You have been invited.', 'link' => route('signup.invite', ['code' => $event->invite->code]), 'app_url' => env('APP_URL')];
     $this->mailer->queue(['html' => 'emails.users.invite-html', 'text' => 'emails.users.invite-text'], $mail, function (Message $message) use($mail) {
         $message->to($mail['email'])->subject($mail['subject']);
     });
 }
 /**
  * Handle the user has rage quit event.
  *
  * @param \StyleCI\StyleCI\Events\User\UserHasRageQuitEvent $event
  *
  * @return void
  */
 public function handle(UserHasRageQuitEvent $event)
 {
     $user = $event->user;
     $mail = ['email' => $user->email, 'name' => AutoPresenter::decorate($user)->first_name, 'subject' => 'Account Deleted'];
     $this->mailer->queue(['html' => 'emails.html.goodbye', 'text' => 'emails.text.goodbye'], $mail, function (Message $message) use($mail) {
         $message->to($mail['email'])->subject($mail['subject']);
     });
 }
 /**
  * Handle the user has signed up event.
  *
  * @param \StyleCI\StyleCI\Events\User\UserHasSignedUpEvent $event
  *
  * @return void
  */
 public function handle(UserHasSignedUpEvent $event)
 {
     $user = $event->user;
     $mail = ['email' => $user->email, 'name' => AutoPresenter::decorate($user)->first_name, 'subject' => 'Welcome'];
     $this->mailer->queue('emails.welcome', $mail, function (Message $message) use($mail) {
         $message->to($mail['email'])->subject($mail['subject']);
     });
 }
 /**
  * Handle the event.
  *
  * @param \CachetHQ\Cachet\Events\MaintenanceHasScheduledEvent $event
  */
 public function handle(MaintenanceHasScheduledEvent $event)
 {
     $data = $this->presenter->decorate($event->incident);
     foreach ($this->subscriber->all() as $subscriber) {
         $mail = ['email' => $subscriber->email, 'subject' => 'Scheduled maintenance.', 'status' => $data->humanStatus, 'htmlContent' => $data->formattedMessage, 'textContent' => $data->message, 'token' => $subscriber->token, 'unsubscribeLink' => route('unsubscribe', ['code' => $subscriber->token]), 'appUrl' => env('APP_URL')];
         $this->mailer->queue(['html' => 'emails.incidents.maintenance-html', 'text' => 'emails.incidents.maintenance-text'], $mail, function (Message $message) use($mail) {
             $message->to($mail['email'])->subject($mail['subject']);
         });
     }
 }
Example #6
0
 /**
  * Send an e-mail.
  *
  * @param string $toEmail
  * @param string $toName
  * @param string $subject
  * @param string $view
  * @param array $data
  * @param callable $options
  *
  * @return void
  */
 public function send($toEmail, $toName, $subject, $view, array $data = array(), $options = null)
 {
     $this->mail->queue($view, $data, function (Message $message) use($toEmail, $toName, $subject, $options) {
         $message->to($toEmail, $toName)->subject($subject);
         // Allow the caller to run additional functions
         // on the $msg SwiftMailer object (cc, bcc, attach, ...)
         if ($options && is_callable($options)) {
             call_user_func($options, $message);
         }
     });
 }
 /**
  * Handle the event.
  *
  * @param \CachetHQ\Cachet\Events\MaintenanceHasScheduledEvent $event
  *
  * @return void
  */
 public function handle(MaintenanceWasScheduledEvent $event)
 {
     if (!$event->incident->notify) {
         return false;
     }
     $data = AutoPresenter::decorate($event->incident);
     foreach ($this->subscriber->all() as $subscriber) {
         $mail = ['email' => $subscriber->email, 'subject' => 'Scheduled maintenance.', 'status' => $data->humanStatus, 'html_content' => $data->formattedMessage, 'text_content' => $data->message, 'scheduled_at' => $data->scheduled_at_formatted, 'token' => $subscriber->token, 'unsubscribe_link' => route('subscribe.unsubscribe', ['code' => $subscriber->verify_code]), 'app_url' => env('APP_URL')];
         $this->mailer->queue(['html' => 'emails.incidents.maintenance-html', 'text' => 'emails.incidents.maintenance-text'], $mail, function (Message $message) use($mail) {
             $message->to($mail['email'])->subject($mail['subject']);
         });
     }
 }
 /**
  * Notify collaborators of unsuccessful analyses.
  *
  * @param \StyleCI\StyleCI\Models\Analysis $analysis
  * @param \StyleCI\StyleCI\Models\Repo     $repo
  *
  * @return void
  */
 public function notifyNotSuccess(Analysis $analysis, Repo $repo)
 {
     $mail = ['repo' => $repo->name, 'commit' => $analysis->message, 'branch' => $analysis->branch, 'link' => route('analysis', AutoPresenter::decorate($analysis)->id)];
     if (in_array($analysis->status, Analysis::HAS_FAILED, true)) {
         $status = 'failed';
         $mail['subject'] = "[{$repo->name}] Analysis Failed";
     } else {
         switch ($analysis->status) {
             case Analysis::CONFIG_ISSUES:
                 $status = 'misconfigured';
                 $mail['subject'] = "[{$repo->name}] Analysis Misconfigured";
                 break;
             case Analysis::ACCESS_ISSUES:
                 $status = 'access';
                 $mail['subject'] = "[{$repo->name}] Analysis Errored";
                 break;
             case Analysis::TIMEOUT:
                 $status = 'timeout';
                 $mail['subject'] = "[{$repo->name}] Analysis Timed Out";
                 break;
             default:
                 $status = 'errored';
                 $mail['subject'] = "[{$repo->name}] Analysis Errored";
         }
     }
     foreach ($this->userRepository->collaborators($repo) as $user) {
         $mail['email'] = $user->email;
         $mail['name'] = AutoPresenter::decorate($user)->first_name;
         $this->mailer->queue(["emails.html.{$status}", "emails.text.{$status}"], $mail, function (Message $message) use($mail) {
             $message->to($mail['email'])->subject($mail['subject']);
         });
     }
 }
Example #9
0
 /**
  * Sent the thanks message.
  *
  * @param string $name
  * @param string $email
  * @param string $quote
  *
  * @return void
  */
 protected function sendThanks($name, $email, $quote)
 {
     $mail = ['email' => $email, 'subject' => $this->name . ' - Notification', 'platform' => $this->name, 'url' => $this->home, 'name' => $name, 'quote' => $quote];
     $this->mail->queue('contact::thanks', $mail, function ($message) use($mail) {
         $message->to($mail['email'])->subject($mail['subject']);
     });
 }
 /**
  * Send notification to subscriber.
  *
  * @param \CachetHQ\Cachet\Bus\Events\MaintenanceWasScheduledEvent $event
  * @param \CachetHQ\Cachet\Models\Subscriber                       $subscriber
  *
  * @return \Illuminate\Database\Eloquent\Collection
  */
 public function notify(MaintenanceWasScheduledEvent $event, $subscriber)
 {
     $incident = AutoPresenter::decorate($event->incident);
     $component = AutoPresenter::decorate($event->incident->component);
     $mail = ['email' => $subscriber->email, 'subject' => trans('cachet.subscriber.email.maintenance.subject', ['name' => $incident->name]), 'has_component' => $event->incident->component ? true : false, 'component_name' => $component ? $component->name : null, 'name' => $incident->name, 'timestamp' => $incident->scheduled_at_formatted, 'status' => $incident->human_status, 'html_content' => $incident->formattedMessage, 'text_content' => $incident->message, 'token' => $subscriber->token, 'manage_link' => route('subscribe.manage', ['code' => $subscriber->verify_code]), 'unsubscribe_link' => route('subscribe.unsubscribe', ['code' => $subscriber->verify_code])];
     $this->mailer->queue(['html' => 'emails.incidents.maintenance-html', 'text' => 'emails.incidents.maintenance-text'], $mail, function (Message $message) use($mail) {
         $message->to($mail['email'])->subject($mail['subject']);
     });
 }
Example #11
0
 /**
  * Handle the repo event.
  *
  * @param \StyleCI\StyleCI\Events\Repo\RepoEventInterface $event
  *
  * @return void
  */
 public function handle(RepoEventInterface $event)
 {
     $repo = $event->repo;
     $mail = ['repo' => $repo->name];
     if ($event instanceof RepoWasDisabledEvent) {
         $mail['subject'] = "[{$repo->name}] Disabled";
         $view = 'disabled';
     } else {
         $mail['subject'] = "[{$repo->name}] Enabled";
         $mail['link'] = route('repo', $repo->id);
         $view = 'enabled';
     }
     foreach ($this->userRepository->collaborators($repo) as $user) {
         $mail['email'] = $user->email;
         $mail['name'] = AutoPresenter::decorate($user)->first_name;
         $this->mailer->queue("emails.{$view}", $mail, function (Message $message) use($mail) {
             $message->to($mail['email'])->subject($mail['subject']);
         });
     }
 }