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;
<?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;