Example #1
0
 /**
  * Unsubscribes an e-mail address from CampaignMonitor and our database
  *
  * @param string $email   The emailaddress to unsubscribe.
  * @param string $groupId The group wherefrom the emailaddress should be unsubscribed.
  * @return bool
  */
 public static function unsubscribe($email, $groupId = null)
 {
     $groupId = !empty($groupId) ? $groupId : BackendMailmotorModel::getDefaultGroupID();
     $groupCMId = self::getCampaignMonitorID('list', $groupId);
     // group exists
     if (BackendMailmotorModel::existsGroup($groupId)) {
         self::getCM()->unsubscribe($email, $groupCMId);
         $subscriber = array();
         $subscriber['status'] = 'unsubscribed';
         $subscriber['unsubscribed_on'] = BackendModel::getUTCDate('Y-m-d H:i:s');
         BackendModel::getContainer()->get('database')->update('mailmotor_addresses_groups', $subscriber, 'email = ? AND group_id = ?', array($email, $groupId));
         return true;
     }
     return false;
 }