Pommo_Helper_Messages::sendMessage PHP Method

sendMessage() public static method

code: confirmation code [str]
public static sendMessage ( $p = ['to' => false, 'type' => false, 'code' => false] )
    public static function sendMessage($p = array('to' => false, 'type' => false, 'code' => false))
    {
        $logger = Pommo::$_logger;
        // retrieve messages
        $dbvalues = Pommo_Api::configGet('messages');
        $messages = unserialize($dbvalues['messages']);
        $type = $p['type'];
        $output = false;
        switch ($type) {
            case 'subscribe':
            case 'unsubscribe':
                $output = $messages[$type]['web'];
                // break out of switch statement if subscribe/unsubscribe emails are disabled
                if (!$messages[$type]['email']) {
                    break;
                }
            case 'activate':
                $output = $output ? $output : sprintf(Pommo::_T('An actvation mail has been sent to %s. Please follow its instructions to access your records.'), $p['to']);
            case 'confirm':
            case 'password':
            case 'update':
                $output = $output ? $output : sprintf(Pommo::_T('A confirmation mail has been sent to %s. Please follow its instructions to complete your request.'), $p['to']);
                // fetch subject, body
                $subject = $messages[$type]['sub'];
                $body = $messages[$type]['msg'];
                // personalize body
                $url = $type == 'activate' ? Pommo::$_http . Pommo::$_baseUrl . 'update.php?email=' . $p['to'] . '&code=' . $p['code'] : Pommo::$_http . Pommo::$_baseUrl . 'confirm.php?code=' . $p['code'];
                $body = preg_replace('@\\[\\[URL\\]\\]@i', $url, $body);
                if (empty($subject) || empty($body)) {
                    $logger->addErr('Pommo_Helper_Messages::sendMessage() - subject or body empty');
                    return false;
                }
                require_once Pommo::$_baseDir . 'classes/Pommo_Mailer.php';
                $mail = new Pommo_Mailer();
                // allow mail to be sent, even if demo mode is on
                $mail->toggleDemoMode("off");
                // send the confirmation mail
                $mail->prepareMail($subject, $body);
                if (!$mail->bmSendmail($p['to'])) {
                    $logger->addErr(Pommo::_T('Error sending mail'));
                    return false;
                }
                // reset demo mode to default
                $mail->toggleDemoMode();
                break;
            default:
                $logger->addErr('unknown type passed');
                return false;
        }
        $logger->addMsg($output);
        return true;
    }

Usage Example

Ejemplo n.º 1
0
    $view->display('user/confirm');
    Pommo::kill();
}
// Load success messages and redirection URL from config
$config = Pommo_Api::configGet(array('site_success', 'messages', 'notices'));
$messages = unserialize($config['messages']);
$notices = unserialize($config['notices']);
if (Pommo_Pending::perform($pending)) {
    require_once Pommo::$_baseDir . 'classes/Pommo_Helper_Messages.php';
    // get subscriber info
    require_once Pommo::$_baseDir . 'classes/Pommo_Subscribers.php';
    $subscriber = current(Pommo_Subscribers::get(array('id' => $pending['subscriber_id'])));
    switch ($pending['type']) {
        case "add":
            // send/print welcome message
            Pommo_Helper_Messages::sendMessage(array('to' => $subscriber['email'], 'type' => 'subscribe'));
            if (isset($notices['subscribe']) && $notices['subscribe'] == 'on') {
                Pommo_Helper_Messages::notify($notices, $subscriber, 'subscribe');
            }
            if (!empty($config['site_success'])) {
                Pommo::redirect($config['site_success']);
            }
            break;
        case "change":
            if (isset($notices['update']) && $notices['update'] == 'on') {
                Pommo_Helper_Messages::notify($notices, $subscriber, 'update');
            }
            $logger->addMsg(Pommo::_T('Your records have been updated.'));
            break;
        case "password":
            break;
All Usage Examples Of Pommo_Helper_Messages::sendMessage