[SMS STOP] accepte également le mot stop en minuscule

This commit is contained in:
Romain Guerrero 2016-03-22 13:40:14 +01:00
parent 34ac15272d
commit a03787bc53

View file

@ -51,7 +51,7 @@
} }
$message .= " Arguments optionnels : \n"; $message .= " Arguments optionnels : \n";
if (!count($optionals)) if (!count($optionals))
{ {
$message .= " Pas d'argument\n"; $message .= " Pas d'argument\n";
@ -75,9 +75,9 @@
{ {
//On créé l'objet de base de données //On créé l'objet de base de données
global $db; global $db;
for ($i = 0; $i < 30; $i++) for ($i = 0; $i < 30; $i++)
{ {
$now = new DateTime(); $now = new DateTime();
$now = $now->format('Y-m-d H:i:s'); $now = $now->format('Y-m-d H:i:s');
@ -103,7 +103,7 @@
$id_scheduled = $scheduled['id']; $id_scheduled = $scheduled['id'];
$text_sms = escapeshellarg($scheduled['content']); $text_sms = escapeshellarg($scheduled['content']);
$flash = $scheduled['flash']; $flash = $scheduled['flash'];
//On initialise les numéros auxquelles envoyer le SMS //On initialise les numéros auxquelles envoyer le SMS
$numbers = array(); $numbers = array();
@ -134,7 +134,7 @@
} }
$smsStops = $db->getFromTableWhere('sms_stop'); $smsStops = $db->getFromTableWhere('sms_stop');
foreach ($numbers as $number) foreach ($numbers as $number)
{ {
//Si les SMS STOP sont activés, on passe au numéro suivant si le numéro actuelle fait parti des SMS STOP //Si les SMS STOP sont activés, on passe au numéro suivant si le numéro actuelle fait parti des SMS STOP
@ -165,7 +165,7 @@
} }
$id_sended = $db->lastId(); $id_sended = $db->lastId();
//Commande qui envoie le SMS //Commande qui envoie le SMS
$commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -report -len ' . mb_strlen($text_sms) . ' -text ' . $text_sms; $commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -report -len ' . mb_strlen($text_sms) . ' -text ' . $text_sms;
@ -183,7 +183,7 @@
} }
echo "Tous les SMS sont en cours d'envoi.\n"; echo "Tous les SMS sont en cours d'envoi.\n";
//Tous les SMS ont été envoyés. //Tous les SMS ont été envoyés.
$db->deleteScheduledsIn($ids_scheduleds); $db->deleteScheduledsIn($ids_scheduleds);
//On dors 2 secondes //On dors 2 secondes
@ -198,16 +198,16 @@
{ {
//On créer l'objet de base de données //On créer l'objet de base de données
global $db; global $db;
for ($i = 0; $i < 30; $i++) for ($i = 0; $i < 30; $i++)
{ {
foreach (scandir(PWD_RECEIVEDS) as $dir) foreach (scandir(PWD_RECEIVEDS) as $dir)
{ {
//Si le fichier est un fichier système, on passe à l'itération suivante //Si le fichier est un fichier système, on passe à l'itération suivante
if ($dir == '.' || $dir == '..') if ($dir == '.' || $dir == '..')
{ {
continue; continue;
} }
echo "Analyse du SMS " . $dir . "\n"; echo "Analyse du SMS " . $dir . "\n";
@ -246,7 +246,7 @@
$text = $content_file[1]; $text = $content_file[1];
//On gère les SMS STOP //On gère les SMS STOP
if (trim($text) == 'STOP') if (strtoupper(trim($text)) == 'STOP')
{ {
echo 'STOP SMS detected ' . $number . "\n"; echo 'STOP SMS detected ' . $number . "\n";
$this->wlog('STOP SMS detected ' . $number); $this->wlog('STOP SMS detected ' . $number);
@ -264,7 +264,7 @@
$now = new DateTime(); $now = new DateTime();
$interval = new DateInterval('PT12H'); $interval = new DateInterval('PT12H');
$sinceDate = $now->sub($interval)->format('Y-m-d H:i:s'); $sinceDate = $now->sub($interval)->format('Y-m-d H:i:s');
if (!$sendeds = $db->getFromTableWhere('sendeds', ['target' => $number, 'delivered' => false, 'failed' => false, '>at' => $sinceDate], 'at', false, 1)) if (!$sendeds = $db->getFromTableWhere('sendeds', ['target' => $number, 'delivered' => false, 'failed' => false, '>at' => $sinceDate], 'at', false, 1))
{ {
continue; continue;
@ -293,13 +293,13 @@
echo "Sended SMS id " . $sended['id'] . " to delivered status\n"; echo "Sended SMS id " . $sended['id'] . " to delivered status\n";
continue; continue;
} }
if (!$number) if (!$number)
{ {
$this->wlog('Invalid phone number in file "' . $dir); $this->wlog('Invalid phone number in file "' . $dir);
die(6); die(6);
} }
//On va vérifier si on a reçu une commande, et des identifiants //On va vérifier si on a reçu une commande, et des identifiants
$flags = internalTools::parseForFlag($text); $flags = internalTools::parseForFlag($text);
@ -326,7 +326,7 @@
if (array_key_exists($command_name, $flags)) if (array_key_exists($command_name, $flags))
{ {
$this->wlog('We found command ' . $command_name); $this->wlog('We found command ' . $command_name);
//Si la commande ne nécessite pas d'être admin, ou si on est admin //Si la commande ne nécessite pas d'être admin, ou si on est admin
if (!$command['admin'] || $user['admin']) if (!$command['admin'] || $user['admin'])
{ {
@ -392,9 +392,9 @@
$ids_transfers[] = $transfer['id']; $ids_transfers[] = $transfer['id'];
$ids_receiveds[] = $transfer['id_received']; $ids_receiveds[] = $transfer['id_received'];
} }
$db->updateProgressTransfersIn($ids_transfers, true); $db->updateProgressTransfersIn($ids_transfers, true);
$receiveds = $db->getReceivedsIn($ids_receiveds); $receiveds = $db->getReceivedsIn($ids_receiveds);
$users = $db->getFromTableWhere('users', ['transfer' => true]); $users = $db->getFromTableWhere('users', ['transfer' => true]);
@ -407,9 +407,9 @@
$to = $user['email']; $to = $user['email'];
$subject = '[RaspiSMS] - Transfert d\'un SMS du ' . $received['send_by']; $subject = '[RaspiSMS] - Transfert d\'un SMS du ' . $received['send_by'];
$message = "Le numéro " . $received['send_by'] . " vous a envoyé un SMS : \n" . $received['content']; $message = "Le numéro " . $received['send_by'] . " vous a envoyé un SMS : \n" . $received['content'];
$ok = mail($to, $subject, $message); $ok = mail($to, $subject, $message);
echo " ... " . ($ok ? 'OK' : 'KO') . "\n"; echo " ... " . ($ok ? 'OK' : 'KO') . "\n";
} }
} }