コード例 #1
0
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);
}
コード例 #2
0
require_once dirname(__DIR__) . "/domain/User.php";
require_once dirname(__DIR__) . "/domain/Wall.php";
require_once dirname(__DIR__) . "/services/WallRepositoryService.php";
require_once dirname(__DIR__) . "/services/InboxRepositoryService.php";
$patron = "/^[[:digit:]]+\$/";
if (preg_match($patron, $_GET['usuario'])) {
    $idUsuario = $_GET['usuario'];
} else {
    header('location:index.php?error=4');
    exit;
}
$wallRepo = new WallRepositoryService();
$inboxRepo = new InboxRepositoryService();
$wallResult = $wallRepo->getWallByUserId($idUsuario);
//
$MessageLimitResult = $inboxRepo->getMessageLimit($idUsuario);
//
$MessageNumResult = $inboxRepo->getMessageNum($idUsuario);
//
if ($wallResult->num_rows > 0) {
    $userHasWall = true;
} else {
    $userHasWall = false;
}
if ($userHasWall) {
    $objWall = $wallResult->fetch_object();
    $privacidad = $objWall->privacidad;
    $idMuro = $objWall->id_muro;
    $anonimoLectura = $objWall->flag_anonimo_lectura;
    $anonimoEscritura = $objWall->flag_anonimo_escritura;
    $limiteMuro = $objWall->limite_muro;