mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-06-07 23:26:27 +02:00
On passe au nouveau système de framework !
This commit is contained in:
parent
8b61ea0a9a
commit
0f47389ae1
13 changed files with 408 additions and 432 deletions
|
@ -30,9 +30,8 @@
|
|||
{
|
||||
//Creation de l'object de base de données
|
||||
global $db;
|
||||
|
||||
|
||||
$scheduleds = $db->getAll('scheduleds');
|
||||
$scheduleds = $db->getFromTableWhere('scheduleds');
|
||||
$this->render('scheduleds', array(
|
||||
'scheduleds' => $scheduleds,
|
||||
));
|
||||
|
@ -40,25 +39,25 @@
|
|||
|
||||
/**
|
||||
* Cette fonction supprime une liste de groupes
|
||||
* @return void;
|
||||
* @param int... $ids : Les id des commandes à supprimer
|
||||
* @return boolean;
|
||||
*/
|
||||
public function delete()
|
||||
public function delete(...$ids)
|
||||
{
|
||||
//On vérifie que le jeton csrf est bon
|
||||
if (!internalTools::verifyCSRF())
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Jeton CSRF invalide !'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'Jeton CSRF invalide !';
|
||||
header('Location: ' . $this->generateUrl('profile', 'showAll');
|
||||
return false;
|
||||
}
|
||||
|
||||
//Create de l'object de base de données
|
||||
global $db;
|
||||
|
||||
$scheduleds_ids = $_GET;
|
||||
$db->deleteScheduledsIn($scheduleds_ids);
|
||||
header('Location: ' . $this->generateUrl('scheduleds'));
|
||||
$db->deleteScheduledsIn($ids);
|
||||
header('Location: ' . $this->generateUrl('scheduleds'));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -70,19 +69,20 @@
|
|||
$babyonemoretime = new DateInterval('PT1M'); //Haha, i'm so a funny guy
|
||||
$now->add($babyonemoretime);
|
||||
$now = $now->format('Y-m-d H:i');
|
||||
$this->render('addScheduled', array(
|
||||
return $this->render('addScheduled', array(
|
||||
'now' => $now
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction retourne la page d'édition des sms programmés
|
||||
* @param int... $ids : Les id des commandes à supprimer
|
||||
*/
|
||||
public function edit()
|
||||
public function edit(...$ids)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$scheduleds = $db->getScheduledsIn($_GET);
|
||||
$scheduleds = $db->getScheduledsIn($ids);
|
||||
//Pour chaque groupe, on récupère les contacts liés
|
||||
foreach ($scheduleds as $key => $scheduled)
|
||||
{
|
||||
|
@ -102,6 +102,12 @@
|
|||
/**
|
||||
* Cette fonction insert un nouveau SMS programmé
|
||||
* @param optionnal boolean $api : Si vrai (faux par défaut), on retourne des réponses au lieu de rediriger
|
||||
* @param string $_POST['date'] : La date a la quelle de sms devra être envoyé
|
||||
* @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['contacts'] : Un tableau avec les ids des contacts auxquels envoyer le sms
|
||||
* @param string $_POST['groups'] : Un tableau avec les ids des groupes auxquels envoyer le sms
|
||||
* @return boolean;
|
||||
*/
|
||||
public function create($api = false)
|
||||
{
|
||||
|
@ -110,10 +116,9 @@
|
|||
//On vérifie que le jeton csrf est bon
|
||||
if (!internalTools::verifyCSRF())
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Jeton CSRF invalide !'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'Jeton CSRF invalide !';
|
||||
header('Location: ' . $this->generateUrl('profile', 'showAll');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -131,9 +136,8 @@
|
|||
{
|
||||
if (!$api)
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Pas de texte pour ce SMS !'
|
||||
)));
|
||||
$_SESSION['errormessage'] = 'Pas de texte pour ce SMS !';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -143,9 +147,8 @@
|
|||
{
|
||||
if (!$api)
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Pas numéro, de contacts, ni de groupes définis pour envoyer ce SMS !'
|
||||
)));
|
||||
$_SESSION['errormessage'] = 'Pas numéro, de contacts, ni de groupes définis pour envoyer ce SMS !';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -154,91 +157,87 @@
|
|||
{
|
||||
if (!$api)
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'add', array(
|
||||
'errormessage' => 'La date renseignée est invalide.'
|
||||
)));
|
||||
$_SESSION['errormessage'] = 'La date renseignée est invalide.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($db->createScheduleds($date, $content))
|
||||
if (!$db->createScheduleds($date, $content))
|
||||
{
|
||||
$id_scheduled = $db->lastId();
|
||||
$db->createEvent('SCHEDULED_ADD', 'Ajout d\'un SMS pour le ' . $date);
|
||||
$errors = false;
|
||||
|
||||
foreach ($numbers as $number)
|
||||
if (!$api)
|
||||
{
|
||||
if ($number = internalTools::parsePhone($number))
|
||||
{
|
||||
$db->createScheduleds_numbers($id_scheduled, $number);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors = true;
|
||||
}
|
||||
$_SESSION['errormessage'] = 'Impossible de créer ce SMS.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
$id_scheduled = $db->lastId();
|
||||
$db->insertIntoTable('events', ['type' => 'SCHEDULED_ADD', 'text' => 'Ajout d\'un SMS pour le ' . $date]);
|
||||
$errors = false;
|
||||
|
||||
foreach ($numbers as $number)
|
||||
{
|
||||
if (!$number = internalTools::parsePhone($number))
|
||||
{
|
||||
$errors = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($contacts as $id_contact)
|
||||
if (!$db->insertIntoTable('scheduleds_numbers', ['id_scheduled' => $id_scheduled, 'number' => $number]))
|
||||
{
|
||||
if (!$db->createScheduleds_contacts($id_scheduled, $id_contact))
|
||||
{
|
||||
$errors = true;
|
||||
}
|
||||
$errors = true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($groups as $id_group)
|
||||
foreach ($contacts as $id_contact)
|
||||
{
|
||||
if (!$db->insertIntoTable('scheduleds_contacts', ['id_scheduled' => $id_scheduled, 'id_contact' => $id_contact]))
|
||||
{
|
||||
if (!$db->createScheduleds_groups($id_scheduled, $id_group))
|
||||
{
|
||||
$errors = true;
|
||||
}
|
||||
$errors = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($errors)
|
||||
foreach ($groups as $id_group)
|
||||
{
|
||||
if (!$db->insertIntoTable('scheduleds_groups', ['id_scheduled' => $id_scheduled, 'id_group' => $id_group]))
|
||||
{
|
||||
if (!$api)
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Le SMS a bien été créé, mais certains numéro ne sont pas valides.'
|
||||
)));
|
||||
}
|
||||
return true;
|
||||
$errors = true;
|
||||
}
|
||||
else
|
||||
}
|
||||
|
||||
if ($errors)
|
||||
{
|
||||
if (!$api)
|
||||
{
|
||||
if (!$api)
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'successmessage' => 'Le SMS a bien été créé.'
|
||||
)));
|
||||
}
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'Le SMS a bien été créé, mais certains numéro ne sont pas valides.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!$api)
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Impossible de créer ce SMS.'
|
||||
)));
|
||||
$_SESSION['successmessage'] = 'Le SMS a bien été créé.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll');
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction met à jour une liste de sms
|
||||
* @param array $_POST['scheduleds'] : Un tableau contenant les sms avec leurs nouvelles valeurs
|
||||
*/
|
||||
public function update()
|
||||
{
|
||||
//On vérifie que le jeton csrf est bon
|
||||
if (!internalTools::verifyCSRF())
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'Jeton CSRF invalide !'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['successmessage'] = 'Jeton CSRF invalide !';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll');
|
||||
return false;
|
||||
}
|
||||
|
||||
global $db;
|
||||
|
@ -250,66 +249,62 @@
|
|||
$date = $scheduled['date'];
|
||||
if (!internalTools::validateDate($date, 'Y-m-d H:i'))
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => 'La date renseignée pour le SMS numéro ' . $scheduled['id'] . ' est invalide.'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'La date renseignée pour le SMS numéro ' . $scheduled['id'] . ' est invalide.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
return false;
|
||||
}
|
||||
|
||||
//Si la date fournie est passée, on la change pour dans 2 minutes
|
||||
$objectDate = DateTime::createFromFormat('Y-m-d H:i', $date);
|
||||
|
||||
$db->updateScheduled($id_scheduled, $date, $scheduled['content'], false); //On met à jour le sms
|
||||
$db->updateTableWhere('scheduleds', ['content' => $scheduled['content'], 'date' => $date], ['id' => $id_scheduled]); //On met à jour le sms
|
||||
|
||||
$db->deleteScheduleds_numbersForScheduled($id_scheduled); //On supprime tous les numéros pour ce SMS
|
||||
$db->deleteScheduleds_contactsForScheduled($id_scheduled); //On supprime tous les contacts pour ce SMS
|
||||
$db->deleteScheduleds_GroupsForScheduled($id_scheduled); //On supprime tous les groupes pour ce SMS
|
||||
|
||||
//Pour chaque numéro, on va le vérifier et l'ajouter au sms
|
||||
foreach ($scheduled['numbers'] as $number)
|
||||
{
|
||||
if (internalTools::parsePhone($number))
|
||||
if (!$number = internalTools::parsePhone($number))
|
||||
{
|
||||
$db->createScheduleds_numbers($id_scheduled, $number);
|
||||
$errors = true;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
|
||||
if (!$db->insertIntoTable('scheduleds_numbers', ['id_scheduled' => $id_scheduled, 'number' => $number]))
|
||||
{
|
||||
$errors = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Pour chaque contact, on va l'ajouter au sms
|
||||
foreach ($scheduled['contacts'] as $id_contact)
|
||||
{
|
||||
if (!$db->createScheduleds_contacts($id_scheduled, $id_contact))
|
||||
if (!$db->insertIntoTable('scheduleds_contacts', ['id_scheduled' => $id_scheduled, 'id_contact' => $id_contact]))
|
||||
{
|
||||
$errors = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Pour chaque groupe, on va l'ajouter au sms
|
||||
foreach ($scheduled['groups'] as $id_group)
|
||||
{
|
||||
if (!$db->createScheduleds_groups($id_scheduled, $id_group))
|
||||
if (!$db->insertIntoTable('scheduleds_groups', ['id_scheduled' => $id_scheduled, 'id_group' => $id_group]))
|
||||
{
|
||||
$errors = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$errors)
|
||||
if ($errors)
|
||||
{
|
||||
$message = 'Tous les SMS ont été modifiés avec succès.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'successmessage' => $message,
|
||||
)));
|
||||
$_SESSION['errormessage'] = 'Tous les SMS ont été modifiés mais certaines données incorrects ont été ignorées.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = 'Tous les SMS ont été modifiés mais certaines données incorrects ont été ignorées.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll', array(
|
||||
'errormessage' => $message,
|
||||
)));
|
||||
$_SESSION['successmessage'] = 'Tous les SMS ont été modifiés avec succès.';
|
||||
header('Location: ' . $this->generateUrl('scheduleds', 'showAll'));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue