Exemplo n.º 1
0
/**
 * getSpecialiteInfo - Retourne les informations relatives à la spécialité
 *
 * @category stageFunction
 * @param int $id Identifiant de la spécialité
 * @return array Array contenant les informations relatives à la spécialité
 *
 * @Author Ali Bellamine
 *
 * Contenu de l'array retourné :<br>
 *	['id'] => (int) Identifiant de la spécialité<br>
 *	['nom'] => (string) Nom de la spécialité<br>
 *	['nb'] => (int) Nombre de services associés à la spécialité<br>
 *	['services'][id du service]['id'] => (int) Identifiant des services associés à la spécialité
 *
 */
function getSpecialiteInfo($id)
{
    /*
    	Initialisation des variables
    */
    global $db;
    // Permet l'accès à la BDD
    $erreur = array();
    $specialite = array();
    /*
    	On vérifie l'existance de la spécialité
    */
    $erreur = checkSpecialite($id, $erreur);
    if (count($erreur) == 0) {
        // Récupérations des données de la spécialité
        $sql = 'SELECT sp.id id, sp.nom nom, (SELECT count(*) FROM service WHERE specialite = sp.id LIMIT 1) nb
					  FROM specialite sp
					  WHERE sp.id = ?
					  LIMIT 1';
        $res = $db->prepare($sql);
        $res->execute(array($id));
        $specialite = array();
        // On construit l'array contenant les données de l'hopital
        if ($res_f = $res->fetch()) {
            $specialite['id'] = $res_f['id'];
            $specialite['nom'] = $res_f['nom'];
            $specialite['nb'] = $res_f['nb'];
        }
        // Liste des services enregistrés dans l'hopital
        $sql = 'SELECT s.id id
						FROM service s
						INNER JOIN hopital h
						ON s.hopital = h.id
						WHERE s.specialite = ?
						ORDER BY h.nom  ASC, s.nom ASC';
        $res = $db->prepare($sql);
        $res->execute(array($id));
        while ($res_f = $res->fetch()) {
            $specialite['services'][$res_f['id']]['id'] = $res_f['id'];
        }
        return $specialite;
    } else {
        return false;
    }
}
Exemplo n.º 2
0
 }
 // Traitement du POST
 if ($action == 'edit' || $action == 'add') {
     foreach ($_POST as $key => $value) {
         if ($key == 'nom') {
             if ($value != '' && ($action == 'add' || $value != $serviceInfo[$key])) {
                 $sqlData[$key] = htmLawed($value);
             }
         }
         if ($key == 'chef' && is_numeric($value) && count(checkUser($value, array())) == 0 && ($action == 'add' || $value != $serviceInfo[$key])) {
             $sqlData[$key] = $value;
         }
         if ($key == 'hopital' && is_numeric($value) && count(checkHopital($value, array())) == 0 && ($action == 'add' || $value != $serviceInfo[$key])) {
             $sqlData[$key] = $value;
         }
         if ($key == 'specialite' && is_numeric($value) && count(checkSpecialite($value, array())) == 0 && ($action == 'add' || $value != $serviceInfo[$key])) {
             $sqlData[$key] = $value;
         }
         if ($key == 'certificat') {
             $sqlAffectationData = array();
             $currentCertificat = array();
             if (isset($serviceInfo)) {
                 $listeCertificats = array();
                 foreach ($serviceInfo['certificat'] as $certificatId => $certificatValue) {
                     $listeCertificats[$certificatValue['idAffectation']] = $certificatId;
                 }
             }
             /*
             	On parcours la liste des certificats sélectionnés, pour chaque, plusieurs cas possible :
             		- Soit il s'agit d'une modification d'affectation et dans ce cas on le stock dans $sqlAffectationData['edit']
             		- Soit il s'agit d'un ajout et dans ce cas on le stock dans $sqlAffectationData['add']
Exemplo n.º 3
0
if ($action == 'list') {
    if (isset($_GET['order'])) {
        $order = $_GET['order'];
    } else {
        $order = 'nom';
    }
    if (isset($_GET['desc'])) {
        $desc = true;
    } else {
        $desc = false;
    }
    $listeSpecialite = getSpecialiteList($order, $desc);
} else {
    if ($action == 'view' || $action == 'delete' || $action == 'edit') {
        // On récupère les données sur la spécialité
        if (count(checkSpecialite($_GET['id'], array())) == 0) {
            $specialiteData = getSpecialiteInfo($_GET['id']);
        } else {
            header('Location: ' . ROOT . CURRENT_FILE . '?page=' . $_GET['page']);
        }
    }
}
/**
		2. Traitement des formulaires
	**/
if (isset($_POST) && count($_POST)) {
    /*
    	Préparation des données : on crée un array contenant toutes les données, ce dernier sera ensuite parcouru pour créer la requête SQL qui sera préparée
    */
    if ($action == 'edit' || $action == 'delete') {
        $sqlData['id'] = $specialiteData['id'];