/**
  * Execute la commande du manager trouvé, attention si la commande a besoin de paramètres, ils seront générés a partir
  * de toutes les données passées en POST et les recherchera par clé, pensez donc a donner le bon nom aux inputs des formulaires
  * pour que la commande trouve bien les variables
  *
  * @param     array params    Tableau de paramètre a passer a la commande
  * @return    json  résultat  rendu par le manager au format json
  */
 public function dispatch($params)
 {
     if ($this->managerFound instanceof Authentification or Authentification::checkUser($this->commandFound['role'], $this->commandFound['strict'])) {
         if (method_exists($this->managerFound, $this->commandFound['method'])) {
             $evalCommand = '$this->managerFound->' . $this->commandFound['method'] . '($params)?>';
             eval($evalCommand);
         } else {
             Response::quickResponse(500, json_encode("La méthode: " . $this->commandFound['method'] . ' n\'est pas présente dans le manager'));
         }
     } else {
         Response::quickResponse(403, json_encode(['message' => 'vous n\'estes pas autorisé a faire cette action']));
     }
 }
示例#2
0
<?php

session_start();
require 'autoloader.php';
if (!Authentification::checkUser(0)) {
    header("Location: http://" . $_SERVER['HTTP_HOST'] . "/index.php");
    die;
}
function customCompression($input, $compression)
{
    if ($compression) {
        return strtr(base64_encode(addslashes(gzcompress(serialize($input), 9))), '+/=', '-_,');
    } else {
        return unserialize(gzuncompress(stripslashes(base64_decode(strtr($input, '-_,', '+/=')))));
    }
}
/* REPONSE DU MANAGER */
$managerStatus = isset($_GET['status']) ? $_GET['status'] : null;
$managerTitle = isset($_GET['title']) ? $_GET['title'] : 'Oups!';
$managerMessage = isset($_GET['message']) ? $_GET['message'] : 'Erreur interne!';
// on récupère la liste des médecins si donnée
$medecinsSearch = isset($_GET['medecins']) ? json_decode(customCompression($_GET['medecins'], false), true) : [];
?>

<!DOCTYPE html>
<html>
	<head>
		<title>Gestion des médecins</title>

		<meta charset='utf-8'/>
		<meta name='description' value='Site de test'/>