コード例 #1
0
                $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')));
            }
        }
    }
}
コード例 #2
0
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;
}
コード例 #3
0
 function emailSubscriptionExists($email)
 {
     $subscription = eZSubscription::fetchByEmailSubscriptionListID($email, $this->attribute('id'));
     if ($subscription) {
         return true;
     }
     return false;
 }