function listeCategories() { global $session; // Droit de lecture requis. if ($session->getDroit("Configuration_Options", "r")) { if ($session->getNavi(2) == "Supprimer" and $session->getDroit("Configuration_Options", "a") and !isset($_POST['Annuler']) and !isset($_POST['Annuler_x'])) { $this->af .= $this->delOption($session->getNavi(3)); } if ($session->getNavi(2) == "Ajouter" and $session->getDroit("Configuration_Options", "a") and !isset($_POST['Annuler']) and !isset($_POST['Annuler_x'])) { $this->af .= $this->addOption(); } if ($session->getNavi(2) == "Administrer" and $session->getDroit("Configuration_Options", "a") and !isset($_POST['Annuler']) and !isset($_POST['Annuler_x'])) { $this->af .= $this->modOption(); } // Configuration de mise à jour. if ($session->getNavi(2) == "Valider" and $session->getDroit("Configuration_Options", "m") and (isset($_POST['Valider']) or isset($_POST['Valider_x']))) { $this->validerModification($session->getNavi(3)); } if ($session->getNavi(2) == "Afficher") { $_SESSION['voir' . $session->getNavi(3)] = 1; } if ($session->getNavi(2) == "Masquer") { $_SESSION['voir' . $session->getNavi(3)] = 0; } // Récupération de la liste des catégories. if ($session->getDroit("Configuration_Options", "a")) { $param['cw'] = "WHERE idapplication=" . IDAPPLICATION . " ORDER BY categorie"; } else { $param['cw'] = "WHERE idapplication=" . IDAPPLICATION . " AND administrateur=0 ORDER BY categorie"; } $req = new clResultQuery(); $res = $req->Execute("Fichier", "getCategoriesOptions", $param, "ResultQuery"); // Remplissage du template. $mod = new ModeliXe("GestionDesOptions.mxt"); $mod->SetModeliXe(); // Si l'utilisateur possède le droit d'administration, alors on affiche // un lien pour ajouter des options. if ($session->getDroit("Configuration_Options", "a")) { $mod->MxImage("imgAjouter", URLIMGAJO, "Ajouter"); $mod->MxUrl("lienAjouter", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Ajouter")); } // Pour chaque catégorie trouvée, on boucle sur le bloc "categorie" for ($i = 0; isset($res['categorie'][$i]); $i++) { // Affichage du titre de la categorie. $mod->MxText("categorie.titre", $res['categorie'][$i]); if (isset($_SESSION['voir' . $res['categorie'][$i]]) and $_SESSION['voir' . $res['categorie'][$i]]) { $mod->MxUrl("categorie.lienVoir", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Masquer", $res['categorie'][$i])); $mod->MxImage("categorie.imgVoir", URLIMGMAS, "Masquer"); // On recherche les options appartenant à la catégorie. if ($session->getDroit("Configuration_Options", "a")) { $param['cw'] = "WHERE categorie='" . $res['categorie'][$i] . "' AND idapplication=" . IDAPPLICATION . " ORDER BY libelle"; } else { $param['cw'] = "WHERE categorie='" . $res['categorie'][$i] . "' AND idapplication=" . IDAPPLICATION . " AND administrateur=0 ORDER BY libelle"; } $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getOptions", $param, "ResultQuery"); // Pour chacune de ces options, on boucle sur le bloc "categorie.option" for ($j = 0; isset($ras['idoption'][$j]); $j++) { // Alternance des couleurs en fonction du numéro de ligne. if ($j % 2) { $mod->MxText("categorie.option.ligne", "<tr class=\"paire\">"); } else { $mod->MxText("categorie.option.ligne", "<tr class=\"impaire\">"); } // Remplissage des informations. $mod->MxText("categorie.option.soustitre", $ras['libelle'][$j]); $mod->MxText("categorie.option.description", $ras['description'][$j]); // Si la modification est en cours et si le droit de modification est présent, // alors on affiche le mini-formulaire de modification. if ($session->getNavi(2) == "Modifier" and $session->getNavi(3) == $ras['idoption'][$j] and $session->getDroit("Configuration_Options", "m")) { $mod->MxText("categorie.option.ligne", "<tr class=\"modification\">"); // Génération du formulaire. $html = $this->getModification($ras, $j); $mod->MxBloc("categorie.option.form", "modify", $html); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "Valider", $ras['idoption'][$j])); } else { // Sinon, on affiche la valeur de l'option. switch ($ras['type'][$j]) { case 'bool': if ($ras['valeur'][$j]) { $valeur = "Oui"; } else { $valeur = "Non"; } break; default: $valeur = $ras['valeur'][$j]; break; } $mod->MxText("categorie.option.normal.valeur", $valeur); // Si l'utilisateur possède le droit de modification, alors on affiche // un lien pour modifier l'option. if ($session->getDroit("Configuration_Options", "m") and !$ras['administrateur'][$j] or $session->getDroit("Configuration_Options", "a") and $ras['administrateur'][$j]) { $mod->MxImage("categorie.option.normal.imgModifier", URLIMGMOD, "Modifier"); $mod->MxUrl("categorie.option.normal.lien", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Modifier", $ras['idoption'][$j])); } // Si l'utilisateur possède le droit d'administration, alors on affiche // un lien pour supprimer l'option. if ($session->getDroit("Configuration_Options", "a")) { $mod->MxImage("categorie.option.normal.imgModifier2", URLIMGMO3, "Administrer"); $mod->MxUrl("categorie.option.normal.lienModifier2", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Administrer", $ras['idoption'][$j])); $mod->MxImage("categorie.option.normal.imgSupprimer", URLIMGSUP, "Supprimer"); $mod->MxUrl("categorie.option.normal.lienSupprimer", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Supprimer", $ras['idoption'][$j])); } $mod->MxBloc("categorie.option.form", "modify", " "); } $mod->MxBloc("categorie.option", "loop"); } } else { $mod->MxUrl("categorie.lienVoir", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Afficher", $res['categorie'][$i])); $mod->MxImage("categorie.imgVoir", URLIMGAFF, "Afficher"); $mod->MxBloc("categorie.option.form", "modify", " "); } $mod->MxBloc("categorie", "loop"); } return $mod->MxWrite("1"); } }
function genAffichage() { global $session; $mod = new ModeliXe("Messagerie.mxt"); $mod->SetModeliXe(); $req = new clResultQuery(); $param['cw'] = "WHERE pour='TOUS' AND statut NOT LIKE '%" . $session->getUid() . "%'"; $res = $req->Execute("Fichier", "getMessagerie", $param, "ResultQuery"); $param['cw'] = "WHERE pour='" . $session->getUid() . "' AND statut NOT LIKE '%" . $session->getUid() . "%'"; $resPerso = $req->Execute("Fichier", "getMessagerie", $param, "ResultQuery"); $mod->MxText("messages", $res['INDIC_SVC'][2]); $mod->MxText("messagesPerso", $resPerso['INDIC_SVC'][2]); if (!isset($_SESSION['showMessagerie']) or !$_SESSION['showMessagerie']) { $mod->MxImage("imgAffichage", URLIMGAFF, "Afficher la messagerie XHAM"); $mod->MxUrl("lienAffichage", URLNAVI . $session->genNaviFull() . "&showMessagerie=1"); } else { $mod->MxImage("imgAffichage", URLIMGMAS, "Masquer la messagerie XHAM"); $mod->MxUrl("lienAffichage", URLNAVI . $session->genNaviFull() . "&showMessagerie=0"); $this->genMessagerie(); } $mod->MxImage("imgFermer", URLIMG . "close2.png", "Masquer"); $this->af .= $mod->MxWrite("1"); }
function addPatientPresent() { global $session; global $listeMois; global $options; // Si la confirmation d'ajout est présente, alors on ajoute le nouveau patient dans la table. if ($_POST['ValiderAjouter'] or $_POST['ValiderAjouter_x']) { global $errs; // Préparation de la date d'admission. $date = new clDate(); $dateN = new clDate($_POST['naissance']); /*if ( $options -> getOption ( "DoubleEtablissement" ) AND ! ( $options -> getOption ( 'DoubleSansCom' ) ) ) { $req = new clResultQuery ; $ras = $req -> Execute ( "Fichier", "getMaxIdToulon", array(), "ResultQuery" ) ; $max = 1 ; for ( $j = 0 ; isset ( $ras['idpatient'][$j] ) ; $j++ ) if ( $ras['idpatient'][$j] > $max ) $max = $ras['idpatient'][$j] ; $max++ ; eko ( "Double Etablissement : Calcul du max ($max)" ) ; $data['idpatient'] = $max ; }*/ // Remplissage des champs pour la requête. $data['idu'] = "X"; $data['ilp'] = "X"; $data['nsej'] = "X"; $data['uf'] = $options->getOption("AjoutManuelUF"); $data['sexe'] = $_POST['sexe']; $data['prenom'] = $_POST['prenom']; $data['nom'] = $_POST['nom']; $data['dt_admission'] = $date->getDatetime(); $data['dt_naissance'] = $dateN->getDatetime(); $data['adresse_libre'] = $_POST['adresse']; $data['adresse_cp'] = $_POST['cp']; $data['adresse_ville'] = $_POST['ville']; $data['telephone'] = $_POST['telephone']; $data['salle_examen'] = $_POST['salle']; $data['dest_souhaitee'] = $_POST['destSouhaitee']; $data['dest_attendue'] = $_POST['destAttendue']; $data['adresseur'] = $_POST['adresseur']; $data['medecin_urgences'] = $_POST['medecin']; if ($_POST['medecin']) { $data[dt_examen] = $date->getDatetime(); } $data['recours_categorie'] = $_POST['categorieRecours']; $data['manuel'] = 1; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data); // Exécution de la requête. $resu = $requete->addRecord(); // On signale les éventuelles erreurs rencontrées. if ($resu['error']) { $errs->addErreur("clListesPatients : Erreur lors de la bascule d'un patient attendu en patient présent (" . $resu[error] . ")."); } $param['table'] = PPRESENTS; $param['cw'] = "WHERE idu='X'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); for ($i = 0; isset($res['idpatient'][$i]); $i++) { $data2['idu'] = "MANU" . $res['idpatient'][$i]; $data2['ilp'] = "MANU" . $res['idpatient'][$i]; $data2['nsej'] = "MANU" . $res['idpatient'][$i]; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data2); // Exécution de la requête. $requete->updRecord("idpatient='" . $res['idpatient'][$i] . "'"); header('Location:' . URLNAVI . $session->genNavi($session->getNavi(0))); } } else { // Sinon, nous affichons le formulaire d'ajout d'un nouveau patient présent. // Chargement du template ModeliXe. $mod = new ModeliXe("addPresent.html"); $mod->SetModeliXe(); // Préparation du titre, des images, des urls... $mod->MxText("titre", "Ajouter un nouveau patient présent"); $mod->MxImage("imgClose", URLIMGFER, "Annuler"); $mod->MxUrl("lienClose", URLNAVI . $session->genNavi($session->getNavi(0))); // Champs IDU, IPP, et nsej... // $mod -> MxFormField ( "idu", "text", "idu", $_POST['idu'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "ilp", "text", "ilp", $_POST['ilp'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "nsej", "text", "nsej", $_POST['nsej'], "size=\"47\" maxlength=\"50\"" ) ; // Champs de l'état civil du patient. $data['M'] = "Homme"; $data['F'] = "Femme"; $data['I'] = "Indéterminé"; $javascript1 = XhamTools::genAjax('onKeyUp', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript3 = XhamTools::genAjax('onChange', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript1 = XhamTools::genAjaxWithTempo('getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $mod->MxSelect("sexe", "sexe", $_POST['sexe'], $data, '', '', 'class="w300" ' . "{$javascript3}"); $mod->MxFormField("prenom", "text", "prenom", $_POST['prenom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); $mod->MxFormField("nom", "text", "nom", $_POST['nom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); // Gestion des champs de la date de naissance. $_POST['naissance'] = date('d/m/Y'); $mod->MxFormField("naissance", "text", "naissance", $_POST['naissance'], "id=\"naissance\""); // Adresse et téléphone du patient. $mod->MxFormField("adresse", "text", "adresse", $_POST['adresse'], "size=\"47\" maxlength=\"128\""); $mod->MxFormField("telephone", "text", "telephone", $_POST['telephone'], "size=\"47\" maxlength=\"64\""); $mod->MxFormField("cp", "text", "cp", $_POST['cp'], "size=\"5\" maxlength=\"5\""); $mod->MxFormField("ville", "text", "ville", $_POST['ville'], "size=\"38\" maxlength=\"64\""); // Préparation des listes dynamiques. $listeCom = new clListes("Recours", "recup"); $listeGen = new clListesGenerales("recup"); $listeMedecins = $listeGen->getListeItems("Médecins", "1", '', '', "1"); $listeSalles = $listeGen->getListeItems("Salles d'examens", "1", '', '', "1"); $listeCategoriesRecours = $listeCom->getListes("", "1"); $listeDestSouhaitees = $listeGen->getListeItems("Destinations souhaitées", "1", '', '', "1"); $listeDestAttendues = $listeGen->getListeItems("Destinations attendues", "1", '', '', "1"); // Affichage des listes dynamiques. $mod->MxSelect("medecin", "medecin", $_POST['medecin'], $listeMedecins, '', '', 'class="w300"'); $mod->MxSelect("salle", "salle", $_POST['salle'], $listeSalles, '', '', 'class="w300"'); $mod->MxSelect("categorieRecours", "categorieRecours", $_POST['categorieRecours'], $listeCategoriesRecours, '', '', 'class="w300"'); $mod->MxSelect("destSouhaitee", "destSouhaitee", $_POST['destSouhaitee'], $listeDestSouhaitees, '', '', 'class="w300"'); $mod->MxSelect("destAttendue", "destAttendue", $_POST['destAttendue'], $listeDestAttendues, '', '', 'class="w300"'); // Suppression du bouton de modification inutile ici. $mod->MxBloc("modifier", "modify", " "); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), "addPatientPresent")); // Récupération du code HTML généré par le template ModeliXe. $this->af .= $mod->MxWrite("1"); } }
function setAffichage() { global $session; global $options; // Récupération du type dans une variable simple à manipuler. $type = $this->type; $nli = $options->getOption("Lignes " . $type); if (!$nli) { $nli = 15; } if ($session->getDroit("CCAM_" . $type, "r")) { // Ajout d'une liste. if (($_POST['Ajouter'] or $_POST['Ajouter_x']) and $session->getNavi(3) == "validAddListe" and $session->getDroit("CCAM_" . $type, "w")) { $form = $this->addListe(); } // Modification d'une liste. if (($_POST['Modifier'] or $_POST['Modifier_x']) and $session->getNavi(3) == "validModListe" and $session->getDroit("CCAM_" . $type, "m")) { $form = $this->modListe(); } // Suppression d'une liste -> demande de confirmation. if (($_POST['Supprimer'] or $_POST['Supprimer_x']) and $session->getNavi(3) == "validModListe" and $session->getDroit("CCAM_" . $type, "d")) { $form = $this->delListe(); } // Suppression d'une liste -> Suppression réelle. if (($_POST['Supprimer'] or $_POST['Supprimer_x']) and $session->getNavi(3) == "validDelListe" and $session->getDroit("CCAM_" . $type, "d")) { $form = $this->delListe("1"); } // Ajout d'un item. if (($_POST['Ajouter'] or $_POST['Ajouter_x']) and $session->getNavi(3) == "validAddItem" and $session->getDroit("CCAM_" . $type, "w")) { $form = $this->addItem(); } // Suppression d'un item. if (($_POST['Supprimer'] or $_POST['Supprimer_x']) and $session->getNavi(3) == "validModItem" and $session->getDroit("CCAM_" . $type, "w")) { $form = $this->delItem(); } // Modification d'un item. if (($_POST['Modifier'] or $_POST['Modifier_x']) and $session->getNavi(3) == "validModItem" and $session->getDroit("CCAM_" . $type, "w")) { $form = $this->modItem(); } // Réparation d'une liste de listes. if ($session->getNavi(3) == "repListeListes" and $session->getDroit("CCAM_" . $type, "a")) { $this->repListe(); } // Réparation d'une liste d'items. if ($session->getNavi(3) == "repListeItems" and $session->getDroit("CCAM_" . $type, "a")) { $this->repListe($session->getNavi(4)); } switch ($options->getOption("Catégories " . $type)) { case 'Manuel': $order = "ORDER BY rang"; break; case 'Alphabétique': $order = "ORDER BY nomliste"; break; case 'Alphabétique inversé': $order = "ORDER BY nomliste DESC"; break; default: $order = ""; break; } $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND nomitem='LISTE' AND categorie=\"{$type}\" {$order}"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; // Formulaire d'ajout d'une liste. if ($session->getNavi(3) == "addListe" and $session->getDroit("CCAM_" . $type, "w")) { $form = $this->getFormAddListe(); } // Formulaire de modification d'une liste. if ($_POST['liste'] and $session->getNavi(3) == "modListe" and $session->getDroit("CCAM_" . $type, "m")) { $form = $this->getFormModListe(); } // Formulaire d'ajout d'un item. if ($session->getNavi(3) == "addItem" and $session->getDroit("CCAM_" . $type, "w")) { $form = $this->getFormAddItem(); } // Formulaire de modification d'un item. if ($session->getNavi(3) == "modItem" and $session->getDroit("CCAM_" . $type, "m")) { $form = $this->getFormModItem(); } $mod = new ModeliXe("CCAM_GestionListesComplexes.mxt"); $mod->SetModeliXe(); if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $mod->MxText("formItems", $form); $mod->MxText("listeListes.nomListe", "Catégories de " . $type); if ($session->getDroit("CCAM_" . $type, "w")) { $mod->MxImage("listeListes.imgAjouter", URLIMGAJO, "Ajouter"); $mod->MxUrl("listeListes.lienAjouter", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "addListe")); } if ($session->getDroit("CCAM_" . $type, "a")) { $mod->MxImage("listeListes.imgReparer", URLIMGREP, "Reparer"); $mod->MxUrl("listeListes.lienReparer", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "repListeListes")); } for ($i = 0; isset($res[nomliste][$i]); $i++) { if (DEBUGPOSITIONS) { $data[$res[nomliste][$i]] = $res[rang][$i] . " - " . $res[nomliste][$i]; } else { $data[$res[nomliste][$i]] = $res[nomliste][$i]; } } if (!count($data)) { $data = array(); } $mod->MxSelect("listeListes.select", "liste", stripslashes($_POST['liste']), $data, '', '', "size=\"{$nli}\" onClick=\"reload(this.form)\""); $mod->MxHidden("listeListes.hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "modListe", $res[nomliste][$i])); if ($_POST['liste']) { $mod->MxText("listeItems.nomListe", stripslashes($_POST['liste'])); if ($session->getDroit("CCAM_" . $type, "w")) { $mod->MxImage("listeItems.imgAjouter", URLIMGAJO, "Ajouter"); $mod->MxUrl("listeItems.lienAjouter", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "addItem", stripslashes($_POST['liste']))); } if ($session->getDroit("CCAM_" . $type, "a")) { $mod->MxImage("listeItems.imgReparer", URLIMGREP, "Reparer"); $mod->MxUrl("listeItems.lienReparer", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "repListeItems", stripslashes($_POST['liste']))); } $listes = "&liste=" . stripslashes($_POST['liste']); $mod->MxHidden("listeItems.hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "modItem", stripslashes($_POST['liste'])) . $listes); $data = $this->getListeItems($_POST['liste'], 1); if (!is_array($data)) { $data = array(); } $mod->MxSelect("listeItems.select", "item", $_POST['item'], $data, '', '', "size=\"{$nli}\" onClick=\"reload(this.form)\""); } else { $mod->MxBloc("listeItems", "modify", " "); } $this->af .= $mod->MxWrite("1"); } }
function genAffichage() { global $session; global $options; // Chargement du template ModeliXe. $outputLignes = array(); $mod = new ModeliXe("ExportAPHM.mxt"); $mod->SetModeliXe(); // Initialisation des dates en fonction de l'état actuel : // A la date du jour si aucune valeur n'a été passée. if ($_POST['date2']) { $dt1 = new clDate($_POST['date1']); $dt2 = new clDate($_POST['date2']); } else { $dt2 = new clDate(date("Y-m-d 00:00:00")); $dt1 = new clDate(date("Y-m-d 00:00:00")); $dt1->addDays(-1); } // Retrait d'un jour à la date1 si date1 == date2 if ($dt1->getTimestamp() == $dt2->getTimestamp()) { $dt1->addDays(-1); } // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2. if ($dt1->getTimestamp() > $dt2->getTimestamp()) { $tmp_dt3 = $dt1->getTimestamp(); $tmp_dt4 = $dt2->getTimestamp(); $dt1 = new clDate($tmp_dt4); $dt2 = new clDate($tmp_dt3); } // Calcul de la liste des valeurs possibles pour la date1. $old = ''; for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); // if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates1)) { $listeDates1 = array(); } // Calcul de la liste des valeurs possibles pour la date2. $dtj = new clDate(date("Y-m-d 00:00:00")); $dtj->addDays(1); $dt = new clDate(DATELANCEMENT); $old = ''; for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); //if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates2)) { $listeDates2 = array(); } // Fabrication des listes dans ModeliXe. $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1); $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2); // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas // le bloc contenant le lien vers l'export. if (!$_POST['Chercher'] and !$_POST['Chercher_x']) { $mod->MxBloc("donnees", "modify", " "); } else { // Affichage du lien vers le fichier contenant l'export. // Récupération de tous les patients entre les deux dates données. //Le calcul commence ici $req = new clResultQuery(); $param[table] = PSORTIS; /* // En fonction du filtre sélectionné. switch ( $_POST['filtre'] ) { //case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ; break ; ca//se 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break; case 'norm': $filter = "AND uf!=".$options->getOption('numUFUHCD')."" ; break ; case 'uhcd': $filter = "AND uf=".$options->getOption('numUFUHCD')."" ; break; default: $filter = "" ; break ; } */ if ($_POST['idpassage']) { $param['cw'] = " WHERE ilp = '" . $_POST['idpassage'] . "' "; } else { $param['cw'] = " WHERE dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' "; } //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; //eko ( $res['INDIC_SVC'] ) ; if ($res[INDIC_SVC][2] > 1) { $s = "s"; } // Affichage d'un résumé des résultats. $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]); $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}"); if (!$options->getOption('CCAMExterne')) { $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d'))); $jj->initTableauActesDiag($res); } // Parcours des différents résultats. $tabResFinal = array(); $nbMaxActesNGAP = 0; $indiceMaxNbActesNgap = 0; //PARCOURS for ($i = 0; isset($res[idpatient][$i]); $i++) { // Préparation des différentes dates pour affichage. $tabLigne = array(); $naissance = new clDate($res[dt_naissance][$i]); $dtn = $naissance->getDate("d/m/Y"); if ($res[dt_admission][$i] != '0000-00-00 00:00:00') { $admission = new clDate($res[dt_admission][$i]); $dta = $admission->getDate("d/m/Y"); $hma = $admission->getDate("H:i"); } else { $dta = '--'; $hma = '--'; } if ($res[dt_examen][$i] != '0000-00-00 00:00:00') { $examen = new clDate($res[dt_examen][$i]); $dte = $examen->getDate("d/m/Y"); $hme = $examen->getDate("H:i"); } else { $dte = '--'; $hme = '--'; } if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') { $sortie = new clDate($res[dt_sortie][$i]); $dts = $sortie->getDate("d/m/Y"); $hms = $sortie->getDate("H:i"); } else { $dts = '--'; $hme = '--'; } $uf = $res[uf][$i]; $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) { $isuhcd = 1; } else { $isuhcd = 0; } //le patient est uhcd mais pas dans une salle uhcd ? $isVirtualUhcd = false; if ($ufUHCD && !ereg($options->getOption('FiltreSalleUHCD'), $res['salle_examen'][$i])) { $isVirtualUhcd = true; $codeUm = $options->getOption('UMUHCDFictif'); } // Préparation des différents champs de l'enregistrement parcouru. if ($res[ilp][$i]) { $ilp = $res[ilp][$i]; } else { $ilp = "-"; } if ($res[uf][$i]) { $uf = $res[uf][$i]; } else { $uf = "-"; } if ($res[dt_UHCD][$i] and $isuhcd) { $dtUHCD = $res[dt_UHCD][$i]; } else { $dtUHCD = "0000-00-00 00:00:00"; } $nbSecPassage = $sortie->getDifference($admission); $nbHeurepassage = floor($nbSecPassage / 3600); $nbMinpassage = floor(($nbSecPassage - $nbHeurepassage * 3600) / 60); $strDureePassage = ($nbHeurepassage > 9 ? '' : '0') . $nbHeurepassage . ':' . ($nbMinpassage > 9 ? '' : '0') . $nbMinpassage; $tabActesNGAP = clExportAphm::getTabListeCodesNGAP($i, $jj->tabExport); //eko($tabActesNGAP); $tabLigneCCAM['CODE_HOMON'] = '1'; $tabLigneCCAM['NUMSEJ'] = $res['nsej'][$i] . 'B'; $tabLigneCCAM['UM'] = $isVirtualUhcd ? $codeUm : ''; $tabLigneCCAM['DATENT'] = $dta . ' ' . $hma; $tabLigneCCAM['DIAG_PPAL'] = $res['diagnostic_code'][$i]; $tabLigneCCAM['DIAG_RELI'] = ''; //eko(clExportAphm::getTabListeDiagsCCAM ($i,$jj -> tabExport)); $tabLigneCCAM['DIAG_ASSO'] = implode(' ', clExportAphm::getTabListeDiagsCCAM($i, $jj->tabExport)); $tabLigneCCAM['NPI'] = $res['ilp'][$i] . 'B'; $tabLigneCCAM['DAT_EXAM'] = $dte . ' ' . $hme; $tabLigneCCAM['NOM_PATRO'] = $res['nom'][$i]; $tabLigneCCAM['PRENOM'] = $res['prenom'][$i]; $tabLigneCCAM['MARITAL'] = ''; $tabLigneCCAM['SEXE'] = $res['sexe'][$i] == 'M' ? 'H' : 'F'; $tabLigneCCAM['DDN'] = $dtn; $tabLigneCCAM['UF_EXEC'] = $res['uf'][$i]; $tabLigneCCAM['ACTES'] = implode(' ', clExportAphm::getTabListeCodesCCAM($i, $jj->tabExport)); $tabLigneCCAM['DEST_SOUHA'] = $res['dest_souhaitee'][$i]; $tabLigneCCAM['DEST_ATTEN'] = $res['dest_attendue'][$i]; $tabLigneCCAM['DUR_PASSAGE'] = $strDureePassage; $tabLigneCCAM['CODE_GRAV'] = $res['code_gravite'][$i]; $tabLigneNGAP['NUMSEJ'] = $res['nsej'][$i] . 'B'; $tabLigneNGAP['NOM_PATRO'] = $res['nom'][$i]; $tabLigneNGAP['PRENOM'] = $res['prenom'][$i]; $tabLigneNGAP['DAT_EXAM'] = $dte . ' ' . $hme; $tabLigneNGAP['NOM_MARITAL'] = ''; $tabLigneNGAP['DATE_PASSAGE'] = $dte . ' ' . $hme; $tabLigneNGAP['MAJORATIONS_EVENTUELLES'] = clExportAphm::getMajoration($examen, $naissance); for ($cmptActe = 1; isset($tabActesNGAP[$cmptActe - 1]); $cmptActe++) { $nbMaxActesNGAP = max($nbMaxActesNGAP, $cmptActe); $tabLigneNGAP['ACTE_' . $cmptActe] = $tabActesNGAP[$cmptActe - 1]; } $cmptActe--; if ($nbMaxActesNGAP == $cmptActe) { $tabTypeNGAP = $tabLigneNGAP; } $outputLignesCCAM[] = implode("\t", $tabLigneCCAM); $outputLignesNGAP[] = implode("\t", $tabLigneNGAP); } $headerCCAM = array(); if (isset($tabLigneCCAM)) { foreach ($tabLigneCCAM as $k => $v) { $headerCCAM[] = $k; } } $headerNGAP = array(); foreach ($tabTypeNGAP as $k => $v) { $headerNGAP[] = $k; } $ficCCAM = implode("\t", $headerCCAM) . "\n" . implode("\n", $outputLignesCCAM); $ficNGAP = implode("\t", $headerNGAP) . "\n" . implode("\n", $outputLignesNGAP); // Calcul du nom du fichier temporaire. $nomfic = "exportCCAM" . date("YmdHis") . ".xls"; $nomfic2 = "exportNGAP" . date("YmdHis") . ".xls"; // Création, écriture et fermeture du fichier. $FIC = fopen(URLCACHE . $nomfic, "w"); $FIC2 = fopen(URLCACHE . $nomfic2, "w"); fwrite($FIC, $ficCCAM); fwrite($FIC2, $ficNGAP); fclose($FIC); fclose($FIC2); // Calcul du lien vers ce fichier. $mod->MxUrl("donnees.lienExport", URLCACHEWEB . $nomfic); $mod->MxUrl("donnees.lienExport2", URLCACHEWEB . $nomfic2); // On purge le répertoire temporaire de tous les fichiers qui ont plus de deux heures. $poub = new clPoubelle(URLCACHE); $poub->purgerRepertoire("2"); $isExport = true; } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // On retourne le code HTML généré par le template. $this->af .= $mod->MxWrite("1"); }
function setAffichage() { global $session; global $options; // Vérification du droit de lecture sur les documents. if ($session->getDroit("Administration_Documents", "r") and $options->getOption("ModuleDocuments")) { // Génération du mini-menu. $this->af .= $this->getMenuDocs(); // Si le document est en cours de modification et que le droit est présent, on invoque le formulaire de modification. if ($session->getDroit("Administration_Documents", "m") and $session->getNavi(2) == "modDoc") { $this->af .= $this->modDocForm(); // Si une création est demandée et le droit présent, alors on invoque le formulaire d'ajout de document. } elseif ($_POST['addDoc'] and $session->getDroit("Administration_Documents", "w")) { $this->af .= $this->addDocForm(); // Si nous voulons modifier les bannières du document, alors invoque la gestion des listes pour les documents. } elseif (($session->getNavi(2) == "gestListe" or $_POST['gestDoc'] or $_POST['gestDoc_x']) and $session->getDroit("Administration_Documents", "m")) { // Génération de la gestion des listes. $liste = new clListes($this->DocumentsNameList); $this->af .= $liste->getAffichage(); // Génération du document au format pdf. } elseif ($session->getNavi(2) == "voirDoc") { if (IDAPPLICATION == '2') { global $pas_daffichage; $pas_daffichage = '1'; } $this->genDoc(array($session->getNavi(3))); } else { // Ajout réel d'un nouveau document. if ($session->getDroit("Administration_Documents", "w") and $session->getNavi(2) == "validAddDoc" and ($_POST['Ajouter'] or $_POST['Ajouter_x'])) { $this->addDoc(); } // Mise à jour réelle d'un document. if ($session->getDroit("Administration_Documents", "m") and $session->getNavi(2) == "validModDoc" and ($_POST['Modifier'] or $_POST['Modifier_x'])) { $this->modDoc(); } // Suppression d'un document. if ($session->getDroit("Administration_Documents", "d") and $session->getNavi(2) == "validModDoc" and ($_POST['Supprimer'] or $_POST['Supprimer_x'])) { $this->delDoc(); } // Récupération de la liste des catégories de documents. $param[cw] = " ORDER BY categorie"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getCategoriesDocuments", $param, "ResultQuery"); // Remplissage du template. $mod = new ModeliXe("GestionDocuments.mxt"); $mod->SetModeliXe(); // Affichage des messages d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } // Affichage des messages d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } // Parcours des différentes catégories de documents. for ($i = 0; isset($res[categorie][$i]); $i++) { // Recherche des dernières versions des documents de la catégorie parcourue. $param[cw] = "WHERE categorie='" . $res[categorie][$i] . "' AND fin_validite='0000-00-00 00:00:00' ORDER BY nom"; $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery"); // Si on a un résultat, alors on parcourt ces documents. if ($ras[INDIC_SVC][2]) { // Et on affiche le titre de la catégorie. $mod->MxText("categorie.titre", $res[categorie][$i]); for ($j = 0; isset($ras[iddocument][$j]); $j++) { //Pour chaque document, on génère une ligne. $date = new clDate($ras[deb_validite][$j]); // Gestion des lignes paires et impaires pour la mise en page... if ($j % 2) { $mod->MxText("categorie.document.ligne", "<tr class=\"paire\">"); } else { $mod->MxText("categorie.document.ligne", "<tr class=\"impaire\">"); } // Nom du document. $mod->MxText("categorie.document.nomDocument", $ras[nom][$j]); // Date de la dernière modification. $mod->MxText("categorie.document.dateModification", $date->getDateTextFull() . " (v" . $ras[version][$j] . ")"); // Si le droit de modification est présent, un lien est généré. if ($session->getDroit("Administration_Documents", "m")) { $mod->MxImage("categorie.document.imgMod", URLIMGMOD, "Modifier"); $mod->MxUrl("categorie.document.modDoc", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "modDoc", $ras[iddocument][$j])); } $mod->MxImage("categorie.document.imgVoir", URLIMGPDF, "Afficher"); $mod->MxUrl("categorie.document.voirDoc", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "voirDoc", $ras[iddocument][$j])); $mod->MxBloc("categorie.document", "loop"); } $mod->MxBloc("categorie", "loop"); } } // Récupération du code HTML généré par ModeliXe. $this->af .= $mod->MxWrite("1"); } } }
function getListesGenerales() { // Récupération et calcul du ratio pour le nombre de listes // affichées par ligne. $num = $this->xham->getOption("ListesParLigne"); $nli = $this->xham->getOption("LignesParListe"); $this->xham->options->checkOptionListe("ListesParLigne"); $this->xham->options->checkOptionListe("LignesParListe"); //$this->xham->checkOptionListe ( "LignesParListe" ) ; if ($num) { $ratio = sprintf("%d", 90 / $num); } else { $ratio = 1; } // Vérification du droit de lecture. if ($this->xham->getDroit("Administration_ListesGenerales", "r")) { // Réparation d'une liste d'items. if ($this->xham->getNavi(2) == "repListeItems" and $this->xham->getDroit("Administration_ListesGenerales", "a")) { $this->repListe($this->xham->getNavi(3)); } // Ajout d'un nouvel item à une liste. if ((isset($_POST['Valider']) or isset($_POST['Valider_x'])) and $this->xham->getNavi(2) == "ValiderAjouter" and $this->xham->getDroit("Administration_ListesGenerales", "w")) { $this->addItem($this->xham->getNavi(3)); } // Suppression d'un item. if ((isset($_POST['Supprimer']) or isset($_POST['Supprimer_x'])) and $this->xham->getNavi(2) == "ValiderModifier" and $this->xham->getDroit("Administration_ListesGenerales", "d")) { $this->delItem($this->xham->getNavi(3), $this->xham->getNavi(4)); } if ($this->xham->getDroit("Administration_ListesGenerales", "a") && isset($_POST['ajouter_liste']) && $_POST['ajouter_liste']) { $_POST['nomItemF'] = 'Ici un item de la liste ' . (isset($_POST['ajouter_liste']) ? $_POST['ajouter_liste'] : ''); $this->addItem(isset($_POST['ajouter_liste']) ? $_POST['ajouter_liste'] : ''); } // Mise à jour d'un item. if ((isset($_POST['Modifier']) or isset($_POST['Modifier_x'])) and $this->xham->getNavi(2) == "ValiderModifier" and $this->xham->getDroit("Administration_ListesGenerales", "m")) { $this->modItem($this->xham->getNavi(3), $this->xham->getNavi(4)); } // Récupération de toutes les listes. $param['cw'] = "WHERE categorie=\"ListesGenerales\" AND idapplication=" . IDAPPLICATION . " ORDER BY nomliste"; $res = $this->xham->Execute("Fichier", "getListes", $param, "ResultQuery"); // Initialisation du template ModeliXe. $mod = new ModeliXe("GestionDesListesGenerales.mxt"); $mod->SetModeliXe(); // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } // Parcours des différentes listes. //debut du template : bouton ajout de liste if ($this->xham->getDroit("Administration_ListesGenerales", "a")) { $mod->MxHidden("ajouterListe.hidden2", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "ajouter_liste")); } else { $mod->MxBloc("ajouterListe", "delete"); } for ($i = 0; isset($res['nomliste'][$i]); $i++) { // Affichage ou non d'un tr en fonction de la liste parcourue. if ($i and !($i % $num)) { $mod->MxText("liste.tr", "</tr><tr>"); } else { $mod->MxText("liste.tr", ""); } // Affichage du td à la bonne dimension. $mod->MxText("liste.td", "<td width=\"{$ratio}%\">"); // Affichage du nom de la liste. $mod->MxText("liste.nomListe", $res['nomliste'][$i]); // Création de l'ancre de la liste. $mod->MxText("liste.formDeb", '<form method="post" action="index.php?#' . $res['nomliste'][$i] . '">'); $mod->MxText("liste.ancreListe", '<a name="' . $res['nomliste'][$i] . '" />'); // Si le droit d'écriture est présent, alors on affiche le bouton d'ajout. if ($this->xham->getDroit("Administration_ListesGenerales", "w")) { $mod->MxImage("liste.imgAjouter", URLIMGAJO, "Ajouter"); $mod->MxUrl("liste.lienAjouter", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Ajouter", $res['nomliste'][$i]) . '#' . $res['nomliste'][$i]); } // Si le droit d'administration est présent, alors on affiche le bouton de réparation. if ($this->xham->getDroit("Administration_ListesGenerales", "a")) { $mod->MxImage("liste.imgReparer", URLIMGREP, "Reparer"); $mod->MxUrl("liste.lienReparer", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "repListeItems", $res['nomliste'][$i])); } // Génération de la variable de navigation. $mod->MxHidden("liste.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Modifier", $res['nomliste'][$i])); // Préparation de la liste des items de la liste parcourue. $data = $this->getListeItems($res['nomliste'][$i], 1); $mod->MxSelect("liste.select", "item", isset($_POST['item']) ? $_POST['item'] : '', $data, '', '', "size=\"{$nli}\" onChange=\"reload(this.form)\""); // Si c'est nécessaire, on affiche le formulaire d'ajout d'un nouvel item. if ($this->xham->getNavi(2) == "Ajouter" and stripslashes($this->xham->getNavi(3)) == $res['nomliste'][$i] and $this->xham->getDroit("Administration_ListesGenerales", "w")) { $mod->MxText("formAjouter", $this->getFormAjouter($res['nomliste'][$i])); // Si c'est nécessaire, on affiche le formulaire de modification d'un item. } elseif ($this->xham->getNavi(2) == "Modifier" and stripslashes($this->xham->getNavi(3)) == $res['nomliste'][$i] and $this->xham->getDroit("Administration_ListesGenerales", "m")) { $mod->MxText("formAjouter", $this->getFormModifier($res['nomliste'][$i])); // Sinon, on n'affiche pas la partie formulaire. } else { $mod->MxText("liste.form", ""); } // Boucle sur le bloc liste. $mod->MxBloc("liste", "loop"); } // Récupération de l'affichage généré par le template. $this->af .= $mod->MxWrite("1"); } }
function getListesPredefinies() { global $session; global $options; // Récupération et calcul du ratio pour le nombre de listes // affichées par ligne. $num = $options->getOption("CCAM_ListesParLigne"); $nli = $options->getOption("CCAM_LignesParListe"); $ratio = sprintf("%d", 100 / $num); // Vérification du droit de lecture. if ($session->getDroit("CCAM_ListesPredefinies", "r")) { // Réparation d'une liste d'items. if ($session->getNavi(2) == "repListeItems" and $session->getDroit("CCAM_ListesPredefinies", "a")) { $this->repListe($session->getNavi(3)); } // Ajout d'un nouvel item à une liste. if (($_POST['Valider'] or $_POST['Valider_x']) and $session->getNavi(2) == "ValiderAjouter" and $session->getDroit("CCAM_ListesPredefinies", "w")) { $this->addItem($session->getNavi(3)); } // Suppression d'un item. if (($_POST['Supprimer'] or $_POST['Supprimer_x']) and $session->getNavi(2) == "ValiderModifier" and $session->getDroit("CCAM_ListesPredefinies", "d")) { $this->delItem($session->getNavi(3), $session->getNavi(4)); } // Mise à jour d'un item. if (($_POST['Modifier'] or $_POST['Modifier_x']) and $session->getNavi(2) == "ValiderModifier" and $session->getDroit("CCAM_ListesPredefinies", "m")) { $this->modItem($session->getNavi(3), $session->getNavi(4)); } // Récupération de toutes les listes. $param[cw] = "WHERE categorie=\"ListesCCAM\" ORDER BY nomliste"; $param[idDomaine] = CCAM_IDDOMAINE; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getListes", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); // Initialisation du template ModeliXe. $mod = new ModeliXe("CCAM_GestionDesListes.mxt"); $mod->SetModeliXe(); // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } // Parcours des différentes listes. for ($i = 0; isset($res[nomliste][$i]); $i++) { // Affichage ou non d'un tr en fonction de la liste parcourue if ($i and !($i % $num)) { $mod->MxText("liste.tr", "</tr><tr>"); } else { $mod->MxText("liste.tr", ""); } // Affichage du td à la bonne dimension. $mod->MxText("liste.td", "<td width=\"{$ratio}%\">"); // Affichage du nom de la liste. $mod->MxText("liste.nomListe", $res[nomliste][$i]); // Si le droit d'écriture est présent, alors on affiche le bouton d'ajout. if ($session->getDroit("CCAM_ListesPredefinies", "w")) { $mod->MxImage("liste.imgAjouter", URLIMGAJO, "Ajouter"); $mod->MxUrl("liste.lienAjouter", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "Ajouter", $res[nomliste][$i])); } // Si le droit d'administration est présent, alors on affiche le bouton de réparation. if ($session->getDroit("CCAM_ListesPredefinies", "a")) { $mod->MxImage("liste.imgReparer", URLIMGREP, "Reparer"); $mod->MxUrl("liste.lienReparer", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "repListeItems", $res[nomliste][$i])); } // Génération de la variable de navigation. $mod->MxHidden("liste.hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "Modifier", $res[nomliste][$i])); // Préparation de la liste des items de la liste parcourue. $data = $this->getListeItems($res[nomliste][$i], 1); $mod->MxSelect("liste.select", "item", $_POST['item'], $data, '', '', "size=\"{$nli}\" onChange=\"reload(this.form)\""); // Si c'est nécessaire, on affiche le formulaire d'ajout d'un nouvel item. if ($session->getNavi(2) == "Ajouter" and $session->getNavi(3) == addslashes($res[nomliste][$i]) and $session->getDroit("CCAM_ListesPredefinies", "w")) { $mod->MxText("formAjouter", $this->getFormAjouter($res[nomliste][$i])); } elseif ($session->getNavi(2) == "Modifier" and $session->getNavi(3) == addslashes($res[nomliste][$i]) and $session->getDroit("CCAM_ListesPredefinies", "m")) { $mod->MxText("formAjouter", $this->getFormModifier($res[nomliste][$i])); } else { $mod->MxText("liste.form", ""); } // Boucle sur le bloc liste. $mod->MxBloc("liste", "loop"); } // Récupération de l'affichage généré par le template. $this->af .= $mod->MxWrite("1"); } }
function genAffichage() { global $session; global $options; // Chargement du template ModeliXe. $mod = new ModeliXe("Export.mxt"); $mod->SetModeliXe(); // Initialisation des dates en fonction de l'état actuel : // A la date du jour si aucune valeur n'a été passée. if ($_POST['date2']) { $dt1 = new clDate($_POST['date1']); $dt2 = new clDate($_POST['date2']); } else { $dt2 = new clDate(date("Y-m-d 00:00:00")); $dt1 = new clDate(date("Y-m-d 00:00:00")); $dt1->addDays(-1); } // Retrait d'un jour à la date1 si date1 == date2 if ($dt1->getTimestamp() == $dt2->getTimestamp()) { $dt1->addDays(-1); } // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2. if ($dt1->getTimestamp() > $dt2->getTimestamp()) { $tmp_dt3 = $dt1->getTimestamp(); $tmp_dt4 = $dt2->getTimestamp(); $dt1 = new clDate($tmp_dt4); $dt2 = new clDate($tmp_dt3); } // Calcul de la liste des valeurs possibles pour la date1. $old = ''; for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); // if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates1)) { $listeDates1 = array(); } // Calcul de la liste des valeurs possibles pour la date2. $dtj = new clDate(date("Y-m-d 00:00:00")); $dtj->addDays(1); $dt = new clDate(DATELANCEMENT); $old = ''; for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); //if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates2)) { $listeDates2 = array(); } // Fabrication des listes dans ModeliXe. $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1, '', '', "onChange=\"reload(this.form)\""); $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2, '', '', "onChange=\"reload(this.form)\""); // Gestion du filtre avec des bouttons radio. if (!isset($_POST['filtre'])) { $_POST['filtre'] = "tous"; } $mod->MxCheckerField("filtre1", "radio", "filtre", "tous", $_POST['filtre'] == "tous" ? true : false); $mod->MxCheckerField("filtre2", "radio", "filtre", "norm", $_POST['filtre'] == "norm" ? true : false); $mod->MxCheckerField("filtre3", "radio", "filtre", "uhcd", $_POST['filtre'] == "uhcd" ? true : false); // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas // le bloc contenant le lien vers l'export. if (!$_POST['Chercher'] and !$_POST['Chercher_x']) { $mod->MxBloc("donnees", "modify", " "); } else { // Affichage du lien vers le fichier contenant l'export. // Récupération de tous les patients entre les deux dates données. $req = new clResultQuery(); $param[table] = PSORTIS; // En fonction du filtre sélectionné. switch ($_POST['filtre']) { /* case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ; break ; case 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break; */ case 'norm': $filter = "AND uf!=" . $options->getOption('numUFUHCD') . ""; break; case 'uhcd': $filter = "AND uf=" . $options->getOption('numUFUHCD') . ""; break; default: $filter = ""; break; } $param[cw] = "WHERE dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' {$filter}"; //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; //eko ( $res['INDIC_SVC'] ) ; if ($res[INDIC_SVC][2] > 1) { $s = "s"; } // Affichage d'un résumé des résultats. $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]); $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}"); if (!$options->getOption('CCAMExterne')) { $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d'))); $jj->initTableauActesDiag($res); } if ($options->getOption("GestionCCMU")) { if ($res[ccmu][$i]) { $ccmu = "\t" . $res[ccmu][$i]; } else { $ccmu = "\t"; } $titreCCMU = "\tCCMU"; } else { $ccmu = ''; $titreCCMU = ''; } if ($options->getOption("GestionGEMSA")) { if ($res[gemsa][$i]) { $gemsa = "\t" . $res[gemsa][$i]; } else { $gemsa = "\t"; } $titreGEMSA = "\tGEMSA"; } else { $gemsa = ''; $titreGEMSA = ''; } if ($options->getOption("GestionTraumato")) { if ($res[traumato][$i]) { $traumato = "\t" . $res[traumato][$i]; } else { $traumato = "\t"; } $titreTraumato = "\tTraumato"; } else { $traumato = ''; $titreTraumato = ''; } // Préparation du fichier contenant l'export. // Ecriture de la première ligne contenant le titre des colonnes. // $fic .= "ILP\tIDPASS\tNom\tPrénom\tNaissance\tSexe\tCP\tMed trait\tDate Adm\tHeure Adm\tAdresseur\tMode admission\tDate exam\tHeure exam\tMed urg\tSalle exam\tCatégorie recours\tMotif recours\tCode recours\tCode grav.\tDest souhaitée\tDest attendue\tDate sortie\tHeure sortie\tIDE\tMoyen transport\tMotif transfert\tType dest\tCat Diag\tDiagnostic\tCode Diag\n" ; if ($options->getOption('CCAMExterne')) { if ($session->getDroit('Identite_Patient', 'r')) { $fic .= "ILP\tIDPASS\tUF\tNom\tPrénom\tNaissance\tSexe\tCP\tMed trait\tDate Adm\tHeure Adm\tMode admission\tDate exam\tHeure exam\tMed urg\tSalle exam\tCatégorie recours\tMotif recours\tCode recours\tCode grav.\tDate UHCD" . $titreGEMSA . $titreCCMU . $titreTraumato . "\tDest souhaitée\tDest attendue\tDate sortie\tHeure sortie\tIDE\tMoyen transport\tMotif transfert\tType dest\tCat Diag\tDiagnostic\tCode Diag\n"; } else { $fic .= "ILP\tIDPASS\tUF\tNaissance\tSexe\tCP\tMed trait\tDate Adm\tHeure Adm\tMode admission\tDate exam\tHeure exam\tMed urg\tSalle exam\tCatégorie recours\tMotif recours\tCode recours\tCode grav.\tDate UHCD" . $titreGEMSA . $titreCCMU . $titreTraumato . "\tDest souhaitée\tDest attendue\tDate sortie\tHeure sortie\tIDE\tMoyen transport\tMotif transfert\tType dest\tCat Diag\tDiagnostic\tCode Diag\n"; } } else { if ($session->getDroit('Identite_Patient', 'r')) { $fic .= "ILP\tIDPASS\tUF\tNom\tPrénom\tNaissance\tSexe\tCP\tMed trait\tDate Adm\tHeure Adm\tMode admission\tDate exam\tHeure exam\tMed urg\tSalle exam\tCatégorie recours\tMotif recours\tCode recours\tCode grav.\tDate UHCD" . $titreGEMSA . $titreCCMU . $titreTraumato . "\tDest souhaitée\tDest attendue\tDate sortie\tHeure sortie\tIDE\tMoyen transport\tMotif transfert\tType dest\tCat Diag\tDiagnostic\tCode Diag\t" . $jj->getTitreColonnes(); } else { $fic .= "ILP\tIDPASS\tUF\tNaissance\tSexe\tCP\tMed trait\tDate Adm\tHeure Adm\tMode admission\tDate exam\tHeure exam\tMed urg\tSalle exam\tCatégorie recours\tMotif recours\tCode recours\tCode grav.\tDate UHCD" . $titreGEMSA . $titreCCMU . $titreTraumato . "\tDest souhaitée\tDest attendue\tDate sortie\tHeure sortie\tIDE\tMoyen transport\tMotif transfert\tType dest\tCat Diag\tDiagnostic\tCode Diag\t" . $jj->getTitreColonnes(); } } // Parcours des différents résultats. for ($i = 0; isset($res[idpatient][$i]); $i++) { // Préparation des différentes dates pour affichage. $naissance = new clDate($res[dt_naissance][$i]); $dtn = $naissance->getDate("d/m/Y"); if ($res[dt_admission][$i] != '0000-00-00 00:00:00') { $admission = new clDate($res[dt_admission][$i]); $dta = $admission->getDate("d/m/Y"); $hma = $admission->getDate("H:i"); } else { $dta = '--'; $hma = '--'; } if ($res[dt_examen][$i] != '0000-00-00 00:00:00') { $examen = new clDate($res[dt_examen][$i]); $dte = $examen->getDate("d/m/Y"); $hme = $examen->getDate("H:i"); } else { $dte = '--'; $hme = '--'; } if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') { $sortie = new clDate($res[dt_sortie][$i]); $dts = $sortie->getDate("d/m/Y"); $hms = $sortie->getDate("H:i"); } else { $dts = '--'; $hme = '--'; } $uf = $res[uf][$i]; $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) { $isuhcd = 1; } else { $isuhcd = 0; } //eko($jj -> tabExport); // Préparation des différents champs de l'enregistrement parcouru. if ($res[ilp][$i]) { $ilp = $res[ilp][$i]; } else { $ilp = "-"; } if ($res[uf][$i]) { $uf = $res[uf][$i]; } else { $uf = "-"; } if ($res[dt_UHCD][$i] and $isuhcd) { $dtUHCD = $res[dt_UHCD][$i]; } else { $dtUHCD = "0000-00-00 00:00:00"; } if ($res[nsej][$i]) { $nsej = $res[nsej][$i]; } else { $nsej = "-"; } if ($res[nom][$i]) { $nom = $res[nom][$i]; } else { $nom = "-"; } if ($res[prenom][$i]) { $prenom = $res[prenom][$i]; } else { $prenom = "-"; } if ($res[sexe][$i]) { $sexe = $res[sexe][$i]; } else { $sexe = "-"; } if ($res[adresse_cp][$i]) { $adresse_cp = $res[adresse_cp][$i]; } else { $adresse_cp = "-"; } if ($res[medecin_traitant][$i]) { $medecin_traitant = preg_replace("/(\r\n|\n|\r)/", " ", $res[medecin_traitant][$i]); } else { $medecin_traitant = "-"; } if ($res[adresseur][$i]) { $adresseur = $res[adresseur][$i]; } else { $adresseur = "-"; } if ($res[mode_admission][$i]) { $mode_admission = $res[mode_admission][$i]; } else { $mode_admission = "-"; } if ($res[medecin_urgences][$i]) { $medecin_urgences = $res[medecin_urgences][$i]; } else { $medecin_urgences = "-"; } if ($res[salle_examen][$i]) { $salle_examen = $res[salle_examen][$i]; } else { $salle_examen = "-"; } if ($res[recours_categorie][$i]) { $recours_categorie = $res[recours_categorie][$i]; } else { $recours_categorie = "-"; } if ($res[motif_recours][$i]) { $motif_recours = $res[motif_recours][$i]; } else { $motif_recours = "-"; } if (!$options->getOption('getRecoursCIM10')) { if ($res[recours_code][$i]) { $recours_code = $res[recours_code][$i]; } else { $recours_code = "-"; } } else { if ($res[recours_code][$i]) { $recours_code = strtr($res[recours_code][$i], '.', ''); } else { $recours_code = "-"; } } if ($res[code_gravite][$i]) { $code_gravite = $res[code_gravite][$i]; } else { $code_gravite = "-"; } if ($res[dest_souhaitee][$i]) { $dest_souhaitee = $res[dest_souhaitee][$i]; } else { $dest_souhaitee = "-"; } if ($res[dest_attendue][$i]) { $dest_attendue = ' ' . $res[dest_attendue][$i]; } else { $dest_attendue = "-"; } if ($res[ide][$i]) { $ide = $res[ide][$i]; } else { $ide = "-"; } if ($res[motif_transfert][$i]) { $motif_transfert = $res[motif_transfert][$i]; } else { $motif_transfert = "-"; } if ($res[moyen_transport][$i]) { $moyen_transport = $res[moyen_transport][$i]; } else { $moyen_transport = "-"; } if ($res[type_destination][$i]) { $type_destination = $res[type_destination][$i]; } else { $type_destination = "-"; } if ($res[diagnostic_categorie][$i]) { $diagnostic_categorie = $res[diagnostic_categorie][$i]; } else { $diagnostic_categorie = "-"; } if ($res[diagnostic_libelle][$i]) { $diagnostic_libelle = $res[diagnostic_libelle][$i]; } else { $diagnostic_libelle = "-"; } if ($res[diagnostic_code][$i]) { $diagnostic_code = $res[diagnostic_code][$i]; } else { $diagnostic_code = "-"; } if ($options->getOption("GestionCCMU")) { if ($res[ccmu][$i]) { $ccmu = "\t" . $res[ccmu][$i]; } else { $ccmu = "\t"; } $titreCCMU = "\tCCMU"; } else { $ccmu = ''; $titreCCMU = ''; } if ($options->getOption("GestionGEMSA")) { if ($res[gemsa][$i]) { $gemsa = "\t" . $res[gemsa][$i]; } else { $gemsa = "\t"; } $titreGEMSA = "\tGEMSA"; } else { $gemsa = ''; $titreGEMSA = ''; } if ($options->getOption("GestionTraumato")) { if ($res[traumato][$i]) { $traumato = "\t" . $res[traumato][$i]; } else { $traumato = "\t"; } $titreTraumato = "\tTraumato"; } else { $traumato = ''; $titreTraumato = ''; } // Génération de la ligne correspondant à l'enregistrement. // $fic .= "$ilp\t$nsej\t$nom\t$prenom\t$dtn\t$sexe\t$adresse_cp\t$medecin_traitant\t$dta\t$hma\t$adresseur\t$mode_admission\t$dte\t$hme\t$medecin_urgences\t$salle_examen\t$recours_categorie\t$motif_recours\t$recours_code\t$code_gravite\t$dest_souhaitee\t$dest_attendue\t$dts\t$hms\t$ide\t$moyen_transport\t$motif_transfert\t$type_destination\t$diagnostic_categorie\t$diagnostic_libelle\t$diagnostic_code\n" ; if ($options->getOption('CCAMExterne')) { if ($session->getDroit('Identite_Patient', 'r')) { $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$nom}\t{$prenom}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\n"; } else { $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\n"; } } else { if ($session->getDroit('Identite_Patient', 'r')) { $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$nom}\t{$prenom}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\t" . $jj->getActesDiagsPatient($i); } else { $fic .= "{$ilp}\t{$nsej}\t{$uf}\t{$dtn}\t{$sexe}\t{$adresse_cp}\t{$medecin_traitant}\t{$dta}\t{$hma}\t{$mode_admission}\t{$dte}\t{$hme}\t{$medecin_urgences}\t{$salle_examen}\t{$recours_categorie}\t{$motif_recours}\t{$recours_code}\t{$code_gravite}\t{$dtUHCD}" . $gemsa . $ccmu . $traumato . "\t{$dest_souhaitee}\t{$dest_attendue}\t{$dts}\t{$hms}\t{$ide}\t{$moyen_transport}\t{$motif_transfert}\t{$type_destination}\t{$diagnostic_categorie}\t{$diagnostic_libelle}\t{$diagnostic_code}\t" . $jj->getActesDiagsPatient($i); } } } // Calcul du nom du fichier temporaire. $nomfic = "export" . date("YmdHis") . ".xls"; // Création, écriture et fermeture du fichier. $FIC = fopen(URLCACHE . $nomfic, "w"); fwrite($FIC, $fic); fclose($FIC); // Calcul du lien vers ce fichier. $mod->MxUrl("donnees.lienExport", URLCACHEWEB . $nomfic); // On purge le répertoire temporaire de tous les fichiers qui ont plus de deux heures. $poub = new clPoubelle(URLCACHE); $poub->purgerRepertoire("2"); } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // On retourne le code HTML généré par le template. $this->af .= $mod->MxWrite("1"); }
function gestionConsult() { global $session; global $options; // Appel du template permettant la saisie des consultations spécialisées $mod = new ModeliXe("CCAM_Consult.mxt"); $mod->SetModeliXe(); $mod->MxImage("imgQuitter", URLIMG . "QuitterSansValider.gif"); $mod->MxUrl("lienQuitter", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); //Initialisation des valeurs if (!$_POST['idListeSelection1']) { $idListeSelection1 = "tous"; } else { $idListeSelection1 = $_POST['idListeSelection1']; } ($_POST['aDroite_x'] or $_POST['aDroite']) ? $aDroite = 1 : ""; ($_POST['sortir_x'] or $_POST['sortir']) ? $sortir = 1 : ""; //Ajout des consultants sélectionnés dans la liste des consultants disponibles à la liste des consultants //rattachés au patient en cours if ($aDroite or $sortir) { $retourInfos = $this->addConsultPatient(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } } if (!$sortir) { //Si on a choisi de supprimer une consultation if ($_POST['supprimerConsult_x'] or $_POST['supprimerConsult']) { $idConsultSuppr = $_POST['supprimerConsult']; $this->infos = $this->delConsultPatient($idConsultSuppr); } if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } if ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } //Récupération des valeurs pour Selection1 unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeSpe", $param, "Choisir une spécialité"); //Récupération des consult pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la spécialité sélectionnée dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = CCAM_IDDOMAINE; $paramRelation[idEvent] = $this->idEvent; $paramA[idDomaine] = CCAM_IDDOMAINE; if ($idListeSelection1 != "tous") { $paramA[cw] = "and nomListe='{$idListeSelection1}'"; } else { $paramA[cw] = ""; } $tabListeGauche = $this->valeursListeGauche("CCAM_getConsultListeGauche", "CCAM_getConsultCotes", $paramA, $paramRelation, "Choisir un consultant"); $mod->MxSelect("consultBlocGauche.listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"20\" multiple=\"yes\""); //Récupération des consult côtés pour le patient en cours unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idEvent] = $this->idEvent; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getConsultCotes", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); //eko($res); if (!$session->getDroit("CCAM_CONSULT_" . $this->typeListe, "d")) { $mod->MxBloc("consultBlocDroite.consultCotes.actionSuppr", "delete"); } if ($res[INDIC_SVC][2] == 0) { $mod->MxBloc("consultBlocDroite.consultCotes", "delete"); } else { $mod->MxBloc("consultBlocDroite.aucunConsult", "delete"); for ($i = 0; isset($res[identifiant][$i]); $i++) { $mod->MxText("consultBlocDroite.consultCotes.speConsult", $res[spe][$i]); $mod->MxText("consultBlocDroite.consultCotes.nomConsultant", $res[libelle][$i]); $mod->MxText("consultBlocDroite.consultCotes.actionSuppr.idConsultSuppr", $res[codeActe][$i]); $mod->MxBloc("consultBlocDroite.consultCotes", "loop"); } } /*list($anneeNais,$moisNais,$jourNais)=explode("-",$this->dtnai); if ($this->lieuInterv=="0") $lieuInterv=""; else $lieuInterv=", ".$this->lieuInterv; $mod->MxText("infosPatient",$this->nomu." ".$this->pren.", né(e) le ".$jourNais."/".$moisNais."/".$anneeNais. $lieuInterv);*/ $mod->MxText("infosPatient", $this->nomu . " " . ucfirst(strtolower($this->pren))); $mod->MxText("titreDispo", "Consultants disponibles"); $mod->MxText("titreAffecte", "Consultants affectés au patient"); //Gestion du template $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_CONSULT_" . $this->typeListe, "w")) { $mod->MxBloc("flDroite", "delete"); $mod->MxBloc("flSortir", "delete"); } //Ne jamais afficher les boutons suivants // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "delete"); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "delete"); } if ($sortir) { $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); } else { $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "DetailConsult")); } return $this->af .= $mod->MxWrite("1"); } }
function imprDocuments() { global $session; global $options; // Si on se sert du module externe de documents (Brignoles) if ($options->getOption("documentsExterne")) { $this->err1 = ""; $this->err2 = ""; // Chargement du template ModeliXe $mod = new ModeliXe("Mobidoc.html"); $mod->SetModeliXe(); $mod->MxText("errs", $this->err1 . "<br/>" . $this->err2); // Récupération du code HTML généré. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // CHB Start $cMobidoc = new clMobidocTU($this->patient->getID()); $str = $cMobidoc->OpenMobidoc(); //eko ( $str ) ; if (ereg('NACK-', $str)) { $mod->MxText("errs", "<b>L'appel à mobidoc a échoué (Erreur: COMRPC Impossible)</b>'"); } // CHB Stop /* Ancienne version $str = OpenMobidoc($this->patient->getID ( ),$_SERVER["REMOTE_ADDR"],$options->getOption('CCAMExterne_MRPCPORT'),$options->getOption('CCAMExterne_MRPCTIMEOUT')); //$str = 'ERROR' ; if ( $str == 'ERROR' ) { $mod -> MxText ( "errs", "<b>L'appel à mobidoc a échoué (Erreur: COMRPC Impossible)</b>'") ; } */ return $this->af .= $mod->MxWrite("1"); } else { if ($_POST['Imprimer'] or $_POST['Imprimer_x']) { $session->setLogSup('Impression de documents'); $sel = $_POST['selection']; $docs = new clDocuments("impr"); $date = new clDate(); for ($i = 0; isset($sel[$i]); $i++) { $param[cw] = "WHERE iddocument='" . $sel[$i] . "'"; $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery"); $rep = $date->getYear() . "/" . $date->getMonthNumber() . "/"; $output[$i] = $date->getTimestamp() . "-" . $this->patient->getID() . "-" . $sel[$i] . ".pdf"; $data['idpatient'] = $this->patient->getID(); $data['iddocument'] = $sel[$i]; $data['nomedition'] = $ras['nom'][0]; $data['urledition'] = $rep . $output[$i]; $data['iduser'] = $session->getUser(); $data['date'] = $date->getDatetime(); $requete = new clRequete(BDD, DOCSEDITES, $data); $requete->addRecord(); } $rep = $date->getYear() . "/" . $date->getMonthNumber() . "/"; $docs->genDoc($sel, $this->patient->getID(), $output, URLDOCS . $rep, $rep); } else { // Chargement du template ModeliXe. $mod = new ModeliXe("ImprimerDocuments.mxt"); $mod->SetModeliXe(); $mod->MxImage("imgCloseImprimer", URLIMGFER, "Fermer"); $mod->MxUrl("lienCloseImprimer", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Récupération de la liste des catégories de documents. $param['cw'] = " ORDER BY categorie"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getCategoriesDocuments", $param, "ResultQuery"); // Parcours des différentes catégories de documents. for ($i = 0; isset($res['categorie'][$i]); $i++) { // Recherche des dernières versions des documents de la catégorie parcourue. $param['cw'] = "WHERE categorie='" . $res['categorie'][$i] . "' AND fin_validite='0000-00-00 00:00:00' ORDER BY nom"; $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery"); // Si on a un résultat, alors on parcourt ces documents. if ($ras['INDIC_SVC'][2]) { // Et on affiche le titre de la catégorie. $mod->MxText("categorie.titre", $res['categorie'][$i]); $k = 0; for ($j = 0; isset($ras['iddocument'][$j]); $j++) { // Nom du document. $param['cw'] = "WHERE iddocument='" . $ras['iddocument'][$j] . "' AND idpatient='" . $this->patient->getID() . "'"; $req = new clResultQuery(); $rus = $req->Execute("Fichier", "getDocumentsEdites", $param, "ResultQuery"); if ($rus['INDIC_SVC'][2]) { $td = "<td class=\"dejaedite\" style=\"text-align: left;\">"; } else { $td = "<td style=\"text-align: left;\">"; } if (!($j % $options->getOption("DocumentsParLigne")) and $j != 0) { $tr = "<tr>"; if ($k) { $tr .= "<td class=\"nostyle\"></td>"; } } else { $tr = ""; } if (!(($j + 1) % $options->getOption("DocumentsParLigne")) or !isset($ras['iddocument'][$j + 1])) { $ftr = "</tr>"; $k++; } else { $ftr = ""; } $mod->MxText("categorie.documents.tdo", $tr . $td); $mod->MxCheckerField("categorie.documents.c", "checkbox", "selection[]", $ras['iddocument'][$j]); $mod->MxText("categorie.documents.doc", $ras['nom'][$j]); $mod->MxText("categorie.documents.tdf", "</td>{$ftr}"); $mod->MxBloc("categorie.documents", "loop"); } $mod->MxBloc("categorie", "loop"); } } // Variable de navigation dans le cas du lancement des éditions. $mod->MxHidden("hidden1", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "genEdition")); // Variable de navigation dans le cas d'une action d'annulation. $mod->MxHidden("hidden2", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Récupération du code HTML généré. $this->af .= $mod->MxWrite("1"); } } }
function genAffichage($action) { $mod = new ModeliXe("GestionDesMenus.mxt"); $mod->SetModeliXe(); if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $mod->MxText("action", $action); $param['cw'] = "WHERE type='menu' AND idapplication=" . IDAPPLICATION . " ORDER BY rang"; $res = $this->xham->Execute("Fichier", "getMenus", $param, "ResultQuery"); if ($this->xham->getNavi(2) == "Afficher") { $_SESSION['voir' . $this->xham->getNavi(3)] = 1; } if ($this->xham->getNavi(2) == "Masquer") { $_SESSION['voir' . $this->xham->getNavi(3)] = 0; } for ($i = 0; isset($res['idmenu'][$i]); $i++) { $mod->MxText("menu.nom", $res['libelle'][$i]); $param['cw'] = "WHERE type='item' AND menuparent='" . $res['idunique'][$i] . "' AND idapplication=" . IDAPPLICATION . " ORDER BY rang"; $ras = $this->xham->Execute("Fichier", "getMenus", $param, "ResultQuery"); if (isset($_SESSION['voir' . $res['idunique'][$i]]) and $_SESSION['voir' . $res['idunique'][$i]]) { $mod->MxUrl("menu.lien", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Masquer", $res['idunique'][$i])); $mod->MxImage("menu.img", URLIMGMAS, "Masquer"); for ($j = 0; isset($ras['idmenu'][$j]); $j++) { $mod->MxText("menu.item.nom", " - " . $ras['libelle'][$j]); if ($this->xham->getDroit("Configuration_Navigation", "m")) { if ($ras['rang'][$j] > 1) { $mod->MxUrl("menu.item.lienMonter", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Monter", $ras['idunique'][$j])); $mod->MxImage("menu.item.imgMonter", URLIMGFH2, "Monter"); } if (isset($ras['rang'][$j + 1])) { $mod->MxUrl("menu.item.lienDescendre", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Descendre", $ras['idunique'][$j])); $mod->MxImage("menu.item.imgDescendre", URLIMGFB2, "Descendre"); } if (!$ras['lectureseule'][$j]) { $mod->MxUrl("menu.item.lienModifier", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Modifier", $ras['idunique'][$j])); $mod->MxImage("menu.item.imgModifier", URLIMGMOD, "Modifier"); if ($this->xham->getDroit("Configuration_Navigation", "d")) { $mod->MxUrl("menu.item.lienSupprimer", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Supprimer", $ras['idunique'][$j])); $mod->MxImage("menu.item.imgSupprimer", URLIMGSUP, "Supprimer"); } } } $mod->MxBloc("menu.item", "loop"); } } else { if ($ras['INDIC_SVC'][2]) { $mod->MxUrl("menu.lien", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "Afficher", $res['idunique'][$i])); $mod->MxImage("menu.img", URLIMGAFF, "Afficher"); } } if ($this->xham->getDroit("Configuration_Navigation", "m")) { if ($res['rang'][$i] > 1) { $mod->MxUrl("menu.lienMonter", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "MonterMenu", $res['idunique'][$i])); $mod->MxImage("menu.imgMonter", URLIMGFH1, "Monter"); } if (isset($res['rang'][$i + 1])) { $mod->MxUrl("menu.lienDescendre", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "DescendreMenu", $res['idunique'][$i])); $mod->MxImage("menu.imgDescendre", URLIMGFB1, "Descendre"); } if (!$res['lectureseule'][$i]) { $mod->MxUrl("menu.lienModifier", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "ModifierMenu", $res['idunique'][$i])); $mod->MxImage("menu.imgModifier", URLIMGMOD, "Modifier"); if ($this->xham->getDroit("Configuration_Navigation", "d")) { $mod->MxUrl("menu.lienSupprimer", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "SupprimerMenu", $res['idunique'][$i])); $mod->MxImage("menu.imgSupprimer", URLIMGSUP, "Supprimer"); } } } $mod->MxBloc("menu", "loop"); } $mod->MxUrl("lienAjouter", URLNAVI . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AjouterMenu")); $mod->MxImage("imgAjouter", URLIMGAJ2, "Ajouter"); return $mod->MxWrite("1"); }
function getContraintes() { global $session; global $options; // Chargement du template. $mod = new ModeliXe("ErreursSortie.mxt"); $mod->SetModeliXe(); // Génération du lien pour fermer. $mod->MxImage("imgCloseErreurs", URLIMGFER, "Fermer"); $mod->MxUrl("lienCloseErreurs", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); $tab = $this->messages; // Parcours et affichage des messages d'erreur. while (list($key, $val) = each($tab)) { $mod->MxText("erreur.nom", $key); $mod->MxText("erreur.description", $val); $mod->MxBloc("erreur", "loop"); } if ($session->getDroit("Presents_EtatCivil", "a")) { $mod->MxHidden("forcer.hiddenForcer", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "modDateSortie")); // Pour générer des formulaires plus loin. $form = new clForm(); // Date d'exécution. $now = new clDate(); // Récupération des options. $retourmax = $options->getOption("Dates Patient"); $tranches = $options->getOption("DatesDécoup Patient"); // Préparation de la première date de la liste. $now->addHours(-$retourmax); $min = $now->getTimestamp(); $now->addHours($retourmax); if ($tranches >= 5) { $minutes = $now->getMinutes(); $minutesless = $minutes % 5; $now->addMinutes(-$minutesless); } $data[now] = 'Maintenant'; $t = $now->getTimestamp(); $data[$t] = $now->getDate("d-m-Y H:i"); // On parcourt les dates en fonctions des options. for ($i = 0; $now->getTimestamp() >= $min; $i += $tranches) { $t = $now->getTimestamp(); $data[$t] = $now->getDate("d-m-Y H:i"); $now->addMinutes(-$tranches); } // On génère le select contenant la liste des dates possibles. $mod->MxText("forcer.date", $form->genSelect("modDateSortie", 1, $data)); } else { $mod->MxBloc("forcer", "modify", " "); } // Récupération du code HTML généré. $af .= $mod->MxWrite("1"); return $af; }