Esempio n. 1
0
 /**
  * Sync a player on Mailchimp
  * @return [type] [description]
  */
 private function syncPlayerMailchimp()
 {
     if (!isset($this->meta['mailchimp']['apiKey']) || $this->meta['mailchimp']['apiKey'] == '' || !isset($this->meta['mailchimp']['listId']) || $this->meta['mailchimp']['listId'] == '') {
         echo 'Error: need more mailchimp parameters.';
         return;
     }
     // Mailchimp Field Name
     $firstNameField = isset($this->meta['mailchimp']['firstNameField']) ? $this->meta['mailchimp']['firstNameField'] : 'FNAME';
     $resultField = isset($this->meta['mailchimp']['resultField']) ? $this->meta['mailchimp']['resultField'] : 'RESULT';
     $statusDoubleOptin = isset($this->meta['mailchimp']['doubleOptin']) && $this->meta['mailchimp']['doubleOptin'] == 1 ? 'pending' : 'subscribed';
     // Connect to mailchimp
     try {
         $mc = new Mailchimp\Mailchimp($this->meta['mailchimp']['apiKey']);
     } catch (Exception $e) {
         echo "Can't connect to MC.";
         return;
     }
     // Post to add member
     try {
         $jsonReturn = $mc->post("lists/{$this->meta['mailchimp']['listId']}/members", array('email_address' => $this->playerData['email'], 'status' => $statusDoubleOptin, 'merge_fields' => array($firstNameField => $this->playerData['nickname'], $resultField => $this->playerData['result'])));
     } catch (Exception $e) {
         echo "Can't add to MC.";
         return;
     }
     $jsonReturn = json_decode($jsonReturn);
     echo $jsonReturn->id;
 }
 public function getLists()
 {
     if (!self::$lists) {
         $mc = new \Mailchimp\Mailchimp($this->config()->get('api_key'));
         /** @var \Illuminate\Support\Collection $lists */
         $lists = $mc->request('lists', ['fields' => 'lists.id,lists.name', 'count' => 100]);
         self::$lists = $lists->lists('name', 'id')->toArray();
     }
     return self::$lists;
 }
 public function getLists()
 {
     if (!self::$lists) {
         $mc = new \Mailchimp\Mailchimp($this->config()->get('api_key'));
         // Check for proxy settings
         if ($this->config()->get('proxy')) {
             $mc->setProxy($this->config()->get('proxy_url'), $this->config()->get('proxy_port'), $this->config()->get('proxy_ssl'), $this->config()->get('proxy_user'), $this->config()->get('proxy_password'));
         }
         /** @var \Illuminate\Support\Collection $lists */
         $lists = $mc->request('lists', ['fields' => 'lists.id,lists.name', 'count' => 100]);
         self::$lists = $lists->lists('name', 'id')->toArray();
     }
     return self::$lists;
 }
Esempio n. 4
0
<?php

$app->get('/', function () use($app) {
    $api = new \Mailchimp\Mailchimp('MAILCHIMP_API_KEY');
    $result = $api->get('lists/MAILCHIMP_LIST_ID/members', ['count' => 50]);
    $app->render('home.html', array('api_text' => var_export($result, true), 'api' => $result['members']));
});