Pommo_Pending::cancel PHP Method

cancel() public method

return success (bool)
public cancel ( &$in )
    function cancel(&$in)
    {
        global $pommo;
        $dbo =& Pommo::$_dbo;
        // if the user is pending to be added, remove entire subscriber.
        if ($in['type'] == 'add') {
            require_once Pommo::$_baseDir . 'classes/Pommo_Subscribers.php';
            return Pommo_Subscribers::delete($in['subscriber_id']);
        }
        // else, only remove pending entry
        $query = "\n            DELETE FROM " . $dbo->table['subscriber_pending'] . "\n            WHERE pending_id=%i";
        $query = $dbo->prepare($query, array($in['id']));
        if (!$dbo->query($query)) {
            $logger->addErr('Pommo_Pending::cancel() -> Error removing pending entry.');
            return false;
        }
        return true;
    }

Usage Example

示例#1
0
        $msg = Pommo::_T('subscription request');
        $pending['type'] = 'confirm';
        // normalize for Pommo_Helper_Messages::sendMessage
        break;
    case "change":
        $msg = Pommo::_T('record update request');
        $pending['type'] = 'update';
        // normalize for Pommo_Helper_Messages::sendMessage
        break;
    case "password":
        $msg = Pommo::_T('password change request');
        break;
    default:
        Pommo::redirect('login.php?badPendingType=TRUE');
}
// check if user wants to reconfirm or cancel their request
if (!empty($_POST)) {
    if (isset($_POST['reconfirm'])) {
        require_once Pommo::$_baseDir . 'classes/Pommo_Helper_Messages.php';
        Pommo_Helper_Messages::sendMessage(array('to' => $input['Email'], 'code' => $pending['code'], 'type' => $pending['type']));
    } elseif (isset($_POST['cancel'])) {
        if (Pommo_Pending::cancel($pending)) {
            $logger->addMsg(sprintf(Pommo::_T('Your %s has been cancelled.'), $msg));
        }
    }
    $smarty->assign('nodisplay', TRUE);
} else {
    $logger->addMsg(sprintf(Pommo::_T('Your %s is still pending. To complete this request, please review the confirmation email sent to %s.'), $msg, $input['Email']));
}
$smarty->display('user/pending.tpl');
Pommo::kill();