On passe au nouveau système de framework !

This commit is contained in:
Pierre-Lin Bonnemaison 2015-08-08 13:23:47 +02:00
parent 8b61ea0a9a
commit 0f47389ae1
13 changed files with 408 additions and 432 deletions

View file

@ -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'));
}
/**