mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-20 16:37:48 +02:00
Ajout du système de discussion et fixe des quelques bugs
This commit is contained in:
parent
1a4837a7a3
commit
db1b5c35d8
12 changed files with 699 additions and 6 deletions
68
templates/discussions/default.php
Executable file
68
templates/discussions/default.php
Executable file
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
//Template dashboard
|
||||
$incs = new internalIncs();
|
||||
$incs->head('Discussions - Show All');
|
||||
?>
|
||||
<div id="wrapper">
|
||||
<?php
|
||||
$incs->nav('discussions');
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- Page Heading -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
Dashboard <small>Discussions</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<i class="fa fa-dashboard"></i> <a href="<?php echo $this->generateUrl('dashboard'); ?>">Dashboard</a>
|
||||
</li>
|
||||
<li class="active">
|
||||
<i class="fa fa-comments-o"></i> Discussions
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><i class="fa fa-comments-o fa-fw"></i> Liste des discussions</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped" id="table-discussions">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date du dernier message</th>
|
||||
<th>Numéro</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($discussions as $discussion)
|
||||
{
|
||||
?>
|
||||
<tr class="goto" url="<?php secho($this->generateUrl('discussions', 'show', [$discussion['number']])); ?>">
|
||||
<td><?php secho($discussion['at']); ?></td>
|
||||
<td><?php secho(isset($discussion['contact']) ? $discussion['contact'] . ' (' . $discussion['number'] . ')' : $discussion['number']); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
$incs->footer();
|
134
templates/discussions/show.php
Executable file
134
templates/discussions/show.php
Executable file
|
@ -0,0 +1,134 @@
|
|||
<?php
|
||||
//Template dashboard
|
||||
$incs = new internalIncs();
|
||||
$incs->head('Discussions - Show All');
|
||||
?>
|
||||
<div id="wrapper">
|
||||
<?php
|
||||
$incs->nav('discussions');
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- Page Heading -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
Discussion <small><?php secho($contact ? $contact . ' (' . $number . ')' : $number); ?></small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<i class="fa fa-dashboard"></i> <a href="<?php echo $this->generateUrl('dashboard'); ?>">Dashboard</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-comments-o"></i> <a href="<?php echo $this->generateUrl('discussions'); ?>">Discussions</a>
|
||||
</li>
|
||||
<li class="active">
|
||||
<?php secho($number); ?>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12 discussion-container">
|
||||
<div class="text-center"><i class="fa fa-spinner fa-spin"></i></div>
|
||||
</div>
|
||||
<div class="col-lg-12 message-input-container">
|
||||
<div class="discussion-message message-input">
|
||||
<form class="send-message-discussion" action="<?php secho($this->generateUrl('discussions', 'send', [$_SESSION['csrf']])); ?>" method="POST">
|
||||
<textarea name="content" placeholder="Envoyer un message..."></textarea>
|
||||
<input type="hidden" name="numbers[]" value="<?php secho($number); ?>" />
|
||||
<button class="btn" ><span class="fa fa-fw fa-send-o"></span> Envoyer</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(document).ready(function () {
|
||||
/**
|
||||
* Cette fonction vérifie régulièrement les sms pour mettre à jour l'affichage
|
||||
*/
|
||||
function getmessages ()
|
||||
{
|
||||
ajaxTransactionId = Date.now();
|
||||
jQuery.getJSON(HTTP_PWD + "/discussions/getmessages/<?php echo htmlspecialchars(urlencode($number)); ?>/" + ajaxTransactionId , function( data ) {
|
||||
if (data.transactionId != ajaxTransactionId)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
jQuery('.discussion-container').html('');
|
||||
|
||||
$.each(data.messages, function(key, message) {
|
||||
|
||||
switch (message.type)
|
||||
{
|
||||
case 'received' :
|
||||
var texte = '' +
|
||||
'<div class="clearfix message-container">' +
|
||||
'<div class="discussion-message message-received">' +
|
||||
'<div class="discussion-message-text">' + message.text.replace(/</g, "<").replace(/>/g, ">") + '</div>' +
|
||||
'<div class="discussion-message-date">' + message.date.replace(/</g, "<").replace(/>/g, ">") + '</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'sended' :
|
||||
var texte = '' +
|
||||
'<div class="clearfix message-container">' +
|
||||
'<div class="discussion-message message-sended">' +
|
||||
'<div class="discussion-message-text">' + message.text.replace(/</g, "<").replace(/>/g, ">") + '</div>' +
|
||||
'<div class="discussion-message-date">' + message.date.replace(/</g, "<").replace(/>/g, ">") + '</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'inprogress' :
|
||||
var texte = '' +
|
||||
'<div class="clearfix message-container">' +
|
||||
'<div class="discussion-message message-sended">' +
|
||||
'<div class="message-in-progress-hover"><i class="fa fa-spinner fa-spin"></i></div>' +
|
||||
'<div class="discussion-message-text">' + message.text.replace(/</g, "<").replace(/>/g, ">") + '</div>' +
|
||||
'<div class="discussion-message-date">' + message.date.replace(/</g, "<").replace(/>/g, ">") + '</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
break;
|
||||
default :
|
||||
var texte = '';
|
||||
break;
|
||||
}
|
||||
|
||||
jQuery('.discussion-container').append(texte);
|
||||
});
|
||||
scrollDownDiscussion();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction permet de fixer la taille de la fenetre de discussion
|
||||
*/
|
||||
function fullHeightDiscussion()
|
||||
{
|
||||
var containerPosition = jQuery('.discussion-container').position();
|
||||
var windowHeight = jQuery(window).height();
|
||||
var messageInputContainer = jQuery('.message-input-container').outerHeight();
|
||||
var footerHeight = jQuery('footer').outerHeight();
|
||||
|
||||
var containerHeight = Math.floor(windowHeight - (containerPosition.top + footerHeight * 2 + messageInputContainer));
|
||||
|
||||
jQuery('.discussion-container').outerHeight(containerHeight);
|
||||
}
|
||||
|
||||
fullHeightDiscussion();
|
||||
|
||||
jQuery(window).on('resize', function () {
|
||||
fullHeightDiscussion();
|
||||
});
|
||||
|
||||
var getmessagesInterval = setInterval(getmessages, 2500);
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
$incs->footer();
|
|
@ -34,6 +34,9 @@
|
|||
<li <?php echo $page == 'scheduleds' ? 'class="active"' : ''; ?>>
|
||||
<a href="<?php echo $this->generateUrl('scheduleds'); ?>"><i class="fa fa-fw fa-envelope"></i> SMS</a>
|
||||
</li>
|
||||
<li <?php echo $page == 'discussions' ? 'class="active"' : ''; ?>>
|
||||
<a href="<?php echo $this->generateUrl('discussions'); ?>"><i class="fa fa-fw fa-comments"></i> Discussions</a>
|
||||
</li>
|
||||
<li <?php echo $page == 'commands' ? 'class="active"' : ''; ?>>
|
||||
<a href="<?php echo $this->generateUrl('commands'); ?>"><i class="fa fa-fw fa-terminal"></i> Commandes</a>
|
||||
</li>
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
{
|
||||
jQuery('.form-datetime').datetimepicker(
|
||||
{
|
||||
format: 'yyyy-mm-dd hh:ii',
|
||||
format: 'yyyy-mm-dd hh:ii:ss',
|
||||
autoclose: true,
|
||||
minuteStep: 1,
|
||||
language: 'fr'
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
{
|
||||
jQuery('.form-datetime').datetimepicker(
|
||||
{
|
||||
format: 'yyyy-mm-dd hh:ii',
|
||||
format: 'yyyy-mm-dd hh:ii:ss',
|
||||
autoclose: true,
|
||||
minuteStep: 1,
|
||||
language: 'fr'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue