161 lines
5.9 KiB
PHP
161 lines
5.9 KiB
PHP
<?php session_start ();
|
|
include_once 'clazz/Zincluder.php'; ?>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<?php include 'includes/meta.php'; ?>
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript" src="includes/he.js"></script>
|
|
<?php include 'includes/header.php'; ?>
|
|
|
|
<?php
|
|
//TODO re la fonction exiting
|
|
$me = Membre::me();
|
|
if(!isset($_GET['d'])){
|
|
header ( 'Location:discuts.php');
|
|
$_SESSION ['current_error'] = 'Quand on demande des données, on donne des données !!!';
|
|
exit;
|
|
}
|
|
$discut = new Discussion($_GET['d']);
|
|
if(!$discut->exists()){
|
|
header ( 'Location:discuts.php');
|
|
$_SESSION ['current_error'] = 'Je vais avoir du mal à afficher les donées de la version néant ...';
|
|
exit;
|
|
}
|
|
if($me?!$discut->canAccess($me):!$discut->isPublic()){
|
|
header ( 'Location:discuts.php');
|
|
$_SESSION ['current_error'] = 'Vous n\'avez pas le droit d\'être ici ...<br/> DEGAGEZ !!!';
|
|
exit;
|
|
}
|
|
if ($me) {?>
|
|
<form id="postMessageForm" action="executor.php?action=postMessage&d=<?php echo $_GET['d'];?>" method="post">
|
|
<textarea row="5" placeholder="Votre message :" name="msg" autofocus="autofocus" required="required"></textarea>
|
|
<input type="submit" value="Poster le message">
|
|
</form>
|
|
<!-- TODO : Entrée->envoyer le message (dégeulasse) -->
|
|
<script type="text/javascript">
|
|
function genListener(){
|
|
//Entrée -> envoi
|
|
$('#postMessageForm textarea').on('keypress',function(e){
|
|
if(e.which == 13){
|
|
$('#postMessageForm input').trigger('click');
|
|
e.stopPropagation();
|
|
}
|
|
});
|
|
</script>
|
|
<?php }else{ ?>
|
|
<div>Vous devez vous connecter pour envoyer des messages !</div>
|
|
<?php } ?>
|
|
|
|
<!-- Dans cette balise, le contenu de la discussion géré en javascript -->
|
|
<main></main>
|
|
|
|
<script type="text/javascript" defer>
|
|
function reloadEditListeners(){
|
|
$('.editLink').on('click',function(e){
|
|
editingLink = e.target;
|
|
e.target.innerHTML = 'Edition';
|
|
|
|
$('#editMessageFullScreen').css('display','block');
|
|
$('#editMessageFullScreen div div form').attr('action','editing_message.php?d='+$(e.target).data('messageID'));
|
|
$('#editMessageFullScreen').animate({opacity:0.97},1000);
|
|
e.stopPropagation();
|
|
});
|
|
$('.delLink').on('click',function(e){
|
|
e.target.innerHTML = 'Supression';
|
|
window.clearTimeout(currentClock);
|
|
$.post('executor.php?action=deleteMessage&m='+$(e.target).data('messageID'),{},askData);
|
|
e.stopPropagation();
|
|
});
|
|
|
|
$('#abortEdition').on('click',function(e){
|
|
editingLink.innerHTML = 'Editer';
|
|
$('#editMessageFullScreen div div form').attr('action','js_waiting');
|
|
$('#editMessageFullScreen').animate({opacity:0.00},1000,function(e){
|
|
$('#editMessageFullScreen').css('display','none');
|
|
});
|
|
});
|
|
}
|
|
</script>
|
|
|
|
<!-- Messages download -->
|
|
<script type="text/javascript">
|
|
var currentClock = null;
|
|
|
|
var askData = function(){
|
|
console.log('dataasked<?php echo $discut->getID();?>');
|
|
$.post('executor.php?action=getDiscutsMessages&d=<?php echo $discut->getID();?>',{},dataGet);
|
|
}
|
|
var dataGet = function(data,status){
|
|
var newData = eval(data);
|
|
newData = newData.sort(function(a,b){return b.sendTimestamp-a.sendTimestamp;});
|
|
var messageGlobal = document.createElement('main');
|
|
for(messagePos in newData){
|
|
var message = newData[messagePos];
|
|
//console.log(message);
|
|
var section = document.createElement('section');
|
|
section.className = 'message';
|
|
var messageText = document.createTextNode(he.decode(message.texte).replace(/\n/g, "<br />"));
|
|
section.appendChild(messageText);
|
|
section.appendChild(document.createElement('br'));
|
|
var messageData = document.createElement('div');
|
|
var pseudoText = document.createTextNode(message.pseudo);
|
|
var pseudoTimeSeparator = document.createTextNode(' ');//Quatre espaces
|
|
var time = document.createElement('time');
|
|
var sendTimeText = document.createTextNode(message.sendTime);
|
|
time.appendChild(sendTimeText);
|
|
messageData.appendChild(pseudoText);
|
|
messageData.appendChild(pseudoTimeSeparator);
|
|
messageData.appendChild(time);
|
|
section.appendChild(messageData);
|
|
if(message.rights){
|
|
var editPane = document.createElement('nav');
|
|
editPane.className = 'editPaneMessages';
|
|
var editLink = document.createElement('a');
|
|
editLink.className = 'editLink';
|
|
$(editLink).data('messageID',message.messageID);
|
|
editLink.appendChild(document.createTextNode('Editer'));
|
|
var delLink = document.createElement('a');
|
|
delLink.className = 'delLink';
|
|
$(delLink).data('messageID',message.messageID);
|
|
delLink.appendChild(document.createTextNode('Supprimer'));
|
|
editPane.appendChild(editLink);
|
|
editPane.appendChild(document.createTextNode(' '));
|
|
editPane.appendChild(delLink);
|
|
section.appendChild(editPane);
|
|
}
|
|
messageGlobal.appendChild(section);
|
|
}
|
|
document.body.replaceChild(messageGlobal,document.getElementsByTagName('main')[0]);
|
|
reloadEditListeners();
|
|
currentClock = setTimeout(askData,15000);
|
|
}
|
|
if(window.addEventListener)
|
|
window.addEventListener('load', askData, false)
|
|
else
|
|
window.attachEvent("onload", askData);
|
|
if(window.addEventListener)
|
|
window.addEventListener('load', genListener, false)
|
|
else
|
|
window.attachEvent("onload", genListener);
|
|
|
|
</script>
|
|
|
|
<!-- Edit message div -->
|
|
<div id="editMessageFullScreen" class="fullscreen absent">
|
|
<div class="screen-vertical-centered">
|
|
<div class="screen-horizontal-centered">
|
|
<form id="editMessageForm" action="js modified" method="post">
|
|
<textarea row="5" placeholder="Le nouveau message :" name="msg" autofocus="autofocus" required="required"></textarea>
|
|
<input value="Modifier le message" type="submit">
|
|
<input id="abortEdition" value="Annuler" type="button"/>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php include 'includes/footer.php'; ?>
|
|
|
|
</body>
|
|
</html>
|