<?php

/**
 * $Id$
 *  
 * @package    Mediboard
 * @subpackage messagerie
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 * @link       http://www.mediboard.org
 */
CCanDo::checkRead();
$usermessage_id = CValue::get('usermessage_id');
$usermessage = new CUserMessage();
$usermessage->load($usermessage_id);
if ($usermessage->_id) {
    echo nl2br($usermessage->content);
}
 * $Id$
 *  
 * @category Messagerie
 * @package  Mediboard
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version  $Revision$
 * @link     http://www.mediboard.org
 */
CCanDo::checkRead();
$user_id = CValue::get("user_id");
$user = CMediusers::get($user_id);
$mode = CValue::get("mode", "inbox");
$page = CValue::get("page", 0);
$step = CAppUI::pref("nbMailList");
$usermessage = new CUserMessage();
$group = null;
$where = array();
$lj = array("usermessage_dest" => "usermessage.usermessage_id = usermessage_dest.user_message_id");
$order = "usermessage_dest.datetime_sent DESC";
$unread = 0;
if ($mode == "inbox") {
    $where = array();
    $where["usermessage_dest.to_user_id"] = " = '{$user->_id}'";
    $where["datetime_sent"] = " IS NOT NULL";
    $where["usermessage_dest.archived"] = " = '0'";
    $where['usermessage_dest.deleted'] = " = '0'";
    $order = "usermessage_dest.starred DESC, usermessage_dest.datetime_sent DESC";
    $where["datetime_read"] = " IS NULL";
    $unread = $usermessage->countList($where, $group, $lj);
    $unread = $unread ? $unread : 0;
 /**
  * Count the messages drafted by the given user
  *
  * @param CMediusers $user The user
  *
  * @return int The number of drafted messages
  */
 public static function countDraftedFor($user)
 {
     $usermessage = new CUserMessage();
     $where = array('creator_id' => "= '{$user->_id}'");
     /** @var CUserMessage[] */
     $listDrafted = $usermessage->loadList($where);
     foreach ($listDrafted as $key => $_mail) {
         $dests = $_mail->loadRefDests();
         foreach ($dests as $_dest) {
             if ($_dest->datetime_sent) {
                 unset($listDrafted[$key]);
                 continue 2;
             }
         }
     }
     return count($listDrafted);
 }
/** $Id: do_usermessage_aed.php 28703 2015-06-23 14:14:07Z asmiane $ **/
/**
 * @package Mediboard
 * @subpackage messagerie
 * @version $Revision: 28703 $
 * @author Thomas despoix
 */
$user = CMediusers::get();
$date = CMbDT::dateTime();
$dests = CValue::post("dest", array());
$del = CValue::post("del", 0);
$send_it = CValue::post("_send");
$archive_mine = CValue::post("_archive");
$read_only = CValue::post("_readonly");
$callback = CValue::post('callback');
$usermessage = new CUserMessage();
// edit mode (draft)
$usermessage->load($_POST["usermessage_id"]);
if ($del && $usermessage->_id) {
    if ($msg = $usermessage->delete()) {
        CAppUI::stepAjax($msg, UI_MSG_ERROR);
    }
    $msg = 'CUserMessage-msg-delete';
    $message_id = null;
} else {
    $usermessage->bind($_POST);
    if ($msg = $usermessage->store()) {
        CAppUI::stepAjax($msg, UI_MSG_ERROR);
    }
    $message_id = $usermessage->usermessage_id;
    $destinataires = $usermessage->loadRefDests();
Beispiel #5
0
<?php

/** $Id: write_usermessage.php 20898 2013-11-07 10:19:55Z charlyecho $ **/
/**
* @package Mediboard
* @subpackage dPportail
* @version $Revision: 20898 $
* @author Thomas Despoix
*/
CCanDo::checkRead();
$user = CUser::get();
$usermessage = new CUserMessage();
$usermessage->from = $user->_id;
$usermessage->to = CValue::get("to");
$usermessage->subject = CValue::get("subject");
$usermessage->in_reply_to = CValue::get("in_reply_to");
$usermessage->load(CValue::getOrSession("usermessage_id"));
$usermessage->loadRefsFwd();
// Vérifiction de la première lecture par le destinataire
if ($usermessage->to == $user->_id && $usermessage->date_sent && !$usermessage->date_read) {
    $usermessage->date_read = CMbDT::dateTime();
    $usermessage->store();
}
if ($usermessage->in_reply_to) {
    $origin = $usermessage->loadOriginMessage();
    if ($origin->_id) {
        if (!$usermessage->subject) {
            $usermessage->subject = "Re: " . $origin->subject;
        }
        $usermessage->to = $origin->from;
    }
    if ($_dest->to_user_id == $user->_id && $usermessage->_id && !$_dest->datetime_read) {
        $_dest->datetime_read = CMbDT::dateTime();
        $_dest->store();
    }
    $_dest->loadRefTo()->loadRefFunction();
    $_dest->loadRefFrom()->loadRefFunction();
}
// last check
if (!$usermessage->_id) {
    $usermessage->creator_id = $user->_id;
    if ($subject) {
        $usermessage->subject = $subject;
    }
    // in reply to
    if ($in_reply_to) {
        $temp_message = new CUserMessage();
        $temp_message->load($in_reply_to);
        $usermessage->subject = "Re: " . $temp_message->subject;
        $usermessage->in_reply_to = $in_reply_to;
        $usermessage->creator_id = $user->_id;
        if ($answer_to_all) {
            $temp_message->loadRefDests();
            $usermessage->_ref_destinataires = array();
            foreach ($temp_message->_ref_destinataires as $_destinataire) {
                if ($_destinataire->to_user_id != $user->_id) {
                    $dest = new CUserMessageDest();
                    $dest->to_user_id = $_destinataire->to_user_id;
                    $dest->from_user_id = $usermessage->creator_id;
                    $dest->loadRefTo()->loadRefFunction();
                    $usermessage->_ref_destinataires[] = $dest;
                }
<?php

/**
 * $Id$
 *  
 * @package    Mediboard
 * @subpackage messagerie
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 * @link       http://www.mediboard.org
 */
CCanDo::checkRead();
$usermessage_id = CValue::get('usermessage_id');
$user = CMediusers::get();
$usermessage = new CUserMessage();
$usermessage->load($usermessage_id);
if ($usermessage->_id) {
    $usermessage->loadRefDests();
    $usermessage->loadRefDestUser();
    $usermessage->loadRefCreator()->loadRefFunction();
    foreach ($usermessage->_ref_destinataires as $_destinataire) {
        $_destinataire->loadRefTo()->loadRefFunction();
    }
    $mode = 'sentbox';
    if ($usermessage->_ref_dest_user->_id) {
        if ($usermessage->_ref_dest_user->archived) {
            $mode = 'archive';
        } else {
            $mode = 'inbox';
        }