Exemple #1
0
// check if we have correct input
if (empty($guid)) {
    register_error(elgg_echo("newsletter:unsubscribe:error:input"));
    forward();
}
$entity = get_entity($guid);
if (!elgg_instanceof($entity, "site") && !elgg_instanceof($entity, "group")) {
    forward();
}
if (!empty($user_guid)) {
    $recipient = $user_guid;
} else {
    $recipient = $email;
}
// validate validation code
if ($code && !newsletter_validate_unsubscribe_code($entity, $recipient, $code)) {
    register_error(elgg_echo("newsletter:unsubscribe:error:code"));
    forward();
}
// breadcrumb
elgg_push_breadcrumb(elgg_echo("newsletter:breadcrumb:site"), "newsletter/site");
if (elgg_instanceof($entity, "group")) {
    elgg_push_breadcrumb($entity->name, "newsletter/group/" . $entity->getGUID());
}
elgg_push_breadcrumb(elgg_echo("newsletter:unsubscribe"));
// build page elements
$title_text = elgg_echo("newsletter:unsubscribe:title");
$form = elgg_view_form("newsletter/unsubscribe", array(), array("entity" => $entity, "recipient" => $recipient, "code" => $code));
// build page
$page_data = elgg_view_layout("content", array("title" => $title_text, "content" => $form, "filter" => ""));
// draw page
Exemple #2
0
<?php

/**
 * Unsubscribe the provided recipient from the newsletter(s)
 *
 */
$guid = (int) get_input("guid");
$recipient = get_input("recipient");
$all = (int) get_input("all");
$code = get_input("code");
$entity_guid = (int) get_input("entity_guid");
$forward_url = REFERER;
if (!empty($entity_guid) && !empty($recipient)) {
    $entity = get_entity($entity_guid);
    if (!empty($entity) && (empty($code) || newsletter_validate_unsubscribe_code($entity, $recipient, $code))) {
        $recipient_error = false;
        // what to unsubscribe
        if (!empty($guid)) {
            // unsubscribe one newsletter
            if (is_numeric($recipient) && ($user = get_user($recipient))) {
                if (newsletter_unsubscribe_user($user, $entity)) {
                    $forward_url = "";
                    system_message(elgg_echo("newsletter:action:unsubscribe:success:entity", array($entity->name)));
                } else {
                    register_error(elgg_echo("newsletter:action:unsubscribe:error:entity", array($entity->name)));
                }
            } elseif (newsletter_is_email_address($recipient)) {
                if (newsletter_unsubscribe_email($recipient, $entity)) {
                    $forward_url = "";
                    system_message(elgg_echo("newsletter:action:unsubscribe:success:entity", array($entity->name)));
                } else {