Fix style and add config file to php-cs-fixer
This commit is contained in:
parent
485a0cb6fd
commit
fab9e256ab
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des commandes
|
* Classe des commandes.
|
||||||
*/
|
*/
|
||||||
class Command extends \descartes\InternalController
|
class Command extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -15,11 +26,12 @@ namespace controllers\internals;
|
||||||
$this->internal_event = new \controllers\internals\Event($bdd);
|
$this->internal_event = new \controllers\internals\Event($bdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the list of commands as an array
|
* Return the list of commands as an array.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des commandes
|
* @return array : La liste des commandes
|
||||||
*/
|
*/
|
||||||
public function list($nb_entry = false, $page = false)
|
public function list($nb_entry = false, $page = false)
|
||||||
|
@ -28,8 +40,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des commandes sous forme d'un tableau
|
* Cette fonction retourne une liste des commandes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des commandes
|
* @return array : La liste des commandes
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -39,7 +53,8 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de scheduleds
|
* Cette fonction permet de compter le nombre de scheduleds.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -48,8 +63,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une commande
|
* Cette fonction va supprimer une commande.
|
||||||
|
*
|
||||||
* @param array $id : L'id de la commande à supprimer
|
* @param array $id : L'id de la commande à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de commandes supprimées;
|
* @return int : Le nombre de commandes supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -58,8 +75,13 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle commande
|
* Cette fonction insert une nouvelle commande.
|
||||||
|
*
|
||||||
* @param array $command : La commande à insérer
|
* @param array $command : La commande à insérer
|
||||||
|
* @param mixed $name
|
||||||
|
* @param mixed $script
|
||||||
|
* @param mixed $admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle commande insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle commande insérée
|
||||||
*/
|
*/
|
||||||
public function create($name, $script, $admin)
|
public function create($name, $script, $admin)
|
||||||
|
@ -72,16 +94,24 @@ namespace controllers\internals;
|
||||||
|
|
||||||
$result = $this->model_command->insert($command);
|
$result = $this->model_command->insert($command);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->internal_event->create('COMMAND_ADD', 'Ajout commande : '.$name.' => '.$script);
|
$this->internal_event->create('COMMAND_ADD', 'Ajout commande : '.$name.' => '.$script);
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour un commande
|
* Cette fonction met à jour un commande.
|
||||||
|
*
|
||||||
|
* @param mixed $id
|
||||||
|
* @param mixed $name
|
||||||
|
* @param mixed $script
|
||||||
|
* @param mixed $admin
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $name, $script, $admin)
|
public function update($id, $name, $script, $admin)
|
||||||
|
@ -92,8 +122,6 @@ namespace controllers\internals;
|
||||||
'admin' => $admin,
|
'admin' => $admin,
|
||||||
];
|
];
|
||||||
|
|
||||||
$result = $this->model_command->update($id, $command);
|
return $this->model_command->update($id, $command);
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,29 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
class Console extends \descartes\InternalController
|
class Console extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Cette fonction envoie tous les Sms programmés qui doivent l'être
|
* Cette fonction envoie tous les Sms programmés qui doivent l'être.
|
||||||
*/
|
*/
|
||||||
public function sendScheduled()
|
public function sendScheduled()
|
||||||
{
|
{
|
||||||
//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');
|
||||||
|
|
||||||
|
@ -19,60 +31,71 @@ class Console extends \descartes\InternalController
|
||||||
|
|
||||||
$scheduleds = $db->getScheduledNotInProgressBefore($now);
|
$scheduleds = $db->getScheduledNotInProgressBefore($now);
|
||||||
|
|
||||||
$ids_scheduleds = array();
|
$ids_scheduleds = [];
|
||||||
|
|
||||||
//On passe en cours de progression tous les Sms
|
//On passe en cours de progression tous les Sms
|
||||||
foreach ($scheduleds as $scheduled) {
|
foreach ($scheduleds as $scheduled)
|
||||||
|
{
|
||||||
$ids_scheduleds[] = $scheduled['id'];
|
$ids_scheduleds[] = $scheduled['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
echo count($ids_scheduleds) . " Sms à envoyer ont été trouvés et ajoutés à la liste des Sms en cours d'envoi.\n";
|
echo \count($ids_scheduleds)." Sms à envoyer ont été trouvés et ajoutés à la liste des Sms en cours d'envoi.\n";
|
||||||
|
|
||||||
$db->updateProgressScheduledIn($ids_scheduleds, true);
|
$db->updateProgressScheduledIn($ids_scheduleds, true);
|
||||||
|
|
||||||
//Pour chaque Sms à envoyer
|
//Pour chaque Sms à envoyer
|
||||||
foreach ($scheduleds as $scheduled) {
|
foreach ($scheduleds as $scheduled)
|
||||||
|
{
|
||||||
$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 = [];
|
||||||
|
|
||||||
//On récupère les numéros pour le Sms et on les ajoute
|
//On récupère les numéros pour le Sms et on les ajoute
|
||||||
$target_numbers = $db->getNumbersForScheduled($id_scheduled);
|
$target_numbers = $db->getNumbersForScheduled($id_scheduled);
|
||||||
foreach ($target_numbers as $target_number) {
|
foreach ($target_numbers as $target_number)
|
||||||
|
{
|
||||||
$numbers[] = $target_number['number'];
|
$numbers[] = $target_number['number'];
|
||||||
}
|
}
|
||||||
|
|
||||||
//On récupère les contacts, et on ajoute les numéros
|
//On récupère les contacts, et on ajoute les numéros
|
||||||
$contacts = $db->getContactForScheduled($id_scheduled);
|
$contacts = $db->getContactForScheduled($id_scheduled);
|
||||||
foreach ($contacts as $contact) {
|
foreach ($contacts as $contact)
|
||||||
|
{
|
||||||
$numbers[] = $contact['number'];
|
$numbers[] = $contact['number'];
|
||||||
}
|
}
|
||||||
|
|
||||||
//On récupère les groups
|
//On récupère les groups
|
||||||
$groups = $db->getGroupForScheduled($id_scheduled);
|
$groups = $db->getGroupForScheduled($id_scheduled);
|
||||||
foreach ($groups as $group) {
|
foreach ($groups as $group)
|
||||||
|
{
|
||||||
//On récupère les contacts du group et on les ajoute aux numéros
|
//On récupère les contacts du group et on les ajoute aux numéros
|
||||||
$contacts = $db->getContactForGroup($group['id']);
|
$contacts = $db->getContactForGroup($group['id']);
|
||||||
foreach ($contacts as $contact) {
|
foreach ($contacts as $contact)
|
||||||
|
{
|
||||||
$numbers[] = $contact['number'];
|
$numbers[] = $contact['number'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$smsStops = $db->getFromTableWhere('smsstop');
|
$smsStops = $db->getFromTableWhere('smsstop');
|
||||||
|
|
||||||
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
|
||||||
if (RASPISms_SETTINGS_SmsSTOPS) {
|
if (RASPISms_SETTINGS_SmsSTOPS)
|
||||||
foreach ($smsStops as $smsStop) {
|
{
|
||||||
if (!($number == $smsStop['number'])) {
|
foreach ($smsStops as $smsStop)
|
||||||
|
{
|
||||||
|
if (!($number === $smsStop['number']))
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Un Sms destiné au " . $number . " a été bloqué par Sms STOP\n";
|
echo 'Un Sms destiné au '.$number." a été bloqué par Sms STOP\n";
|
||||||
continue(2); //On passe au numéro suivant !
|
|
||||||
|
continue 2; //On passe au numéro suivant !
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +106,8 @@ class Console extends \descartes\InternalController
|
||||||
$now = $now->format('Y-m-d H:i:s');
|
$now = $now->format('Y-m-d H:i:s');
|
||||||
|
|
||||||
//On peut maintenant ajouter le Sms
|
//On peut maintenant ajouter le Sms
|
||||||
if (!$db->insertIntoTable('sendeds', ['at' => $now, 'target' => $number, 'content' => $scheduled['content'], 'before_delivered' => ceil(mb_strlen($scheduled['content'])/160)])) {
|
if (!$db->insertIntoTable('sendeds', ['at' => $now, 'target' => $number, 'content' => $scheduled['content'], 'before_delivered' => ceil(mb_strlen($scheduled['content']) / 160)]))
|
||||||
|
{
|
||||||
echo 'Impossible d\'inserer le sms pour le numero '.$number."\n";
|
echo 'Impossible d\'inserer le sms pour le numero '.$number."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +116,8 @@ class Console extends \descartes\InternalController
|
||||||
//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;
|
||||||
|
|
||||||
if (RASPISms_SETTINGS_Sms_FLASH && $flash) {
|
if (RASPISms_SETTINGS_Sms_FLASH && $flash)
|
||||||
|
{
|
||||||
$commande_send_sms .= ' -flash';
|
$commande_send_sms .= ' -flash';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,30 +146,35 @@ class Console extends \descartes\InternalController
|
||||||
//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 == '..' || $dir == '.tokeep') {
|
if ('.' === $dir || '..' === $dir || '.tokeep' === $dir)
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Analyse du Sms " . $dir . "\n";
|
echo 'Analyse du Sms '.$dir."\n";
|
||||||
|
|
||||||
//On récupère la date du Sms à la seconde près grâce au nom du fichier (Cf. parseSms.sh)
|
//On récupère la date du Sms à la seconde près grâce au nom du fichier (Cf. parseSms.sh)
|
||||||
//Il faut mettre la date au format Y-m-d H:i:s
|
//Il faut mettre la date au format Y-m-d H:i:s
|
||||||
$date = substr($dir, 0, 4) . '-' . substr($dir, 4, 2) . '-' . substr($dir, 6, 2) . ' ' . substr($dir, 8, 2) . ':' . substr($dir, 10, 2) . ':' . substr($dir, 12, 2);
|
$date = mb_substr($dir, 0, 4).'-'.mb_substr($dir, 4, 2).'-'.mb_substr($dir, 6, 2).' '.mb_substr($dir, 8, 2).':'.mb_substr($dir, 10, 2).':'.mb_substr($dir, 12, 2);
|
||||||
|
|
||||||
//On récupère le fichier, et on récupère la chaine jusqu'au premier ':' pour le numéro de téléphone source, et la fin pour le message
|
//On récupère le fichier, et on récupère la chaine jusqu'au premier ':' pour le numéro de téléphone source, et la fin pour le message
|
||||||
$content_file = file_get_contents(PWD_RECEIVEDS.$dir);
|
$content_file = file_get_contents(PWD_RECEIVEDS.$dir);
|
||||||
|
|
||||||
//Si on peux pas ouvrir le fichier, on quitte en logant une erreur
|
//Si on peux pas ouvrir le fichier, on quitte en logant une erreur
|
||||||
if ($content_file == false) {
|
if (false === $content_file)
|
||||||
|
{
|
||||||
error_log('Unable to read file "'.$dir);
|
error_log('Unable to read file "'.$dir);
|
||||||
die(4);
|
die(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
//On supprime le fichier. Si on n'y arrive pas, alors on log
|
//On supprime le fichier. Si on n'y arrive pas, alors on log
|
||||||
if (!unlink(PWD_RECEIVEDS . $dir)) {
|
if (!unlink(PWD_RECEIVEDS.$dir))
|
||||||
|
{
|
||||||
error_log('Unable to delete file "'.$dir);
|
error_log('Unable to delete file "'.$dir);
|
||||||
die(8);
|
die(8);
|
||||||
}
|
}
|
||||||
|
@ -152,7 +182,8 @@ class Console extends \descartes\InternalController
|
||||||
$content_file = explode(':', $content_file, 2);
|
$content_file = explode(':', $content_file, 2);
|
||||||
|
|
||||||
//Si on a pas passé de numéro ou de message, alors on lève une erreur
|
//Si on a pas passé de numéro ou de message, alors on lève une erreur
|
||||||
if (!isset($content_file[0], $content_file[1])) {
|
if (!isset($content_file[0], $content_file[1]))
|
||||||
|
{
|
||||||
error_log('Missing params in file "'.$dir);
|
error_log('Missing params in file "'.$dir);
|
||||||
die(5);
|
die(5);
|
||||||
}
|
}
|
||||||
|
@ -162,15 +193,18 @@ class Console extends \descartes\InternalController
|
||||||
$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 ('STOP' === trim($text))
|
||||||
|
{
|
||||||
echo 'STOP Sms detected '.$number."\n";
|
echo 'STOP Sms detected '.$number."\n";
|
||||||
error_log('STOP Sms detected '.$number);
|
error_log('STOP Sms detected '.$number);
|
||||||
$db->insertIntoTable('smsstop', ['number' => $number]);
|
$db->insertIntoTable('smsstop', ['number' => $number]);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//On gère les accusés de reception
|
//On gère les accusés de reception
|
||||||
if (trim($text) == 'Delivered' || trim($text) == 'Failed') {
|
if ('Delivered' === trim($text) || 'Failed' === trim($text))
|
||||||
|
{
|
||||||
echo 'Delivered or Failed Sms for '.$number."\n";
|
echo 'Delivered or Failed Sms for '.$number."\n";
|
||||||
error_log('Delivered or Failed Sms for '.$number);
|
error_log('Delivered or Failed Sms for '.$number);
|
||||||
|
|
||||||
|
@ -179,33 +213,40 @@ class Console extends \descartes\InternalController
|
||||||
$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;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sended = $sendeds[0];
|
$sended = $sendeds[0];
|
||||||
|
|
||||||
//On gère les echecs
|
//On gère les echecs
|
||||||
if (trim($text) == 'Failed') {
|
if ('Failed' === trim($text))
|
||||||
|
{
|
||||||
$db->updateTableWhere('sendeds', ['before_delivered' => 0, 'failed' => true], ['id' => $sended['id']]);
|
$db->updateTableWhere('sendeds', ['before_delivered' => 0, 'failed' => true], ['id' => $sended['id']]);
|
||||||
echo "Sended Sms id " . $sended['id'] . " pass to failed status\n";
|
echo 'Sended Sms id '.$sended['id']." pass to failed status\n";
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//On gère le cas des messages de plus de 160 caractères, lesquels impliquent plusieurs accusés
|
//On gère le cas des messages de plus de 160 caractères, lesquels impliquent plusieurs accusés
|
||||||
if ($sended['before_delivered'] > 1) {
|
if ($sended['before_delivered'] > 1)
|
||||||
|
{
|
||||||
$db->updateTableWhere('sendeds', ['before_delivered' => $sended['before_delivered'] - 1], ['id' => $sended['id']]);
|
$db->updateTableWhere('sendeds', ['before_delivered' => $sended['before_delivered'] - 1], ['id' => $sended['id']]);
|
||||||
echo "Sended Sms id " . $sended['id'] . " before_delivered decrement\n";
|
echo 'Sended Sms id '.$sended['id']." before_delivered decrement\n";
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Si tout est bon, que nous avons assez d'accusés, nous validons !
|
//Si tout est bon, que nous avons assez d'accusés, nous validons !
|
||||||
$db->updateTableWhere('sendeds', ['before_delivered' => 0, 'delivered' => true], ['id' => $sended['id']]);
|
$db->updateTableWhere('sendeds', ['before_delivered' => 0, 'delivered' => true], ['id' => $sended['id']]);
|
||||||
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)
|
||||||
|
{
|
||||||
error_log('Invalid phone number in file "'.$dir);
|
error_log('Invalid phone number in file "'.$dir);
|
||||||
die(6);
|
die(6);
|
||||||
}
|
}
|
||||||
|
@ -215,26 +256,31 @@ class Console extends \descartes\InternalController
|
||||||
|
|
||||||
//On créer le tableau qui permettra de stocker les commandes trouvées
|
//On créer le tableau qui permettra de stocker les commandes trouvées
|
||||||
|
|
||||||
$found_commands = array();
|
$found_commands = [];
|
||||||
|
|
||||||
//Si on reçu des identifiants
|
//Si on reçu des identifiants
|
||||||
if (array_key_exists('LOGIN', $flags) && array_key_exists('PASSWORD', $flags)) {
|
if (\array_key_exists('LOGIN', $flags) && \array_key_exists('PASSWORD', $flags))
|
||||||
|
{
|
||||||
//Si on a bien un utilisateur avec les identifiants reçus
|
//Si on a bien un utilisateur avec les identifiants reçus
|
||||||
$user = $db->getUserFromEmail($flags['LOGIN']);
|
$user = $db->getUserFromEmail($flags['LOGIN']);
|
||||||
error_log('We found ' . count($user) . ' users');
|
error_log('We found '.\count($user).' users');
|
||||||
if ($user && $user['password'] == sha1($flags['PASSWORD'])) {
|
if ($user && $user['password'] === sha1($flags['PASSWORD']))
|
||||||
|
{
|
||||||
error_log('Password is valid');
|
error_log('Password is valid');
|
||||||
//On va passer en revue toutes les commandes, pour voir si on en trouve dans ce message
|
//On va passer en revue toutes les commandes, pour voir si on en trouve dans ce message
|
||||||
$commands = $db->getFromTableWhere('commands');
|
$commands = $db->getFromTableWhere('commands');
|
||||||
|
|
||||||
error_log('We found ' . count($commands) . ' commands');
|
error_log('We found '.\count($commands).' commands');
|
||||||
foreach ($commands as $command) {
|
foreach ($commands as $command)
|
||||||
|
{
|
||||||
$command_name = mb_strtoupper($command['name']);
|
$command_name = mb_strtoupper($command['name']);
|
||||||
if (array_key_exists($command_name, $flags)) {
|
if (\array_key_exists($command_name, $flags))
|
||||||
|
{
|
||||||
error_log('We found command '.$command_name);
|
error_log('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'])
|
||||||
|
{
|
||||||
error_log('And the count is ok');
|
error_log('And the count is ok');
|
||||||
$found_commands[$command_name] = PWD_SCRIPTS.$command['script'].escapeshellcmd($flags[$command_name]);
|
$found_commands[$command_name] = PWD_SCRIPTS.$command['script'].escapeshellcmd($flags[$command_name]);
|
||||||
}
|
}
|
||||||
|
@ -244,15 +290,17 @@ class Console extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
//On va supprimer le mot de passe du Sms pour pouvoir l'enregistrer sans danger
|
//On va supprimer le mot de passe du Sms pour pouvoir l'enregistrer sans danger
|
||||||
if (isset($flags['PASSWORD'])) {
|
if (isset($flags['PASSWORD']))
|
||||||
|
{
|
||||||
$text = str_replace($flags['PASSWORD'], '*****', $text);
|
$text = str_replace($flags['PASSWORD'], '*****', $text);
|
||||||
}
|
}
|
||||||
|
|
||||||
//On map les données et on créer le Sms reçu
|
//On map les données et on créer le Sms reçu
|
||||||
$send_by = $number;
|
$send_by = $number;
|
||||||
$content = $text;
|
$content = $text;
|
||||||
$is_command = count($found_commands);
|
$is_command = \count($found_commands);
|
||||||
if (!$db->insertIntoTable('receiveds', ['at' => $date, 'send_by' => $send_by, 'content' => $content, 'is_command' => $is_command])) {
|
if (!$db->insertIntoTable('receiveds', ['at' => $date, 'send_by' => $send_by, 'content' => $content, 'is_command' => $is_command]))
|
||||||
|
{
|
||||||
echo "Erreur lors de l'enregistrement du Sms\n";
|
echo "Erreur lors de l'enregistrement du Sms\n";
|
||||||
error_log('Unable to process the Sms in file "'.$dir);
|
error_log('Unable to process the Sms in file "'.$dir);
|
||||||
die(7);
|
die(7);
|
||||||
|
@ -262,7 +310,8 @@ class Console extends \descartes\InternalController
|
||||||
$db->insertIntoTable('transfers', ['id_received' => $db->lastId(), 'progress' => false]);
|
$db->insertIntoTable('transfers', ['id_received' => $db->lastId(), 'progress' => false]);
|
||||||
|
|
||||||
//Chaque commande sera executée.
|
//Chaque commande sera executée.
|
||||||
foreach ($found_commands as $command_name => $command) {
|
foreach ($found_commands as $command_name => $command)
|
||||||
|
{
|
||||||
echo 'Execution de la commande : '.$command_name.' :: '.$command."\n";
|
echo 'Execution de la commande : '.$command_name.' :: '.$command."\n";
|
||||||
exec($command);
|
exec($command);
|
||||||
}
|
}
|
||||||
|
@ -274,12 +323,14 @@ class Console extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet d'envoyer par mail les sms à transférer
|
* Cette fonction permet d'envoyer par mail les sms à transférer.
|
||||||
*/
|
*/
|
||||||
public function sendTransfers()
|
public function sendTransfers()
|
||||||
{
|
{
|
||||||
if (!RASPISms_SETTINGS_TRANSFER) {
|
if (!RASPISms_SETTINGS_TRANSFER)
|
||||||
|
{
|
||||||
echo "Le transfer de Sms est désactivé ! \n";
|
echo "Le transfer de Sms est désactivé ! \n";
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,7 +339,8 @@ class Console extends \descartes\InternalController
|
||||||
|
|
||||||
$ids_transfers = [];
|
$ids_transfers = [];
|
||||||
$ids_receiveds = [];
|
$ids_receiveds = [];
|
||||||
foreach ($transfers as $transfer) {
|
foreach ($transfers as $transfer)
|
||||||
|
{
|
||||||
$ids_transfers[] = $transfer['id'];
|
$ids_transfers[] = $transfer['id'];
|
||||||
$ids_receiveds[] = $transfer['id_received'];
|
$ids_receiveds[] = $transfer['id_received'];
|
||||||
}
|
}
|
||||||
|
@ -299,16 +351,18 @@ class Console extends \descartes\InternalController
|
||||||
|
|
||||||
$users = $db->getFromTableWhere('users', ['transfer' => true]);
|
$users = $db->getFromTableWhere('users', ['transfer' => true]);
|
||||||
|
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user)
|
||||||
foreach ($receiveds as $received) {
|
{
|
||||||
|
foreach ($receiveds as $received)
|
||||||
|
{
|
||||||
echo "Transfer d'un Sms du ".$received['send_by']." à l'email ".$user['email'];
|
echo "Transfer d'un Sms du ".$received['send_by']." à l'email ".$user['email'];
|
||||||
$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";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des contactes
|
* Classe des contactes.
|
||||||
*/
|
*/
|
||||||
class Contact extends \descartes\InternalController
|
class Contact extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -16,9 +27,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des contactes sous forme d'un tableau
|
* Cette fonction retourne une liste des contactes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des contactes
|
* @return array : La liste des contactes
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -28,8 +41,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des contactes sous forme d'un tableau
|
* Cette fonction retourne une liste des contactes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des contactes
|
* @return array : La liste des contactes
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -39,8 +54,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne un contact par son numéro de tel
|
* Cette fonction retourne un contact par son numéro de tel.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro du contact
|
* @param string $number : Le numéro du contact
|
||||||
|
*
|
||||||
* @return array : Le contact
|
* @return array : Le contact
|
||||||
*/
|
*/
|
||||||
public function get_by_number($number)
|
public function get_by_number($number)
|
||||||
|
@ -50,8 +67,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne un contact par son name
|
* Cette fonction retourne un contact par son name.
|
||||||
|
*
|
||||||
* @param string $name : Le name du contact
|
* @param string $name : Le name du contact
|
||||||
|
*
|
||||||
* @return array : Le contact
|
* @return array : Le contact
|
||||||
*/
|
*/
|
||||||
public function get_by_name($name)
|
public function get_by_name($name)
|
||||||
|
@ -60,9 +79,9 @@ namespace controllers\internals;
|
||||||
return $this->model_contact->get_by_name($name);
|
return $this->model_contact->get_by_name($name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de contacts
|
* Cette fonction permet de compter le nombre de contacts.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -71,8 +90,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer un contact
|
* Cette fonction va supprimer un contact.
|
||||||
|
*
|
||||||
* @param array $id : L'id du contact à supprimer
|
* @param array $id : L'id du contact à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de contact supprimées;
|
* @return int : Le nombre de contact supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -81,8 +102,12 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle contacte
|
* Cette fonction insert une nouvelle contacte.
|
||||||
|
*
|
||||||
* @param array $contact : Un tableau représentant la contacte à insérer
|
* @param array $contact : Un tableau représentant la contacte à insérer
|
||||||
|
* @param mixed $number
|
||||||
|
* @param mixed $name
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle contacte insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle contacte insérée
|
||||||
*/
|
*/
|
||||||
public function create($number, $name)
|
public function create($number, $name)
|
||||||
|
@ -93,7 +118,8 @@ namespace controllers\internals;
|
||||||
];
|
];
|
||||||
|
|
||||||
$result = $this->model_contact->insert($contact);
|
$result = $this->model_contact->insert($contact);
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,7 +129,12 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une série de contactes
|
* Cette fonction met à jour une série de contactes.
|
||||||
|
*
|
||||||
|
* @param mixed $id
|
||||||
|
* @param mixed $number
|
||||||
|
* @param mixed $name
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $number, $name)
|
public function update($id, $number, $name)
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des Event
|
* Classe des Event.
|
||||||
*/
|
*/
|
||||||
class Event extends \descartes\InternalController
|
class Event extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -14,10 +25,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des events sous forme d'un tableau
|
* Cette fonction retourne une liste des events sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param PDO $bdd : instance PDO de la base de donnée
|
* @param PDO $bdd : instance PDO de la base de donnée
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des events
|
* @return array : La liste des events
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -27,8 +40,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les X dernières entrées triées par date
|
* Cette fonction retourne les X dernières entrées triées par date.
|
||||||
|
*
|
||||||
* @param mixed false|int $nb_entry : Nombre d'entrée à retourner ou faux pour tout
|
* @param mixed false|int $nb_entry : Nombre d'entrée à retourner ou faux pour tout
|
||||||
|
*
|
||||||
* @return array : Les dernières entrées
|
* @return array : Les dernières entrées
|
||||||
*/
|
*/
|
||||||
public function get_lasts_by_date($nb_entry = false)
|
public function get_lasts_by_date($nb_entry = false)
|
||||||
|
@ -37,8 +52,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de contacts
|
* Cette fonction va supprimer une liste de contacts.
|
||||||
|
*
|
||||||
* @param array $ids : Les id des contactes à supprimer
|
* @param array $ids : Les id des contactes à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de contactes supprimées;
|
* @return int : Le nombre de contactes supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -47,8 +65,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert un nouvel event
|
* Cette fonction insert un nouvel event.
|
||||||
|
*
|
||||||
* @param array $event : Un tableau représentant l'event à insérer
|
* @param array $event : Un tableau représentant l'event à insérer
|
||||||
|
* @param mixed $type
|
||||||
|
* @param mixed $text
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id du nouvel event inséré
|
* @return mixed bool|int : false si echec, sinon l'id du nouvel event inséré
|
||||||
*/
|
*/
|
||||||
public function create($type, $text)
|
public function create($type, $text)
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des groups
|
* Classe des groups.
|
||||||
*/
|
*/
|
||||||
class Group extends \descartes\InternalController
|
class Group extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -16,9 +27,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des groups sous forme d'un tableau
|
* Cette fonction retourne une liste des groups sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des groups
|
* @return array : La liste des groups
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -28,8 +41,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des groups sous forme d'un tableau
|
* Cette fonction retourne une liste des groups sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des groups
|
* @return array : La liste des groups
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -39,8 +54,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne un group par son name
|
* Cette fonction retourne un group par son name.
|
||||||
|
*
|
||||||
* @param string $name : Le name du group
|
* @param string $name : Le name du group
|
||||||
|
*
|
||||||
* @return array : Le group
|
* @return array : Le group
|
||||||
*/
|
*/
|
||||||
public function get_by_name($name)
|
public function get_by_name($name)
|
||||||
|
@ -50,7 +67,8 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de group
|
* Cette fonction permet de compter le nombre de group.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -59,8 +77,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de group
|
* Cette fonction va supprimer une liste de group.
|
||||||
|
*
|
||||||
* @param array $ids : Les id des groups à supprimer
|
* @param array $ids : Les id des groups à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de groups supprimées;
|
* @return int : Le nombre de groups supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($ids)
|
public function delete($ids)
|
||||||
|
@ -69,9 +89,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle group
|
* Cette fonction insert une nouvelle group.
|
||||||
|
*
|
||||||
* @param array $name : le nom du group
|
* @param array $name : le nom du group
|
||||||
* @param array $contacts_ids : Un tableau des ids des contact du group
|
* @param array $contacts_ids : Un tableau des ids des contact du group
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle group insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle group insérée
|
||||||
*/
|
*/
|
||||||
public function create($name, $contacts_ids)
|
public function create($name, $contacts_ids)
|
||||||
|
@ -81,11 +103,13 @@ namespace controllers\internals;
|
||||||
];
|
];
|
||||||
|
|
||||||
$id_group = $this->model_group->insert($group);
|
$id_group = $this->model_group->insert($group);
|
||||||
if (!$id_group) {
|
if (!$id_group)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($contacts_ids as $contact_id) {
|
foreach ($contacts_ids as $contact_id)
|
||||||
|
{
|
||||||
$this->model_group->insert_group_contact($id_group, $contact_id);
|
$this->model_group->insert_group_contact($id_group, $contact_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,10 +119,12 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour un group
|
* Cette fonction met à jour un group.
|
||||||
|
*
|
||||||
* @param int $id : L'id du group à update
|
* @param int $id : L'id du group à update
|
||||||
* @param string $name : Le nom du group à update
|
* @param string $name : Le nom du group à update
|
||||||
* @param string $contacts_ids : Les ids des contact du group
|
* @param string $contacts_ids : Les ids des contact du group
|
||||||
|
*
|
||||||
* @return bool : True if all update ok, false else
|
* @return bool : True if all update ok, false else
|
||||||
*/
|
*/
|
||||||
public function update($id, $name, $contacts_ids)
|
public function update($id, $name, $contacts_ids)
|
||||||
|
@ -112,13 +138,16 @@ namespace controllers\internals;
|
||||||
$this->model_group->delete_group_contact($id);
|
$this->model_group->delete_group_contact($id);
|
||||||
|
|
||||||
$nb_contact_insert = 0;
|
$nb_contact_insert = 0;
|
||||||
foreach ($contacts_ids as $contact_id) {
|
foreach ($contacts_ids as $contact_id)
|
||||||
if ($this->model_group->insert_group_contact($id, $contact_id)) {
|
{
|
||||||
$nb_contact_insert ++;
|
if ($this->model_group->insert_group_contact($id, $contact_id))
|
||||||
|
{
|
||||||
|
++$nb_contact_insert;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$result && $nb_contact_insert != count($contacts_ids)) {
|
if (!$result && $nb_contact_insert !== \count($contacts_ids))
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,8 +155,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les contact pour un group
|
* Cette fonction retourne les contact pour un group.
|
||||||
|
*
|
||||||
* @param string $id : L'id du group
|
* @param string $id : L'id du group
|
||||||
|
*
|
||||||
* @return array : Un tableau avec les contact
|
* @return array : Un tableau avec les contact
|
||||||
*/
|
*/
|
||||||
public function get_contact($id)
|
public function get_contact($id)
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des receivedes
|
* Classe des receivedes.
|
||||||
*/
|
*/
|
||||||
class Received extends \descartes\InternalController
|
class Received extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -13,11 +24,12 @@ class Received extends \descartes\InternalController
|
||||||
$this->model_received = new \models\Received($bdd);
|
$this->model_received = new \models\Received($bdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des receivedes sous forme d'un tableau
|
* Cette fonction retourne une liste des receivedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des receivedes
|
* @return array : La liste des receivedes
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -26,10 +38,11 @@ class Received extends \descartes\InternalController
|
||||||
return $this->model_received->get_list($nb_entry, $nb_entry * $page);
|
return $this->model_received->get_list($nb_entry, $nb_entry * $page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des receivedes sous forme d'un tableau
|
* Cette fonction retourne une liste des receivedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des receivedes
|
* @return array : La liste des receivedes
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -39,8 +52,10 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les X dernières entrées triées par date
|
* Cette fonction retourne les X dernières entrées triées par date.
|
||||||
|
*
|
||||||
* @param mixed false|int $nb_entry : Nombre d'entrée à retourner ou faux pour tout
|
* @param mixed false|int $nb_entry : Nombre d'entrée à retourner ou faux pour tout
|
||||||
|
*
|
||||||
* @return array : Les dernières entrées
|
* @return array : Les dernières entrées
|
||||||
*/
|
*/
|
||||||
public function get_lasts_by_date($nb_entry = false)
|
public function get_lasts_by_date($nb_entry = false)
|
||||||
|
@ -49,8 +64,10 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des receiveds sous forme d'un tableau
|
* Cette fonction retourne une liste des receiveds sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param string $origin : Le numéro depuis lequel est envoyé le message
|
* @param string $origin : Le numéro depuis lequel est envoyé le message
|
||||||
|
*
|
||||||
* @return array : La liste des receiveds
|
* @return array : La liste des receiveds
|
||||||
*/
|
*/
|
||||||
public function get_by_origin($origin)
|
public function get_by_origin($origin)
|
||||||
|
@ -59,8 +76,10 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les Sms reçus depuis une date
|
* Récupère les Sms reçus depuis une date.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les Sms (au format 2014-10-25 20:10:05)
|
* @param $date : La date depuis laquelle on veux les Sms (au format 2014-10-25 20:10:05)
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les Sms depuis la date
|
* @return array : Tableau avec tous les Sms depuis la date
|
||||||
*/
|
*/
|
||||||
public function get_since_by_date($date)
|
public function get_since_by_date($date)
|
||||||
|
@ -69,9 +88,11 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les Sms reçus depuis une date pour un numero
|
* Récupère les Sms reçus depuis une date pour un numero.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les Sms (au format 2014-10-25 20:10:05)
|
* @param $date : La date depuis laquelle on veux les Sms (au format 2014-10-25 20:10:05)
|
||||||
* @param $number : Le numéro
|
* @param $number : Le numéro
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les Sms depuis la date
|
* @return array : Tableau avec tous les Sms depuis la date
|
||||||
*/
|
*/
|
||||||
public function get_since_for_number_by_date($date, $number)
|
public function get_since_for_number_by_date($date, $number)
|
||||||
|
@ -80,8 +101,11 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de receiveds
|
* Cette fonction va supprimer une liste de receiveds.
|
||||||
|
*
|
||||||
* @param array $ids : Les id des receivedes à supprimer
|
* @param array $ids : Les id des receivedes à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de receivedes supprimées;
|
* @return int : Le nombre de receivedes supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -90,8 +114,14 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle receivede
|
* Cette fonction insert une nouvelle receivede.
|
||||||
|
*
|
||||||
* @param array $received : Un tableau représentant la receivede à insérer
|
* @param array $received : Un tableau représentant la receivede à insérer
|
||||||
|
* @param mixed $at
|
||||||
|
* @param mixed $origin
|
||||||
|
* @param mixed $content
|
||||||
|
* @param mixed $is_command
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle receivede insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle receivede insérée
|
||||||
*/
|
*/
|
||||||
public function create($at, $origin, $content, $is_command)
|
public function create($at, $origin, $content, $is_command)
|
||||||
|
@ -107,7 +137,14 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une série de receivedes
|
* Cette fonction met à jour une série de receivedes.
|
||||||
|
*
|
||||||
|
* @param mixed $id
|
||||||
|
* @param mixed $at
|
||||||
|
* @param mixed $origin
|
||||||
|
* @param mixed $content
|
||||||
|
* @param mixed $is_command
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $at, $origin, $content, $is_command)
|
public function update($id, $at, $origin, $content, $is_command)
|
||||||
|
@ -123,7 +160,8 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de receiveds
|
* Cette fonction permet de compter le nombre de receiveds.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -132,7 +170,10 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction compte le nombre de receiveds par jour depuis une date
|
* Cette fonction compte le nombre de receiveds par jour depuis une date.
|
||||||
|
*
|
||||||
|
* @param mixed $date
|
||||||
|
*
|
||||||
* @return array : un tableau avec en clef la date et en valeure le nombre de sms envoyés
|
* @return array : un tableau avec en clef la date et en valeure le nombre de sms envoyés
|
||||||
*/
|
*/
|
||||||
public function count_by_day_since($date)
|
public function count_by_day_since($date)
|
||||||
|
@ -140,7 +181,8 @@ class Received extends \descartes\InternalController
|
||||||
$counts_by_day = $this->model_received->count_by_day_since($date);
|
$counts_by_day = $this->model_received->count_by_day_since($date);
|
||||||
$return = [];
|
$return = [];
|
||||||
|
|
||||||
foreach ($counts_by_day as $count_by_day) {
|
foreach ($counts_by_day as $count_by_day)
|
||||||
|
{
|
||||||
$return[$count_by_day['at_ymd']] = $count_by_day['nb'];
|
$return[$count_by_day['at_ymd']] = $count_by_day['nb'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,7 +190,8 @@ class Received extends \descartes\InternalController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les discussions avec un numéro
|
* Cette fonction retourne les discussions avec un numéro.
|
||||||
|
*
|
||||||
* @return array : Un tableau avec la date de l'échange et le numéro de la personne
|
* @return array : Un tableau avec la date de l'échange et le numéro de la personne
|
||||||
*/
|
*/
|
||||||
public function get_discussions()
|
public function get_discussions()
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des scheduledes
|
* Classe des scheduledes.
|
||||||
*/
|
*/
|
||||||
class Scheduled extends \descartes\InternalController
|
class Scheduled extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -16,9 +27,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des scheduledes sous forme d'un tableau
|
* Cette fonction retourne une liste des scheduledes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des scheduledes
|
* @return array : La liste des scheduledes
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -28,8 +41,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des scheduledes sous forme d'un tableau
|
* Cette fonction retourne une liste des scheduledes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des scheduledes
|
* @return array : La liste des scheduledes
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -39,9 +54,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les messages programmés avant une date et pour un numéro
|
* Cette fonction retourne les messages programmés avant une date et pour un numéro.
|
||||||
|
*
|
||||||
* @param \DateTime $date : La date avant laquelle on veux le message
|
* @param \DateTime $date : La date avant laquelle on veux le message
|
||||||
* @param string $number : Le numéro
|
* @param string $number : Le numéro
|
||||||
|
*
|
||||||
* @return array : Les messages programmés avant la date
|
* @return array : Les messages programmés avant la date
|
||||||
*/
|
*/
|
||||||
public function get_before_date_for_number($date, $number)
|
public function get_before_date_for_number($date, $number)
|
||||||
|
@ -50,7 +67,8 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de scheduled
|
* Cette fonction permet de compter le nombre de scheduled.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -59,8 +77,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer un scheduled
|
* Cette fonction va supprimer un scheduled.
|
||||||
|
*
|
||||||
* @param int $id : L'id du scheduled à supprimer
|
* @param int $id : L'id du scheduled à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de scheduledes supprimées;
|
* @return int : Le nombre de scheduledes supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -69,31 +89,37 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert un nouveau scheduled
|
* Cette fonction insert un nouveau scheduled.
|
||||||
|
*
|
||||||
* @param array $scheduled : Le scheduled à créer avec at, content, flash, progress
|
* @param array $scheduled : Le scheduled à créer avec at, content, flash, progress
|
||||||
* @param array $numbers : Les numéros auxquels envoyer le scheduled
|
* @param array $numbers : Les numéros auxquels envoyer le scheduled
|
||||||
* @param array $contacts_ids : Les ids des contact auquels envoyer le scheduled
|
* @param array $contacts_ids : Les ids des contact auquels envoyer le scheduled
|
||||||
* @param array $groups_ids : Les ids des group auxquels envoyer le scheduled
|
* @param array $groups_ids : Les ids des group auxquels envoyer le scheduled
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id du nouveau scheduled inséré
|
* @return mixed bool|int : false si echec, sinon l'id du nouveau scheduled inséré
|
||||||
*/
|
*/
|
||||||
public function create($scheduled, $numbers = [], $contacts_ids = [], $groups_ids = [])
|
public function create($scheduled, $numbers = [], $contacts_ids = [], $groups_ids = [])
|
||||||
{
|
{
|
||||||
if (!$id_scheduled = $this->model_scheduled->insert($scheduled)) {
|
if (!$id_scheduled = $this->model_scheduled->insert($scheduled))
|
||||||
$date = date("Y-m-d H:i:s");
|
{
|
||||||
|
$date = date('Y-m-d H:i:s');
|
||||||
$this->internal_event->create('SCHEDULED_ADD', 'Ajout d\'un Sms pour le '.$date.'.');
|
$this->internal_event->create('SCHEDULED_ADD', 'Ajout d\'un Sms pour le '.$date.'.');
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($numbers as $number) {
|
foreach ($numbers as $number)
|
||||||
|
{
|
||||||
$this->model_scheduled->insert_scheduled_number($id_scheduled, $number);
|
$this->model_scheduled->insert_scheduled_number($id_scheduled, $number);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($contacts_ids as $contact_id) {
|
foreach ($contacts_ids as $contact_id)
|
||||||
|
{
|
||||||
$this->model_scheduled->insert_scheduled_contact($id_scheduled, $contact_id);
|
$this->model_scheduled->insert_scheduled_contact($id_scheduled, $contact_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($groups_ids as $group_id) {
|
foreach ($groups_ids as $group_id)
|
||||||
|
{
|
||||||
$this->model_scheduled->insert_scheduled_group($id_scheduled, $group_id);
|
$this->model_scheduled->insert_scheduled_group($id_scheduled, $group_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,45 +127,52 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une série de scheduledes
|
* Cette fonction met à jour une série de scheduledes.
|
||||||
|
*
|
||||||
* @param array $scheduleds : Un tableau de scheduled à modifier avec at, content, flash, progress + pour chaque scheduled number, contact_ids, group_ids
|
* @param array $scheduleds : Un tableau de scheduled à modifier avec at, content, flash, progress + pour chaque scheduled number, contact_ids, group_ids
|
||||||
* @param array $numbers : Les numéros auxquels envoyer le scheduled
|
* @param array $numbers : Les numéros auxquels envoyer le scheduled
|
||||||
* @param array $contacts_ids : Les ids des contact auquels envoyer le scheduled
|
* @param array $contacts_ids : Les ids des contact auquels envoyer le scheduled
|
||||||
* @param array $groups_ids : Les ids des group auxquels envoyer le scheduled
|
* @param array $groups_ids : Les ids des group auxquels envoyer le scheduled
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($scheduleds)
|
public function update($scheduleds)
|
||||||
{
|
{
|
||||||
$nb_update = 0;
|
$nb_update = 0;
|
||||||
foreach ($scheduleds as $scheduled) {
|
foreach ($scheduleds as $scheduled)
|
||||||
|
{
|
||||||
$result = $this->model_scheduled->update($scheduled['scheduled']['id'], $scheduled['scheduled']);
|
$result = $this->model_scheduled->update($scheduled['scheduled']['id'], $scheduled['scheduled']);
|
||||||
|
|
||||||
$this->model_scheduled->delete_scheduled_number($scheduled['scheduled']['id']);
|
$this->model_scheduled->delete_scheduled_number($scheduled['scheduled']['id']);
|
||||||
$this->model_scheduled->delete_scheduled_contact($scheduled['scheduled']['id']);
|
$this->model_scheduled->delete_scheduled_contact($scheduled['scheduled']['id']);
|
||||||
$this->model_scheduled->delete_scheduled_group($scheduled['scheduled']['id']);
|
$this->model_scheduled->delete_scheduled_group($scheduled['scheduled']['id']);
|
||||||
|
|
||||||
foreach ($scheduled['number'] as $number) {
|
foreach ($scheduled['number'] as $number)
|
||||||
|
{
|
||||||
$this->model_scheduled->insert_scheduled_number($scheduled['scheduled']['id'], $number);
|
$this->model_scheduled->insert_scheduled_number($scheduled['scheduled']['id'], $number);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($scheduled['contact_ids'] as $contact_id) {
|
foreach ($scheduled['contact_ids'] as $contact_id)
|
||||||
|
{
|
||||||
$this->model_scheduled->insert_scheduled_contact($scheduled['scheduled']['id'], $contact_id);
|
$this->model_scheduled->insert_scheduled_contact($scheduled['scheduled']['id'], $contact_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($scheduled['group_ids'] as $group_id) {
|
foreach ($scheduled['group_ids'] as $group_id)
|
||||||
|
{
|
||||||
$this->model_scheduled->insert_scheduled_group($scheduled['scheduled']['id'], $group_id);
|
$this->model_scheduled->insert_scheduled_group($scheduled['scheduled']['id'], $group_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
++$nb_update;
|
||||||
$nb_update ++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $nb_update;
|
return $nb_update;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste de numéro pour un scheduled
|
* Cette fonction retourne une liste de numéro pour un scheduled.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
||||||
|
*
|
||||||
* @return array : La liste des scheduledes
|
* @return array : La liste des scheduledes
|
||||||
*/
|
*/
|
||||||
public function get_number($id_scheduled)
|
public function get_number($id_scheduled)
|
||||||
|
@ -149,8 +182,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste de contact pour un scheduled
|
* Cette fonction retourne une liste de contact pour un scheduled.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
||||||
|
*
|
||||||
* @return array : La liste des contact
|
* @return array : La liste des contact
|
||||||
*/
|
*/
|
||||||
public function get_contact($id_scheduled)
|
public function get_contact($id_scheduled)
|
||||||
|
@ -160,8 +195,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste de group pour un scheduled
|
* Cette fonction retourne une liste de group pour un scheduled.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
||||||
|
*
|
||||||
* @return array : La liste des group
|
* @return array : La liste des group
|
||||||
*/
|
*/
|
||||||
public function get_group($id_scheduled)
|
public function get_group($id_scheduled)
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des sendedes
|
* Classe des sendedes.
|
||||||
*/
|
*/
|
||||||
class Sended extends \descartes\InternalController
|
class Sended extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -14,9 +25,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des sendedes sous forme d'un tableau
|
* Cette fonction retourne une liste des sendedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des sendedes
|
* @return array : La liste des sendedes
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -26,8 +39,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des sendedes sous forme d'un tableau
|
* Cette fonction retourne une liste des sendedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des sendedes
|
* @return array : La liste des sendedes
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -37,8 +52,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les X dernières entrées triées par date
|
* Cette fonction retourne les X dernières entrées triées par date.
|
||||||
|
*
|
||||||
* @param mixed false|int $nb_entry : Nombre d'entrée à retourner ou faux pour tout
|
* @param mixed false|int $nb_entry : Nombre d'entrée à retourner ou faux pour tout
|
||||||
|
*
|
||||||
* @return array : Les dernières entrées
|
* @return array : Les dernières entrées
|
||||||
*/
|
*/
|
||||||
public function get_lasts_by_date($nb_entry = false)
|
public function get_lasts_by_date($nb_entry = false)
|
||||||
|
@ -47,8 +64,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des receivedes sous forme d'un tableau
|
* Cette fonction retourne une liste des receivedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param string $target : Le numéro de à qui est envoyé le message
|
* @param string $target : Le numéro de à qui est envoyé le message
|
||||||
|
*
|
||||||
* @return array : La liste des sendeds
|
* @return array : La liste des sendeds
|
||||||
*/
|
*/
|
||||||
public function get_by_target($target)
|
public function get_by_target($target)
|
||||||
|
@ -57,10 +76,12 @@ namespace controllers\internals;
|
||||||
return $this->model_sended->get_by_target($target);
|
return $this->model_sended->get_by_target($target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de sendeds
|
* Cette fonction va supprimer une liste de sendeds.
|
||||||
|
*
|
||||||
* @param array $ids : Les id des sendedes à supprimer
|
* @param array $ids : Les id des sendedes à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de sendedes supprimées;
|
* @return int : Le nombre de sendedes supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -69,8 +90,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle sendede
|
* Cette fonction insert une nouvelle sendede.
|
||||||
|
*
|
||||||
* @param array $sended : Un tableau représentant la sendede à insérer
|
* @param array $sended : Un tableau représentant la sendede à insérer
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle sendede insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle sendede insérée
|
||||||
*/
|
*/
|
||||||
public function create($sended)
|
public function create($sended)
|
||||||
|
@ -79,17 +102,22 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une série de sendedes
|
* Cette fonction met à jour une série de sendedes.
|
||||||
|
*
|
||||||
|
* @param mixed $sendeds
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($sendeds)
|
public function update($sendeds)
|
||||||
{
|
{
|
||||||
$nb_update = 0;
|
$nb_update = 0;
|
||||||
foreach ($sendeds as $sended) {
|
foreach ($sendeds as $sended)
|
||||||
|
{
|
||||||
$result = $this->model_sended->update($sended['id'], $sended);
|
$result = $this->model_sended->update($sended['id'], $sended);
|
||||||
|
|
||||||
if ($result) {
|
if ($result)
|
||||||
$nb_update ++;
|
{
|
||||||
|
++$nb_update;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,7 +125,8 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de sendeds
|
* Cette fonction permet de compter le nombre de sendeds.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -106,7 +135,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction compte le nombre de sendeds par jour depuis une date
|
* Cette fonction compte le nombre de sendeds par jour depuis une date.
|
||||||
|
*
|
||||||
|
* @param mixed $date
|
||||||
|
*
|
||||||
* @return array : un tableau avec en clef la date et en valeure le nombre de sms envoyés
|
* @return array : un tableau avec en clef la date et en valeure le nombre de sms envoyés
|
||||||
*/
|
*/
|
||||||
public function count_by_day_since($date)
|
public function count_by_day_since($date)
|
||||||
|
@ -114,7 +146,8 @@ namespace controllers\internals;
|
||||||
$counts_by_day = $this->model_sended->count_by_day_since($date);
|
$counts_by_day = $this->model_sended->count_by_day_since($date);
|
||||||
$return = [];
|
$return = [];
|
||||||
|
|
||||||
foreach ($counts_by_day as $count_by_day) {
|
foreach ($counts_by_day as $count_by_day)
|
||||||
|
{
|
||||||
$return[$count_by_day['at_ymd']] = $count_by_day['nb'];
|
$return[$count_by_day['at_ymd']] = $count_by_day['nb'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
class Setting extends \descartes\InternalController
|
class Setting extends \descartes\InternalController
|
||||||
|
@ -11,7 +22,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return all settings
|
* Return all settings.
|
||||||
|
*
|
||||||
* @return array || false
|
* @return array || false
|
||||||
*/
|
*/
|
||||||
public function all()
|
public function all()
|
||||||
|
@ -20,7 +32,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a setting by his name
|
* Update a setting by his name.
|
||||||
|
*
|
||||||
|
* @param mixed $value
|
||||||
*/
|
*/
|
||||||
public function update(string $name, $value): bool
|
public function update(string $name, $value): bool
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe des smsstopes
|
* Classe des smsstopes.
|
||||||
*/
|
*/
|
||||||
class SmsStop extends \descartes\InternalController
|
class SmsStop extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
|
@ -14,9 +25,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des smsstopes sous forme d'un tableau
|
* Cette fonction retourne une liste des smsstopes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
* @param mixed(int|bool) $nb_entry : Le nombre d'entrées à retourner par page
|
||||||
* @param mixed(int|bool) $page : Le numéro de page en cours
|
* @param mixed(int|bool) $page : Le numéro de page en cours
|
||||||
|
*
|
||||||
* @return array : La liste des smsstopes
|
* @return array : La liste des smsstopes
|
||||||
*/
|
*/
|
||||||
public function get_list($nb_entry = false, $page = false)
|
public function get_list($nb_entry = false, $page = false)
|
||||||
|
@ -26,8 +39,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des smsstopes sous forme d'un tableau
|
* Cette fonction retourne une liste des smsstopes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array int $ids : Les ids des entrées à retourner
|
* @param array int $ids : Les ids des entrées à retourner
|
||||||
|
*
|
||||||
* @return array : La liste des smsstopes
|
* @return array : La liste des smsstopes
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
|
@ -37,8 +52,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne un smsstop par son numéro de tel
|
* Cette fonction retourne un smsstop par son numéro de tel.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro du smsstop
|
* @param string $number : Le numéro du smsstop
|
||||||
|
*
|
||||||
* @return array : Le smsstop
|
* @return array : Le smsstop
|
||||||
*/
|
*/
|
||||||
public function get_by_number($number)
|
public function get_by_number($number)
|
||||||
|
@ -47,9 +64,9 @@ namespace controllers\internals;
|
||||||
return $this->model_sms_stop->get_by_number($number);
|
return $this->model_sms_stop->get_by_number($number);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet de compter le nombre de smsstops
|
* Cette fonction permet de compter le nombre de smsstops.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées dans la table
|
* @return int : Le nombre d'entrées dans la table
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -58,8 +75,11 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de smsstops
|
* Cette fonction va supprimer une liste de smsstops.
|
||||||
|
*
|
||||||
* @param array $ids : Les id des smsstopes à supprimer
|
* @param array $ids : Les id des smsstopes à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de smsstopes supprimées;
|
* @return int : Le nombre de smsstopes supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -68,8 +88,10 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle smsstope
|
* Cette fonction insert une nouvelle smsstope.
|
||||||
|
*
|
||||||
* @param array $smsstop : Un tableau représentant la smsstope à insérer
|
* @param array $smsstop : Un tableau représentant la smsstope à insérer
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle smsstope insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle smsstope insérée
|
||||||
*/
|
*/
|
||||||
public function create($smsstop)
|
public function create($smsstop)
|
||||||
|
@ -78,17 +100,22 @@ namespace controllers\internals;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une série de smsstopes
|
* Cette fonction met à jour une série de smsstopes.
|
||||||
|
*
|
||||||
|
* @param mixed $smsstops
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($smsstops)
|
public function update($smsstops)
|
||||||
{
|
{
|
||||||
$nb_update = 0;
|
$nb_update = 0;
|
||||||
foreach ($smsstops as $smsstop) {
|
foreach ($smsstops as $smsstop)
|
||||||
|
{
|
||||||
$result = $this->model_sms_stop->update($smsstop['id'], $smsstop);
|
$result = $this->model_sms_stop->update($smsstop['id'], $smsstop);
|
||||||
|
|
||||||
if ($result) {
|
if ($result)
|
||||||
$nb_update ++;
|
{
|
||||||
|
++$nb_update;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,31 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
class Tool extends \descartes\InternalController
|
class Tool extends \descartes\InternalController
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Cette fonction parse un numéro pour le retourner sans espaces, etc.
|
* Cette fonction parse un numéro pour le retourner sans espaces, etc.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro de téléphone à parser
|
* @param string $number : Le numéro de téléphone à parser
|
||||||
|
*
|
||||||
* @return mixed : Si le numéro est bien un numéro de téléphone, on retourne le numéro parsé. Sinon, on retourne faux
|
* @return mixed : Si le numéro est bien un numéro de téléphone, on retourne le numéro parsé. Sinon, on retourne faux
|
||||||
*/
|
*/
|
||||||
public static function parse_phone($number)
|
public static function parse_phone($number)
|
||||||
{
|
{
|
||||||
$number = preg_replace('#[^-0-9+]#', '', $number);
|
$number = preg_replace('#[^-0-9+]#', '', $number);
|
||||||
if (preg_match('#^(0|\+[1-9]{1,3}|\+1\-[0-9]{3})[1-9][0-9]{8,10}$#', $number)) {
|
if (preg_match('#^(0|\+[1-9]{1,3}|\+1\-[0-9]{3})[1-9][0-9]{8,10}$#', $number))
|
||||||
|
{
|
||||||
return $number;
|
return $number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +34,9 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction parse un numéro pour le retourner avec des espaces, etc.
|
* Cette fonction parse un numéro pour le retourner avec des espaces, etc.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro de téléphone à parser
|
* @param string $number : Le numéro de téléphone à parser
|
||||||
|
*
|
||||||
* @return mixed : Si le numéro est bien un numéro de téléphone, on retourne le numéro parsé. Sinon, on retourne faux
|
* @return mixed : Si le numéro est bien un numéro de téléphone, on retourne le numéro parsé. Sinon, on retourne faux
|
||||||
*/
|
*/
|
||||||
public static function phone_add_space($number)
|
public static function phone_add_space($number)
|
||||||
|
@ -30,7 +46,9 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction fait la correspondance entre un type d'evenement et une icone font awesome.
|
* Cette fonction fait la correspondance entre un type d'evenement et une icone font awesome.
|
||||||
|
*
|
||||||
* @param string $type : Le type de l'évenement à analyser
|
* @param string $type : Le type de l'évenement à analyser
|
||||||
|
*
|
||||||
* @return string : Le nom de l'icone à afficher (ex : fa-user)
|
* @return string : Le nom de l'icone à afficher (ex : fa-user)
|
||||||
*/
|
*/
|
||||||
public static function event_type_to_icon($type)
|
public static function event_type_to_icon($type)
|
||||||
|
@ -38,18 +56,23 @@
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case 'USER_ADD':
|
case 'USER_ADD':
|
||||||
$logo = 'fa-user';
|
$logo = 'fa-user';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'CONTACT_ADD':
|
case 'CONTACT_ADD':
|
||||||
$logo = 'fa-user';
|
$logo = 'fa-user';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'GROUP_ADD':
|
case 'GROUP_ADD':
|
||||||
$logo = 'fa-group';
|
$logo = 'fa-group';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'SCHEDULED_ADD':
|
case 'SCHEDULED_ADD':
|
||||||
$logo = 'fa-calendar';
|
$logo = 'fa-calendar';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'COMMAND_ADD':
|
case 'COMMAND_ADD':
|
||||||
$logo = 'fa-terminal';
|
$logo = 'fa-terminal';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$logo = 'fa-question';
|
$logo = 'fa-question';
|
||||||
|
@ -59,27 +82,33 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction vérifie une date
|
* Cette fonction vérifie une date.
|
||||||
|
*
|
||||||
* @param string $date : La date a valider
|
* @param string $date : La date a valider
|
||||||
* @param string $format : Le format de la date
|
* @param string $format : Le format de la date
|
||||||
* @return boolean : Vrai si la date et valide, faux sinon
|
*
|
||||||
|
* @return bool : Vrai si la date et valide, faux sinon
|
||||||
*/
|
*/
|
||||||
public static function validate_date($date, $format)
|
public static function validate_date($date, $format)
|
||||||
{
|
{
|
||||||
$objectDate = \DateTime::createFromFormat($format, $date);
|
$objectDate = \DateTime::createFromFormat($format, $date);
|
||||||
return ($objectDate && $objectDate->format($format) == $date);
|
|
||||||
|
return $objectDate && $objectDate->format($format) === $date;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction parse un texte, pour en extraire des données contenu dans des drapeaux au format [FLAG:contenu du drapeau]
|
* Cette fonction parse un texte, pour en extraire des données contenu dans des drapeaux au format [FLAG:contenu du drapeau].
|
||||||
|
*
|
||||||
* @param string $texte : Le texte à parser
|
* @param string $texte : Le texte à parser
|
||||||
|
*
|
||||||
* @return mixed : Tableau de la forme 'FLAG' => 'contenu du drapeau'. si on trouve une forme correcte (Le contenu de FLAG sera mis en majuscule automatiquement). Sinon le tableau vide.
|
* @return mixed : Tableau de la forme 'FLAG' => 'contenu du drapeau'. si on trouve une forme correcte (Le contenu de FLAG sera mis en majuscule automatiquement). Sinon le tableau vide.
|
||||||
*/
|
*/
|
||||||
public static function parse_for_flag($texte)
|
public static function parse_for_flag($texte)
|
||||||
{
|
{
|
||||||
$returns = array();
|
$returns = [];
|
||||||
$results = array();
|
$results = [];
|
||||||
while (preg_match('#\[(.*)(?<!\\\):(.*)(?<!\\\)\]#Uui', $texte, $results)) { //Tant qu'on recuèpre un flag
|
while (preg_match('#\[(.*)(?<!\\\):(.*)(?<!\\\)\]#Uui', $texte, $results))
|
||||||
|
{ //Tant qu'on recuèpre un flag
|
||||||
$returns[mb_strtoupper($results[1])] = $results[2];
|
$returns[mb_strtoupper($results[1])] = $results[2];
|
||||||
$texte = str_replace($results[0], '', $texte);
|
$texte = str_replace($results[0], '', $texte);
|
||||||
}
|
}
|
||||||
|
@ -88,8 +117,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne un mot de passe généré aléatoirement
|
* Cette fonction retourne un mot de passe généré aléatoirement.
|
||||||
|
*
|
||||||
* @param int $length : Taille du mot de passe à générer
|
* @param int $length : Taille du mot de passe à générer
|
||||||
|
*
|
||||||
* @return string : Le mot de passe aléatoire
|
* @return string : Le mot de passe aléatoire
|
||||||
*/
|
*/
|
||||||
public static function generate_password($length)
|
public static function generate_password($length)
|
||||||
|
@ -98,20 +129,22 @@
|
||||||
$password = '';
|
$password = '';
|
||||||
$chars_length = mb_strlen($chars) - 1;
|
$chars_length = mb_strlen($chars) - 1;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ($i < $length) {
|
while ($i < $length)
|
||||||
$i ++;
|
{
|
||||||
|
++$i;
|
||||||
$password .= $chars[rand(0, $chars_length)];
|
$password .= $chars[rand(0, $chars_length)];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $password;
|
return $password;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction vérifie si un utilisateur et connecté, et si il ne l'est pas, redirige sur la page de connexion
|
* Cette fonction vérifie si un utilisateur et connecté, et si il ne l'est pas, redirige sur la page de connexion.
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public static function verifyconnect()
|
public static function verifyconnect()
|
||||||
{
|
{
|
||||||
if (!isset($_SESSION['connect']) || !$_SESSION['connect']) {
|
if (!isset($_SESSION['connect']) || !$_SESSION['connect'])
|
||||||
|
{
|
||||||
header('Location: /');
|
header('Location: /');
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
@ -119,11 +152,13 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the user is admin.
|
* Check if the user is admin.
|
||||||
* @return Bool : True if admin, False else
|
*
|
||||||
|
* @return bool : True if admin, False else
|
||||||
*/
|
*/
|
||||||
public static function is_admin()
|
public static function is_admin()
|
||||||
{
|
{
|
||||||
if (!isset($_SESSION['user']) || !$_SESSION['connect']['admin']) {
|
if (!isset($_SESSION['user']) || !$_SESSION['connect']['admin'])
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +166,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction s'occupe d'envoyer les emails
|
* Cette fonction s'occupe d'envoyer les emails.
|
||||||
|
*
|
||||||
* @param string $to : L'adresse mail à laquelle envoyer le mail
|
* @param string $to : L'adresse mail à laquelle envoyer le mail
|
||||||
* @param array $settings : Les settings du mail, type, sujet, template
|
* @param array $settings : Les settings du mail, type, sujet, template
|
||||||
* @param array $datas : Les données à fournir au template du mail
|
* @param array $datas : Les données à fournir au template du mail
|
||||||
|
@ -140,6 +176,7 @@
|
||||||
{
|
{
|
||||||
$controller = new \descartes\Controller();
|
$controller = new \descartes\Controller();
|
||||||
$content = $controller->render($settings['template'], $datas, true);
|
$content = $controller->render($settings['template'], $datas, true);
|
||||||
return true;#mail($to, $settings['subject'], $content);
|
|
||||||
|
return true; //mail($to, $settings['subject'], $content);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\internals;
|
namespace controllers\internals;
|
||||||
|
|
||||||
class User extends \descartes\InternalController
|
class User extends \descartes\InternalController
|
||||||
|
@ -13,9 +24,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return list of users as an array
|
* Return list of users as an array.
|
||||||
|
*
|
||||||
* @param mixed(int|bool) $nb_entry : Number of entry to return
|
* @param mixed(int|bool) $nb_entry : Number of entry to return
|
||||||
* @param mixed(int|bool) $page : Numero of page
|
* @param mixed(int|bool) $page : Numero of page
|
||||||
|
*
|
||||||
* @return array|bool : List of user or false
|
* @return array|bool : List of user or false
|
||||||
*/
|
*/
|
||||||
public function list(?int $nb_entry = null, ?int $page = null)
|
public function list(?int $nb_entry = null, ?int $page = null)
|
||||||
|
@ -24,8 +37,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de users
|
* Cette fonction va supprimer une liste de users.
|
||||||
|
*
|
||||||
* @param array $ids : Les id des useres à supprimer
|
* @param array $ids : Les id des useres à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de useres supprimées;
|
* @return int : Le nombre de useres supprimées;
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
|
@ -34,19 +50,23 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction vérifie s'il existe un utilisateur qui corresponde à ce couple login/password
|
* Cette fonction vérifie s'il existe un utilisateur qui corresponde à ce couple login/password.
|
||||||
|
*
|
||||||
* @param string $email : L'eamil de l'utilisateur
|
* @param string $email : L'eamil de l'utilisateur
|
||||||
* @param string $password : Le mot de passe de l'utilisateur
|
* @param string $password : Le mot de passe de l'utilisateur
|
||||||
|
*
|
||||||
* @return mixed false | array : False si pas de user, le user correspondant sous forme d'array sinon
|
* @return mixed false | array : False si pas de user, le user correspondant sous forme d'array sinon
|
||||||
*/
|
*/
|
||||||
public function check_credentials($email, $password)
|
public function check_credentials($email, $password)
|
||||||
{
|
{
|
||||||
$user = $this->model_user->get_by_email($email);
|
$user = $this->model_user->get_by_email($email);
|
||||||
if (!$user) {
|
if (!$user)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!password_verify($password, $user['password'])) {
|
if (!password_verify($password, $user['password']))
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,21 +74,26 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a user password
|
* Update a user password.
|
||||||
|
*
|
||||||
* @param string $id : User id
|
* @param string $id : User id
|
||||||
* @param string $password : New password
|
* @param string $password : New password
|
||||||
|
*
|
||||||
* @return bool;
|
* @return bool;
|
||||||
*/
|
*/
|
||||||
public function update_password(int $id, string $password): bool
|
public function update_password(int $id, string $password): bool
|
||||||
{
|
{
|
||||||
$password = password_hash($password, PASSWORD_DEFAULT);
|
$password = password_hash($password, PASSWORD_DEFAULT);
|
||||||
|
|
||||||
return (bool) $this->model_user->update_password($id, $password);
|
return (bool) $this->model_user->update_password($id, $password);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a user transfer property value
|
* Update a user transfer property value.
|
||||||
|
*
|
||||||
* @param string $id : User id
|
* @param string $id : User id
|
||||||
* @param string $transfer : New value of property transfer
|
* @param string $transfer : New value of property transfer
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update_transfer(int $id, int $transfer): bool
|
public function update_transfer(int $id, int $transfer): bool
|
||||||
|
@ -77,9 +102,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update user email
|
* Update user email.
|
||||||
|
*
|
||||||
* @param string $id : user id
|
* @param string $id : user id
|
||||||
* @param string $email : new mail
|
* @param string $email : new mail
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update_email($id, $email)
|
public function update_email($id, $email)
|
||||||
|
@ -88,8 +115,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne un utilisateur pour un mail donné
|
* Cette fonction retourne un utilisateur pour un mail donné.
|
||||||
|
*
|
||||||
* @param string $email : L'email de l'utilisateur
|
* @param string $email : L'email de l'utilisateur
|
||||||
|
*
|
||||||
* @return mixed boolean | array : false si pas de user pour le mail, le user sinon
|
* @return mixed boolean | array : false si pas de user pour le mail, le user sinon
|
||||||
*/
|
*/
|
||||||
public function get_by_email($email)
|
public function get_by_email($email)
|
||||||
|
@ -98,7 +127,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une série de users
|
* Cette fonction met à jour une série de users.
|
||||||
|
*
|
||||||
|
* @param mixed $id
|
||||||
|
* @param mixed $email
|
||||||
|
* @param mixed $password
|
||||||
|
* @param mixed $admin
|
||||||
|
* @param mixed $transfer
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $email, $password, $admin, $transfer)
|
public function update($id, $email, $password, $admin, $transfer)
|
||||||
|
@ -114,8 +150,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle usere
|
* Cette fonction insert une nouvelle usere.
|
||||||
|
*
|
||||||
* @param array $user : Un tableau représentant la usere à insérer
|
* @param array $user : Un tableau représentant la usere à insérer
|
||||||
|
* @param mixed $email
|
||||||
|
* @param mixed $password
|
||||||
|
* @param mixed $admin
|
||||||
|
* @param mixed $transfer
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle usere insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle usere insérée
|
||||||
*/
|
*/
|
||||||
public function create($email, $password, $admin, $transfer = false)
|
public function create($email, $password, $admin, $transfer = false)
|
||||||
|
@ -129,7 +171,8 @@
|
||||||
|
|
||||||
$result = $this->model_user->insert($user);
|
$result = $this->model_user->insert($user);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
class Account extends \descartes\Controller
|
class Account extends \descartes\Controller
|
||||||
|
@ -14,7 +25,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show profile page
|
* Show profile page.
|
||||||
*/
|
*/
|
||||||
public function show()
|
public function show()
|
||||||
{
|
{
|
||||||
|
@ -22,38 +33,47 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update connected user password
|
* Update connected user password.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['password'] : The new password
|
* @param string $_POST['password'] : The new password
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function update_password($csrf)
|
public function update_password($csrf)
|
||||||
{
|
{
|
||||||
$password = $_POST['password'] ?? false;
|
$password = $_POST['password'] ?? false;
|
||||||
|
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$password) {
|
if (!$password)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez renseigner un mot de passe.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez renseigner un mot de passe.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$update_password_result = $this->internal_user->update_password($_SESSION['user']['id'], $password);
|
$update_password_result = $this->internal_user->update_password($_SESSION['user']['id'], $password);
|
||||||
if (!$update_password_result) {
|
if (!$update_password_result)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour le mot de passe.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour le mot de passe.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le mot de passe a bien été mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le mot de passe a bien été mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update user mail transfer property
|
* Update user mail transfer property.
|
||||||
|
*
|
||||||
* @param $csrf : CSRF token
|
* @param $csrf : CSRF token
|
||||||
* @param string $_POST['transfer'] : New transfer property value
|
* @param string $_POST['transfer'] : New transfer property value
|
||||||
*/
|
*/
|
||||||
|
@ -61,88 +81,113 @@
|
||||||
{
|
{
|
||||||
$transfer = $_POST['transfer'] ?? false;
|
$transfer = $_POST['transfer'] ?? false;
|
||||||
|
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($transfer === false) {
|
if (false === $transfer)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez choisir une option parmis celles de la liste déroulante.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez choisir une option parmis celles de la liste déroulante.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$transfer_update_result = $this->internal_user->update_transfer($_SESSION['user']['id'], $transfer);
|
$transfer_update_result = $this->internal_user->update_transfer($_SESSION['user']['id'], $transfer);
|
||||||
if (!$transfer_update_result) {
|
if (!$transfer_update_result)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$_SESSION['user']['transfer'] = $transfer;
|
$_SESSION['user']['transfer'] = $transfer;
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le transfert a bien été '.($transfer ? 'activé' : 'désactivé').'.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le transfert a bien été '.($transfer ? 'activé' : 'désactivé').'.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update user email
|
* Update user email.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['email'] : User new email
|
* @param string $_POST['email'] : User new email
|
||||||
* @param string $_POST['verif_email'] : Verif email
|
* @param string $_POST['verif_email'] : Verif email
|
||||||
*/
|
*/
|
||||||
public function update_email($csrf)
|
public function update_email($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$email = $_POST['email'] ?? false;
|
$email = $_POST['email'] ?? false;
|
||||||
|
|
||||||
if (!$email) {
|
if (!$email)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez fournir une adresse e-mail !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez fournir une adresse e-mail !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'L\'adresse e-mail n\'est pas une adresse valide.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'L\'adresse e-mail n\'est pas une adresse valide.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$update_email_result = $this->internal_user->update_email($_SESSION['user']['id'], $email);
|
$update_email_result = $this->internal_user->update_email($_SESSION['user']['id'], $email);
|
||||||
if (!$update_email_result) {
|
if (!$update_email_result)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_SESSION['user']['email'] = $email;
|
$_SESSION['user']['email'] = $email;
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'L\'email a bien été mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'L\'email a bien été mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a user
|
* Delete a user.
|
||||||
|
*
|
||||||
* @param string $_POST['delete_account'] : Boolean to see if we want to delete
|
* @param string $_POST['delete_account'] : Boolean to see if we want to delete
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$delete_account = $_POST['delete_account'] ?? false;
|
$delete_account = $_POST['delete_account'] ?? false;
|
||||||
|
|
||||||
if (!$delete_account) {
|
if (!$delete_account)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Pour supprimer le compte, vous devez cocher la case correspondante.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Pour supprimer le compte, vous devez cocher la case correspondante.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$delete_account_result = $this->internal_user->delete($_SESSION['user']['id']);
|
$delete_account_result = $this->internal_user->delete($_SESSION['user']['id']);
|
||||||
if (!$delete_account_result) {
|
if (!$delete_account_result)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de supprimer le compte.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de supprimer le compte.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
return $this->redirect(\descartes\Router::url('Account', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,13 +195,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logout a user and redirect to login page
|
* Logout a user and redirect to login page.
|
||||||
* @return null
|
|
||||||
*/
|
*/
|
||||||
public function logout()
|
public function logout()
|
||||||
{
|
{
|
||||||
session_unset();
|
session_unset();
|
||||||
session_destroy();
|
session_destroy();
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Connect', 'login'));
|
return $this->redirect(\descartes\Router::url('Connect', 'login'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des commandes
|
* Page des commandes.
|
||||||
*/
|
*/
|
||||||
class Command extends \descartes\Controller
|
class Command extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -20,7 +31,9 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les users, sous forme d'un tableau permettant l'administration de ces users
|
* Cette fonction retourne tous les users, sous forme d'un tableau permettant l'administration de ces users.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
|
@ -30,29 +43,36 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de commands
|
* Cette fonction va supprimer une liste de commands.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des commandes à supprimer
|
* @param array int $_GET['ids'] : Les id des commandes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
$this->redirect(\descartes\Router::url('Command', 'list'));
|
$this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_command->delete($id);
|
$this->internal_command->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->redirect(\descartes\Router::url('Command', 'list'));
|
$this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'ajout d'une commande
|
* Cette fonction retourne la page d'ajout d'une commande.
|
||||||
*/
|
*/
|
||||||
public function add()
|
public function add()
|
||||||
{
|
{
|
||||||
|
@ -60,7 +80,8 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'édition des commandes
|
* Cette fonction retourne la page d'édition des commandes.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des commandes à editer
|
* @param array int $_GET['ids'] : Les id des commandes à editer
|
||||||
*/
|
*/
|
||||||
public function edit()
|
public function edit()
|
||||||
|
@ -70,24 +91,28 @@ namespace controllers\publics;
|
||||||
|
|
||||||
$commands = $this->internal_command->get_by_ids($ids);
|
$commands = $this->internal_command->get_by_ids($ids);
|
||||||
|
|
||||||
$this->render('command/edit', array(
|
$this->render('command/edit', [
|
||||||
'commands' => $commands,
|
'commands' => $commands,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert une nouvelle commande
|
* Cette fonction insert une nouvelle commande.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['name'] : Le nom de la commande
|
* @param string $_POST['name'] : Le nom de la commande
|
||||||
* @param string $_POST['script'] : Le script a appeler
|
* @param string $_POST['script'] : Le script a appeler
|
||||||
* @param boolean $_POST['admin'] : Si la commande necessite les droits d'admin (par défaut non)
|
* @param bool $_POST['admin'] : Si la commande necessite les droits d'admin (par défaut non)
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function create($csrf)
|
public function create($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
$this->redirect(\descartes\Router::url('Command', 'list'));
|
$this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,49 +120,61 @@ namespace controllers\publics;
|
||||||
$script = $_POST['script'] ?? false;
|
$script = $_POST['script'] ?? false;
|
||||||
$admin = (isset($_POST['admin']) ? $_POST['admin'] : false);
|
$admin = (isset($_POST['admin']) ? $_POST['admin'] : false);
|
||||||
|
|
||||||
if (!$name || !$script) {
|
if (!$name || !$script)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Renseignez au moins un nom et un script.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Renseignez au moins un nom et un script.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Command', 'list'));
|
return $this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$this->internal_command->create($name, $script, $admin))
|
||||||
if (!$this->internal_command->create($name, $script, $admin)) {
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible créer cette commande.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible créer cette commande.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('commands', 'add'));
|
return $this->redirect(\descartes\Router::url('commands', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'La commande a bien été crée.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'La commande a bien été crée.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Command', 'list'));
|
return $this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une commande
|
* Cette fonction met à jour une commande.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param array $_POST['commands'] : Un tableau des commandes avec leur nouvelle valeurs
|
* @param array $_POST['commands'] : Un tableau des commandes avec leur nouvelle valeurs
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update($csrf)
|
public function update($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
$this->redirect(\descartes\Router::url('Command', 'list'));
|
$this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$nb_commands_update = 0;
|
$nb_commands_update = 0;
|
||||||
foreach ($_POST['commands'] as $command) {
|
foreach ($_POST['commands'] as $command)
|
||||||
|
{
|
||||||
$update_command = $this->internal_command->update($command['id'], $command['name'], $command['script'], $command['admin']);
|
$update_command = $this->internal_command->update($command['id'], $command['name'], $command['script'], $command['admin']);
|
||||||
$nb_commands_update += (int) $update_command;
|
$nb_commands_update += (int) $update_command;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($nb_commands_update != count($_POST['commands'])) {
|
if ($nb_commands_update !== \count($_POST['commands']))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certaines commandes n\'ont pas pu êtres mises à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certaines commandes n\'ont pas pu êtres mises à jour.');
|
||||||
$this->redirect(\descartes\Router::url('Command', 'list'));
|
$this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Toutes les commandes ont été modifiées avec succès.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Toutes les commandes ont été modifiées avec succès.');
|
||||||
$this->redirect(\descartes\Router::url('Command', 'list'));
|
$this->redirect(\descartes\Router::url('Command', 'list'));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page de connexion
|
* Page de connexion.
|
||||||
*/
|
*/
|
||||||
class Connect extends \descartes\Controller
|
class Connect extends \descartes\Controller
|
||||||
{
|
{
|
||||||
private $internal_user;
|
private $internal_user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -22,7 +34,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la fenetre de connexion
|
* Cette fonction retourne la fenetre de connexion.
|
||||||
*/
|
*/
|
||||||
public function login()
|
public function login()
|
||||||
{
|
{
|
||||||
|
@ -30,10 +42,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction connecte un utilisateur, et le redirige sur la page d'accueil
|
* Cette fonction connecte un utilisateur, et le redirige sur la page d'accueil.
|
||||||
|
*
|
||||||
* @param string $_POST['mail'] : L'email de l'utilisateur
|
* @param string $_POST['mail'] : L'email de l'utilisateur
|
||||||
* @param string $_POST['password'] : Le mot de passe de l'utilisateur
|
* @param string $_POST['password'] : Le mot de passe de l'utilisateur
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function connection()
|
public function connection()
|
||||||
{
|
{
|
||||||
|
@ -41,8 +53,10 @@
|
||||||
$password = $_POST['password'] ?? false;
|
$password = $_POST['password'] ?? false;
|
||||||
|
|
||||||
$user = $this->internal_user->check_credentials($email, $password);
|
$user = $this->internal_user->check_credentials($email, $password);
|
||||||
if (!$user) {
|
if (!$user)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Email ou mot de passe invalide.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Email ou mot de passe invalide.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Connect', 'login'));
|
return $this->redirect(\descartes\Router::url('Connect', 'login'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,9 +67,9 @@
|
||||||
return $this->redirect(\descartes\Router::url('Dashboard', 'show'));
|
return $this->redirect(\descartes\Router::url('Dashboard', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la fenetre de changement de password
|
* Cette fonction retourne la fenetre de changement de password.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function forget_password()
|
public function forget_password()
|
||||||
|
@ -64,24 +78,29 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction envoi un email contenant un lien pour re-générer un password oublié
|
* Cette fonction envoi un email contenant un lien pour re-générer un password oublié.
|
||||||
|
*
|
||||||
* @param string $csrf : jeton csrf
|
* @param string $csrf : jeton csrf
|
||||||
* @param string $_POST['email'] : L'email pour lequel on veut envoyer un nouveau password
|
* @param string $_POST['email'] : L'email pour lequel on veut envoyer un nouveau password
|
||||||
*/
|
*/
|
||||||
public function send_reset_password($csrf)
|
public function send_reset_password($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
$this->redirect(\descartes\Router::url('Connect', 'forget_password'));
|
$this->redirect(\descartes\Router::url('Connect', 'forget_password'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$email = $_POST['email'] ?? false;
|
$email = $_POST['email'] ?? false;
|
||||||
$user = $this->internal_user->get_by_email($email);
|
$user = $this->internal_user->get_by_email($email);
|
||||||
|
|
||||||
if (!$email || !$user) {
|
if (!$email || !$user)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Aucun utilisateur n\'existe pour cette adresse mail.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Aucun utilisateur n\'existe pour cette adresse mail.');
|
||||||
$this->redirect(\descartes\Router::url('Connect', 'forget_password'));
|
$this->redirect(\descartes\Router::url('Connect', 'forget_password'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +115,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet à un utilisateur de re-définir son mot de passe
|
* Cette fonction permet à un utilisateur de re-définir son mot de passe.
|
||||||
|
*
|
||||||
* @param int $user_id : L'id du user dont on veut modifier le password
|
* @param int $user_id : L'id du user dont on veut modifier le password
|
||||||
* @param string $token : Le token permetttant de vérifier que l'opération est légitime
|
* @param string $token : Le token permetttant de vérifier que l'opération est légitime
|
||||||
* @param optionnal $_POST['password'] : Le nouveau password à utiliser
|
* @param optionnal $_POST['password'] : Le nouveau password à utiliser
|
||||||
|
@ -107,21 +127,23 @@
|
||||||
|
|
||||||
$Tokenista = new \Ingenerator\Tokenista(APP_SECRET);
|
$Tokenista = new \Ingenerator\Tokenista(APP_SECRET);
|
||||||
|
|
||||||
if (!$Tokenista->isValid($token, ['user_id' => $user_id])) {
|
if (!$Tokenista->isValid($token, ['user_id' => $user_id]))
|
||||||
|
{
|
||||||
return $this->render('connect/reset-password-invalid');
|
return $this->render('connect/reset-password-invalid');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$password) {
|
if (!$password)
|
||||||
|
{
|
||||||
return $this->render('connect/reset-password');
|
return $this->render('connect/reset-password');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->internal_user->update_password($user_id, $password);
|
$this->internal_user->update_password($user_id, $password);
|
||||||
|
|
||||||
return $this->render('connect/reset-password-done');
|
return $this->render('connect/reset-password-done');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction déconnecte un utilisateur et le renvoie sur la page d'accueil
|
* Cette fonction déconnecte un utilisateur et le renvoie sur la page d'accueil.
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function logout()
|
public function logout()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des contacts
|
* Page des contacts.
|
||||||
*/
|
*/
|
||||||
class Contact extends \descartes\Controller
|
class Contact extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -11,7 +22,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -25,7 +37,9 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les contacts, sous forme d'un tableau permettant l'administration de ces contacts
|
* Cette fonction retourne tous les contacts, sous forme d'un tableau permettant l'administration de ces contacts.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
|
@ -35,28 +49,35 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de contacts
|
* Cette fonction va supprimer une liste de contacts.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des contactes à supprimer
|
* @param array int $_GET['ids'] : Les id des contactes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_contact->delete($id);
|
$this->internal_contact->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->redirect(\descartes\Router::url('Contact', 'list'));
|
$this->redirect(\descartes\Router::url('Contact', 'list'));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'ajout d'un contact
|
* Cette fonction retourne la page d'ajout d'un contact.
|
||||||
*/
|
*/
|
||||||
public function add()
|
public function add()
|
||||||
{
|
{
|
||||||
|
@ -64,7 +85,8 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'édition des contacts
|
* Cette fonction retourne la page d'édition des contacts.
|
||||||
|
*
|
||||||
* @param int... $ids : Les id des contactes à supprimer
|
* @param int... $ids : Les id des contactes à supprimer
|
||||||
*/
|
*/
|
||||||
public function edit()
|
public function edit()
|
||||||
|
@ -74,77 +96,95 @@ namespace controllers\publics;
|
||||||
|
|
||||||
$contacts = $this->internal_contact->get_by_ids($ids);
|
$contacts = $this->internal_contact->get_by_ids($ids);
|
||||||
|
|
||||||
$this->render('contact/edit', array(
|
$this->render('contact/edit', [
|
||||||
'contacts' => $contacts,
|
'contacts' => $contacts,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert un nouveau contact
|
* Cette fonction insert un nouveau contact.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['name'] : Le nom du contact
|
* @param string $_POST['name'] : Le nom du contact
|
||||||
* @param string $_POST['phone'] : Le numero de téléphone du contact
|
* @param string $_POST['phone'] : Le numero de téléphone du contact
|
||||||
*/
|
*/
|
||||||
public function create($csrf)
|
public function create($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$name = $_POST['name'] ?? false;
|
$name = $_POST['name'] ?? false;
|
||||||
$number = $_POST['number'] ?? false;
|
$number = $_POST['number'] ?? false;
|
||||||
|
|
||||||
if (!$name || !$number) {
|
if (!$name || !$number)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Des champs sont manquants !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Des champs sont manquants !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$number = \controllers\internals\Tool::parse_phone($number);
|
$number = \controllers\internals\Tool::parse_phone($number);
|
||||||
if (!$number) {
|
if (!$number)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Numéro de téléphone incorrect.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Numéro de téléphone incorrect.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->internal_contact->create($number, $name)) {
|
if (!$this->internal_contact->create($number, $name))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer ce contact.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer ce contact.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
return $this->redirect(\descartes\Router::url('Contact', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le contact a bien été créé.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le contact a bien été créé.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une contacte
|
* Cette fonction met à jour une contacte.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param array $_POST['contacts'] : Un tableau des contactes avec leur nouvelle valeurs
|
* @param array $_POST['contacts'] : Un tableau des contactes avec leur nouvelle valeurs
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update($csrf)
|
public function update($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$nb_contacts_update = 0;
|
$nb_contacts_update = 0;
|
||||||
|
|
||||||
foreach ($_POST['contacts'] as $contact) {
|
foreach ($_POST['contacts'] as $contact)
|
||||||
|
{
|
||||||
$nb_contacts_update += $this->internal_contact->update($contact['id'], $contact['number'], $contact['name']);
|
$nb_contacts_update += $this->internal_contact->update($contact['id'], $contact['number'], $contact['name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($nb_contacts_update != count($_POST['contacts'])) {
|
if ($nb_contacts_update !== \count($_POST['contacts']))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certais contacts n\'ont pas pu êtres mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certais contacts n\'ont pas pu êtres mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Tous les contacts ont été modifiés avec succès.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Tous les contacts ont été modifiés avec succès.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
return $this->redirect(\descartes\Router::url('Contact', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la liste des contacts sous forme JSON
|
* Cette fonction retourne la liste des contacts sous forme JSON.
|
||||||
*/
|
*/
|
||||||
public function json_list()
|
public function json_list()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page d'index, qui gère l'affichage par défaut temporairement
|
* Page d'index, qui gère l'affichage par défaut temporairement.
|
||||||
*/
|
*/
|
||||||
class Dashboard extends \descartes\Controller
|
class Dashboard extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -16,7 +27,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -35,7 +47,8 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est un alias de show
|
* Cette fonction est un alias de show.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function show()
|
public function show()
|
||||||
|
@ -67,7 +80,7 @@ namespace controllers\publics;
|
||||||
$nb_receiveds_by_day = $this->internal_received->count_by_day_since($formated_date);
|
$nb_receiveds_by_day = $this->internal_received->count_by_day_since($formated_date);
|
||||||
|
|
||||||
//On va traduire ces données pour les afficher en graphique
|
//On va traduire ces données pour les afficher en graphique
|
||||||
$array_area_chart = array();
|
$array_area_chart = [];
|
||||||
|
|
||||||
$today_less_7_day = new \DateTime();
|
$today_less_7_day = new \DateTime();
|
||||||
$today_less_7_day->sub(new \DateInterval('P7D'));
|
$today_less_7_day->sub(new \DateInterval('P7D'));
|
||||||
|
@ -75,27 +88,30 @@ namespace controllers\publics;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
//On va construire un tableau avec la date en clef, et les données pour chaque date
|
//On va construire un tableau avec la date en clef, et les données pour chaque date
|
||||||
while ($i < 7) {
|
while ($i < 7)
|
||||||
|
{
|
||||||
$today_less_7_day->add($increment_day);
|
$today_less_7_day->add($increment_day);
|
||||||
$i ++;
|
++$i;
|
||||||
$date_f = $today_less_7_day->format('Y-m-d');
|
$date_f = $today_less_7_day->format('Y-m-d');
|
||||||
$array_area_chart[$date_f] = array(
|
$array_area_chart[$date_f] = [
|
||||||
'period' => $date_f,
|
'period' => $date_f,
|
||||||
'sendeds' => 0,
|
'sendeds' => 0,
|
||||||
'receiveds' => 0,
|
'receiveds' => 0,
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
$total_sendeds = 0;
|
$total_sendeds = 0;
|
||||||
$total_receiveds = 0;
|
$total_receiveds = 0;
|
||||||
|
|
||||||
//0n remplie le tableau avec les données adaptées
|
//0n remplie le tableau avec les données adaptées
|
||||||
foreach ($nb_sendeds_by_day as $date => $nb_sended) {
|
foreach ($nb_sendeds_by_day as $date => $nb_sended)
|
||||||
|
{
|
||||||
$array_area_chart[$date]['sendeds'] = $nb_sended;
|
$array_area_chart[$date]['sendeds'] = $nb_sended;
|
||||||
$total_sendeds += $nb_sended;
|
$total_sendeds += $nb_sended;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($nb_receiveds_by_day as $date => $nb_received) {
|
foreach ($nb_receiveds_by_day as $date => $nb_received)
|
||||||
|
{
|
||||||
$array_area_chart[$date]['receiveds'] = $nb_received;
|
$array_area_chart[$date]['receiveds'] = $nb_received;
|
||||||
$total_receiveds += $nb_received;
|
$total_receiveds += $nb_received;
|
||||||
}
|
}
|
||||||
|
@ -105,8 +121,7 @@ namespace controllers\publics;
|
||||||
|
|
||||||
$array_area_chart = array_values($array_area_chart);
|
$array_area_chart = array_values($array_area_chart);
|
||||||
|
|
||||||
|
$this->render('dashboard/show', [
|
||||||
$this->render('dashboard/show', array(
|
|
||||||
'nb_contacts' => $nb_contacts,
|
'nb_contacts' => $nb_contacts,
|
||||||
'nb_groups' => $nb_groups,
|
'nb_groups' => $nb_groups,
|
||||||
'nb_scheduleds' => $nb_scheduleds,
|
'nb_scheduleds' => $nb_scheduleds,
|
||||||
|
@ -119,6 +134,6 @@ namespace controllers\publics;
|
||||||
'receiveds' => $receiveds,
|
'receiveds' => $receiveds,
|
||||||
'events' => $events,
|
'events' => $events,
|
||||||
'datas_area_chart' => json_encode($array_area_chart),
|
'datas_area_chart' => json_encode($array_area_chart),
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des discussions
|
* Page des discussions.
|
||||||
*/
|
*/
|
||||||
class Discussion extends \descartes\Controller
|
class Discussion extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -13,7 +24,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -29,42 +41,45 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne toutes les discussions, sous forme d'un tableau permettant l'administration de ces contacts
|
* Cette fonction retourne toutes les discussions, sous forme d'un tableau permettant l'administration de ces contacts.
|
||||||
*/
|
*/
|
||||||
public function list()
|
public function list()
|
||||||
{
|
{
|
||||||
$discussions = $this->internal_received->get_discussions();
|
$discussions = $this->internal_received->get_discussions();
|
||||||
|
|
||||||
foreach ($discussions as $key => $discussion) {
|
foreach ($discussions as $key => $discussion)
|
||||||
if (!$contact = $this->internal_contact->get_by_number($discussion['number'])) {
|
{
|
||||||
|
if (!$contact = $this->internal_contact->get_by_number($discussion['number']))
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$discussions[$key]['contact'] = $contact['name'];
|
$discussions[$key]['contact'] = $contact['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->render('discussion/list', array(
|
$this->render('discussion/list', [
|
||||||
'discussions' => $discussions,
|
'discussions' => $discussions,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet d'afficher la discussion avec un numero
|
* Cette fonction permet d'afficher la discussion avec un numero.
|
||||||
|
*
|
||||||
* @param string $number : La numéro de téléphone avec lequel on discute
|
* @param string $number : La numéro de téléphone avec lequel on discute
|
||||||
*/
|
*/
|
||||||
public function show($number)
|
public function show($number)
|
||||||
{
|
{
|
||||||
$contact = $this->internal_contact->get_by_number($number);
|
$contact = $this->internal_contact->get_by_number($number);
|
||||||
|
|
||||||
|
$this->render('discussion/show', [
|
||||||
$this->render('discussion/show', array(
|
|
||||||
'number' => $number,
|
'number' => $number,
|
||||||
'contact' => $contact,
|
'contact' => $contact,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction récupère l'ensemble des messages pour un numéro, recçus, envoyés, en cours
|
* Cette fonction récupère l'ensemble des messages pour un numéro, recçus, envoyés, en cours.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro cible
|
* @param string $number : Le numéro cible
|
||||||
* @param string $transaction_id : Le numéro unique de la transaction ajax (sert à vérifier si la requete doit être prise en compte)
|
* @param string $transaction_id : Le numéro unique de la transaction ajax (sert à vérifier si la requete doit être prise en compte)
|
||||||
*/
|
*/
|
||||||
|
@ -79,49 +94,56 @@ namespace controllers\publics;
|
||||||
|
|
||||||
$messages = [];
|
$messages = [];
|
||||||
|
|
||||||
foreach ($sendeds as $sended) {
|
foreach ($sendeds as $sended)
|
||||||
$messages[] = array(
|
{
|
||||||
|
$messages[] = [
|
||||||
'date' => htmlspecialchars($sended['at']),
|
'date' => htmlspecialchars($sended['at']),
|
||||||
'text' => htmlspecialchars($sended['content']),
|
'text' => htmlspecialchars($sended['content']),
|
||||||
'type' => 'sended',
|
'type' => 'sended',
|
||||||
'status' => ($sended['delivered'] ? 'delivered' : ($sended['failed'] ? 'failed' : '')),
|
'status' => ($sended['delivered'] ? 'delivered' : ($sended['failed'] ? 'failed' : '')),
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($receiveds as $received) {
|
foreach ($receiveds as $received)
|
||||||
$messages[] = array(
|
{
|
||||||
|
$messages[] = [
|
||||||
'date' => htmlspecialchars($received['at']),
|
'date' => htmlspecialchars($received['at']),
|
||||||
'text' => htmlspecialchars($received['content']),
|
'text' => htmlspecialchars($received['content']),
|
||||||
'type' => 'received',
|
'type' => 'received',
|
||||||
'md5' => md5($received['at'].$received['content']),
|
'md5' => md5($received['at'].$received['content']),
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($scheduleds as $scheduled) {
|
foreach ($scheduleds as $scheduled)
|
||||||
$messages[] = array(
|
{
|
||||||
|
$messages[] = [
|
||||||
'date' => htmlspecialchars($scheduled['at']),
|
'date' => htmlspecialchars($scheduled['at']),
|
||||||
'text' => htmlspecialchars($scheduled['content']),
|
'text' => htmlspecialchars($scheduled['content']),
|
||||||
'type' => 'inprogress',
|
'type' => 'inprogress',
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
//On va trier le tableau des messages
|
//On va trier le tableau des messages
|
||||||
usort($messages, function ($a, $b) {
|
usort($messages, function ($a, $b)
|
||||||
return strtotime($a["date"]) - strtotime($b["date"]);
|
{
|
||||||
|
return strtotime($a['date']) - strtotime($b['date']);
|
||||||
});
|
});
|
||||||
|
|
||||||
//On récupère uniquement les 25 derniers messages sur l'ensemble
|
//On récupère uniquement les 25 derniers messages sur l'ensemble
|
||||||
$messages = array_slice($messages, -25);
|
$messages = \array_slice($messages, -25);
|
||||||
|
|
||||||
echo json_encode(['transaction_id' => $transaction_id, 'messages' => $messages]);
|
echo json_encode(['transaction_id' => $transaction_id, 'messages' => $messages]);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction permet d'envoyer facilement un sms à un numéro donné
|
* Cette fonction permet d'envoyer facilement un sms à un numéro donné.
|
||||||
|
*
|
||||||
* @param string $csrf : Le jeton csrf
|
* @param string $csrf : Le jeton csrf
|
||||||
* @param string $_POST['content'] : Le contenu du Sms
|
* @param string $_POST['content'] : Le contenu du Sms
|
||||||
* @param string $_POST['numbers'] : Un tableau avec le numero des gens auxquel envoyer le sms
|
* @param string $_POST['numbers'] : Un tableau avec le numero des gens auxquel envoyer le sms
|
||||||
|
*
|
||||||
* @return string : json string Le statut de l'envoi
|
* @return string : json string Le statut de l'envoi
|
||||||
*/
|
*/
|
||||||
public function send($csrf)
|
public function send($csrf)
|
||||||
|
@ -129,10 +151,12 @@ namespace controllers\publics;
|
||||||
$return = ['success' => true, 'message' => ''];
|
$return = ['success' => true, 'message' => ''];
|
||||||
|
|
||||||
//On vérifie que le jeton csrf est bon
|
//On vérifie que le jeton csrf est bon
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
$return['success'] = false;
|
$return['success'] = false;
|
||||||
$return['message'] = 'Jeton CSRF invalide';
|
$return['message'] = 'Jeton CSRF invalide';
|
||||||
echo json_encode($return);
|
echo json_encode($return);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,26 +168,32 @@ namespace controllers\publics;
|
||||||
$scheduled['content'] = $_POST['content'] ?? '';
|
$scheduled['content'] = $_POST['content'] ?? '';
|
||||||
$numbers = $_POST['numbers'] ?? false;
|
$numbers = $_POST['numbers'] ?? false;
|
||||||
|
|
||||||
if (!$numbers) {
|
if (!$numbers)
|
||||||
|
{
|
||||||
$return['success'] = false;
|
$return['success'] = false;
|
||||||
$return['message'] = 'Vous devez renseigner un numéro valide';
|
$return['message'] = 'Vous devez renseigner un numéro valide';
|
||||||
echo json_encode($return);
|
echo json_encode($return);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->internal_scheduled->create($scheduled, $numbers)) {
|
if (!$this->internal_scheduled->create($scheduled, $numbers))
|
||||||
|
{
|
||||||
$return['success'] = false;
|
$return['success'] = false;
|
||||||
$return['message'] = 'Impossible de créer le Sms';
|
$return['message'] = 'Impossible de créer le Sms';
|
||||||
echo json_encode($return);
|
echo json_encode($return);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode($return);
|
echo json_encode($return);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les id des sms qui sont envoyés
|
* Cette fonction retourne les id des sms qui sont envoyés.
|
||||||
|
*
|
||||||
* @return string : json string Tableau des ids des sms qui sont envoyés
|
* @return string : json string Tableau des ids des sms qui sont envoyés
|
||||||
*/
|
*/
|
||||||
public function checksendeds()
|
public function checksendeds()
|
||||||
|
@ -174,27 +204,34 @@ namespace controllers\publics;
|
||||||
|
|
||||||
//On va chercher à chaque fois si on a trouvé le sms. Si ce n'est pas le cas c'est qu'il a été envoyé
|
//On va chercher à chaque fois si on a trouvé le sms. Si ce n'est pas le cas c'est qu'il a été envoyé
|
||||||
$sendeds = [];
|
$sendeds = [];
|
||||||
foreach ($_SESSION['discussion_wait_progress'] as $key => $id_scheduled) {
|
foreach ($_SESSION['discussion_wait_progress'] as $key => $id_scheduled)
|
||||||
|
{
|
||||||
$found = false;
|
$found = false;
|
||||||
foreach ($scheduleds as $scheduled) {
|
foreach ($scheduleds as $scheduled)
|
||||||
if ($id_scheduled == $scheduled['id']) {
|
{
|
||||||
|
if ($id_scheduled === $scheduled['id'])
|
||||||
|
{
|
||||||
$found = true;
|
$found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$found) {
|
if (!$found)
|
||||||
|
{
|
||||||
unset($_SESSION['discussion_wait_progress'][$key]);
|
unset($_SESSION['discussion_wait_progress'][$key]);
|
||||||
$sendeds[] = $id_scheduled;
|
$sendeds[] = $id_scheduled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode($sendeds);
|
echo json_encode($sendeds);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les messages reçus pour un numéro après la date $_SESSION['discussion_last_checkreceiveds']
|
* Cette fonction retourne les messages reçus pour un numéro après la date $_SESSION['discussion_last_checkreceiveds'].
|
||||||
|
*
|
||||||
* @param string $number : Le numéro de téléphone pour lequel on veux les messages
|
* @param string $number : Le numéro de téléphone pour lequel on veux les messages
|
||||||
|
*
|
||||||
* @return string : json string Un tableau avec les messages
|
* @return string : json string Un tableau avec les messages
|
||||||
*/
|
*/
|
||||||
public function checkreceiveds($number)
|
public function checkreceiveds($number)
|
||||||
|
@ -209,10 +246,13 @@ namespace controllers\publics;
|
||||||
//On va gérer le cas des messages en double en stockant ceux déjà reçus et en eliminant les autres
|
//On va gérer le cas des messages en double en stockant ceux déjà reçus et en eliminant les autres
|
||||||
$_SESSION['discussion_already_receiveds'] = isset($_SESSION['discussion_already_receiveds']) ? $_SESSION['discussion_already_receiveds'] : [];
|
$_SESSION['discussion_already_receiveds'] = isset($_SESSION['discussion_already_receiveds']) ? $_SESSION['discussion_already_receiveds'] : [];
|
||||||
|
|
||||||
foreach ($receiveds as $key => $received) {
|
foreach ($receiveds as $key => $received)
|
||||||
|
{
|
||||||
//Sms jamais recu
|
//Sms jamais recu
|
||||||
if (array_search($received['id'], $_SESSION['discussion_already_receiveds']) === false) {
|
if (false === array_search($received['id'], $_SESSION['discussion_already_receiveds'], true))
|
||||||
|
{
|
||||||
$_SESSION['discussion_already_receiveds'][] = $received['id'];
|
$_SESSION['discussion_already_receiveds'][] = $received['id'];
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des events
|
* Page des events.
|
||||||
*/
|
*/
|
||||||
class Event extends \descartes\Controller
|
class Event extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -10,7 +21,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -23,35 +35,45 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les events, sous forme d'un tableau permettant l'administration de ces events
|
* Cette fonction retourne tous les events, sous forme d'un tableau permettant l'administration de ces events.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
$page = (int) $page;
|
$page = (int) $page;
|
||||||
$limit = 25;
|
$limit = 25;
|
||||||
$events = $this->internal_event->get_list($limit, $page);
|
$events = $this->internal_event->get_list($limit, $page);
|
||||||
$this->render('event/list', ['events' => $events, 'limit' => $limit, 'page' => $page, 'nb_results' => count($events)]);
|
$this->render('event/list', ['events' => $events, 'limit' => $limit, 'page' => $page, 'nb_results' => \count($events)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de events
|
* Cette fonction va supprimer une liste de events.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des eventes à supprimer
|
* @param array int $_GET['ids'] : Les id des eventes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Event', 'list'));
|
return $this->redirect(\descartes\Router::url('Event', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::is_admin()) {
|
if (!\controllers\internals\Tool::is_admin())
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être admin pour pouvoir supprimer des events.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être admin pour pouvoir supprimer des events.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Event', 'list'));
|
return $this->redirect(\descartes\Router::url('Event', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_event->delete($id);
|
$this->internal_event->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des groups
|
* Page des groups.
|
||||||
*/
|
*/
|
||||||
class Group extends \descartes\Controller
|
class Group extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -12,7 +23,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -27,31 +39,39 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les groups, sous forme d'un tableau permettant l'administration de ces groups
|
* Cette fonction retourne tous les groups, sous forme d'un tableau permettant l'administration de ces groups.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
$page = (int) $page;
|
$page = (int) $page;
|
||||||
$groups = $this->internal_group->get_list(25, $page);
|
$groups = $this->internal_group->get_list(25, $page);
|
||||||
|
|
||||||
foreach ($groups as $key => $group) {
|
foreach ($groups as $key => $group)
|
||||||
|
{
|
||||||
$contacts = $this->internal_group->get_contact($group['id']);
|
$contacts = $this->internal_group->get_contact($group['id']);
|
||||||
$groups[$key]['nb_contacts'] = count($contacts);
|
$groups[$key]['nb_contacts'] = \count($contacts);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->render('group/list', ['groups' => $groups]);
|
$this->render('group/list', ['groups' => $groups]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de groups
|
* Cette fonction va supprimer une liste de groups.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des groups à supprimer
|
* @param array int $_GET['ids'] : Les id des groups à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
$this->redirect(\descartes\Router::url('Group', 'list'));
|
$this->redirect(\descartes\Router::url('Group', 'list'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,11 +79,12 @@ namespace controllers\publics;
|
||||||
$this->internal_group->delete($ids);
|
$this->internal_group->delete($ids);
|
||||||
|
|
||||||
$this->redirect(\descartes\Router::url('Group', 'list'));
|
$this->redirect(\descartes\Router::url('Group', 'list'));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'ajout d'un group
|
* Cette fonction retourne la page d'ajout d'un group.
|
||||||
*/
|
*/
|
||||||
public function add()
|
public function add()
|
||||||
{
|
{
|
||||||
|
@ -71,7 +92,8 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'édition des groups
|
* Cette fonction retourne la page d'édition des groups.
|
||||||
|
*
|
||||||
* @param int... $ids : Les id des groups à supprimer
|
* @param int... $ids : Les id des groups à supprimer
|
||||||
*/
|
*/
|
||||||
public function edit()
|
public function edit()
|
||||||
|
@ -80,78 +102,95 @@ namespace controllers\publics;
|
||||||
|
|
||||||
$groups = $this->internal_group->get_by_ids($ids);
|
$groups = $this->internal_group->get_by_ids($ids);
|
||||||
|
|
||||||
foreach ($groups as $key => $group) {
|
foreach ($groups as $key => $group)
|
||||||
|
{
|
||||||
$groups[$key]['contacts'] = $this->internal_group->get_contact($group['id']);
|
$groups[$key]['contacts'] = $this->internal_group->get_contact($group['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->render('group/edit', array(
|
$this->render('group/edit', [
|
||||||
'groups' => $groups,
|
'groups' => $groups,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert un nouveau group
|
* Cette fonction insert un nouveau group.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['name'] : Le nom du group
|
* @param string $_POST['name'] : Le nom du group
|
||||||
* @param array $_POST['contacts'] : Les ids des contacts à mettre dans le group
|
* @param array $_POST['contacts'] : Les ids des contacts à mettre dans le group
|
||||||
*/
|
*/
|
||||||
public function create($csrf)
|
public function create($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Group', 'add'));
|
return $this->redirect(\descartes\Router::url('Group', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$name = $_POST['name'] ?? false;
|
$name = $_POST['name'] ?? false;
|
||||||
$contacts_ids = $_POST['contacts'] ?? false;
|
$contacts_ids = $_POST['contacts'] ?? false;
|
||||||
|
|
||||||
if (!$name || !$contacts_ids) {
|
if (!$name || !$contacts_ids)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Des champs sont manquants !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Des champs sont manquants !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Group', 'add'));
|
return $this->redirect(\descartes\Router::url('Group', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$id_group = $this->internal_group->create($name, $contacts_ids);
|
$id_group = $this->internal_group->create($name, $contacts_ids);
|
||||||
if (!$id_group) {
|
if (!$id_group)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer ce group.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer ce group.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Group', 'add'));
|
return $this->redirect(\descartes\Router::url('Group', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le group a bien été créé.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le group a bien été créé.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Group', 'list'));
|
return $this->redirect(\descartes\Router::url('Group', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une group
|
* Cette fonction met à jour une group.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param array $_POST['groups'] : Un tableau des groups avec leur nouvelle valeurs & une entrée 'contacts_id' avec les ids des contacts pour chaque group
|
* @param array $_POST['groups'] : Un tableau des groups avec leur nouvelle valeurs & une entrée 'contacts_id' avec les ids des contacts pour chaque group
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update($csrf)
|
public function update($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
$this->redirect(\descartes\Router::url('Group', 'list'));
|
$this->redirect(\descartes\Router::url('Group', 'list'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$groups = $_POST['groups'] ?? [];
|
$groups = $_POST['groups'] ?? [];
|
||||||
|
|
||||||
$nb_groups_update = 0;
|
$nb_groups_update = 0;
|
||||||
foreach ($groups as $id => $group) {
|
foreach ($groups as $id => $group)
|
||||||
|
{
|
||||||
$nb_groups_update += (int) $this->internal_group->update($id, $group['name'], $group['contacts_ids']);
|
$nb_groups_update += (int) $this->internal_group->update($id, $group['name'], $group['contacts_ids']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($nb_groups_update != count($groups)) {
|
if ($nb_groups_update !== \count($groups))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certains groups n\'ont pas pu êtres mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certains groups n\'ont pas pu êtres mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Group', 'list'));
|
return $this->redirect(\descartes\Router::url('Group', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Tous les groups ont été modifiés avec succès.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Tous les groups ont été modifiés avec succès.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Group', 'list'));
|
return $this->redirect(\descartes\Router::url('Group', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la liste des groups sous forme JSON
|
* Cette fonction retourne la liste des groups sous forme JSON.
|
||||||
*/
|
*/
|
||||||
public function json_list()
|
public function json_list()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des receiveds
|
* Page des receiveds.
|
||||||
*/
|
*/
|
||||||
class Received extends \descartes\Controller
|
class Received extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -11,7 +22,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -24,7 +36,9 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les receiveds, sous forme d'un tableau permettant l'administration de ces receiveds
|
* Cette fonction retourne tous les receiveds, sous forme d'un tableau permettant l'administration de ces receiveds.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
|
@ -32,19 +46,22 @@ namespace controllers\publics;
|
||||||
$limit = 25;
|
$limit = 25;
|
||||||
$receiveds = $this->internal_received->get_list($limit, $page);
|
$receiveds = $this->internal_received->get_list($limit, $page);
|
||||||
|
|
||||||
foreach ($receiveds as $key => $received) {
|
foreach ($receiveds as $key => $received)
|
||||||
if (!$contact = $this->internal_contact->get_by_number($received['origin'])) {
|
{
|
||||||
|
if (!$contact = $this->internal_contact->get_by_number($received['origin']))
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$receiveds[$key]['send_by'] = $contact['name'].' ('.$received['origin'].')';
|
$receiveds[$key]['send_by'] = $contact['name'].' ('.$received['origin'].')';
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->render('received/list', ['receiveds' => $receiveds, 'page' => $page, 'limit' => $limit, 'nb_results' => count($receiveds)]);
|
$this->render('received/list', ['receiveds' => $receiveds, 'page' => $page, 'limit' => $limit, 'nb_results' => \count($receiveds)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les Sms reçus aujourd'hui pour la popup
|
* Cette fonction retourne tous les Sms reçus aujourd'hui pour la popup.
|
||||||
|
*
|
||||||
* @return string : A JSON Un tableau des Sms reçus
|
* @return string : A JSON Un tableau des Sms reçus
|
||||||
*/
|
*/
|
||||||
public function popup()
|
public function popup()
|
||||||
|
@ -52,47 +69,59 @@ namespace controllers\publics;
|
||||||
$now = new \DateTime();
|
$now = new \DateTime();
|
||||||
$receiveds = $this->internal_received->get_since_by_date($now->format('Y-m-d'));
|
$receiveds = $this->internal_received->get_since_by_date($now->format('Y-m-d'));
|
||||||
|
|
||||||
foreach ($receiveds as $key => $received) {
|
foreach ($receiveds as $key => $received)
|
||||||
if (!$contact = $this->internal_contact->get_by_number($received['origin'])) {
|
{
|
||||||
|
if (!$contact = $this->internal_contact->get_by_number($received['origin']))
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$receiveds[$key]['origin'] = $contact['name'].' ('.$received['origin'].')';
|
$receiveds[$key]['origin'] = $contact['name'].' ('.$received['origin'].')';
|
||||||
}
|
}
|
||||||
|
|
||||||
$nb_received = count($receiveds);
|
$nb_received = \count($receiveds);
|
||||||
|
|
||||||
if (!isset($_SESSION['popup_nb_receiveds']) || $_SESSION['popup_nb_receiveds'] > $nb_received) {
|
if (!isset($_SESSION['popup_nb_receiveds']) || $_SESSION['popup_nb_receiveds'] > $nb_received)
|
||||||
|
{
|
||||||
$_SESSION['popup_nb_receiveds'] = $nb_received;
|
$_SESSION['popup_nb_receiveds'] = $nb_received;
|
||||||
}
|
}
|
||||||
|
|
||||||
$newly_receiveds = array_slice($receiveds, $_SESSION['popup_nb_receiveds']);
|
$newly_receiveds = \array_slice($receiveds, $_SESSION['popup_nb_receiveds']);
|
||||||
|
|
||||||
$_SESSION['popup_nb_receiveds'] = $nb_received;
|
$_SESSION['popup_nb_receiveds'] = $nb_received;
|
||||||
|
|
||||||
echo json_encode($newly_receiveds);
|
echo json_encode($newly_receiveds);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de receiveds
|
* Cette fonction va supprimer une liste de receiveds.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des receivedes à supprimer
|
* @param array int $_GET['ids'] : Les id des receivedes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Received', 'list'));
|
return $this->redirect(\descartes\Router::url('Received', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::is_admin()) {
|
if (!\controllers\internals\Tool::is_admin())
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour effectuer cette action.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour effectuer cette action.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Received', 'list'));
|
return $this->redirect(\descartes\Router::url('Received', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_received->delete($id);
|
$this->internal_received->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des scheduleds
|
* Page des scheduleds.
|
||||||
*/
|
*/
|
||||||
class Scheduled extends \descartes\Controller
|
class Scheduled extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -10,7 +21,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -22,7 +34,9 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les scheduleds, sous forme d'un tableau permettant l'administration de ces scheduleds
|
* Cette fonction retourne tous les scheduleds, sous forme d'un tableau permettant l'administration de ces scheduleds.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
|
@ -32,19 +46,25 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de scheduleds
|
* Cette fonction va supprimer une liste de scheduleds.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des scheduledes à supprimer
|
* @param array int $_GET['ids'] : Les id des scheduledes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_scheduled->delete($id);
|
$this->internal_scheduled->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +72,7 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'ajout d'un scheduled
|
* Cette fonction retourne la page d'ajout d'un scheduled.
|
||||||
*/
|
*/
|
||||||
public function add()
|
public function add()
|
||||||
{
|
{
|
||||||
|
@ -66,7 +86,8 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'édition des scheduleds
|
* Cette fonction retourne la page d'édition des scheduleds.
|
||||||
|
*
|
||||||
* @param int... $ids : Les id des scheduledes à supprimer
|
* @param int... $ids : Les id des scheduledes à supprimer
|
||||||
*/
|
*/
|
||||||
public function edit()
|
public function edit()
|
||||||
|
@ -76,36 +97,39 @@ namespace controllers\publics;
|
||||||
$scheduleds = $this->internal_scheduled->get_by_ids($ids);
|
$scheduleds = $this->internal_scheduled->get_by_ids($ids);
|
||||||
|
|
||||||
//Pour chaque message on ajoute les numéros, les contacts & les groups
|
//Pour chaque message on ajoute les numéros, les contacts & les groups
|
||||||
foreach ($scheduleds as $key => $scheduled) {
|
foreach ($scheduleds as $key => $scheduled)
|
||||||
|
{
|
||||||
$scheduleds[$key]['numbers'] = [];
|
$scheduleds[$key]['numbers'] = [];
|
||||||
$scheduleds[$key]['contacts'] = [];
|
$scheduleds[$key]['contacts'] = [];
|
||||||
$scheduleds[$key]['groups'] = [];
|
$scheduleds[$key]['groups'] = [];
|
||||||
|
|
||||||
|
|
||||||
$numbers = $this->internal_scheduled->get_numbers($scheduled['id']);
|
$numbers = $this->internal_scheduled->get_numbers($scheduled['id']);
|
||||||
foreach ($numbers as $number) {
|
foreach ($numbers as $number)
|
||||||
|
{
|
||||||
$scheduleds[$key]['numbers'][] = $number['number'];
|
$scheduleds[$key]['numbers'][] = $number['number'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$contacts = $this->internal_scheduled->get_contacts($scheduled['id']);
|
$contacts = $this->internal_scheduled->get_contacts($scheduled['id']);
|
||||||
foreach ($contacts as $contact) {
|
foreach ($contacts as $contact)
|
||||||
|
{
|
||||||
$scheduleds[$key]['contacts'][] = (int) $contact['id'];
|
$scheduleds[$key]['contacts'][] = (int) $contact['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$groups = $this->internal_scheduled->get_groups($scheduled['id']);
|
$groups = $this->internal_scheduled->get_groups($scheduled['id']);
|
||||||
foreach ($groups as $group) {
|
foreach ($groups as $group)
|
||||||
|
{
|
||||||
$scheduleds[$key]['groups'][] = (int) $group['id'];
|
$scheduleds[$key]['groups'][] = (int) $group['id'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->render('scheduled/edit', [
|
||||||
$this->render('scheduled/edit', array(
|
|
||||||
'scheduleds' => $scheduleds,
|
'scheduleds' => $scheduleds,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert un nouveau scheduled
|
* Cette fonction insert un nouveau scheduled.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['name'] : Le nom du scheduled
|
* @param string $_POST['name'] : Le nom du scheduled
|
||||||
* @param string $_POST['date'] : La date d'envoie du scheduled
|
* @param string $_POST['date'] : La date d'envoie du scheduled
|
||||||
|
@ -115,8 +139,10 @@ namespace controllers\publics;
|
||||||
*/
|
*/
|
||||||
public function create($csrf)
|
public function create($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,29 +152,38 @@ namespace controllers\publics;
|
||||||
$contacts = $_POST['contacts'] ?? [];
|
$contacts = $_POST['contacts'] ?? [];
|
||||||
$groups = $_POST['groups'] ?? [];
|
$groups = $_POST['groups'] ?? [];
|
||||||
|
|
||||||
if (!$content) {
|
if (!$content)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous ne pouvez pas créer un Sms sans message.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous ne pouvez pas créer un Sms sans message.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i:s') && !\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i')) {
|
if (!\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i:s') && !\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i'))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez fournir une date valide.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez fournir une date valide.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($numbers as $key => $number) {
|
foreach ($numbers as $key => $number)
|
||||||
|
{
|
||||||
$number = \controllers\internals\Tool::parse_phone($number);
|
$number = \controllers\internals\Tool::parse_phone($number);
|
||||||
|
|
||||||
if (!$number) {
|
if (!$number)
|
||||||
|
{
|
||||||
unset($numbers[$key]);
|
unset($numbers[$key]);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$numbers[$key] = $number;
|
$numbers[$key] = $number;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$numbers && !$contacts && !$groups) {
|
if (!$numbers && !$contacts && !$groups)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez renseigner au moins un destinataire pour le Sms.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez renseigner au moins un destinataire pour le Sms.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,25 +194,32 @@ namespace controllers\publics;
|
||||||
'progress' => false,
|
'progress' => false,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!$scheduled_id = $this->internal_scheduled->create($scheduled, $numbers, $contacts, $groups)) {
|
if (!$scheduled_id = $this->internal_scheduled->create($scheduled, $numbers, $contacts, $groups))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer le Sms.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer le Sms.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le Sms a bien été créé pour le '.$date.'.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le Sms a bien été créé pour le '.$date.'.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction met à jour une schedulede
|
* Cette fonction met à jour une schedulede.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param array $_POST['scheduleds'] : Un tableau des scheduledes avec leur nouvelle valeurs + les numbers, contacts et groups liées
|
* @param array $_POST['scheduleds'] : Un tableau des scheduledes avec leur nouvelle valeurs + les numbers, contacts et groups liées
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update($csrf)
|
public function update($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,36 +227,46 @@ namespace controllers\publics;
|
||||||
|
|
||||||
$all_update_ok = true;
|
$all_update_ok = true;
|
||||||
|
|
||||||
foreach ($scheduleds as $id_scheduled => $scheduled) {
|
foreach ($scheduleds as $id_scheduled => $scheduled)
|
||||||
|
{
|
||||||
$date = $scheduled['date'] ?? false;
|
$date = $scheduled['date'] ?? false;
|
||||||
$content = $scheduled['content'] ?? false;
|
$content = $scheduled['content'] ?? false;
|
||||||
$numbers = $scheduled['numbers'] ?? [];
|
$numbers = $scheduled['numbers'] ?? [];
|
||||||
$contacts = $scheduled['contacts'] ?? [];
|
$contacts = $scheduled['contacts'] ?? [];
|
||||||
$groups = $scheduled['groups'] ?? [];
|
$groups = $scheduled['groups'] ?? [];
|
||||||
|
|
||||||
if (!$content) {
|
if (!$content)
|
||||||
|
{
|
||||||
$all_update_ok = false;
|
$all_update_ok = false;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i:s') && !\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i')) {
|
if (!\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i:s') && !\controllers\internals\Tool::validate_date($date, 'Y-m-d H:i'))
|
||||||
|
{
|
||||||
$all_update_ok = false;
|
$all_update_ok = false;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($numbers as $key => $number) {
|
foreach ($numbers as $key => $number)
|
||||||
|
{
|
||||||
$number = \controllers\internals\Tool::parse_phone($number);
|
$number = \controllers\internals\Tool::parse_phone($number);
|
||||||
|
|
||||||
if (!$number) {
|
if (!$number)
|
||||||
|
{
|
||||||
unset($numbers[$key]);
|
unset($numbers[$key]);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$numbers[$key] = $number;
|
$numbers[$key] = $number;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$numbers && !$contacts && !$groups) {
|
if (!$numbers && !$contacts && !$groups)
|
||||||
|
{
|
||||||
$all_update_ok = false;
|
$all_update_ok = false;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -231,18 +283,23 @@ namespace controllers\publics;
|
||||||
'groups_ids' => $groups,
|
'groups_ids' => $groups,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!$this->internal_scheduled->update([$scheduled])) {
|
if (!$this->internal_scheduled->update([$scheduled]))
|
||||||
|
{
|
||||||
$all_update_ok = false;
|
$all_update_ok = false;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$all_update_ok) {
|
if (!$all_update_ok)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certains Sms n\'ont pas pu êtres mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Certains Sms n\'ont pas pu êtres mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Tous les Sms ont été mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Tous les Sms ont été mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
return $this->redirect(\descartes\Router::url('Scheduled', 'list'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des sendeds
|
* Page des sendeds.
|
||||||
*/
|
*/
|
||||||
class Sended extends \descartes\Controller
|
class Sended extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -10,7 +21,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -22,30 +34,38 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les sendeds, sous forme d'un tableau permettant l'administration de ces sendeds
|
* Cette fonction retourne tous les sendeds, sous forme d'un tableau permettant l'administration de ces sendeds.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
$page = (int) $page;
|
$page = (int) $page;
|
||||||
$limit = 25;
|
$limit = 25;
|
||||||
$sendeds = $this->internal_sended->get_list($limit, $page);
|
$sendeds = $this->internal_sended->get_list($limit, $page);
|
||||||
$this->render('sended/list', ['sendeds' => $sendeds, 'page' => $page, 'limit' => $limit, 'nb_results' => count($sendeds)]);
|
$this->render('sended/list', ['sendeds' => $sendeds, 'page' => $page, 'limit' => $limit, 'nb_results' => \count($sendeds)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de sendeds
|
* Cette fonction va supprimer une liste de sendeds.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des sendedes à supprimer
|
* @param array int $_GET['ids'] : Les id des sendedes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Sended', 'list'));
|
return $this->redirect(\descartes\Router::url('Sended', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_sended->delete($id);
|
$this->internal_sended->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des settings
|
* Page des settings.
|
||||||
*/
|
*/
|
||||||
class Setting extends \descartes\Controller
|
class Setting extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -13,12 +24,11 @@ namespace controllers\publics;
|
||||||
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD);
|
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD);
|
||||||
$this->internal_setting = new \controllers\internals\Setting($bdd);
|
$this->internal_setting = new \controllers\internals\Setting($bdd);
|
||||||
|
|
||||||
|
|
||||||
\controllers\internals\Tool::verifyconnect();
|
\controllers\internals\Tool::verifyconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return all settings to administrate them
|
* Return all settings to administrate them.
|
||||||
*/
|
*/
|
||||||
public function show()
|
public function show()
|
||||||
{
|
{
|
||||||
|
@ -26,38 +36,49 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a setting value identified by his name
|
* Update a setting value identified by his name.
|
||||||
|
*
|
||||||
* @param string $setting_name : Name of the setting to modify
|
* @param string $setting_name : Name of the setting to modify
|
||||||
* @param $csrf : CSRF token
|
* @param $csrf : CSRF token
|
||||||
* @param string $_POST['setting_value'] : Setting's new value
|
* @param string $_POST['setting_value'] : Setting's new value
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function update(string $setting_name, string $csrf)
|
public function update(string $setting_name, string $csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::is_admin()) {
|
if (!\controllers\internals\Tool::is_admin())
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour pouvoir modifier un réglage.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour pouvoir modifier un réglage.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$setting_value = $_POST['setting_value'] ?? false;
|
$setting_value = $_POST['setting_value'] ?? false;
|
||||||
|
|
||||||
if ($setting_value === false) {
|
if (false === $setting_value)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez renseigner une valeure pour le réglage.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez renseigner une valeure pour le réglage.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$update_setting_result = $this->internal_setting->update($setting_name, $setting_value);
|
$update_setting_result = $this->internal_setting->update($setting_name, $setting_value);
|
||||||
if ($update_setting_result === false) {
|
if (false === $update_setting_result)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour ce réglage.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de mettre à jour ce réglage.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le réglage a bien été mis à jour.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'Le réglage a bien été mis à jour.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des smsstops
|
* Page des smsstops.
|
||||||
*/
|
*/
|
||||||
class SmsStop extends \descartes\Controller
|
class SmsStop extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -10,7 +21,8 @@ namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -22,35 +34,45 @@ namespace controllers\publics;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les smsstops, sous forme d'un tableau permettant l'administration de ces smsstops
|
* Cette fonction retourne tous les smsstops, sous forme d'un tableau permettant l'administration de ces smsstops.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
$page = (int) $page;
|
$page = (int) $page;
|
||||||
$limit = 25;
|
$limit = 25;
|
||||||
$smsstops = $this->internal_sms_stop->get_list($limit, $page);
|
$smsstops = $this->internal_sms_stop->get_list($limit, $page);
|
||||||
$this->render('smsstop/list', ['page' => $page, 'smsstops' => $smsstops, 'limit' => $limit, 'nb_results' => count($smsstops)]);
|
$this->render('smsstop/list', ['page' => $page, 'smsstops' => $smsstops, 'limit' => $limit, 'nb_results' => \count($smsstops)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de smsstops
|
* Cette fonction va supprimer une liste de smsstops.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des smsstopes à supprimer
|
* @param array int $_GET['ids'] : Les id des smsstopes à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('SmsStop', 'list'));
|
return $this->redirect(\descartes\Router::url('SmsStop', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::is_admin()) {
|
if (!\controllers\internals\Tool::is_admin())
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour pouvoir supprimer un "STOP Sms" !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour pouvoir supprimer un "STOP Sms" !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('SmsStop', 'list'));
|
return $this->redirect(\descartes\Router::url('SmsStop', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_sms_stop->delete($id);
|
$this->internal_sms_stop->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace controllers\publics;
|
namespace controllers\publics;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page des users
|
* Page des users.
|
||||||
*/
|
*/
|
||||||
class User extends \descartes\Controller
|
class User extends \descartes\Controller
|
||||||
{
|
{
|
||||||
|
@ -10,7 +21,8 @@ class User extends \descartes\Controller
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction est appelée avant toute les autres :
|
* Cette fonction est appelée avant toute les autres :
|
||||||
* Elle vérifie que l'utilisateur est bien connecté
|
* Elle vérifie que l'utilisateur est bien connecté.
|
||||||
|
*
|
||||||
* @return void;
|
* @return void;
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -22,7 +34,9 @@ class User extends \descartes\Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne tous les users, sous forme d'un tableau permettant l'administration de ces users
|
* Cette fonction retourne tous les users, sous forme d'un tableau permettant l'administration de ces users.
|
||||||
|
*
|
||||||
|
* @param mixed $page
|
||||||
*/
|
*/
|
||||||
public function list($page = 0)
|
public function list($page = 0)
|
||||||
{
|
{
|
||||||
|
@ -32,24 +46,32 @@ class User extends \descartes\Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction va supprimer une liste de users
|
* Cette fonction va supprimer une liste de users.
|
||||||
|
*
|
||||||
* @param array int $_GET['ids'] : Les id des useres à supprimer
|
* @param array int $_GET['ids'] : Les id des useres à supprimer
|
||||||
|
* @param mixed $csrf
|
||||||
|
*
|
||||||
* @return boolean;
|
* @return boolean;
|
||||||
*/
|
*/
|
||||||
public function delete($csrf)
|
public function delete($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'list'));
|
return $this->redirect(\descartes\Router::url('User', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\controllers\internals\Tool::is_admin()) {
|
if (!\controllers\internals\Tool::is_admin())
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour supprimer un utilisateur !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez être administrateur pour supprimer un utilisateur !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'list'));
|
return $this->redirect(\descartes\Router::url('User', 'list'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids = $_GET['ids'] ?? [];
|
$ids = $_GET['ids'] ?? [];
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id)
|
||||||
|
{
|
||||||
$this->internal_user->delete($id);
|
$this->internal_user->delete($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +79,7 @@ class User extends \descartes\Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne la page d'ajout d'un user
|
* Cette fonction retourne la page d'ajout d'un user.
|
||||||
*/
|
*/
|
||||||
public function add()
|
public function add()
|
||||||
{
|
{
|
||||||
|
@ -65,7 +87,8 @@ class User extends \descartes\Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction insert un nouveau user
|
* Cette fonction insert un nouveau user.
|
||||||
|
*
|
||||||
* @param $csrf : Le jeton CSRF
|
* @param $csrf : Le jeton CSRF
|
||||||
* @param string $_POST['email'] : L'email de l'utilisateur
|
* @param string $_POST['email'] : L'email de l'utilisateur
|
||||||
* @param string $_POST['email_confirm'] : Verif de l'email de l'utilisateur
|
* @param string $_POST['email_confirm'] : Verif de l'email de l'utilisateur
|
||||||
|
@ -75,8 +98,10 @@ class User extends \descartes\Controller
|
||||||
*/
|
*/
|
||||||
public function create($csrf)
|
public function create($csrf)
|
||||||
{
|
{
|
||||||
if (!$this->verify_csrf($csrf)) {
|
if (!$this->verify_csrf($csrf))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'add'));
|
return $this->redirect(\descartes\Router::url('User', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,29 +109,38 @@ class User extends \descartes\Controller
|
||||||
$password = $_POST['password'] ?? \controllers\internals\Tool::generate_password(rand(6, 12));
|
$password = $_POST['password'] ?? \controllers\internals\Tool::generate_password(rand(6, 12));
|
||||||
$admin = $_POST['admin'] ?? false;
|
$admin = $_POST['admin'] ?? false;
|
||||||
|
|
||||||
if (!$email) {
|
if (!$email)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez au moins fournir une adresse e-mail pour l\'utilisateur.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Vous devez au moins fournir une adresse e-mail pour l\'utilisateur.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'add'));
|
return $this->redirect(\descartes\Router::url('User', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'L\'adresse e-mail n\'est pas valide.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'L\'adresse e-mail n\'est pas valide.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'add'));
|
return $this->redirect(\descartes\Router::url('User', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$email_send = \controllers\internals\Tool::send_email($email, EMAIL_CREATE_USER, ['email' => $email, 'password' => $password]);
|
$email_send = \controllers\internals\Tool::send_email($email, EMAIL_CREATE_USER, ['email' => $email, 'password' => $password]);
|
||||||
if (!$email_send) {
|
if (!$email_send)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible d\'envoyer l\'e-mail à l\'utilisateur, le compte n\'a donc pas été créé.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible d\'envoyer l\'e-mail à l\'utilisateur, le compte n\'a donc pas été créé.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'add'));
|
return $this->redirect(\descartes\Router::url('User', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_id = $this->internal_user->create($email, $password, $admin);
|
$user_id = $this->internal_user->create($email, $password, $admin);
|
||||||
if (!$user_id) {
|
if (!$user_id)
|
||||||
|
{
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer ce user.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Impossible de créer ce user.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'add'));
|
return $this->redirect(\descartes\Router::url('User', 'add'));
|
||||||
}
|
}
|
||||||
|
|
||||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'L\'utilisateur a bien été créé.');
|
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('success', 'L\'utilisateur a bien été créé.');
|
||||||
|
|
||||||
return $this->redirect(\descartes\Router::url('User', 'list'));
|
return $this->redirect(\descartes\Router::url('User', 'list'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,59 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les commandes
|
* Cette classe gère les accès bdd pour les commandes.
|
||||||
*/
|
*/
|
||||||
class Command extends \descartes\Model
|
class Command extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$commands = $this->_select('command', ['id' => $id]);
|
$commands = $this->_select('command', ['id' => $id]);
|
||||||
|
|
||||||
return isset($commands[0]) ? $commands[0] : false;
|
return isset($commands[0]) ? $commands[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de commandes sous forme d'un tableau
|
* Retourne une liste de commandes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function list($limit, $offset)
|
public function list($limit, $offset)
|
||||||
{
|
{
|
||||||
$commands = $this->_select('command', [], '', false, $limit, $offset);
|
return $this->_select('command', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $commands;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de commandes sous forme d'un tableau
|
* Retourne une liste de commandes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM command
|
SELECT * FROM command
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -47,16 +62,19 @@
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime une commande
|
* Supprime une commande.
|
||||||
|
*
|
||||||
* @param array $id : l'id de l'entrée à supprimer
|
* @param array $id : l'id de l'entrée à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM command
|
DELETE FROM command
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
|
||||||
|
@ -64,15 +82,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une commande
|
* Insert une commande.
|
||||||
|
*
|
||||||
* @param array $command : La commande à insérer
|
* @param array $command : La commande à insérer
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($command)
|
public function insert($command)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('command', $command);
|
$result = $this->_insert('command', $command);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,9 +101,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une commande par son id
|
* Met à jour une commande par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la command à modifier
|
* @param int $id : L'id de la command à modifier
|
||||||
* @param array $command : Les données à mettre à jour pour la commande
|
* @param array $command : Les données à mettre à jour pour la commande
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $command)
|
public function update($id, $command)
|
||||||
|
@ -91,7 +114,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table
|
* Compte le nombre d'entrées dans la table.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées
|
* @return int : Le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
|
|
@ -1,66 +1,87 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les contactes
|
* Cette classe gère les accès bdd pour les contactes.
|
||||||
*/
|
*/
|
||||||
class Contact extends \descartes\Model
|
class Contact extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$contacts = $this->_select('contact', ['id' => $id]);
|
$contacts = $this->_select('contact', ['id' => $id]);
|
||||||
|
|
||||||
return isset($contacts[0]) ? $contacts[0] : false;
|
return isset($contacts[0]) ? $contacts[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son numéro de tel
|
* Retourne une entrée par son numéro de tel.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro de tél
|
* @param string $number : Le numéro de tél
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_number($number)
|
public function get_by_number($number)
|
||||||
{
|
{
|
||||||
$contacts = $this->_select('contact', ['number' => $number]);
|
$contacts = $this->_select('contact', ['number' => $number]);
|
||||||
|
|
||||||
return isset($contacts[0]) ? $contacts[0] : false;
|
return isset($contacts[0]) ? $contacts[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son numéro de tel
|
* Retourne une entrée par son numéro de tel.
|
||||||
|
*
|
||||||
* @param string $name : Le numéro de tél
|
* @param string $name : Le numéro de tél
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_name($name)
|
public function get_by_name($name)
|
||||||
{
|
{
|
||||||
$contacts = $this->_select('contact', ['name' => $name]);
|
$contacts = $this->_select('contact', ['name' => $name]);
|
||||||
|
|
||||||
return isset($contacts[0]) ? $contacts[0] : false;
|
return isset($contacts[0]) ? $contacts[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de contactes sous forme d'un tableau
|
* Retourne une liste de contactes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$contacts = $this->_select('contact', [], '', false, $limit, $offset);
|
return $this->_select('contact', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $contacts;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de contactes sous forme d'un tableau
|
* Retourne une liste de contactes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM contact
|
SELECT * FROM contact
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -71,30 +92,36 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprimer un contact par son id
|
* Supprimer un contact par son id.
|
||||||
|
*
|
||||||
* @param array $id : un ou plusieurs id d'entrées à supprimer
|
* @param array $id : un ou plusieurs id d'entrées à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM contact
|
DELETE FROM contact
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une contacte
|
* Insert une contacte.
|
||||||
|
*
|
||||||
* @param array $contact : La contacte à insérer avec les champs name, script, admin & admin
|
* @param array $contact : La contacte à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($contact)
|
public function insert($contact)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('contact', $contact);
|
$result = $this->_insert('contact', $contact);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,9 +129,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une contacte par son id
|
* Met à jour une contacte par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la contact à modifier
|
* @param int $id : L'id de la contact à modifier
|
||||||
* @param array $contact : Les données à mettre à jour pour la contacte
|
* @param array $contact : Les données à mettre à jour pour la contacte
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $contact)
|
public function update($id, $contact)
|
||||||
|
@ -113,7 +142,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table contact
|
* Compte le nombre d'entrées dans la table contact.
|
||||||
|
*
|
||||||
* @return int : Le nombre de contact
|
* @return int : Le nombre de contact
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
|
|
@ -1,15 +1,28 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
class DataBase extends \descartes\Model
|
class DataBase extends \descartes\Model
|
||||||
{
|
{
|
||||||
/*******************************/
|
//
|
||||||
/* PARTIE DES REQUETES SENDEDS */
|
// PARTIE DES REQUETES SENDEDS
|
||||||
/*******************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les SMS envoyés depuis une date
|
* Récupère les SMS envoyés depuis une date.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25)
|
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25)
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les SMS depuis la date
|
* @return array : Tableau avec tous les SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function getNbSendedsSinceGroupDay($date)
|
public function getNbSendedsSinceGroupDay($date)
|
||||||
|
@ -21,42 +34,46 @@
|
||||||
GROUP BY at_ymd
|
GROUP BY at_ymd
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère SMS envoyé à partir de son id
|
* Récupère SMS envoyé à partir de son id.
|
||||||
|
*
|
||||||
* @param int $id = L'id du SMS
|
* @param int $id = L'id du SMS
|
||||||
|
*
|
||||||
* @return array : Retourne le SMS
|
* @return array : Retourne le SMS
|
||||||
*/
|
*/
|
||||||
public function getSendedFromId($id)
|
public function getSendedFromId($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM sended
|
FROM sended
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id' => $id
|
'id' => $id,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les sendeds dont l'id fait partie du tableau fourni
|
* Supprime tous les sendeds dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $sendeds_ids : Tableau des id des sendeds à supprimer
|
* @param $sendeds_ids : Tableau des id des sendeds à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteSendedsIn($sendeds_ids)
|
public function deleteSendedsIn($sendeds_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM sended
|
DELETE FROM sended
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($sendeds_ids);
|
$generted_in = $this->_generate_in_from_array($sendeds_ids);
|
||||||
|
@ -66,16 +83,18 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************/
|
//
|
||||||
/* PARTIE DES REQUETES RECEIVEDS */
|
// PARTIE DES REQUETES RECEIVEDS
|
||||||
/*********************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un nouveau SMS reçu
|
* Insert un nouveau SMS reçu.
|
||||||
|
*
|
||||||
* @param string $date : La date d'envoie du message
|
* @param string $date : La date d'envoie du message
|
||||||
* @param string $send_by : Numéro auquel depuis lequel le message a ete envoye
|
* @param string $send_by : Numéro auquel depuis lequel le message a ete envoye
|
||||||
* @param string $content : Texte du message
|
* @param string $content : Texte du message
|
||||||
* @param string $is_command : Commande reconnue
|
* @param string $is_command : Commande reconnue
|
||||||
|
*
|
||||||
* @return int : le nombre de SMS créés
|
* @return int : le nombre de SMS créés
|
||||||
*/
|
*/
|
||||||
public function insertReceived($date, $send_by, $content, $is_command)
|
public function insertReceived($date, $send_by, $content, $is_command)
|
||||||
|
@ -85,19 +104,21 @@
|
||||||
VALUES (:date, :send_by, :content, :is_command)
|
VALUES (:date, :send_by, :content, :is_command)
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'send_by' => $send_by,
|
'send_by' => $send_by,
|
||||||
'content' => $content,
|
'content' => $content,
|
||||||
'is_command' => $is_command,
|
'is_command' => $is_command,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT); //On retourne le nombre de lignes ajoutés
|
return $this->_run_query($query, $params, self::ROWCOUNT); //On retourne le nombre de lignes ajoutés
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les SMS reçus depuis une date
|
* Récupère les SMS reçus depuis une date.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25)
|
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25)
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les SMS depuis la date
|
* @return array : Tableau avec tous les SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function getNbReceivedsSinceGroupDay($date)
|
public function getNbReceivedsSinceGroupDay($date)
|
||||||
|
@ -109,16 +130,18 @@
|
||||||
GROUP BY at_ymd
|
GROUP BY at_ymd
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les SMS reçus depuis une date
|
* Récupère les SMS reçus depuis une date.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les SMS depuis la date
|
* @return array : Tableau avec tous les SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function getReceivedsSince($date)
|
public function getReceivedsSince($date)
|
||||||
|
@ -129,17 +152,19 @@
|
||||||
WHERE at > STR_TO_DATE(:date, '%Y-%m-%d %h:%i:%s')
|
WHERE at > STR_TO_DATE(:date, '%Y-%m-%d %h:%i:%s')
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les SMS reçus depuis une date pour un numero
|
* Récupère les SMS reçus depuis une date pour un numero.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
||||||
* @param $number : Le numéro
|
* @param $number : Le numéro
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les SMS depuis la date
|
* @return array : Tableau avec tous les SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function getReceivedsSinceForNumberOrderByDate($date, $number)
|
public function getReceivedsSinceForNumberOrderByDate($date, $number)
|
||||||
|
@ -152,25 +177,27 @@
|
||||||
ORDER BY at ASC
|
ORDER BY at ASC
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'number' => $number
|
'number' => $number,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les receiveds dont l'id fait partie de la liste fournie
|
* Récupère les receiveds dont l'id fait partie de la liste fournie.
|
||||||
|
*
|
||||||
* @param array $receiveds_ids = Tableau des id des receiveds voulus
|
* @param array $receiveds_ids = Tableau des id des receiveds voulus
|
||||||
|
*
|
||||||
* @return array : Retourne un tableau avec les receiveds adaptés
|
* @return array : Retourne un tableau avec les receiveds adaptés
|
||||||
*/
|
*/
|
||||||
public function getReceivedsIn($receiveds_ids)
|
public function getReceivedsIn($receiveds_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM received
|
FROM received
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($receiveds_ids);
|
$generted_in = $this->_generate_in_from_array($receiveds_ids);
|
||||||
|
@ -181,15 +208,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les receivedss dont l'id fait partie du tableau fourni
|
* Supprime tous les receivedss dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $receiveds_ids : Tableau des id des receiveds à supprimer
|
* @param $receiveds_ids : Tableau des id des receiveds à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteReceivedsIn($receiveds_ids)
|
public function deleteReceivedsIn($receiveds_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM received
|
DELETE FROM received
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($receiveds_ids);
|
$generted_in = $this->_generate_in_from_array($receiveds_ids);
|
||||||
|
@ -199,20 +228,22 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************/
|
//
|
||||||
/* PARTIE DES REQUETES CONTACTS */
|
// PARTIE DES REQUETES CONTACTS
|
||||||
/********************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les contacts dont l'id fait partie du tableau fourni
|
* Supprime tous les contacts dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $contacts_ids : Tableau des id des contacts à supprimer
|
* @param $contacts_ids : Tableau des id des contacts à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteContactsIn($contacts_ids)
|
public function deleteContactsIn($contacts_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM contact
|
DELETE FROM contact
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($contacts_ids);
|
$generted_in = $this->_generate_in_from_array($contacts_ids);
|
||||||
|
@ -223,16 +254,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les contacts dont l'id fait partie de la liste fournie
|
* Récupère les contacts dont l'id fait partie de la liste fournie.
|
||||||
|
*
|
||||||
* @param array $contacts_ids = Tableau des id des contacts voulus
|
* @param array $contacts_ids = Tableau des id des contacts voulus
|
||||||
|
*
|
||||||
* @return array : Retourne un tableau avec les contacts adaptés
|
* @return array : Retourne un tableau avec les contacts adaptés
|
||||||
*/
|
*/
|
||||||
public function getContactsIn($contacts_ids)
|
public function getContactsIn($contacts_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM contact
|
FROM contact
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($contacts_ids);
|
$generted_in = $this->_generate_in_from_array($contacts_ids);
|
||||||
|
@ -242,13 +275,16 @@
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************/
|
//
|
||||||
/* PARTIE DES REQUETES GROUPS */
|
// PARTIE DES REQUETES GROUPS
|
||||||
/******************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un group
|
* Insert un group.
|
||||||
|
*
|
||||||
* @param string $nom : Le nom du nouveau group
|
* @param string $nom : Le nom du nouveau group
|
||||||
|
* @param mixed $name
|
||||||
|
*
|
||||||
* @return int : le nombre de lignes crées
|
* @return int : le nombre de lignes crées
|
||||||
*/
|
*/
|
||||||
public function insertGroup($name)
|
public function insertGroup($name)
|
||||||
|
@ -258,24 +294,26 @@
|
||||||
VALUES (:name)
|
VALUES (:name)
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les groups dont l'id fait partie de la liste fournie
|
* Récupère les groups dont l'id fait partie de la liste fournie.
|
||||||
|
*
|
||||||
* @param array $groups_ids = Tableau des id des groups voulus
|
* @param array $groups_ids = Tableau des id des groups voulus
|
||||||
|
*
|
||||||
* @return array : Retourne un tableau avec les groups adaptés
|
* @return array : Retourne un tableau avec les groups adaptés
|
||||||
*/
|
*/
|
||||||
public function getGroupsIn($groups_ids)
|
public function getGroupsIn($groups_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM group
|
FROM group
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($groups_ids);
|
$generted_in = $this->_generate_in_from_array($groups_ids);
|
||||||
|
@ -286,15 +324,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les groups dont l'id fait partie du tableau fourni
|
* Supprime tous les groups dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $contacts_ids : Tableau des id des groups à supprimer
|
* @param $contacts_ids : Tableau des id des groups à supprimer
|
||||||
|
* @param mixed $groups_ids
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteGroupsIn($groups_ids)
|
public function deleteGroupsIn($groups_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM group
|
DELETE FROM group
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($groups_ids);
|
$generted_in = $this->_generate_in_from_array($groups_ids);
|
||||||
|
@ -304,13 +345,15 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************/
|
//
|
||||||
/* PARTIE DES REQUETES GROUPS_CONTACTS */
|
// PARTIE DES REQUETES GROUPS_CONTACTS
|
||||||
/***************************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne tous les contacts pour un group donnée
|
* Retourne tous les contacts pour un group donnée.
|
||||||
|
*
|
||||||
* @param int $id_group : L'id du group
|
* @param int $id_group : L'id du group
|
||||||
|
*
|
||||||
* @return array : Tous les contacts compris dans le group
|
* @return array : Tous les contacts compris dans le group
|
||||||
*/
|
*/
|
||||||
public function getContactsForGroup($id_group)
|
public function getContactsForGroup($id_group)
|
||||||
|
@ -323,91 +366,109 @@
|
||||||
WHERE(g_c.id_group = :id_group)
|
WHERE(g_c.id_group = :id_group)
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_group' => $id_group,
|
'id_group' => $id_group,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère tout les groups, avec le nombre de contact dans chacun
|
* Récupère tout les groups, avec le nombre de contact dans chacun.
|
||||||
|
*
|
||||||
|
* @param mixed $order_by
|
||||||
|
* @param mixed $desc
|
||||||
|
* @param mixed $limit
|
||||||
|
* @param mixed $offset
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les groups et le nombre de contacts liés
|
* @return array : Tableau avec tous les groups et le nombre de contacts liés
|
||||||
*/
|
*/
|
||||||
public function getGroupsWithContactsNb($order_by = '', $desc = false, $limit = false, $offset = false)
|
public function getGroupsWithContactsNb($order_by = '', $desc = false, $limit = false, $offset = false)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT gro.id as id, gro.name as name, COUNT(g_c.id) as nb_contacts
|
SELECT gro.id as id, gro.name as name, COUNT(g_c.id) as nb_contacts
|
||||||
FROM group as gro
|
FROM group as gro
|
||||||
LEFT JOIN group_contact as g_c
|
LEFT JOIN group_contact as g_c
|
||||||
ON (g_c.id_group = gro.id)
|
ON (g_c.id_group = gro.id)
|
||||||
GROUP BY id
|
GROUP BY id
|
||||||
";
|
';
|
||||||
|
|
||||||
if ($order_by) {
|
if ($order_by)
|
||||||
|
{
|
||||||
$orders = [
|
$orders = [
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
'number',
|
'number',
|
||||||
];
|
];
|
||||||
|
|
||||||
if (in_array($order_by, $orders)) {
|
if (\in_array($order_by, $orders, true))
|
||||||
|
{
|
||||||
$query .= ' ORDER BY '.$order_by;
|
$query .= ' ORDER BY '.$order_by;
|
||||||
if ($desc) {
|
if ($desc)
|
||||||
|
{
|
||||||
$query .= ' DESC';
|
$query .= ' DESC';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($limit !== false) {
|
if (false !== $limit)
|
||||||
|
{
|
||||||
$query .= ' LIMIT :limit';
|
$query .= ' LIMIT :limit';
|
||||||
if ($offset !== false) {
|
if (false !== $offset)
|
||||||
|
{
|
||||||
$query .= ' OFFSET :offset';
|
$query .= ' OFFSET :offset';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$req = $this->pdo->prepare($query);
|
$req = $this->pdo->prepare($query);
|
||||||
|
|
||||||
if ($limit !== false) {
|
if (false !== $limit)
|
||||||
|
{
|
||||||
$req->bindParam(':limit', $limit, \PDO::PARAM_INT);
|
$req->bindParam(':limit', $limit, \PDO::PARAM_INT);
|
||||||
if ($offset !== false) {
|
if (false !== $offset)
|
||||||
|
{
|
||||||
$req->bindParam(':offset', $offset, \PDO::PARAM_INT);
|
$req->bindParam(':offset', $offset, \PDO::PARAM_INT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$req->execute();
|
$req->execute();
|
||||||
|
|
||||||
return $req->fetchAll();
|
return $req->fetchAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************/
|
//
|
||||||
/* PARTIE DES REQUETES SCHEDULEDS */
|
// PARTIE DES REQUETES SCHEDULEDS
|
||||||
/**********************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère tout les sms programmés non en cours, et dont la date d'envoie inférieure à celle renseignée
|
* Récupère tout les sms programmés non en cours, et dont la date d'envoie inférieure à celle renseignée.
|
||||||
|
*
|
||||||
* @param string $date : \Date avant laquelle on veux les sms
|
* @param string $date : \Date avant laquelle on veux les sms
|
||||||
|
*
|
||||||
* @return array : Tableau avec les sms programmés demandés
|
* @return array : Tableau avec les sms programmés demandés
|
||||||
*/
|
*/
|
||||||
public function getScheduledsNotInProgressBefore($date)
|
public function getScheduledsNotInProgressBefore($date)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM scheduled
|
FROM scheduled
|
||||||
WHERE progress = 0
|
WHERE progress = 0
|
||||||
AND at <= :date
|
AND at <= :date
|
||||||
";
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un sms
|
* Insert un sms.
|
||||||
|
*
|
||||||
* @param string $date : La date d'envoi du SMS
|
* @param string $date : La date d'envoi du SMS
|
||||||
* @param string $content : Le contenu du SMS
|
* @param string $content : Le contenu du SMS
|
||||||
|
*
|
||||||
* @return int : le nombre de lignes crées
|
* @return int : le nombre de lignes crées
|
||||||
*/
|
*/
|
||||||
public function insertScheduleds($date, $content)
|
public function insertScheduleds($date, $content)
|
||||||
|
@ -417,25 +478,28 @@
|
||||||
VALUES (:date, :content, :progress)
|
VALUES (:date, :content, :progress)
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'content' => $content,
|
'content' => $content,
|
||||||
'progress' => false,
|
'progress' => false,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les sms programmés dont l'id fait partie du tableau fourni
|
* Supprime tous les sms programmés dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $contacts_ids : Tableau des id des sms à supprimer
|
* @param $contacts_ids : Tableau des id des sms à supprimer
|
||||||
|
* @param mixed $scheduleds_ids
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteScheduledsIn($scheduleds_ids)
|
public function deleteScheduledsIn($scheduleds_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM scheduled
|
DELETE FROM scheduled
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($scheduleds_ids);
|
$generted_in = $this->_generate_in_from_array($scheduleds_ids);
|
||||||
|
@ -446,14 +510,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les sms programmés pour un numéro donné et avant une date
|
* Cette fonction retourne les sms programmés pour un numéro donné et avant une date.
|
||||||
|
*
|
||||||
* @param string $date : La date avant laquel on veux les numéros (format yyyy-mm-dd hh:mm:ss)
|
* @param string $date : La date avant laquel on veux les numéros (format yyyy-mm-dd hh:mm:ss)
|
||||||
* @param string $number : Le numéro cible
|
* @param string $number : Le numéro cible
|
||||||
|
*
|
||||||
* @return array : Les scheduleds correspondants
|
* @return array : Les scheduleds correspondants
|
||||||
*/
|
*/
|
||||||
public function getScheduledsBeforeDateForNumber($date, $number)
|
public function getScheduledsBeforeDateForNumber($date, $number)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM scheduled
|
FROM scheduled
|
||||||
WHERE at <= :date
|
WHERE at <= :date
|
||||||
|
@ -486,31 +552,33 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
";
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'number' => $number,
|
'number' => $number,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************/
|
//
|
||||||
/* PARTIE DES REQUETES COMMANDS */
|
// PARTIE DES REQUETES COMMANDS
|
||||||
/********************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les commands dont l'id fait partie de la liste fournie
|
* Récupère les commands dont l'id fait partie de la liste fournie.
|
||||||
|
*
|
||||||
* @param array $commands_ids = Tableau des id des commands voulus
|
* @param array $commands_ids = Tableau des id des commands voulus
|
||||||
|
*
|
||||||
* @return array : Retourne un tableau avec les commands adaptés
|
* @return array : Retourne un tableau avec les commands adaptés
|
||||||
*/
|
*/
|
||||||
public function getCommandsIn($commands_ids)
|
public function getCommandsIn($commands_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM command
|
FROM command
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($commands_ids);
|
$generted_in = $this->_generate_in_from_array($commands_ids);
|
||||||
|
@ -521,15 +589,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les commands dont l'id fait partie du tableau fourni
|
* Supprime tous les commands dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $commands_ids : Tableau des id des commands à supprimer
|
* @param $commands_ids : Tableau des id des commands à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteCommandsIn($commands_ids)
|
public function deleteCommandsIn($commands_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM command
|
DELETE FROM command
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($commands_ids);
|
$generted_in = $this->_generate_in_from_array($commands_ids);
|
||||||
|
@ -539,13 +609,16 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************/
|
//
|
||||||
/* PARTIE DES REQUETES SCHEDULEDS_CONTACTS */
|
// PARTIE DES REQUETES SCHEDULEDS_CONTACTS
|
||||||
/*******************************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne tous les contacts pour un sms programmé donnée
|
* Retourne tous les contacts pour un sms programmé donnée.
|
||||||
|
*
|
||||||
* @param int $id_sms : L'id du sms
|
* @param int $id_sms : L'id du sms
|
||||||
|
* @param mixed $id_scheduled
|
||||||
|
*
|
||||||
* @return array : Tous les contacts compris dans le schedulede
|
* @return array : Tous les contacts compris dans le schedulede
|
||||||
*/
|
*/
|
||||||
public function getContactsForScheduled($id_scheduled)
|
public function getContactsForScheduled($id_scheduled)
|
||||||
|
@ -558,16 +631,18 @@
|
||||||
WHERE(s_c.id_scheduled = :id_scheduled)
|
WHERE(s_c.id_scheduled = :id_scheduled)
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_scheduled' => $id_scheduled,
|
'id_scheduled' => $id_scheduled,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les scheduleds_contacts pour un sms donné
|
* Supprime tous les scheduleds_contacts pour un sms donné.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du sms pour lequel on doit supprimer les scheduleds_contacts
|
* @param int $id_scheduled : L'id du sms pour lequel on doit supprimer les scheduleds_contacts
|
||||||
|
*
|
||||||
* @return int Le nombre de lignes supprimées
|
* @return int Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteScheduleds_contactsForScheduled($id_scheduled)
|
public function deleteScheduleds_contactsForScheduled($id_scheduled)
|
||||||
|
@ -577,41 +652,46 @@
|
||||||
WHERE id_scheduled = :id_scheduled
|
WHERE id_scheduled = :id_scheduled
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_scheduled' => $id_scheduled
|
'id_scheduled' => $id_scheduled,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change le statut des scheduleds dont l'id est fourni dans $scheduleds_id
|
* Change le statut des scheduleds dont l'id est fourni dans $scheduleds_id.
|
||||||
|
*
|
||||||
* @param array $scheduleds_ids = Tableau des id des sms voulus
|
* @param array $scheduleds_ids = Tableau des id des sms voulus
|
||||||
|
* @param mixed $progress
|
||||||
|
*
|
||||||
* @return int : Retourne le nombre de lignes mises à jour
|
* @return int : Retourne le nombre de lignes mises à jour
|
||||||
*/
|
*/
|
||||||
public function updateProgressScheduledsIn($scheduleds_ids, $progress)
|
public function updateProgressScheduledsIn($scheduleds_ids, $progress)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
UPDATE scheduled
|
UPDATE scheduled
|
||||||
SET progress = :progress
|
SET progress = :progress
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($scheduleds_ids);
|
$generted_in = $this->_generate_in_from_array($scheduleds_ids);
|
||||||
$query .= $generted_in['QUERY'];
|
$query .= $generted_in['QUERY'];
|
||||||
$params = $generted_in['PARAMS'];
|
$params = $generted_in['PARAMS'];
|
||||||
$params['progress'] = (boolean)$progress;
|
$params['progress'] = (bool) $progress;
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************/
|
//
|
||||||
/* PARTIE DES REQUETES SCHEDULEDS_NUMBERS */
|
// PARTIE DES REQUETES SCHEDULEDS_NUMBERS
|
||||||
/******************************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les scheduleds_numbers pour un sms donné
|
* Supprime tous les scheduleds_numbers pour un sms donné.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du sms pour lequel on doit supprimer les scheduleds_numbers
|
* @param int $id_scheduled : L'id du sms pour lequel on doit supprimer les scheduleds_numbers
|
||||||
|
*
|
||||||
* @return int Le nombre de lignes supprimées
|
* @return int Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteScheduleds_numbersForScheduled($id_scheduled)
|
public function deleteScheduleds_numbersForScheduled($id_scheduled)
|
||||||
|
@ -621,16 +701,18 @@
|
||||||
WHERE id_scheduled = :id_scheduled
|
WHERE id_scheduled = :id_scheduled
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_scheduled' => $id_scheduled
|
'id_scheduled' => $id_scheduled,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne tous les numéros pour un scheduled donné
|
* Retourne tous les numéros pour un scheduled donné.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled
|
* @param int $id_scheduled : L'id du scheduled
|
||||||
|
*
|
||||||
* @return array : Tous les numéro compris dans le scheduled
|
* @return array : Tous les numéro compris dans le scheduled
|
||||||
*/
|
*/
|
||||||
public function getNumbersForScheduled($id_scheduled)
|
public function getNumbersForScheduled($id_scheduled)
|
||||||
|
@ -641,20 +723,22 @@
|
||||||
WHERE id_scheduled = :id_scheduled
|
WHERE id_scheduled = :id_scheduled
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_scheduled' => $id_scheduled,
|
'id_scheduled' => $id_scheduled,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************/
|
//
|
||||||
/* PARTIE DES REQUETES SCHEDULEDS_GROUPS */
|
// PARTIE DES REQUETES SCHEDULEDS_GROUPS
|
||||||
/*****************************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les scheduleds_groups pour un sms donné
|
* Supprime tous les scheduleds_groups pour un sms donné.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du sms pour lequel on doit supprimer les scheduleds_groups
|
* @param int $id_scheduled : L'id du sms pour lequel on doit supprimer les scheduleds_groups
|
||||||
|
*
|
||||||
* @return int Le nombre de lignes supprimées
|
* @return int Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteScheduleds_groupsForScheduled($id_scheduled)
|
public function deleteScheduleds_groupsForScheduled($id_scheduled)
|
||||||
|
@ -664,16 +748,18 @@
|
||||||
WHERE id_scheduled = :id_scheduled
|
WHERE id_scheduled = :id_scheduled
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_scheduled' => $id_scheduled
|
'id_scheduled' => $id_scheduled,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne tous les groups pour un scheduled donnée
|
* Retourne tous les groups pour un scheduled donnée.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du schedulede
|
* @param int $id_scheduled : L'id du schedulede
|
||||||
|
*
|
||||||
* @return array : Tous les groups compris dans le scheduled
|
* @return array : Tous les groups compris dans le scheduled
|
||||||
*/
|
*/
|
||||||
public function getGroupsForScheduled($id_scheduled)
|
public function getGroupsForScheduled($id_scheduled)
|
||||||
|
@ -686,46 +772,50 @@
|
||||||
WHERE(s_g.id_scheduled = :id_scheduled)
|
WHERE(s_g.id_scheduled = :id_scheduled)
|
||||||
';
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id_scheduled' => $id_scheduled,
|
'id_scheduled' => $id_scheduled,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************/
|
//
|
||||||
/* PARTIE DES REQUETES USERS */
|
// PARTIE DES REQUETES USERS
|
||||||
/*****************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère un utilisateur à partir de son email
|
* Récupère un utilisateur à partir de son email.
|
||||||
|
*
|
||||||
* @param string $email = L'email de l'utilisateur
|
* @param string $email = L'email de l'utilisateur
|
||||||
|
*
|
||||||
* @return array : Retourne l'utilisateur
|
* @return array : Retourne l'utilisateur
|
||||||
*/
|
*/
|
||||||
public function getUserFromEmail($email)
|
public function getUserFromEmail($email)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM user
|
FROM user
|
||||||
WHERE email = :email";
|
WHERE email = :email';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'email' => $email
|
'email' => $email,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::FETCH);
|
return $this->_run_query($query, $params, self::FETCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les users dont l'id fait partie du tableau fourni
|
* Supprime tous les users dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $users_ids : Tableau des id des users à supprimer
|
* @param $users_ids : Tableau des id des users à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteUsersIn($users_ids)
|
public function deleteUsersIn($users_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM user
|
DELETE FROM user
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($users_ids);
|
$generted_in = $this->_generate_in_from_array($users_ids);
|
||||||
|
@ -735,41 +825,46 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************/
|
//
|
||||||
/* PARTIE DES REQUETES TRANSFERS */
|
// PARTIE DES REQUETES TRANSFERS
|
||||||
/*********************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change le statut des tranfers dont l'id est fourni dans $transfers_id
|
* Change le statut des tranfers dont l'id est fourni dans $transfers_id.
|
||||||
|
*
|
||||||
* @param array $transfers_ids = Tableau des id des transfers voulus
|
* @param array $transfers_ids = Tableau des id des transfers voulus
|
||||||
|
* @param mixed $progress
|
||||||
|
*
|
||||||
* @return int : Retourne le nombre de lignes mises à jour
|
* @return int : Retourne le nombre de lignes mises à jour
|
||||||
*/
|
*/
|
||||||
public function updateProgressTransfersIn($transfers_ids, $progress)
|
public function updateProgressTransfersIn($transfers_ids, $progress)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
UPDATE transfer
|
UPDATE transfer
|
||||||
SET progress = :progress
|
SET progress = :progress
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($transfers_ids);
|
$generted_in = $this->_generate_in_from_array($transfers_ids);
|
||||||
$query .= $generted_in['QUERY'];
|
$query .= $generted_in['QUERY'];
|
||||||
$params = $generted_in['PARAMS'];
|
$params = $generted_in['PARAMS'];
|
||||||
$params['progress'] = (boolean)$progress;
|
$params['progress'] = (bool) $progress;
|
||||||
|
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les transfers dont l'id fait partie du tableau fourni
|
* Supprime tous les transfers dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $transfers_ids : Tableau des id des transfers à supprimer
|
* @param $transfers_ids : Tableau des id des transfers à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteTransfersIn($transfers_ids)
|
public function deleteTransfersIn($transfers_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM transfer
|
DELETE FROM transfer
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($transfers_ids);
|
$generted_in = $this->_generate_in_from_array($transfers_ids);
|
||||||
|
@ -779,20 +874,22 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************/
|
//
|
||||||
/* PARTIE DES REQUETES EVENTS */
|
// PARTIE DES REQUETES EVENTS
|
||||||
/******************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les events dont l'id fait partie du tableau fourni
|
* Supprime tous les events dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $events_ids : Tableau des id des events à supprimer
|
* @param $events_ids : Tableau des id des events à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteEventsIn($events_ids)
|
public function deleteEventsIn($events_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM event
|
DELETE FROM event
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($events_ids);
|
$generted_in = $this->_generate_in_from_array($events_ids);
|
||||||
|
@ -802,20 +899,22 @@
|
||||||
return $this->_run_query($query, $params, self::ROWCOUNT);
|
return $this->_run_query($query, $params, self::ROWCOUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************/
|
//
|
||||||
/* PARTIE DES REQUETES SMS STOP */
|
// PARTIE DES REQUETES SMS STOP
|
||||||
/********************************/
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime tous les sms_stops dont l'id fait partie du tableau fourni
|
* Supprime tous les sms_stops dont l'id fait partie du tableau fourni.
|
||||||
|
*
|
||||||
* @param $sms_stops_ids : Tableau des id des sms_stops à supprimer
|
* @param $sms_stops_ids : Tableau des id des sms_stops à supprimer
|
||||||
|
*
|
||||||
* @return int : Nombre de lignes supprimées
|
* @return int : Nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function deleteSmsStopsIn($sms_stops_ids)
|
public function deleteSmsStopsIn($sms_stops_ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM sms_stop
|
DELETE FROM sms_stop
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generted_in = $this->_generate_in_from_array($sms_stops_ids);
|
$generted_in = $this->_generate_in_from_array($sms_stops_ids);
|
||||||
|
|
|
@ -1,54 +1,71 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les eventes
|
* Cette classe gère les accès bdd pour les eventes.
|
||||||
*/
|
*/
|
||||||
class Event extends \descartes\Model
|
class Event extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$events = $this->_select('event', ['id' => $id]);
|
$events = $this->_select('event', ['id' => $id]);
|
||||||
|
|
||||||
return isset($events[0]) ? $events[0] : false;
|
return isset($events[0]) ? $events[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de eventes sous forme d'un tableau
|
* Retourne une liste de eventes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$events = $this->_select('event', [], '', false, $limit, $offset);
|
return $this->_select('event', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $events;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les X dernières entrées triées par date
|
* Cette fonction retourne les X dernières entrées triées par date.
|
||||||
|
*
|
||||||
|
* @param mixed $nb_entry
|
||||||
|
*
|
||||||
* @return array : Les dernières entrées
|
* @return array : Les dernières entrées
|
||||||
*/
|
*/
|
||||||
public function get_lasts_by_date($nb_entry)
|
public function get_lasts_by_date($nb_entry)
|
||||||
{
|
{
|
||||||
$events = $this->_select('event', [], 'at', true, $nb_entry);
|
return $this->_select('event', [], 'at', true, $nb_entry);
|
||||||
return $events;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de eventes sous forme d'un tableau
|
* Retourne une liste de eventes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM event
|
SELECT * FROM event
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -59,15 +76,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de eventes sous forme d'un tableau
|
* Retourne une liste de eventes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM event
|
DELETE FROM event
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
|
||||||
|
@ -75,15 +95,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une evente
|
* Insert une evente.
|
||||||
|
*
|
||||||
* @param array $event : La evente à insérer avec les champs name, script, admin & admin
|
* @param array $event : La evente à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($event)
|
public function insert($event)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('event', $event);
|
$result = $this->_insert('event', $event);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +114,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table
|
* Compte le nombre d'entrées dans la table.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées
|
* @return int : Le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
|
|
@ -1,55 +1,73 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les groups
|
* Cette classe gère les accès bdd pour les groups.
|
||||||
*/
|
*/
|
||||||
class Group extends \descartes\Model
|
class Group extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$groups = $this->_select('group', ['id' => $id]);
|
$groups = $this->_select('group', ['id' => $id]);
|
||||||
|
|
||||||
return isset($groups[0]) ? $groups[0] : false;
|
return isset($groups[0]) ? $groups[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son numéro de tel
|
* Retourne une entrée par son numéro de tel.
|
||||||
|
*
|
||||||
* @param string $name : Le numéro de tél
|
* @param string $name : Le numéro de tél
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_name($name)
|
public function get_by_name($name)
|
||||||
{
|
{
|
||||||
$groups = $this->_select('group', ['name' => $name]);
|
$groups = $this->_select('group', ['name' => $name]);
|
||||||
|
|
||||||
return isset($groups[0]) ? $groups[0] : false;
|
return isset($groups[0]) ? $groups[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de groups sous forme d'un tableau
|
* Retourne une liste de groups sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$groups = $this->_select('group', [], '', false, $limit, $offset);
|
return $this->_select('group', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $groups;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de groups sous forme d'un tableau
|
* Retourne une liste de groups sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM group
|
SELECT * FROM group
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -60,15 +78,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de groups sous forme d'un tableau
|
* Retourne une liste de groups sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_ids($ids)
|
public function delete_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM group
|
DELETE FROM group
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -79,8 +99,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime les liens group/contact pour un group précis
|
* Supprime les liens group/contact pour un group précis.
|
||||||
|
*
|
||||||
* @param int $id_group : L'id du group pour lequel supprimer
|
* @param int $id_group : L'id du group pour lequel supprimer
|
||||||
|
*
|
||||||
* @return int : Le nmbre d'entrées modifiées
|
* @return int : Le nmbre d'entrées modifiées
|
||||||
*/
|
*/
|
||||||
public function delete_group_contact($id_group)
|
public function delete_group_contact($id_group)
|
||||||
|
@ -89,15 +111,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une group
|
* Insert une group.
|
||||||
|
*
|
||||||
* @param array $group : La group à insérer avec les champs name, script, admin & admin
|
* @param array $group : La group à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($group)
|
public function insert($group)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('group', $group);
|
$result = $this->_insert('group', $group);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,16 +130,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un lien group/contact
|
* Insert un lien group/contact.
|
||||||
|
*
|
||||||
* @param int $id_group : L'id du group à liéer
|
* @param int $id_group : L'id du group à liéer
|
||||||
* @param int $id_contact : L'id du contact à liéer
|
* @param int $id_contact : L'id du contact à liéer
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert_group_contact($id_group, $id_contact)
|
public function insert_group_contact($id_group, $id_contact)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('group_contact', ['id_group' => $id_group, 'id_contact' => $id_contact]);
|
$result = $this->_insert('group_contact', ['id_group' => $id_group, 'id_contact' => $id_contact]);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,9 +150,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une group par son id
|
* Met à jour une group par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la group à modifier
|
* @param int $id : L'id de la group à modifier
|
||||||
* @param array $group : Les données à mettre à jour pour la group
|
* @param array $group : Les données à mettre à jour pour la group
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $group)
|
public function update($id, $group)
|
||||||
|
@ -133,7 +163,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table
|
* Compte le nombre d'entrées dans la table.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées
|
* @return int : Le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -142,21 +173,23 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les contact pour un group
|
* Cette fonction retourne les contact pour un group.
|
||||||
|
*
|
||||||
* @param string $id : L'id du group
|
* @param string $id : L'id du group
|
||||||
|
*
|
||||||
* @return array : Un tableau avec les contact
|
* @return array : Un tableau avec les contact
|
||||||
*/
|
*/
|
||||||
public function get_contact($id)
|
public function get_contact($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM contact
|
FROM contact
|
||||||
WHERE id IN (SELECT id_contact FROM group_contact WHERE id_group = :id)
|
WHERE id IN (SELECT id_contact FROM group_contact WHERE id_group = :id)
|
||||||
";
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'id' => $id,
|
'id' => $id,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,67 +1,83 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les receivedes
|
* Cette classe gère les accès bdd pour les receivedes.
|
||||||
*/
|
*/
|
||||||
class Received extends \descartes\Model
|
class Received extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$receiveds = $this->_select('received', ['id' => $id]);
|
$receiveds = $this->_select('received', ['id' => $id]);
|
||||||
|
|
||||||
return isset($receiveds[0]) ? $receiveds[0] : false;
|
return isset($receiveds[0]) ? $receiveds[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de receivedes sous forme d'un tableau
|
* Retourne une liste de receivedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$receiveds = $this->_select('received', [], '', false, $limit, $offset);
|
return $this->_select('received', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $receiveds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les X dernières entrées triées par date
|
* Cette fonction retourne les X dernières entrées triées par date.
|
||||||
|
*
|
||||||
* @param int $nb_entry : Nombre d'entrée à retourner
|
* @param int $nb_entry : Nombre d'entrée à retourner
|
||||||
|
*
|
||||||
* @return array : Les dernières entrées
|
* @return array : Les dernières entrées
|
||||||
*/
|
*/
|
||||||
public function get_lasts_by_date($nb_entry)
|
public function get_lasts_by_date($nb_entry)
|
||||||
{
|
{
|
||||||
$receiveds = $this->_select('received', [], 'at', true, $nb_entry);
|
return $this->_select('received', [], 'at', true, $nb_entry);
|
||||||
return $receiveds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des received sous forme d'un tableau
|
* Cette fonction retourne une liste des received sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param string $origin : Le numéro depuis lequel est envoyé le message
|
* @param string $origin : Le numéro depuis lequel est envoyé le message
|
||||||
|
*
|
||||||
* @return array : La liste des received
|
* @return array : La liste des received
|
||||||
*/
|
*/
|
||||||
public function get_by_origin($origin)
|
public function get_by_origin($origin)
|
||||||
{
|
{
|
||||||
$receiveds = $this->_select('received', ['origin' => $origin]);
|
return $this->_select('received', ['origin' => $origin]);
|
||||||
return $receiveds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de receivedes sous forme d'un tableau
|
* Retourne une liste de receivedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM received
|
SELECT * FROM received
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -70,16 +86,20 @@
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de receivedes sous forme d'un tableau
|
* Retourne une liste de receivedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM received
|
DELETE FROM received
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
|
||||||
|
@ -87,15 +107,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une receivede
|
* Insert une receivede.
|
||||||
|
*
|
||||||
* @param array $received : La receivede à insérer avec les champs name, script, admin & admin
|
* @param array $received : La receivede à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($received)
|
public function insert($received)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('received', $received);
|
$result = $this->_insert('received', $received);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,9 +126,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une receivede par son id
|
* Met à jour une receivede par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la received à modifier
|
* @param int $id : L'id de la received à modifier
|
||||||
* @param array $received : Les données à mettre à jour pour la receivede
|
* @param array $received : Les données à mettre à jour pour la receivede
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $received)
|
public function update($id, $received)
|
||||||
|
@ -114,7 +139,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table
|
* Compte le nombre d'entrées dans la table.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées
|
* @return int : Le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -123,8 +149,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère le nombre de SMS envoyés pour chaque jour depuis une date
|
* Récupère le nombre de SMS envoyés pour chaque jour depuis une date.
|
||||||
|
*
|
||||||
* @param \DateTime $date : La date depuis laquelle on veux les SMS
|
* @param \DateTime $date : La date depuis laquelle on veux les SMS
|
||||||
|
*
|
||||||
* @return array : Tableau avec le nombre de SMS depuis la date
|
* @return array : Tableau avec le nombre de SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function count_by_day_since($date)
|
public function count_by_day_since($date)
|
||||||
|
@ -136,31 +164,33 @@
|
||||||
GROUP BY at_ymd
|
GROUP BY at_ymd
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne toutes les discussions, càd les numéros pour lesquels ont a a la fois un message et une réponse
|
* Cette fonction retourne toutes les discussions, càd les numéros pour lesquels ont a a la fois un message et une réponse.
|
||||||
*/
|
*/
|
||||||
public function get_discussions()
|
public function get_discussions()
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT MAX(at) as at, number
|
SELECT MAX(at) as at, number
|
||||||
FROM (SELECT at, destination as number FROM sendeds UNION (SELECT at, origin as number FROM received)) as discussions
|
FROM (SELECT at, destination as number FROM sendeds UNION (SELECT at, origin as number FROM received)) as discussions
|
||||||
GROUP BY origin
|
GROUP BY origin
|
||||||
ORDER BY at DESC
|
ORDER BY at DESC
|
||||||
";
|
';
|
||||||
|
|
||||||
return $this->_run_query($query);
|
return $this->_run_query($query);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les SMS reçus depuis une date
|
* Récupère les SMS reçus depuis une date.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les SMS depuis la date
|
* @return array : Tableau avec tous les SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function get_since_by_date($date)
|
public function get_since_by_date($date)
|
||||||
|
@ -172,17 +202,19 @@
|
||||||
ORDER BY at ASC
|
ORDER BY at ASC
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère les SMS reçus depuis une date pour un numero
|
* Récupère les SMS reçus depuis une date pour un numero.
|
||||||
|
*
|
||||||
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
* @param $date : La date depuis laquelle on veux les SMS (au format 2014-10-25 20:10:05)
|
||||||
* @param $origin : Le numéro
|
* @param $origin : Le numéro
|
||||||
|
*
|
||||||
* @return array : Tableau avec tous les SMS depuis la date
|
* @return array : Tableau avec tous les SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function get_since_for_origin_by_date($date, $origin)
|
public function get_since_for_origin_by_date($date, $origin)
|
||||||
|
@ -195,10 +227,10 @@
|
||||||
ORDER BY at ASC
|
ORDER BY at ASC
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'origin' => $origin
|
'origin' => $origin,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,59 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les scheduledes
|
* Cette classe gère les accès bdd pour les scheduledes.
|
||||||
*/
|
*/
|
||||||
class Scheduled extends \descartes\Model
|
class Scheduled extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$scheduleds = $this->_select('scheduled', ['id' => $id]);
|
$scheduleds = $this->_select('scheduled', ['id' => $id]);
|
||||||
|
|
||||||
return isset($scheduleds[0]) ? $scheduleds[0] : false;
|
return isset($scheduleds[0]) ? $scheduleds[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de scheduledes sous forme d'un tableau
|
* Retourne une liste de scheduledes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$scheduleds = $this->_select('scheduled', [], '', false, $limit, $offset);
|
return $this->_select('scheduled', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $scheduleds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de scheduledes sous forme d'un tableau
|
* Retourne une liste de scheduledes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM scheduled
|
SELECT * FROM scheduled
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -49,14 +64,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les messages programmés avant une date et pour un numéro
|
* Cette fonction retourne les messages programmés avant une date et pour un numéro.
|
||||||
|
*
|
||||||
* @param \DateTime $date : La date avant laquelle on veux le message
|
* @param \DateTime $date : La date avant laquelle on veux le message
|
||||||
* @param string $number : Le numéro
|
* @param string $number : Le numéro
|
||||||
|
*
|
||||||
* @return array : Les messages programmés avant la date
|
* @return array : Les messages programmés avant la date
|
||||||
*/
|
*/
|
||||||
public function get_before_date_for_number($date, $number)
|
public function get_before_date_for_number($date, $number)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM scheduled
|
FROM scheduled
|
||||||
WHERE at <= :date
|
WHERE at <= :date
|
||||||
|
@ -89,26 +106,29 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
";
|
';
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'number' => $number,
|
'number' => $number,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de scheduledes sous forme d'un tableau
|
* Retourne une liste de scheduledes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM scheduled
|
DELETE FROM scheduled
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
@ -117,15 +137,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une schedulede
|
* Insert une schedulede.
|
||||||
|
*
|
||||||
* @param array $scheduled : La schedulede à insérer avec les champs name, script, admin & admin
|
* @param array $scheduled : La schedulede à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($scheduled)
|
public function insert($scheduled)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('scheduled', $scheduled);
|
$result = $this->_insert('scheduled', $scheduled);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,9 +156,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une schedulede par son id
|
* Met à jour une schedulede par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la scheduled à modifier
|
* @param int $id : L'id de la scheduled à modifier
|
||||||
* @param array $scheduled : Les données à mettre à jour pour la schedulede
|
* @param array $scheduled : Les données à mettre à jour pour la schedulede
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $scheduled)
|
public function update($id, $scheduled)
|
||||||
|
@ -144,7 +169,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table
|
* Compte le nombre d'entrées dans la table.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées
|
* @return int : Le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -153,8 +179,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste de numéro pour un scheduled
|
* Cette fonction retourne une liste de numéro pour un scheduled.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
||||||
|
*
|
||||||
* @return array : Les numéros des scheduled
|
* @return array : Les numéros des scheduled
|
||||||
*/
|
*/
|
||||||
public function get_number($id_scheduled)
|
public function get_number($id_scheduled)
|
||||||
|
@ -163,8 +191,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste de contact pour un scheduled
|
* Cette fonction retourne une liste de contact pour un scheduled.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
||||||
|
*
|
||||||
* @return array : Les contact du scheduled
|
* @return array : Les contact du scheduled
|
||||||
*/
|
*/
|
||||||
public function get_contact($id_scheduled)
|
public function get_contact($id_scheduled)
|
||||||
|
@ -177,8 +207,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste de groups pour un scheduled
|
* Cette fonction retourne une liste de groups pour un scheduled.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
* @param int $id_scheduled : L'id du scheduled pour lequel on veux le numéro
|
||||||
|
*
|
||||||
* @return array : Les groups du scheduled
|
* @return array : Les groups du scheduled
|
||||||
*/
|
*/
|
||||||
public function get_group($id_scheduled)
|
public function get_group($id_scheduled)
|
||||||
|
@ -191,16 +223,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un liens scheduled/number
|
* Insert un liens scheduled/number.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled
|
* @param int $id_scheduled : L'id du scheduled
|
||||||
* @param string $number : Le numéro à lier
|
* @param string $number : Le numéro à lier
|
||||||
|
*
|
||||||
* @return int : le nombre d'entrées
|
* @return int : le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function insert_scheduled_number($id_scheduled, $number)
|
public function insert_scheduled_number($id_scheduled, $number)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('scheduled_number', ['id_scheduled' => $id_scheduled, 'number' => $number]);
|
$result = $this->_insert('scheduled_number', ['id_scheduled' => $id_scheduled, 'number' => $number]);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -208,16 +243,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un liens scheduled/contact
|
* Insert un liens scheduled/contact.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled
|
* @param int $id_scheduled : L'id du scheduled
|
||||||
* @param int $id_contact : L'id du contact
|
* @param int $id_contact : L'id du contact
|
||||||
|
*
|
||||||
* @return int : le nombre d'entrées
|
* @return int : le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function insert_scheduled_contact($id_scheduled, $id_contact)
|
public function insert_scheduled_contact($id_scheduled, $id_contact)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('scheduled_contact', ['id_scheduled' => $id_scheduled, 'id_contact' => $id_contact]);
|
$result = $this->_insert('scheduled_contact', ['id_scheduled' => $id_scheduled, 'id_contact' => $id_contact]);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,16 +263,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un liens scheduled/group
|
* Insert un liens scheduled/group.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled
|
* @param int $id_scheduled : L'id du scheduled
|
||||||
* @param int $id_group : L'id du group
|
* @param int $id_group : L'id du group
|
||||||
|
*
|
||||||
* @return int : le nombre d'entrées
|
* @return int : le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function insert_scheduled_group($id_scheduled, $id_group)
|
public function insert_scheduled_group($id_scheduled, $id_group)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('scheduled_group', ['id_scheduled' => $id_scheduled, 'id_group' => $id_group]);
|
$result = $this->_insert('scheduled_group', ['id_scheduled' => $id_scheduled, 'id_group' => $id_group]);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,8 +283,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime les liens scheduled/number pour un scheduled précis
|
* Supprime les liens scheduled/number pour un scheduled précis.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel supprimer
|
* @param int $id_scheduled : L'id du scheduled pour lequel supprimer
|
||||||
|
*
|
||||||
* @return int : Le nmbre d'entrées modifiées
|
* @return int : Le nmbre d'entrées modifiées
|
||||||
*/
|
*/
|
||||||
public function delete_scheduled_number($id_scheduled)
|
public function delete_scheduled_number($id_scheduled)
|
||||||
|
@ -252,8 +295,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime les liens scheduled/contact pour un scheduled précis
|
* Supprime les liens scheduled/contact pour un scheduled précis.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel supprimer
|
* @param int $id_scheduled : L'id du scheduled pour lequel supprimer
|
||||||
|
*
|
||||||
* @return int : Le nmbre d'entrées modifiées
|
* @return int : Le nmbre d'entrées modifiées
|
||||||
*/
|
*/
|
||||||
public function delete_scheduled_contact($id_scheduled)
|
public function delete_scheduled_contact($id_scheduled)
|
||||||
|
@ -262,8 +307,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supprime les liens scheduled/group pour un scheduled précis
|
* Supprime les liens scheduled/group pour un scheduled précis.
|
||||||
|
*
|
||||||
* @param int $id_scheduled : L'id du scheduled pour lequel supprimer
|
* @param int $id_scheduled : L'id du scheduled pour lequel supprimer
|
||||||
|
*
|
||||||
* @return int : Le nmbre d'entrées modifiées
|
* @return int : Le nmbre d'entrées modifiées
|
||||||
*/
|
*/
|
||||||
public function delete_scheduled_group($id_scheduled)
|
public function delete_scheduled_group($id_scheduled)
|
||||||
|
|
|
@ -1,44 +1,59 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les sendedes
|
* Cette classe gère les accès bdd pour les sendedes.
|
||||||
*/
|
*/
|
||||||
class Sended extends \descartes\Model
|
class Sended extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$sendeds = $this->_select('sended', ['id' => $id]);
|
$sendeds = $this->_select('sended', ['id' => $id]);
|
||||||
|
|
||||||
return isset($sendeds[0]) ? $sendeds[0] : false;
|
return isset($sendeds[0]) ? $sendeds[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de sendedes sous forme d'un tableau
|
* Retourne une liste de sendedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$sendeds = $this->_select('sended', [], '', false, $limit, $offset);
|
return $this->_select('sended', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $sendeds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de sendedes sous forme d'un tableau
|
* Retourne une liste de sendedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM sended
|
SELECT * FROM sended
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -49,38 +64,42 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne les X dernières entrées triées par date
|
* Cette fonction retourne les X dernières entrées triées par date.
|
||||||
|
*
|
||||||
* @param int $nb_entry : Nombre d'entrée à retourner
|
* @param int $nb_entry : Nombre d'entrée à retourner
|
||||||
|
*
|
||||||
* @return array : Les dernières entrées
|
* @return array : Les dernières entrées
|
||||||
*/
|
*/
|
||||||
public function get_lasts_by_date($nb_entry)
|
public function get_lasts_by_date($nb_entry)
|
||||||
{
|
{
|
||||||
$sendeds = $this->_select('sended', [], 'at', true, $nb_entry);
|
return $this->_select('sended', [], 'at', true, $nb_entry);
|
||||||
return $sendeds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette fonction retourne une liste des sended sous forme d'un tableau
|
* Cette fonction retourne une liste des sended sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param string $target : Le numéro auquel est envoyé le message
|
* @param string $target : Le numéro auquel est envoyé le message
|
||||||
|
*
|
||||||
* @return array : La liste des sended
|
* @return array : La liste des sended
|
||||||
*/
|
*/
|
||||||
public function get_by_target($target)
|
public function get_by_target($target)
|
||||||
{
|
{
|
||||||
$sendeds = $this->_select('sended', ['target' => $target]);
|
return $this->_select('sended', ['target' => $target]);
|
||||||
return $sendeds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de sendedes sous forme d'un tableau
|
* Retourne une liste de sendedes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM sended
|
DELETE FROM sended
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
|
||||||
|
@ -88,15 +107,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une sendede
|
* Insert une sendede.
|
||||||
|
*
|
||||||
* @param array $sended : La sendede à insérer avec les champs name, script, admin & admin
|
* @param array $sended : La sendede à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($sended)
|
public function insert($sended)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('sended', $sended);
|
$result = $this->_insert('sended', $sended);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,9 +126,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une sendede par son id
|
* Met à jour une sendede par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la sended à modifier
|
* @param int $id : L'id de la sended à modifier
|
||||||
* @param array $sended : Les données à mettre à jour pour la sendede
|
* @param array $sended : Les données à mettre à jour pour la sendede
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $sended)
|
public function update($id, $sended)
|
||||||
|
@ -115,7 +139,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table
|
* Compte le nombre d'entrées dans la table.
|
||||||
|
*
|
||||||
* @return int : Le nombre d'entrées
|
* @return int : Le nombre d'entrées
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
@ -124,8 +149,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère le nombre de SMS envoyés pour chaque jour depuis une date
|
* Récupère le nombre de SMS envoyés pour chaque jour depuis une date.
|
||||||
|
*
|
||||||
* @param \DateTime $date : La date depuis laquelle on veux les SMS
|
* @param \DateTime $date : La date depuis laquelle on veux les SMS
|
||||||
|
*
|
||||||
* @return array : Tableau avec le nombre de SMS depuis la date
|
* @return array : Tableau avec le nombre de SMS depuis la date
|
||||||
*/
|
*/
|
||||||
public function count_by_day_since($date)
|
public function count_by_day_since($date)
|
||||||
|
@ -137,9 +164,9 @@
|
||||||
GROUP BY at_ymd
|
GROUP BY at_ymd
|
||||||
";
|
";
|
||||||
|
|
||||||
$params = array(
|
$params = [
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
);
|
];
|
||||||
|
|
||||||
return $this->_run_query($query, $params);
|
return $this->_run_query($query, $params);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,24 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les settinges
|
* Cette classe gère les accès bdd pour les settinges.
|
||||||
*/
|
*/
|
||||||
class Setting extends \descartes\Model
|
class Setting extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Return array of all settings
|
* Return array of all settings.
|
||||||
*/
|
*/
|
||||||
public function all(): array
|
public function all(): array
|
||||||
{
|
{
|
||||||
|
@ -15,7 +26,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a setting by his name
|
* Update a setting by his name.
|
||||||
|
*
|
||||||
|
* @param mixed $value
|
||||||
|
*
|
||||||
* @return int : number of modified lines
|
* @return int : number of modified lines
|
||||||
*/
|
*/
|
||||||
public function update(string $name, $value): int
|
public function update(string $name, $value): int
|
||||||
|
|
|
@ -1,55 +1,73 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette classe gère les accès bdd pour les smsstopes
|
* Cette classe gère les accès bdd pour les smsstopes.
|
||||||
*/
|
*/
|
||||||
class SmsStop extends \descartes\Model
|
class SmsStop extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son id
|
* Retourne une entrée par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de l'entrée
|
* @param int $id : L'id de l'entrée
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_id($id)
|
public function get_by_id($id)
|
||||||
{
|
{
|
||||||
$smsstops = $this->_select('smsstop', ['id' => $id]);
|
$smsstops = $this->_select('smsstop', ['id' => $id]);
|
||||||
|
|
||||||
return isset($smsstops[0]) ? $smsstops[0] : false;
|
return isset($smsstops[0]) ? $smsstops[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une entrée par son numéro de tel
|
* Retourne une entrée par son numéro de tel.
|
||||||
|
*
|
||||||
* @param string $number : Le numéro de tél
|
* @param string $number : Le numéro de tél
|
||||||
|
*
|
||||||
* @return array : L'entrée
|
* @return array : L'entrée
|
||||||
*/
|
*/
|
||||||
public function get_by_number($number)
|
public function get_by_number($number)
|
||||||
{
|
{
|
||||||
$smsstops = $this->_select('smsstop', ['number' => $number]);
|
$smsstops = $this->_select('smsstop', ['number' => $number]);
|
||||||
|
|
||||||
return isset($smsstops[0]) ? $smsstops[0] : false;
|
return isset($smsstops[0]) ? $smsstops[0] : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de smsstopes sous forme d'un tableau
|
* Retourne une liste de smsstopes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param int $limit : Nombre de résultat maximum à retourner
|
* @param int $limit : Nombre de résultat maximum à retourner
|
||||||
* @param int $offset : Nombre de résultat à ingnorer
|
* @param int $offset : Nombre de résultat à ingnorer
|
||||||
*/
|
*/
|
||||||
public function get_list($limit, $offset)
|
public function get_list($limit, $offset)
|
||||||
{
|
{
|
||||||
$smsstops = $this->_select('smsstop', [], '', false, $limit, $offset);
|
return $this->_select('smsstop', [], '', false, $limit, $offset);
|
||||||
|
|
||||||
return $smsstops;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de smsstopes sous forme d'un tableau
|
* Retourne une liste de smsstopes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
* @param array $ids : un ou plusieurs id d'entrées à récupérer
|
||||||
|
*
|
||||||
* @return array : La liste des entrées
|
* @return array : La liste des entrées
|
||||||
*/
|
*/
|
||||||
public function get_by_ids($ids)
|
public function get_by_ids($ids)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
SELECT * FROM smsstop
|
SELECT * FROM smsstop
|
||||||
WHERE id ";
|
WHERE id ';
|
||||||
|
|
||||||
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
//On génère la clause IN et les paramètres adaptés depuis le tableau des id
|
||||||
$generated_in = $this->_generate_in_from_array($ids);
|
$generated_in = $this->_generate_in_from_array($ids);
|
||||||
|
@ -60,15 +78,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de smsstopes sous forme d'un tableau
|
* Retourne une liste de smsstopes sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function delete_by_id($id)
|
public function delete_by_id($id)
|
||||||
{
|
{
|
||||||
$query = "
|
$query = '
|
||||||
DELETE FROM smsstop
|
DELETE FROM smsstop
|
||||||
WHERE id = :id";
|
WHERE id = :id';
|
||||||
|
|
||||||
$params = ['id' => $id];
|
$params = ['id' => $id];
|
||||||
|
|
||||||
|
@ -76,15 +97,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert une smsstope
|
* Insert une smsstope.
|
||||||
|
*
|
||||||
* @param array $smsstop : La smsstope à insérer avec les champs name, script, admin & admin
|
* @param array $smsstop : La smsstope à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($smsstop)
|
public function insert($smsstop)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('smsstop', $smsstop);
|
$result = $this->_insert('smsstop', $smsstop);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,9 +116,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour une smsstope par son id
|
* Met à jour une smsstope par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la smsstop à modifier
|
* @param int $id : L'id de la smsstop à modifier
|
||||||
* @param array $smsstop : Les données à mettre à jour pour la smsstope
|
* @param array $smsstop : Les données à mettre à jour pour la smsstope
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $smsstop)
|
public function update($id, $smsstop)
|
||||||
|
@ -103,7 +129,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compte le nombre d'entrées dans la table smsstop
|
* Compte le nombre d'entrées dans la table smsstop.
|
||||||
|
*
|
||||||
* @return int : Le nombre de smsstop
|
* @return int : Le nombre de smsstop
|
||||||
*/
|
*/
|
||||||
public function count()
|
public function count()
|
||||||
|
|
|
@ -1,11 +1,24 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of PHP CS Fixer.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||||||
|
*
|
||||||
|
* This source file is subject to the MIT license that is bundled
|
||||||
|
* with this source code in the file LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace models;
|
namespace models;
|
||||||
|
|
||||||
class User extends \descartes\Model
|
class User extends \descartes\Model
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retourne un user par son email
|
* Retourne un user par son email.
|
||||||
|
*
|
||||||
* @param string $email : L'email du user
|
* @param string $email : L'email du user
|
||||||
|
*
|
||||||
* @return mixed array | false : false si pas de user pour ce mail, sinon le user associé sous forme de tableau
|
* @return mixed array | false : false si pas de user pour ce mail, sinon le user associé sous forme de tableau
|
||||||
*/
|
*/
|
||||||
public function get_by_email($email)
|
public function get_by_email($email)
|
||||||
|
@ -14,7 +27,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return list of user
|
* Return list of user.
|
||||||
|
*
|
||||||
* @param int $limit : Number of user to return
|
* @param int $limit : Number of user to return
|
||||||
* @param int $offset : Number of user to skip
|
* @param int $offset : Number of user to skip
|
||||||
*/
|
*/
|
||||||
|
@ -24,8 +38,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de useres sous forme d'un tableau
|
* Retourne une liste de useres sous forme d'un tableau.
|
||||||
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
||||||
|
* @param mixed $id
|
||||||
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
public function remove($id)
|
public function remove($id)
|
||||||
|
@ -34,15 +51,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert un user
|
* Insert un user.
|
||||||
|
*
|
||||||
* @param array $user : La user à insérer avec les champs name, script, admin & admin
|
* @param array $user : La user à insérer avec les champs name, script, admin & admin
|
||||||
|
*
|
||||||
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
* @return mixed bool|int : false si echec, sinon l'id de la nouvelle lignée insérée
|
||||||
*/
|
*/
|
||||||
public function insert($user)
|
public function insert($user)
|
||||||
{
|
{
|
||||||
$result = $this->_insert('user', $user);
|
$result = $this->_insert('user', $user);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,9 +70,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour un user par son id
|
* Met à jour un user par son id.
|
||||||
|
*
|
||||||
* @param int $id : L'id de la user à modifier
|
* @param int $id : L'id de la user à modifier
|
||||||
* @param array $user : Les données à mettre à jour pour la user
|
* @param array $user : Les données à mettre à jour pour la user
|
||||||
|
*
|
||||||
* @return int : le nombre de ligne modifiées
|
* @return int : le nombre de ligne modifiées
|
||||||
*/
|
*/
|
||||||
public function update($id, $user)
|
public function update($id, $user)
|
||||||
|
@ -61,9 +83,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a user password by his id
|
* Update a user password by his id.
|
||||||
|
*
|
||||||
* @param int $id : User id
|
* @param int $id : User id
|
||||||
* @param array $password : The new password of the user
|
* @param array $password : The new password of the user
|
||||||
|
*
|
||||||
* @return int : Number of modified lines
|
* @return int : Number of modified lines
|
||||||
*/
|
*/
|
||||||
public function update_password($id, $password)
|
public function update_password($id, $password)
|
||||||
|
@ -72,9 +96,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a user transfer property value by his id
|
* Update a user transfer property value by his id.
|
||||||
|
*
|
||||||
* @param int $id : User id
|
* @param int $id : User id
|
||||||
* @param array $transfer : The new transfer property value
|
* @param array $transfer : The new transfer property value
|
||||||
|
*
|
||||||
* @return int : Number of modified lines
|
* @return int : Number of modified lines
|
||||||
*/
|
*/
|
||||||
public function update_transfer($id, $transfer)
|
public function update_transfer($id, $transfer)
|
||||||
|
@ -83,9 +109,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a user email by his id
|
* Update a user email by his id.
|
||||||
|
*
|
||||||
* @param int $id : User id
|
* @param int $id : User id
|
||||||
* @param array $email : The new email
|
* @param array $email : The new email
|
||||||
|
*
|
||||||
* @return int : Number of modified lines
|
* @return int : Number of modified lines
|
||||||
*/
|
*/
|
||||||
public function update_email($id, $email)
|
public function update_email($id, $email)
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -27,7 +27,11 @@ $config = PhpCsFixer\Config::create()
|
||||||
'list_syntax' => ['syntax' => 'long'],
|
'list_syntax' => ['syntax' => 'long'],
|
||||||
'mb_str_functions' => true,
|
'mb_str_functions' => true,
|
||||||
'method_separation' => true,
|
'method_separation' => true,
|
||||||
'braces' => ['position_after_anonymous_constructs' => 'next', 'position_after_control_structures' => 'next', 'position_after_functions_and_oop_constructs' => 'next'],
|
'braces' => [
|
||||||
|
'position_after_anonymous_constructs' => 'next',
|
||||||
|
'position_after_control_structures' => 'next',
|
||||||
|
'position_after_functions_and_oop_constructs' => 'next'
|
||||||
|
],
|
||||||
])
|
])
|
||||||
->setFinder($finder)
|
->setFinder($finder)
|
||||||
;
|
;
|
|
@ -13,13 +13,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$lint_commands = [
|
$lint_commands = [
|
||||||
'php ' . __DIR__ . '/php-cs-fixer.phar -v --dry-run fix ' . __DIR__ . '/../../controllers/',
|
'php ' . __DIR__ . '/php-cs-fixer.phar -v --dry-run --config="' . __DIR__ . '/php_cs.config" fix ' . __DIR__ . '/../../controllers/',
|
||||||
'php ' . __DIR__ . '/php-cs-fixer.phar -v --dry-run fix ' . __DIR__ . '/../../models/',
|
'php ' . __DIR__ . '/php-cs-fixer.phar -v --dry-run --config="' . __DIR__ . '/php_cs.config" fix ' . __DIR__ . '/../../models/',
|
||||||
];
|
];
|
||||||
|
|
||||||
$fix_commands = [
|
$fix_commands = [
|
||||||
'php ' . __DIR__ . '/php-cs-fixer.phar fix ' . __DIR__ . '/../../controllers/',
|
'php ' . __DIR__ . '/php-cs-fixer.phar --config="' . __DIR__ . '/php_cs.config" fix ' . __DIR__ . '/../../controllers/',
|
||||||
'php ' . __DIR__ . '/php-cs-fixer.phar fix ' . __DIR__ . '/../../models/',
|
'php ' . __DIR__ . '/php-cs-fixer.phar --config="' . __DIR__ . '/php_cs.config" fix ' . __DIR__ . '/../../models/',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue