public function destroyByEmail(SubscriberRemoveRequest $request)
 {
     $email = $request->only('email');
     Subscriber::where(['email' => $email['email']])->delete();
     Activity::log('User Unsubscribed');
     return back()->withSuccess("Sorry To See You Go! :(");
 }
示例#2
0
文件: SendMailer.php 项目: EMT/see-do
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $cities = City::all();
     // Grab all the cities and then do a for each.
     // run this for each of them.
     foreach ($cities as $city) {
         $events = Event::where('city_id', '=', $city->id)->where('time_end', '>=', date('Y-m-d H:i:s'))->where('time_end', '<=', date('Y-m-d H:i:s', strtotime('+2 weeks')))->orderBy('time_start', 'asc')->get();
         if (!count($events)) {
             $this->comment('No events found for ' . $city->name . '. Mailer not sent.');
             continue;
         }
         $categories = Category::orderBy('title', 'asc')->get();
         if ($this->option('email')) {
             $subscriber = new Subscriber();
             $subscriber->name = 'Test User';
             $subscriber->email = $this->option('email');
             $subscribers = [$subscriber];
             $this->comment('Sent test email to ' . $this->option('email'));
         } else {
             $subscribers = Subscriber::where('city_id', '=', $city->id)->get();
         }
         $count = 0;
         foreach ($subscribers as $subscriber) {
             Mail::send('emails.subscribers.mailer', ['subscriber' => $subscriber, 'events' => $events, 'categories' => $categories, 'city' => $city], function ($m) use($subscriber, $city) {
                 $m->from('*****@*****.**', 'See+Do')->to($subscriber->email, $subscriber->name)->subject('Weekly Round-Up of Things to See+Do in ' . $city->name)->getHeaders()->addTextHeader('X-MC-Subaccount', 'see-do');
             });
             $count++;
         }
         $this->comment('Sent to ' . $count . ' email addresses in ' . $city->name . '.');
         $count = 0;
     }
 }
 private function createMessage($phone, $message)
 {
     $subscriber = Subscriber::where('phone_number', $phone)->first();
     if ($subscriber) {
         return $this->generateOutputMessage($subscriber, $message);
     }
     $subscriber = new Subscriber();
     $subscriber->phoneNumber = $phone;
     $subscriber->subscribed = false;
     $subscriber->save();
     return trans('subscription.thanks');
 }
示例#4
0
 public function created($model)
 {
     // ADD TO SUBSCRIBER
     if ($model->email) {
         $subscriber = \App\Subscriber::where('user_id', '=', $model->id)->first();
         if (!$subscriber) {
             $subscriber = new \App\Subscriber();
             $subscriber->email = $model->email;
             $subscriber->is_subscribe = 1;
             $subscriber->user_id = $model->id;
             $subscriber->save();
         }
     }
     // SEND WELCOME EMAIL
     event(new \App\Events\NewMemberRegistered($model));
 }
示例#5
0
 /**
  * Define your route model bindings, pattern filters, etc.
  *
  * @param \Illuminate\Routing\Router $router
  *
  * @return void
  */
 public function boot(Router $router)
 {
     $router->bind('user', function ($value) {
         return \App\User::whereSlug($value)->firstOrFail();
     });
     $router->bind('category', function ($value) {
         return \App\Category::whereSlug($value)->firstOrFail();
     });
     $router->bind('event', function ($value) {
         return \App\Event::whereSlug($value)->firstOrFail();
     });
     $router->bind('city', function ($value) {
         return \App\City::where('iata', $value)->firstOrFail();
     });
     $router->bind('subscriber', function ($value) {
         return \App\Subscriber::where('token', $value)->firstOrFail();
     });
     parent::boot($router);
 }
示例#6
0
 public static function removeSubsciber($email)
 {
     $subscriber = Subscriber::where('email', '=', $email)->get();
     $subscriber->delete();
     echo 'Subscription was canceled ';
 }
 public function getExplore()
 {
     $loggedIn = $this->loggedIn;
     $title = 'index';
     $markets = $this->markets;
     $subscriptions = Subscriber::where('user_id', Auth::user()->id)->get();
     foreach ($subscriptions as $subscription) {
         $userSubscriptions[$subscription->market_id] = Market::where('id', $subscription->market_id)->first();
     }
     foreach ($markets as $market) {
         $items[$market->id] = $market->items()->orderBy('views', 'desc')->take(2)->get();
     }
     foreach ($items as $itemsSet) {
         foreach ($itemsSet as $item) {
             $users[$item->id] = $item->user;
         }
     }
     return view('environment.explore', compact('title', 'items', 'markets', 'users', 'loggedIn', 'userSubscriptions'));
 }
示例#8
0
 public function handle_file_upload(Request $request)
 {
     $file = $request->file('csv');
     $duplicated = 0;
     $imported = 0;
     $list_id = $request->list_id;
     Excel::load($file->getRealPath(), function ($reader) use(&$duplicated, &$imported, $list_id) {
         // Getting all results
         $results = $reader->all();
         foreach ($results as $i) {
             $new_email = extract_email_from_str($i->email);
             $subscriber = Subscriber::where('email', $new_email)->first();
             if ($subscriber == null) {
                 if ($new_email != null) {
                     $subscriber = new Subscriber();
                     $subscriber->email = $new_email;
                     $subscriber->name = $i->name;
                     $subscriber->save();
                     $subscriber->subscribers_lists()->attach($list_id);
                     $imported += 1;
                 }
             } else {
                 $count = $subscriber->subscribers_lists()->where('id', $list_id)->count();
                 if ($count > 0) {
                     $duplicated += 1;
                 } else {
                     $subscriber->subscribers_lists()->attach($list_id);
                     $imported += 1;
                 }
                 $subscriber->name = $i->name;
                 $subscriber->save();
             }
         }
         Session::flash('imported', $imported);
         Session::flash('duplicated', $duplicated);
     })->get();
     return redirect('manage/upload_subscribers_csv?list_id=' . $list_id);
 }