$warning = 'Please select a field mapping for the email address!'; } else { $labelMap = array(); foreach (array_keys($data) as $label) { $mapName = 'LabelMap_' . $label; if ($http->hasPostVariable($mapName)) { if ($http->postVariable($mapName) != '0') { $labelMap[$http->postVariable($mapName)] = $label; } } } if ($http->hasPostVariable('RowNum')) { $subscriptionListID = $subscriptionList->attribute('id'); foreach ($http->postVariable('RowNum') as $rowIndex) { if ($data[$labelMap['email']][$rowIndex] != "") { if (!eZSubscription::fetchByEmailSubscriptionListID($data[$labelMap['email']][$rowIndex], $subscriptionListID)) { if (!eZRobinsonListEntry::inList($data[$labelMap['email']][$rowIndex])) { $subscription = eZSubscription::create($subscriptionListID, $data[$labelMap['firstname']][$rowIndex], $data[$labelMap['name']][$rowIndex], $data[$labelMap['mobile']][$rowIndex], $data[$labelMap['email']][$rowIndex]); $subscription->setAttribute('status', eZSubscription::StatusApproved); $subscription->publish(); } } } } } $http->removeSessionVariable('CSVData'); return $Module->redirectToView('subscription_list', array($subscriptionList->attribute('url_alias'))); } } } }
function unsubscribe($address_string, $list_name) { $subscription_list = eZSubscriptionList::fetch($list_name); eZMail::extractEmail($address_string, $email, $name); if ($email) { $subscription = eZSubscription::fetchByEmailSubscriptionListID($email, $subscription_list->attribute('id')); if ($subscription) { if ($subscription->attribute('status') == eZSubscription::StatusApproved) { $subscription->setAttribute('status', eZSubscription::StatusRemovedSelf); $subscription->sync(); return $subscription; } } } return false; }
function emailSubscriptionExists($email) { $subscription = eZSubscription::fetchByEmailSubscriptionListID($email, $this->attribute('id')); if ($subscription) { return true; } return false; }