Example #1
0
// Strip Re:Re:Re: from subject
if (isset($_REQUEST['action']['reply']) || isset($_REQUEST['action']['replyall'])) {
    $_REQUEST['subject'] = tra("Re: ") . preg_replace("/^(" . tra("Re: ") . ")+/i", "", $_REQUEST['subject']);
}
$gBitSmarty->assign('to', $_REQUEST['to']);
$gBitSmarty->assign('cc', $_REQUEST['cc']);
$gBitSmarty->assign('bcc', $_REQUEST['bcc']);
$gBitSmarty->assign('subject', $_REQUEST['subject']);
$gBitSmarty->assign('body', $_REQUEST['body']);
$gBitSmarty->assign('priority', $_REQUEST['priority']);
$gBitSmarty->assign('sent', 0);
$feedback = array();
$gBitSmarty->assignByRef('feedback', $feedback);
if (isset($_REQUEST['replyto']) || isset($_REQUEST['replyallto'])) {
    $flagHash = array('msg_id' => $_REQUEST['msg_id'], 'act' => 'is_replied', 'actval' => 'y');
    $messages->flagMessage($flagHash);
}
if (isset($_REQUEST['send'])) {
    $message = '';
    // Validation:
    // must have a subject or body non-empty (or both)
    if (!empty($_REQUEST['subject']) && !empty($_REQUEST['body'])) {
        // Parse the to, cc and bcc fields into an array
        $arrTo = explode(',', preg_replace('/ /', '', $_REQUEST['to']));
        $arrCc = explode(',', preg_replace('/ /', '', $_REQUEST['cc']));
        $arrBcc = explode(',', preg_replace('/ /', '', $_REQUEST['bcc']));
        $toUsers = array_unique(array_merge($arrTo, $arrCc, $arrBcc));
        // Validation: either to, cc or bcc must have a valid user
        if (count($toUsers)) {
            // Insert the message in the inboxes of each user
            foreach ($toUsers as $toUser) {
Example #2
0
/**
 * required setup
 */
require_once '../kernel/setup_inc.php';
require_once MESSAGES_PKG_PATH . 'Messages.php';
if (!$gBitUser->isRegistered()) {
    $gBitSystem->fatalError(tra("You are not logged in"));
}
$gBitSystem->isPackageActive('messages');
$gBitSystem->verifyPermission('p_messages_send');
$messages = new Messages();
if (isset($_REQUEST["msgdel"])) {
    $messages->expunge($gBitUser->mUserId, $_REQUEST['msgdel']);
}
if (!empty($_REQUEST['act'])) {
    $messages->flagMessage($_REQUEST);
}
$gBitSmarty->assign('msg_id', $_REQUEST['msg_id']);
// get prev / next messages
$listHash = $_REQUEST;
$listHash['neighbour'] = 'next';
$next = $messages->getNeighbourMessage($listHash);
$listHash['neighbour'] = 'prev';
$prev = $messages->getNeighbourMessage($listHash);
$gBitSmarty->assign('next', $next);
$gBitSmarty->assign('prev', $prev);
// Mark the message as read
$flagHash = array('msg_id' => $_REQUEST['msg_id'], 'act' => 'is_read', 'actval' => 'y');
$messages->flagMessage($flagHash);
// Get the message and assign its data to template vars
$msg = $messages->getMessage($gBitUser->mUserId, $_REQUEST['msg_id']);