mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-20 16:37:48 +02:00
On passe au nouveau système de framework !
This commit is contained in:
parent
acdbb0a407
commit
000ee8f2f2
13 changed files with 408 additions and 432 deletions
|
@ -30,36 +30,34 @@
|
|||
{
|
||||
//Creation de l'object de base de données
|
||||
global $db;
|
||||
|
||||
|
||||
$groups = $db->getGroupsWithContactsNb();
|
||||
$this->render('groups', array(
|
||||
'groups' => $groups,
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction supprime une liste de groupes
|
||||
* @param int... $ids : Les id des groups à supprimer
|
||||
* @return void;
|
||||
*/
|
||||
public function delete()
|
||||
public function delete(...$ids)
|
||||
{
|
||||
//On vérifie que le jeton csrf est bon
|
||||
if (!internalTools::verifyCSRF())
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll', array(
|
||||
'errormessage' => 'Jeton CSRF invalide !'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['errormessage'] => 'Jeton CSRF invalide !';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll'));
|
||||
return false;
|
||||
}
|
||||
|
||||
//Create de l'object de base de données
|
||||
global $db;
|
||||
|
||||
$groups_ids = $_GET;
|
||||
$db->deleteGroupsIn($groups_ids);
|
||||
header('Location: ' . $this->generateUrl('groups'));
|
||||
$db->deleteGroupsIn($ids);
|
||||
header('Location: ' . $this->generateUrl('groups'));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -72,12 +70,13 @@
|
|||
|
||||
/**
|
||||
* Cette fonction retourne la page d'édition des groupes
|
||||
* @param int... $ids : Les id des groups à modifier
|
||||
*/
|
||||
public function edit()
|
||||
public function edit(...$ids)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$groups = $db->getGroupsIn($_GET);
|
||||
$groups = $db->getGroupsIn($ids);
|
||||
$blocks = array(); //On défini la variable qui correspondra à un bloc groupe et contacts
|
||||
|
||||
//Pour chaque groupe, on récupère les contacts liés
|
||||
|
@ -93,75 +92,72 @@
|
|||
|
||||
/**
|
||||
* Cette fonction insert un nouveau contact
|
||||
* @param string $_POST['name'] : Le nom du groupe
|
||||
* @param array $_POST['contacts'] : Les id des contacts à mettre dans le du groupe
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//On vérifie que le jeton csrf est bon
|
||||
if (!internalTools::verifyCSRF())
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll', array(
|
||||
'errormessage' => 'Jeton CSRF invalide !'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'Jeton CSRF invalide !';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll'));
|
||||
return false;
|
||||
}
|
||||
|
||||
global $db;
|
||||
|
||||
|
||||
$nom = $_POST['name'];
|
||||
if ($db->createGroup($nom))
|
||||
if (!$db->insertIntoTable('groups' ['name' => $nom]))
|
||||
{
|
||||
$id_group = $db->lastId();
|
||||
$db->createEvent('GROUP_ADD', 'Ajout du groupe : ' . $nom);
|
||||
foreach ($_POST['contacts'] as $id_contact)
|
||||
{
|
||||
$db->createGroups_contacts($id_group, $id_contact);
|
||||
}
|
||||
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll', array(
|
||||
'successmessage' => 'Le groupe a bien été créé.'
|
||||
)));
|
||||
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'Impossible de créer ce groupe.';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll'));
|
||||
return false;
|
||||
}
|
||||
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll', array(
|
||||
'errormessage' => 'Impossible de créer ce groupe.'
|
||||
)));
|
||||
$id_group = $db->lastId();
|
||||
$db->insertIntoTable('events', ['type' => 'GROUP_ADD', 'text' => 'Ajout du groupe : ' . $nom]);
|
||||
|
||||
foreach ($_POST['contacts'] as $id_contact)
|
||||
{
|
||||
$db->insertIntoTable('groups_contacts', ['id_group' => $id_group, 'id_contact' => $id_contact]);
|
||||
}
|
||||
|
||||
$_SESSION['successmessage'] = 'Le groupe a bien été créé.';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll'));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction met à jour une liste de groupes
|
||||
* @param array $_POST['groups'] : Un tableau des groups avec leur nouvelle valeurs
|
||||
* @return boolean;
|
||||
*/
|
||||
public function update()
|
||||
{
|
||||
//On vérifie que le jeton csrf est bon
|
||||
if (!internalTools::verifyCSRF())
|
||||
{
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll', array(
|
||||
'errormessage' => 'Jeton CSRF invalide !'
|
||||
)));
|
||||
return true;
|
||||
$_SESSION['errormessage'] = 'Jeton CSRF invalide !';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll'));
|
||||
return false;
|
||||
}
|
||||
|
||||
global $db;
|
||||
|
||||
|
||||
//Pour chaque groupe reçu, on boucle en récupérant son id (la clef), et le contact le tableau du groupe (nom et liste des contacts)
|
||||
foreach ($_POST['groups'] as $id_group => $group)
|
||||
{
|
||||
$db->updateGroup($id_group, $group['name']); //On met à jour le nom du groupe
|
||||
$db->deleteGroups_contactsForGroup($id_group); //On supprime tous les contacts de ce groupe
|
||||
$db->updateTableWhere('groups', $group, ['id' => $id_group]); //On met à jour le nom du groupe
|
||||
$db->deleteFromTableWhere('groups_contacts', ['id_group' => $id_group]); //On supprime tous les contacts de ce groupe
|
||||
foreach ($group['contacts'] as $id_contact) //Pour chaque contact on l'ajoute au groupe
|
||||
{
|
||||
$db->createGroups_contacts($id_group, $id_contact);
|
||||
$db->insertIntoTable('groups_contacts', ['id_group' => $id_group, 'id_contact' => $id_contact]);
|
||||
}
|
||||
}
|
||||
|
||||
$message = 'Tous les groupes ont été modifiés avec succès.';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll', array(
|
||||
'successmessage' => $message,
|
||||
)));
|
||||
$_SESSION['successmessage'] = 'Tous les groupes ont été modifiés avec succès.';
|
||||
header('Location: ' . $this->generateUrl('groups', 'showAll'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue