function sendPrivateMessage($content, $toUser) { $mysession = new Session(); $mysession->initSession(); $inboxRepo = new InboxRepositoryService(); $userRepo = new UserRepositoryService(); $userIdSender = $_SESSION['id']; $resultsInbox = $inboxRepo->getInboxIdAndLeaveDateByUserId($toUser); $resultInbox = $resultsInbox->fetch_object(); //1) este codigo ya lo use en getWallCtrl.php pero no sé cómo heredarlo $MessageLimitResult = $inboxRepo->getMessageLimit($toUser); // $MessageNumResult = $inboxRepo->getMessageNum($toUser); // $objLimit = $MessageLimitResult->fetch_object(); $limitPrivateMsg = $objLimit->limite; //limite de mensaje de la bandeja de entrada $limiteMensajePri $IdBandeja = $objLimit->id_bandeja; $totalPrivateMsg = $MessageNumResult; //cantidad de mensajes en bandeja de entrada //1)FIN if ($resultInbox->fecha_baja == null) { $recipientInboxId = $resultInbox->id_usuario; $senderInboxId = $inboxRepo->getInboxIdByUserId($userIdSender); $conversationId = $inboxRepo->getConversationIdByInboxId($recipientInboxId, $userIdSender, $senderInboxId, $toUser); if ($conversationId == null) { $lastId = $inboxRepo->getLastConversationId(); $conversationId = $lastId + 1; } if (strlen($content) <= 200) { //controlo que el contenido del mensaje no supere los 200 caracteres if ($totalPrivateMsg < $limitPrivateMsg) { //Verificando que no se envíen más mensajes de los permitidos $caesarCipher = new CaesarCipher($content); $content = $caesarCipher->encryptMessage(); $results = $inboxRepo->postMessage($recipientInboxId, $userIdSender, $content, $conversationId); } else { $response['errorMsg'] = "Lo sentimos, hubo la casilla de mensajes está llena."; $response['valid'] = false; } } else { $response['errorMsg'] = "Lo sentimos, el largo del mensaje supera los 200 caracteres permitidos."; $response['valid'] = false; } if ($results === TRUE) { $response['valid'] = true; } else { $response['errorMsg'] = "Lo sentimos, hubo un error al enviar el mensaje."; $response['valid'] = false; } } else { $response['valid'] = false; $response['errorMsg'] = "Lo sentimos, este usuario ha sido dado de baja."; } echo json_encode($response); }
<?php require_once dirname(__DIR__) . "/services/InboxRepositoryService.php"; require_once dirname(__DIR__) . "/security/CaesarCipher.php"; require_once dirname(__DIR__) . "/domain/Session.php"; $patron = "/^[[:digit:]]+\$/"; $mysession = new Session(); $mysession->initSession(); $inboxRepo = new InboxRepositoryService(); if (isset($_SESSION['id']) and preg_match($patron, $_SESSION['id']) and isset($_GET['usuarioRemitent']) and preg_match($patron, $_GET['usuarioRemitent'])) { $userRemitentIdFirst = $_SESSION['id']; $userRemitentIdSecond = $_GET['usuarioRemitent']; $inboxIdFirst = $inboxRepo->getInboxIdByUserId($userRemitentIdFirst); $inboxIdSecond = $inboxRepo->getInboxIdByUserId($userRemitentIdSecond); $messages = $inboxRepo->getMessagesOfChat($userRemitentIdFirst, $inboxIdFirst, $userRemitentIdSecond, $inboxIdSecond); } if ($messages != null) { $i = 1; while ($message = $messages->fetch_object()) { if ($message->id_usuario == $userRemitentIdFirst) { $caesarCihper = new CaesarCipher($message->contenido); echo "<li class='list-group-item text-right'>\n <div class='message-area-user'>\n <p>" . $message->nombre . " " . $message->apellido . "</p>\n </div>\n <div class='message-area-content'>\n <p>" . $caesarCihper->decryptMessage() . "</p>\n </div>\n </li>"; } else { echo "<li class='list-group-item'>\n <div class='message-area-user'>\n <p>" . $message->nombre . " " . $message->apellido . "</p>\n </div>\n <div class='message-area-content'>\n <p>" . $message->contenido . "</p>\n </div>\n </li>"; } $i++; } } else { echo "ERROR: No se pudo obtener informacion de la Base de Datos"; } echo "<input type='hidden' id='inpTotalPrivateMsg' name='inpTotalPrivateMsg' value=" . $i . ">";
<?php require_once dirname(__DIR__) . "/services/InboxRepositoryService.php"; require_once dirname(__DIR__) . "/domain/Session.php"; require_once dirname(__DIR__) . "/security/CaesarCipher.php"; $mysession = new Session(); $mysession->initSession(); $patron = "/^[[:digit:]]+\$/"; $inboxRepo = new InboxRepositoryService(); if (isset($_SESSION['id']) and preg_match($patron, $_SESSION['id'])) { $userId = $_SESSION['id']; $inboxIdUser = $inboxRepo->getInboxIdByUserId($userId); $conversations = $inboxRepo->getConversationsByUserId($userId, $inboxIdUser); $cont = 0; while ($conversation = $conversations->fetch_object()) { $cont++; if ($conversation->id_usuario == $userId) { $caesarCipher = new CaesarCipher($conversation->contenido); echo "<li class='list-group-item conversation-item'>\n <input type='hidden' class='propIdBandeja' value='" . $conversation->prop_id_bandeja . "'/>\n <input type='hidden' class='propNombreBandeja' value='" . $conversation->prop_nombre_bandeja . "'/>\n <input type='hidden' class='propApellidoBandeja' value='" . $conversation->prop_apellido_bandeja . "'/>\n <div class='conversation-item'>\n <div class='avatar'>\n <img class='img-circle' src='http://lorempixel.com/200/200/people/" . $cont . "' alt=''/>\n </div>\n <div class='userName'>\n <p>" . $conversation->prop_nombre_bandeja . " " . $conversation->prop_apellido_bandeja . "</p>\n </div>\n <div class='message-review'>\n <p><span><i class='glyphicon glyphicon-triangle-left'></i></span>" . $caesarCipher->decryptMessage() . "</p>\n </div>\n <div class='message-date'>\n <p>" . $conversation->fecha_alta . "</p>\n </div>\n </div>\n </li>"; } else { $conversationId = $conversation->id_conversacion; $conversationsToUser = $inboxRepo->getConversationToUser($userId, $conversationId); $conversationToUser = $conversationsToUser->fetch_object(); echo "<li class='list-group-item conversation-item'>\n <input type='hidden' class='propIdBandeja' value='" . $conversationToUser->prop_id_bandeja . "'/>\n <input type='hidden' class='propNombreBandeja' value='" . $conversationToUser->prop_nombre_bandeja . "'/>\n <input type='hidden' class='propApellidoBandeja' value='" . $conversationToUser->prop_apellido_bandeja . "'/>\n <div class='conversation-item'>\n <div class='avatar'>\n <img class='img-circle' src='http://lorempixel.com/200/200/people' alt=''/>\n </div>\n <div class='userName'>\n <p>" . $conversationToUser->prop_nombre_bandeja . " " . $conversationToUser->prop_apellido_bandeja . "</p>\n </div>\n <div class='message-review'>\n <p>" . $caesarCihper->decryptMessage() . "</p>\n </div>\n <div class='message-date'>\n <p>" . $conversationToUser->fecha_alta . "</p>\n </div>\n </div>\n </li>"; } } } else { echo "ERROR: No se puede cargar las conversaciones"; }