showAll(); } /** * Cette fonction retourne toutes les commandes, sous forme d'un tableau permettant l'administration de ces commandess * @return void; */ public function showAll() { //Creation de l'object de base de données global $db; //Recupération des commandes $commands = $db->getAll('commands'); $this->render('commands', array( 'commands' => $commands, )); } /** * Cette fonction va supprimer une liste de commands * @return void; */ public function delete() { if (!internalTools::verifyCSRF()) { header('Location: ' . $this->generateUrl('commands', 'showAll', array( 'errormessage' => 'Jeton CSRF invalide !' ))); return true; } //Create de l'object de base de données global $db; $commands_ids = $_GET; $db->deleteCommandsIn($commands_ids); header('Location: ' . $this->generateUrl('commands')); } /** * Cette fonction retourne la page d'ajout d'une commande */ public function add() { $this->render('addCommand'); } /** * Cette fonction retourne la page d'édition des contacts */ public function edit() { global $db; $commands = $db->getCommandsIn($_GET); $this->render('editCommands', array( 'commands' => $commands, )); } /** * Cette fonction insert une nouvelle commande */ public function create() { if (!internalTools::verifyCSRF()) { header('Location: ' . $this->generateUrl('commands', 'showAll', array( 'errormessage' => 'Jeton CSRF invalide !' ))); return true; } global $db; $nom = $_POST['name']; $script = $_POST['script']; $admin = (isset($_POST['admin']) ? $_POST['admin'] : false); if ($db->createCommand($nom, $script, $admin)) { $db->createEvent('COMMAND_ADD', 'Ajout commande : ' . $nom . ' => ' . $script); header('Location: ' . $this->generateUrl('commands', 'showAll', array( 'successmessage' => 'La commande a bien été créée.' ))); return true; } header('Location: ' . $this->generateUrl('commands', 'add', array( 'errormessage' => 'Impossible créer cette commande.' ))); return false; } /** * Cette fonction met à jour une commande */ public function update() { if (!internalTools::verifyCSRF()) { header('Location: ' . $this->generateUrl('commands', 'showAll', array( 'errormessage' => 'Jeton CSRF invalide !' ))); return true; } global $db; $errors = array(); //On initialise le tableau qui contiendra les erreurs rencontrés //Pour chaque commande reçu, on boucle en récupérant son id (la clef), et la commande elle-même (la value) foreach ($_POST['commands'] as $id => $command) { $db->updateCommand($id, $command['name'], $command['script'], $command['admin']); } $message = 'Toutes les commandes ont été modifiées avec succès.'; header('Location: ' . $this->generateUrl('commands', 'showAll', array( 'successmessage' => $message, ))); } public function flagMeThat() { var_dump(internalTools::parseForFlag('[COMMAND:chauffer 35][PASSWORD:mon password qui rox][LOGin:monlogin]')); } }