$where['usermessage_dest.deleted'] = " = '0'"; $order = "usermessage_dest.starred DESC, usermessage_dest.datetime_sent DESC"; $total_found = CUserMessageDest::countArchivedFor($user); } if ($mode == "sentbox") { $where = array(); $where["from_user_id"] = " = '{$user->_id}'"; $where["datetime_sent"] = " IS NOT NULL"; $total_found = CUserMessageDest::countSentFor($user); } if ($mode == "draft") { $order = "usermessage.usermessage_id DESC"; $where = array(); $where["creator_id"] = " = '{$user->_id}'"; $where["datetime_sent"] = " IS NULL"; $total_found = CUserMessageDest::countDraftedFor($user); } $total_found = $total_found ? $total_found : 0; $group = "usermessage.usermessage_id"; /** @var CUserMessage[] $usermessages */ $usermessages = $usermessage->loadList($where, $order, "{$page}, {$step}", $group, $lj); foreach ($usermessages as $_usermessage) { $_usermessage->loadRefDestUser(); /** @var CUserMessageDest[] $destinataires */ $destinataires = $_usermessage->loadRefDests(); /* We set the _ref_dest_user when the mode is draft for being able to delete a message */ if ($mode == 'draft') { $_usermessage->_ref_dest_user = reset($_usermessage->_ref_destinataires); } foreach ($destinataires as $key => $_dest) { if (in_array($mode, array("inbox", "archive"))) {
if ($tab !== null) { $module->addConfigureTab(); } if (!$a || $a === "index") { $tab = $module->getValidTab($tab); } if (!$suppressHeaders) { // Liste des Etablissements $etablissements = CMediusers::loadEtablissements(PERM_EDIT); //current Group $current_group = CGroups::loadCurrent(); // Messages $messages = new CMessage(); $messages = $messages->loadPublications("present", $m, $g); // Mails $mails = CUserMessageDest::loadNewMessages(); // Creation du Template $tplHeader = new CSmartyDP("style/{$uistyle}"); $tplHeader->assign("offline", false); $tplHeader->assign("nodebug", true); $tplHeader->assign("obsolete_module", $obsolete_module); $tplHeader->assign("localeInfo", $locale_info); // Favicon $tplHeader->assign("mediboardShortIcon", CFaviconLoader::loadFile("style/{$uistyle}/images/icons/favicon.ico")); // CSS $mediboardStyle = CCSSLoader::loadFiles(); if ($uistyle != "mediboard") { $mediboardStyle .= CCSSLoader::loadFiles($uistyle); } $mediboardStyle .= CCSSLoader::loadFiles("modules"); $tplHeader->assign("mediboardStyle", $mediboardStyle);
/** * $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_dest_ids = json_decode(stripslashes(CValue::get("user_dest_ids", '[]'))); $action = CValue::get("action"); $value = CValue::get("value"); foreach ($user_dest_ids as $user_dest_id) { $usermessagedest = new CUserMessageDest(); $usermessagedest->load($user_dest_id); switch ($action) { case 'archive': $usermessagedest->archived = $value; if (!$usermessagedest->datetime_read) { $usermessagedest->datetime_read = CMbDT::dateTime(); } break; case 'star': $usermessagedest->starred = $value; break; case 'delete': if (is_null($usermessagedest->datetime_sent)) { $user_message = $usermessagedest->loadRefMessage(); $delete_message = true;
$_dest->datetime_read = $date; } if ($msg = $_dest->store()) { CAppUI::stepAjax($msg, UI_MSG_ERROR); } } // in edit mode, we don't find a dest, (delete it !) if (!$read_only && !in_array($_dest->to_user_id, $dests)) { if ($msg = $_dest->delete()) { CAppUI::stepAjax($msg, UI_MSG_ERROR); } continue; } } foreach ($dests as $_dest) { $destinataire = new CUserMessageDest(); $destinataire->user_message_id = $usermessage->_id; $destinataire->from_user_id = $usermessage->creator_id; $destinataire->to_user_id = $_dest; $destinataire->loadMatchingObject(); if ($send_it) { $destinataire->datetime_sent = $date; } if ($msg = $destinataire->store()) { CAppUI::stepAjax($msg, UI_MSG_ERROR); } } $msg = $_POST["usermessage_id"] ? 'CUserMessage-msg-modify' : 'CUserMessage-msg-create'; if ($send_it) { $msg = 'CUserMessage-msg-sent'; }
/** $Id$ **/ /** * @package Mediboard * @subpackage messagerie * @version $Revision$ * @author Fabien */ CCanDo::checkRead(); $user_id = CValue::get('user_id'); $user = new CMediusers(); $user->load($user_id); if (!$user->_id) { $user = CMediusers::get(); } $selected_folder = CValue::get('selected_folder', 'inbox'); // Liste des messages reçus $listInboxUnread = CUserMessageDest::countUnreadFor($user); // Liste des messages archivés $listArchived = CUserMessageDest::countArchivedFor($user); // Liste des messages envoyés $listSent = CUserMessageDest::countSentFor($user); // Liste des brouillons $countListDraft = CUserMessageDest::countDraftedFor($user); $folders = array('inbox' => $listInboxUnread, 'archive' => $listArchived, 'sentbox' => $listSent, 'draft' => $countListDraft); // Création du template $smarty = new CSmartyDP(); $smarty->assign("user", $user); $smarty->assign('folders', $folders); $smarty->assign('selected_folder', $selected_folder); $smarty->display("vw_list_usermessages.tpl");
/** * load the user_connected destinataire of a message * * @return CUserMessageDest */ function loadRefDestUser() { $user = CMediusers::get(); $dest = new CUserMessageDest(); if ($this->_id) { $where = array(); $where["user_message_id"] = " = '{$this->_id}'"; $where["to_user_id"] = " = '{$user->_id}'"; $where["datetime_sent"] = " IS NOT NULL"; $dest->loadObject($where); if ($dest->_id) { $dest->_ref_user_to = $user; $dest->loadRefFrom(); } } return $this->_ref_dest_user = $dest; }
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; } } } } if ($to_id) { $dest = new CUserMessageDest(); $dest->to_user_id = $to_id; $dest->from_user_id = $usermessage->creator_id; $dest->user_message_id = null; $dest->loadRefTo()->loadRefFunction(); if ($in_reply_to) { $dest->in_reply_to_id = $in_reply_to; } $usermessage->_ref_destinataires[] = $dest; } } $usermessage->loadRefCreator()->loadRefFunction(); if (CAppUI::pref('inputMode') == 'html') { // Initialisation de CKEditor $templateManager = new CTemplateManager(); $templateManager->editor = "ckeditor";
<?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(); $user = CMediusers::get(); $counts = array(array('name' => 'inbox', 'count' => CUserMessageDest::countUnreadFor($user)), array('name' => 'archive', 'count' => CUserMessageDest::countArchivedFor($user)), array('name' => 'sentbox', 'count' => CUserMessageDest::countSentFor($user)), array('name' => 'draft', 'count' => CUserMessageDest::countDraftedFor($user))); echo json_encode($counts);