// 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) {
/** * 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']);