Modules\Newsletter\Controllers\Backend\NewsletterController::store PHP Method

store() public method

Send newsletters to all subscribers
public store ( ) : View
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.');
    }