Exemplo n.º 1
0
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 ($usermessage->to) {
    $usermessage->loadRefUsersTo();
}
// Historique des messages avec le destinataire
$where = array();
$where[] = "(usermessage.from = '{$usermessage->from}' AND usermessage.to = '{$usermessage->to}')" . "OR (usermessage.from = '{$usermessage->to}' AND usermessage.to = '{$usermessage->from}')";
$where["date_sent"] = " IS NOT NULL";
$historique = $usermessage->loadList($where, "date_sent DESC", "20", "date_sent, subject");