コード例 #1
0
ファイル: Newsletters.php プロジェクト: kokkez/shineisp
 /**
  * Get the list saved in the remote MailChimp service
  */
 public static function get_mailchimp_list()
 {
     $errors = array();
     $key = Settings::findbyParam("MailChimp_key", "Admin");
     if (empty($key)) {
         $data = array('MailChimp Api Key has been not set yet. Subscribe a Mailchimp.com account and then go to Configuration > MailChimp to fill up the API key');
         return $data;
     }
     $api = new Shineisp_Plugins_Newsletters_Mailchimp_Main();
     $api->setApi_key($key);
     $lists = $api->lists();
     $data = array();
     if (!empty($lists['data'])) {
         foreach ($lists['data'] as $list) {
             $data[$list['id']] = $list['name'] . " - (" . $list['stats']['member_count'] . " members)";
         }
     }
     return $data;
 }
コード例 #2
0
 /**
  * OptOut MailChimp
  * @param array
  * @return Boolean
  */
 public static function bulk_mailchimp_optout($items, $parameters)
 {
     $errors = array();
     if (!empty($items)) {
         $key = Settings::findbyParam("MailChimp_key", "Admin");
         $confirm = Settings::findbyParam("MailChimp_confirm", "Admin");
         if (empty($key)) {
             die('MailChimp Api Key has been not set yet. Go to Configuration > MailChimp');
         }
         $list_id = $parameters['list'];
         $api = new Shineisp_Plugins_Newsletters_Mailchimp_Main();
         $api->setApi_key($key);
         foreach ($items as $id) {
             $email = self::getSubscriberEmail($id);
             $result = $api->listUnsubscribe($list_id, $email, true, $confirm);
             if (!empty($api->errorCode)) {
                 $errors[] = $api->errorMessage;
             }
         }
         if (!empty($errors)) {
             die(json_encode(array('mex' => implode("<br/>", $errors))));
         }
         return true;
     }
     return false;
 }