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';
     }
 }
Example #2
0
 public function all($limit = 15)
 {
     $mailchimp = new MailChimp();
     $results = $mailchimp->getSubscribers();
     foreach ($results['data'] as $result) {
         $subscriber = new Subscriber();
         // set the fields
         $subscriber->email = $result['email'];
         $subscriber->mailchimp_id = $result['id'];
         $subscriber->euid = $result['euid'];
         $subscriber->email_type = $result['email_type'];
         $subscriber->ip = $result['ip_opt'];
         $subscriber->timestamp_opt = $result['timestamp_opt'];
         $subscriber->member_rating = $result['member_rating'];
         $subscriber->web_id = $result['web_id'];
         $subscriber->leid = $result['leid'];
         $subscriber->list_id = $result['list_id'];
         $subscriber->list_name = $result['list_name'];
         $subscriber->fname = $result['merges']['FNAME'];
         $subscriber->lname = $result['merges']['LNAME'];
         $subscriber->zip = $result['merges']['ZIP'];
         $subscriber->status = $result['status'];
         $subscriber->timestamp = $result['timestamp'];
         // save the subscriber to the database
         try {
             $subscriber->save();
         } catch (\Exception $e) {
             continue;
         }
     }
     return Subscriber::paginate($limit);
 }
 /**
  * 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.");
 }