zeg1jeux/messenger.php

168 lines
3.5 KiB
PHP
Raw Permalink Normal View History

<?php
require_once('config.php');
require_once('lib/Fred.class.php');
require_once('lib/Messenger.class.php');
require_once('lib/Gchange.class.php');
require_once('lib/Jaklis.class.php');
2022-11-15 20:02:54 +01:00
require_once('lib/ErrorsHandler.class.php');
2022-11-18 00:42:33 +01:00
$javascripts['header'][] = 'lib/js/messenger.js';
$gchange = new Gchange();
$messenger = new Messenger($gchange);
$fred = new Fred();
$jaklis = new Jaklis($_SESSION['player_pubkey']);
if (isset($_POST['message'], $_POST['to'])) {
$jaklis->sendMessage(
$_POST['message'],
htmlspecialchars_decode($_POST['to']),
htmlspecialchars_decode($_POST['title']),
$_SESSION['player_pubkey']
);
header('Location: messenger.php?penpal=' . $_POST['to']);
}
// $msgIn = $jaklis->getInboundMessages('QP1VkfaFUMdHZmHgPMi7q5wJJHaQhZcEqs5A86NigKr');
2022-11-15 20:01:37 +01:00
try {
list($msgIn, $msgOut) = $jaklis->getMessages();
} catch (Exception $errMsg) {
ErrorsHandler::kaput($errMsg);
}
2022-10-30 22:28:48 +01:00
// list($msgIn, $msgOut) = $fred->donneMoiSesPutainDeMessagesGchange($_SESSION['salt'], $_SESSION['pepper']);
// echo '<pre>'; var_dump($msgIn); echo '</pre>';
// echo '<pre>'; var_dump($msgOut); echo '</pre>';
// die();
$messenger->addMessages($msgIn, $msgOut);
// echo '<pre>'; var_dump($messenger->getConversations()); echo '</pre>';
/*
if (!isset($_GET['penpal'])) {
header('Location: messenger.php?paypal=' . $messenger->getLatestMessage()->getPenpalPubkey());
}
*/
$bodyIds = 'messenger-page';
include_once('header.php');
echo '
<ul id="conversations-list">
';
foreach ($messenger->getConversations() as $conv) {
// echo '<pre>'; var_dump($conv->getLastMessage()); echo '</pre>';
$lastMsg = $conv->getLastMessage();
echo '
<li class="conversation">
<p class="conv-link">
<a href="?penpal='. $conv->getPenpalPubkey() . '">
<span>'. $messenger->getUser($conv->getPenpalPubkey())->getUserName() . '</span>
</a>
</p>';
$penpal = $messenger->getUser($conv->getPenpalPubkey());
$avatarSrc = $penpal->getAvatarImgSrc();
$src = !empty($avatarSrc) ? $avatarSrc : $games[$_SESSION['gameId']]['default_avatar'];
echo '
<blockquote>
<img class="avatar"
height="64"
width="64"
src="'. $src .'" />
<cite>
'. $penpal->getUserName() . '
</cite>
<time>
'. date('d-m-Y à h:m', $lastMsg->getDate()) . '
</time>
<p class="contents-preview">
';
if ($lastMsg->getDirection() == 'out') {
echo 'Moi : ';
}
echo $lastMsg->getContents() .'
</p>
</blockquote>
</li>
';
}
echo '
</ul>
<section id="conversation">
';
if (isset($_GET['penpal'])) {
$displayedConv = $messenger->getConversation($_GET['penpal']);
echo '
<h2 class="penpal">
'. $messenger->getUser($displayedConv->getPenpalPubkey())->getUserName() . '
</h2>
<ul id="msgList">';
foreach ($displayedConv->getMessages() as $msg) {
echo '
<li class="message '. $msg->getDirection() .'">
<p class="content">
'. nl2br($msg->getContents()) . '
</p>
<p class="date">
'. date('d-m-Y à h:m', $msg->getDate()) . '
</p>
</li>
';
}
echo '
</ul>';
echo '
<form method="post" action="">
2022-11-17 16:54:08 +01:00
<label for="message">'. 'Message' .'</label>
<textarea name="message" rows="1" cols="30"></textarea>
<input type="hidden" name="to" value="'. htmlspecialchars($_GET['penpal']) .'" />
<input type="hidden" name="title" value="'. htmlspecialchars($displayedConv->getConvTitle()) .'" />
2022-11-18 00:42:33 +01:00
<p class="submit-button-wrapper">
<input type="submit" value="'. 'Envoyer' .'" />
</p>
</form>
';
}
echo '
</section>';
include_once('footer.php');