Example #1
0
	
	If we are trying to create a new conversation
*/
if (Tools::isLogged() && isset($_POST['dest']) && isset($_POST['message']) && isset($_POST['titre'])) {
    $destinataires = $_POST['dest'];
    $message = $_POST['message'];
    $titre = $_POST['titre'];
    $idconversation = $database->newConversation($titre);
    // get the id of the newly created conversation
    foreach ($destinataires as $destinataire) {
        // for each destinataire, add him to table participants
        $database->addMPParticipants($idconversation, $destinataire, true);
    }
    $database->addMPParticipants($idconversation, $user->getid(), false);
    // adding ourselves
    $database->newMP($user->getid(), $idconversation, $message);
    // adding the first message to the list of mps
    $conversations = $database->getConversationsForUser($user->getid());
    // finally, get the new list of conversations
}
Tools::callTwig('mp.twig', array('connected' => Tools::isLogged(), 'user' => $user, 'conversations' => getConversations($conversations, $user)));
/*
	get proper conversation objects for our user
*/
function getConversations($conversations, $user)
{
    $mpsobj = array();
    foreach ($conversations as $conversation) {
        $mpsobj[] = new Conversation($conversation['idconversation'], $user);
    }
    return $mpsobj;
Example #2
0
<?php

session_start();
require_once 'global.php';
$database = new Database();
if (Tools::isLogged() && isset($_POST['mpcontenu'])) {
    $conversationid = $_GET['mpid'];
    $user = new User($_SESSION['login']);
    // this is us
    // create new mp
    $database->newMP($user->getid(), $conversationid, $_POST['mpcontenu']);
    // Set conversation as unread for all recipients
    $recipients = $database->getConversationDest($user->getid(), $conversationid);
    foreach ($recipients as $dest) {
        $database->changeConversationReadStatus($conversationid, $dest[0], '1');
    }
}
if (Tools::isLogged() && isset($_GET['mpid'])) {
    $user = new User($_SESSION['login']);
    $conversation = $database->getFullConversationByID($_GET['mpid']);
    // if we are just looking at the conversation, get its posts
    $database->changeConversationReadStatus($_GET['mpid'], $user->getid(), '0');
    // make it read
}
Tools::callTwig('detailmp.twig', array('connected' => Tools::isLogged(), 'user' => $user, 'conversation' => getMessages($conversation, $user), 'conversationinfo' => getMessages($conversation, $user)[0]->getConversation()));
function getMessages($conversation, $user)
{
    foreach ($conversation as $message) {
        $messagesobj[] = new Message($message, $user);
    }
    return $messagesobj;