public function actionSynchronize() { set_time_limit(7200); $idNameGroup = array(); $criteria = new CDbCriteria(); $mSubG = SubscriberGroup::model()->findAll($criteria); if (count($mSubG) > 0) { foreach ($mSubG as $i) { $idNameGroup[$i->id] = $i->name; } } $criteria = new CDbCriteria(); $criteria->addCondition('subscriber_group_id = 1 OR subscriber_group_id = 2'); $mSubscriber = Subscriber::model()->findAll($criteria); //var_dump($mSubscriber); $test = array(); if (count($mSubscriber) > 0) { Yii::import('ext.MailChimp.MailChimp', true); foreach ($mSubscriber as $item) { $mailChimp = new MailChimp(); // $mailChimp->removeSubscriber('*****@*****.**'); // die; $sGroupName = Yii::app()->params['mailchimp_title_groups']; $sGroup = strtolower($idNameGroup[$item->subscriber_group_id]); $merge_vars = array('GROUPINGS' => array(array('name' => $sGroupName, 'groups' => $sGroup))); if ($item->status == 1) { // echo '<pre>'; //echo print_r($merge_vars); //echo '</pre>'; //echo $item->email; //die(); $test[] = $mailChimp->addSubscriber($item->email, $merge_vars); } else { $mailChimp->removeSubscriber($item->email); } } } Yii::app()->user->setFlash('mailchimp', "Synchronize Mailling list successfully!"); $this->redirect(Yii::app()->createAbsoluteUrl("admin/setting/mailchimp")); }
public function mailchimp() { set_time_limit(7200); $idNameGroup = array(); $criteria = new CDbCriteria(); // $criteria->compare('t.status',1); $mSubG = SubscriberGroup::model()->findAll($criteria); if (count($mSubG) > 0) { foreach ($mSubG as $i) { $idNameGroup[$i->id] = $i->name; } } $criteria = new CDbCriteria(); $mSubscriber = Subscriber::model()->findAll($criteria); $test = array(); if (count($mSubscriber) > 0) { Yii::import('ext.MailChimp.MailChimp', true); foreach ($mSubscriber as $item) { $mailChimp = new MailChimp(); // $mailChimp->removeSubscriber('*****@*****.**'); // die; $sGroupName = Yii::app()->params['mailchimp_title_groups']; $sGroup = strtolower($idNameGroup[$item->subscriber_group_id]); $merge_vars = array('GROUPINGS' => array(array('name' => $sGroupName, 'groups' => $sGroup))); if ($item->status == 1) { $test[] = $mailChimp->addSubscriber($item->email, $merge_vars); } else { $mailChimp->removeSubscriber($item->email); } } } }