Ajout des accusés de reception

This commit is contained in:
Pierre-Lin Bonnemaison 2015-09-22 20:12:59 +02:00
parent ee02e2609b
commit 3a7cd8ebda
5 changed files with 27 additions and 2 deletions

View File

@ -85,6 +85,7 @@
'date' => htmlspecialchars($sended['at']), 'date' => htmlspecialchars($sended['at']),
'text' => htmlspecialchars($sended['content']), 'text' => htmlspecialchars($sended['content']),
'type' => 'sended', 'type' => 'sended',
'delivered' => ($sended['delivered'] ? true : false),
); );
} }

View File

@ -239,12 +239,33 @@
//On gère les SMS STOP //On gère les SMS STOP
if (trim($text) == 'STOP') if (trim($text) == 'STOP')
{ {
echo 'STOP SMS detected ' . $number; echo 'STOP SMS detected ' . $number . "\n";
$this->wlog('STOP SMS detected ' . $number); $this->wlog('STOP SMS detected ' . $number);
$db->insertIntoTable('sms_stop', ['number' => $number]); $db->insertIntoTable('sms_stop', ['number' => $number]);
continue; continue;
} }
//On gère les accusés de reception
if (trim($text) == 'Delivered')
{
echo 'Delivered SMS for ' . $number . "\n";
$this->wlog('Delivered SMS for ' . $number);
//On récupère les SMS par encore validé, uniquement sur les dernières 24h
$now = new DateTime();
$interval = new DateInterval('P1D');
$sinceDate = $now->sub($interval)->format('Y-m-d H:i:s');
if (!$sendeds = $db->getFromTableWhere('sendeds', ['target' => $number, 'delivered' => false, '>at' => $sinceDate], 'at', false, 1))
{
continue;
}
$db->updateTableWhere('sendeds', ['delivered' => true], ['id' => $sendeds[0]['id']]);
echo "Sended SMS id " . $sendeds[0]['id'] . " to delivered status\n";
continue;
}
if (!$number) if (!$number)
{ {
$this->wlog('Invalid phone number in file "' . $dir); $this->wlog('Invalid phone number in file "' . $dir);

View File

@ -27,6 +27,7 @@ CREATE TABLE IF NOT EXISTS sendeds
at DATETIME NOT NULL, at DATETIME NOT NULL,
target VARCHAR(12) NOT NULL, target VARCHAR(12) NOT NULL,
content VARCHAR(1000) NOT NULL, content VARCHAR(1000) NOT NULL,
delivered BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (id) PRIMARY KEY (id)
); );

View File

@ -86,7 +86,7 @@
'<div class="clearfix message-container">' + '<div class="clearfix message-container">' +
'<div class="discussion-message message-sended">' + '<div class="discussion-message message-sended">' +
'<div class="discussion-message-text">' + message.text + '</div>' + '<div class="discussion-message-text">' + message.text + '</div>' +
'<div class="discussion-message-date">' + message.date + '</div>' + '<div class="discussion-message-date">' + message.date + (message.delivered ? ' <span class="fa fa-check-circle fa-fw text-success"></span>' : '' ) + '</div>' +
'</div>' + '</div>' +
'</div>'; '</div>';
break; break;

View File

@ -42,6 +42,7 @@
<th>Numéro</th> <th>Numéro</th>
<th>Message</th> <th>Message</th>
<th>Date</th> <th>Date</th>
<th>Delivré</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -54,6 +55,7 @@
<td><?php secho($send['target']); ?></td> <td><?php secho($send['target']); ?></td>
<td><?php secho($send['content']); ?></td> <td><?php secho($send['content']); ?></td>
<td><?php secho($send['at']); ?></td> <td><?php secho($send['at']); ?></td>
<td><?php secho($send['delivered'] ? 'Oui' : 'Non'); ?></td>
</tr> </tr>
<?php <?php
} }