public function import(Request $request)
 {
     if (Request::hasFile('import-file')) {
         $file = Request::file('import-file');
         $subscribers = \League\Csv\Reader::createFromPath($file);
         $subscribers = $subscribers->fetchAssoc();
         if (count($subscribers) > 0) {
             $mailchimp = new MailChimp();
             foreach ($subscribers as $subscriber) {
                 // create the signup
                 $signup = new Signup();
                 $signup->fname = $subscriber['fname'];
                 $signup->lname = $subscriber['lname'];
                 $signup->email = $subscriber['email'];
                 $signup->zip = $subscriber['zip'];
                 $signup->ip = $_SERVER['REMOTE_ADDR'];
                 try {
                     // save the signup
                     $signup->save();
                     // add it to mailchimp
                     $mailchimp->addSubscriber(['email' => $signup->email, 'fname' => $signup->fname, 'lname' => $signup->lname, 'zip' => $signup->zip]);
                 } catch (\Exception $e) {
                 }
             }
             return redirect('admin/subscribers')->withSuccess('Subscribers import completed.');
         }
     } else {
         echo 'no file uploaded';
     }
 }
Esempio n. 2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(BetaSignupRequest $request)
 {
     // create a new signup
     $signup = new Signup();
     foreach ($this->fields as $field => $default) {
         $signup->{$field} = $request->get($field);
     }
     // set the ip of the person signing up
     $signup->ip = $_SERVER['REMOTE_ADDR'];
     $signup->save();
     // add to mailchimp mailing list
     $mailchimp = new MailChimp();
     $mailchimp->addSubscriber(['email' => $signup->email, 'fname' => $signup->fname, 'lname' => $signup->lname, 'zip' => $signup->zip]);
     // redirect to the thank you page
     return redirect('/signup/thankyou')->withSuccess("Thank you for signing up. We will inform you once we launch.");
 }