예제 #1
0
 /**
  * Send newsletters to all subscribers
  * @return View
  */
 public function store()
 {
     View::addNamespace('newsletter-email', app_path() . "/StrongCode/Newsletter/Views/{$this->current_theme}/public");
     $input = Input::all();
     if (isset($input['form_close'])) {
         return Redirect::to("{$this->link_type}/modules/newsletters");
     }
     $subscribers = NewsletterSubscriber::get()->fetch('email');
     Newsletter::create($input);
     try {
         foreach ($subscribers as $subscriber) {
             Mail::queue('newsletter-email::newsletter', $input, function ($email_message) use($input, $subscriber) {
                 $email_message->from(Config::get('mail.username'));
                 $email_message->to($subscriber)->subject($input['subject']);
             });
         }
     } catch (Exception $e) {
         return Redirect::back()->withInput()->with('error_message', $e->getMessage());
     }
     $redirect = isset($input['form_save']) ? "{$this->link_type}/modules/newsletters" : "{$this->link_type}/modules/newsletters/create";
     return Redirect::to($redirect)->with('success_message', 'The newsletter was sent.');
 }