예제 #1
0
    $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"))) {
예제 #2
0
파일: main.php 프로젝트: fbone/mediboard4
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;
예제 #4
0
             $_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");
예제 #6
0
 /**
  * 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;
 }
예제 #7
0
        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);