ok
Direktori : /home2/selectio/www/limpiar.in.net/app/Http/Controllers/ |
Current File : /home2/selectio/www/limpiar.in.net/app/Http/Controllers/NewsletterController.php |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Subscriber; use Mail; use App\Mail\EmailManager; class NewsletterController extends Controller { public function __construct() { // Staff Permission Check $this->middleware(['permission:send_newsletter'])->only('index'); } public function index(Request $request) { $users = User::all(); $subscribers = Subscriber::all(); return view('backend.marketing.newsletters.index', compact('users', 'subscribers')); } public function send(Request $request) { if (env('MAIL_USERNAME') != null) { //sends newsletter to selected users if ($request->has('user_emails')) { foreach ($request->user_emails as $key => $email) { $array['view'] = 'emails.newsletter'; $array['subject'] = $request->subject; $array['from'] = env('MAIL_FROM_ADDRESS'); $array['content'] = $request->content; try { Mail::to($email)->queue(new EmailManager($array)); } catch (\Exception $e) { //dd($e); } } } //sends newsletter to subscribers if ($request->has('subscriber_emails')) { foreach ($request->subscriber_emails as $key => $email) { $array['view'] = 'emails.newsletter'; $array['subject'] = $request->subject; $array['from'] = env('MAIL_FROM_ADDRESS'); $array['content'] = $request->content; try { Mail::to($email)->queue(new EmailManager($array)); } catch (\Exception $e) { //dd($e); } } } } else { flash(translate('Please configure SMTP first'))->error(); return back(); } flash(translate('Newsletter has been send'))->success(); return redirect()->route('admin.dashboard'); } public function testEmail(Request $request){ $array['view'] = 'emails.newsletter'; $array['subject'] = "SMTP Test"; $array['from'] = env('MAIL_FROM_ADDRESS'); $array['content'] = "This is a test email."; try { Mail::to($request->email)->queue(new EmailManager($array)); } catch (\Exception $e) { dd($e); } flash(translate('An email has been sent.'))->success(); return back(); } }