/** * 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; }