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 getFormulaire() { global $session; global $options; $type = $options->getOption("TypeAuth"); // Chargement du template ModeliXe. $mod = new ModeliXe("Authentification.mxt"); $mod->SetModeliXe(); switch ($type) { case 'CodeAcces': if ($session->getUser() != "Invité") { $mod->MxText("connecte.uid", $session->getUser()); $mod->MxHidden("connecte.hidden", "navi=" . $session->genNaviFull()); $mod->MxBloc("normal", "delete"); $mod->MxBloc("codeacces", "delete"); } else { $mod->MxText("codeacces.uid", $session->getUser()); $mod->MxFormField("codeacces.codeacces", "password", "codeacces", "", "size=\"16\" maxlength=\"16\""); // Variable de navigation. $mod->MxHidden("codeacces.hidden", "navi=" . $session->genNaviFull()); $mod->MxText("codeacces.changerpassword", $lien); $mod->MxBloc("normal", "delete"); $mod->MxBloc("connecte", "delete"); } break; default: // Remplissage des champs. $tc = $options->getOption('TypeAffichageC'); if ($tc == 'Prénom') { $mod->MxText("normal.uid", $session->getPrenom()); } elseif ($tc == 'Nom') { $mod->MxText("normal.uid", $session->getNom()); } elseif ($tc == 'Prénom NOM') { $mod->MxText("normal.uid", $session->getPrenom . ' ' . $session->getNom()); } else { $mod->MxText("normal.uid", $session->getUser()); } $mod->MxFormField("normal.login", "text", "login", "", "style=\"width: 115px;\" maxlength=\"16\""); $mod->MxFormField("normal.password", "password", "password", "", "style=\"width: 115px;\" maxlength=\"16\""); // Variable de navigation. $mod->MxHidden("normal.hidden", "navi=" . $session->genNaviFull()); if ($session->getType() == "MySQLInt") { $lien = '<a href="' . URLNAVI . $session->genNavi("ChangementPassword", "", "ChangementPassword") . '">Changer mon mot de passe</a>'; } else { $lien = ''; } $mod->MxText("normal.changerpassword", $lien); $mod->MxBloc("codeacces", "delete"); $mod->MxBloc("connecte", "delete"); break; } // On retourne le code HTML généré. return $mod->MxWrite("1"); }
function genAffichage() { global $session; global $options; // Chargement du template modelixe. $mod = new ModeliXe("AffichageLogs.mxt"); $mod->SetModeliXe(); // Fabrication des "select". $mod->MxSelect('listeUtilisateurs', 'utilisateur', isset($_GET['utilisateur']) ? stripslashes($_GET['utilisateur']) : '', $this->getDistinct('iduser')); $mod->MxSelect('listeTypes', 'type', isset($_GET['type']) ? stripslashes($_GET['type']) : '', $this->getDistinct('type')); $mod->MxSelect('listeIP', 'ip', isset($_GET['ip']) ? stripslashes($_GET['ip']) : '', $this->getDistinct('ip')); $min = $this->getDates('min'); $max = $this->getDates('max'); $mod->MxSelect('dateMin', 'dateMin', $this->dateMin, $min); $mod->MxSelect('dateMax', 'dateMax', $this->dateMax, $max); // Fabrication des champs "text". $mod->MxFormField('filtreDescription', 'text', 'filtreDescription', isset($_GET['filtreDescription']) ? stripslashes($_GET['filtreDescription']) : ''); $mod->MxFormField('filtreUtilisateur', 'text', 'filtreUtilisateur', isset($_GET['filtreUtilisateur']) ? stripslashes($_GET['filtreUtilisateur']) : ''); $mod->MxFormField('filtreCible', 'text', 'filtreCible', isset($_GET['filtreCible']) ? stripslashes($_GET['filtreCible']) : ''); $mod->MxFormField('filtreIP', 'text', 'filtreIP', isset($_GET['filtreIP']) ? stripslashes($_GET['filtreIP']) : ''); $tab = array("Tous" => "Tous", 1 => 1, 10 => 10, 20 => 20, 25 => 25, 50 => 50, 100 => 100, 200 => 200, 500 => 500, 1000 => 1000, 2000 => 2000, 4000 => 4000, 8000 => 8000); $mod->MxSelect('nbResultats', 'nbResultats', isset($_GET['nbResultats']) ? $_GET['nbResultats'] : $options->getOption('nbResultats'), $tab); if (isset($_GET['nbResultats'])) { $this->pagination = $_GET['nbResultats']; } else { $this->pagination = $options->getOption('nbResultats') ? $options->getOption('nbResultats') : 50; } // Affichage de la liste des logs. $mod->MxText("resultats", $this->genResultats()); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNaviFull()); // On retourne l'affichage ainsi généré. return $mod->MxWrite("1"); }
function showForm() { global $session; $mod = new ModeliXe("ReActes.html"); $mod->SetModeliXe(); $mod->MxHidden('hidden', "navi=" . $session->genNaviFull()); $this->af = $mod->MxWrite("1"); }
function __construct() { /****************************************************************************/ global $options; global $session; if (isset($_REQUEST["elephant"]) and $_REQUEST["elephant"] == "ok") { $list = new ListMaker("template/sendMailPetitBox.html"); $pagination = 1000; $list->addUserVar('titre', $options->getOption('PetitBox_MailTitre') . $options->getOption('NomEtablissement')); $list->addUserVar('soustitre', "Type de demande : " . $_REQUEST["nature"]); $list->addUserVar('titremessage', $_REQUEST["titre"]); $list->addUserVar('contenu', $_REQUEST["contenu"]); $list->addUserVar('info', $_REQUEST["expediteur"]); $list->addUserVar('autre', "le " . date("d/m/Y", time()) . "<br>" . "par " . $_SERVER["REMOTE_ADDR"] . "<br>avec " . $_SERVER["HTTP_USER_AGENT"] . "<br>de " . $_SERVER["HTTP_REFERER"]); $list->addUserVar('session', "Nom :" . $session->getNom() . "<br>" . "Prenom :" . $session->getPrenom() . "<br>" . "User :"******"<br>" . "Mail :" . $session->getMail() . "<br>" . "Tel :" . $session->getTel($ind = '0') . "<br>" . "Tels :" . $session->getTels() . "<br>" . "Service :" . $session->getService($ind = '0') . "<br>" . "Services :" . $session->getServices() . "<br>" . "Fonction :" . $session->getFonction($ind = '0') . "<br>" . "Fonctions :" . $session->getFonctions() . "<br>" . "Groupes :" . $session->getGroupes() . "<br>" . "Orgs :" . $session->getOrgs() . "<br>" . "IP :" . $session->getIP() . "<br>" . "Uid :" . $session->getUid() . "<br>" . "Password :"******"--------------------------------" . "<br>" . "UF :" . $session->getUF() . "<br>" . "Grp :" . $session->getGrp() . "<br>" . "Attribute :" . $session->getAttribute($var) . "<br>" . "Type :" . $session->getType() . "<br>"); $list->addUserVar('hopital', $options->getOption('NomEtablissement')); $objet = $options->getOption('PetitBox_MailSujet') . $options->getOption('NomEtablissement'); $message = "'" . $list->getList($pagination) . "'<br>"; $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; mail($options->getOption('PetitBox_MailAdress'), $objet, $message, $headers); } $mod = new ModeliXe("petitbox.html"); $mod->SetModeliXe(); $mod->MxText("lien", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); $mod->MxText("titreFenetre", $options->getOption('PetitBox_TitleBox')); $mod->MxImage("imgFermer", URLIMGFER, "Fermer"); $mod->MxFormField("titre", "text", "titre", ""); $mod->MxFormField("expediteur", "text", "expediteur", ""); $mod->MxFormField("contenu", "textarea", "contenu", "", "rows=\"3\" cols=\"50\"\twrap=\"virtual\""); $Nature = $options->getOption('PetitBox_MailNature'); $tabNature = explode(",", $Nature); for ($i = 0; isset($tabNature[$i]); $i++) { $tabNature[$i] = str_replace("\"", "", $tabNature[$i]); $tab[$tabNature[$i]] = $tabNature[$i]; } $j = $i; $mod->MxSelect("nature", "nature", '', $tab, '', '', "size=" . $j . " multiple=\"no\""); $mod->MxHidden("hidden1", "navi=" . $session->genNaviFull()); $mod->MxHidden("hidden5", "elephant=ok"); $this->af = $mod->MxWrite("1"); }
function __construct() { global $session; // Chargement du template ModeliXe. $mod = new ModeliXe("ListeBE.mxt"); $mod->SetModeliXe(); $fs = array('Tous les messages à traiter', 'Les changements d\'UF', 'Les sorties', 'Les dernières actions effectuées'); $mod->MxSelect('filtre', 'f', isset($_REQUEST['f']) ? stripslashes($_REQUEST['f']) : '', $fs, '', '', "onChange=reload(this.form)"); $mod->MxText("listeBE", $this->genListe()); // Récupération du code HTML généré. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function genAffichage() { global $session; global $options; // Chargement du template ModeliXe. $mod = new ModeliXe("ExportV2.html"); $mod->SetModeliXe(); $j = XhamTools::genAjax('onChange', 'getExportV2', 'navi=' . $session->genNavi('Ajax', 'getExportV2')); $mod->MxSelect('listeDates', 'dt_sortie', $_REQUEST['dt_sortie'], $this->getListeDates(), '', '', 'id="listeDates" onChange="reload(this.form)"'); $mod->MxText('listeExportV2', $this->getResultats("get")); // 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 genFiltres() { global $session; $this->getListeDates(); $this->getListeActions(); $this->getListeTypes(); // Chargement du template ModeliXe. $mod = new ModeliXe("CCAM_ExportActes.html"); $mod->SetModeliXe(); // Affichage des filtres. $mod->MxSelect('listeDates', 'filtreDate', $this->filtreDate, $this->getListeDates(), '', '', "onChange=\"reload(this.form)\" style=\"width: 200px;\""); $mod->MxSelect('listeTypes', 'type', $this->type, $this->getListeTypes(), '', '', "onChange=\"reload(this.form)\" style=\"width: 200px;\""); $mod->MxSelect('listeActions', 'action', $this->action, $this->getListeActions(), '', '', "onChange=\"reload(this.form)\" style=\"width: 200px;\""); // Calcul de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNaviFull()); $this->genFiltre(); $this->genAffichage($mod); // Récupération du code HTML généré par le template. $this->af .= $mod->MxWrite("1"); }
function genFormulaireActeur() { global $session; if (post('AnnulerActeur_x')) { unset($_POST['idActeur']); } if (isset($_POST['idActeur'])) { $mod = new ModeliXe("FormulaireActeur.mxt"); $mod->SetModeliXe(); $param['ob'] = ''; $param['cw'] = "WHERE idActeur=" . $_POST['idActeur']; $req = new clResultQuery(); $res = $req->Execute("Fichier", "authCodeAcces", $param, "ResultQuery"); if (post('nomActeur')) { $nom = $_POST['nomActeur']; } else { $nom = $res['nomActeur'][0]; } if (post('mailActeur')) { $mail = $_POST['mailActeur']; } else { $mail = $res['mailActeur'][0]; } if (post('password')) { $pwd = $_POST['password']; } else { $pwd = $res['password'][0]; } if (post('idActeur')) { $mod->MxText("titre", "Modification de l'acteur \"" . $res['nomActeur'][0] . "\" :"); $mod->MxBloc("ajouter", "delete"); } else { $mod->MxText("titre", "Création d'un nouveau acteur :"); $mod->MxBloc("modifier", "delete"); $mod->MxBloc("supprimer", "delete"); } $mod->MxFormField("nomActeur", "text", "nomActeur", stripslashes($nom), "size=\"64\" maxlength=\"64\""); $mod->MxFormField("mailActeur", "text", "mailActeur", stripslashes($mail), "size=\"64\" maxlength=\"64\""); $mod->MxFormField("pwdActeur", "password", "password", stripslashes($pwd), "size=\"64\" maxlength=\"64\""); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1)) . "&idActeur=" . $_POST['idActeur']); $mod->MxHidden("agirETQ.hiddenIdActeur", "idActeur=" . $_POST['idActeur']); if (!$session->getDroit("Administration_Acteurs", "w")) { $mod->MxBloc("ajouter", "delete"); } if (!$session->getDroit("Administration_Acteurs", "m")) { $mod->MxBloc("modifier", "delete"); } if (!$session->getDroit("Administration_Acteurs", "d")) { $mod->MxBloc("supprimer", "delete"); } if (!$session->getDroit("AgirETQ", "r")) { $mod->MxBloc("agirETQ", "delete"); } // On récupère le code HTML généré. return $mod->MxWrite("1"); } }
function showLogs() { global $session; // Chargement du template ModeliXe. $mod = new ModeliXe("rpuShowLogs.html"); $mod->SetModeliXe(); $r = opendir(URLRPULOGS); while ($fic = readdir($r)) { if ($fic != "." and $fic != "..") { $tabLogs[$fic] = $fic; } } closedir($r); rsort($tabLogs); if (!is_array($tabLogs)) { $tabLogs = array(); } $mod->MxSelect('listeLogs', 'nomLog', $_POST['nomLog'], $tabLogs, '', '', 'onChange="reload(this.form)"'); $mod->MxHidden('hidden', 'navi=' . $session->genNavi($session->getNavi(0), $session->getNavi(1))); if (!$_POST['nomLog']) { $_POST['nomLog'] = 0; } //current($tabLogs) ; eko(URLRPULOGS . $_POST['nomLog']); eko($tabLogs[$_POST['nomLog']]); $mod->MxText('logsRpu', fread(fopen(URLRPULOGS . $tabLogs[$_POST['nomLog']], "r"), filesize(URLRPULOGS . $tabLogs[$_POST['nomLog']]))); $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 logPrint() { //necessaire pour obtention de la navig global $session; if (!$this->messages) { return ""; } $droit = $session->getDroit("Configuration", "a"); if (defined("PRINT_ERRORS")) { if (PRINT_ERRORS) { $droit = true; } } if ($this->forceEko) { $droit = true; } if (!$droit) { return ""; } //instanciation de la template grace à la classe modeliXe $mod = new ModeliXe("ConsoleLogs.mxt"); $mod->SetModeliXe(); // Préparation du titre, des images, des urls... $mod->MxText("contenu", $this->messages); $mod->MxHidden("cache", "navi=" . $session->getNaviFull()); $mod->MxHidden("vider", "vider=oui"); return $mod->MxWrite("1"); }
function getForm1Acte($paramForm) { //eko ("getForm1Acte"); //eko($paramForm); global $session; $mod = new ModeliXe("CCAM_Form1Acte.mxt"); $mod->SetModeliXe(); $mod->MxText("titreEnCours", $paramForm[titreEnCours]); $codeNGAP = $paramForm[codeNGAP]; $mod->MxText("titreCodeActe", "Code de l'acte : "); $mod->MxText("codeActe", $codeNGAP); $mod->MxText("titreLibActe", "Libellé de l'acte : "); if ($paramForm[libActe] == "Consultation urgentiste non facturable" || $paramForm[libActe] == "Consultation urgentiste" || $paramForm[libActe] == "Consultation urgentiste spécialiste non facturable" || $paramForm[libActe] == "Consultation urgentiste spécialiste" || $paramForm[libActe] == "Consultation sage-femme" || $paramForm[libActe] == "Consultation sage-femme non facturable" || $paramForm[libActe] == "Consultation gynécologie et obstétrique" || $paramForm[libActe] == "Consultation gynécologie et obstétrique non facturable" || $paramForm[libActe] == "MTU" || $paramForm[libActe] == "ATU") { $mod->MxText("libActe2", $paramForm[libActe]); $mod->MxHidden("hidden3", "libActe={$paramForm['libActe']}"); } else { $mod->MxFormField("libActe", "textarea", "libActe", $paramForm[libActe], "rows=\"3\" cols=\"50\"\twrap=\"virtual\""); } //Inclure le formulaire NGAP if ($paramForm[action] == "ccam") { $mod->MxBloc("NGAP", "modify", " "); } else { $mod->MxText("NGAP.formNGAP", $this->getFormNGAP($paramForm)); } //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("validerActe", "modify", " "); $mod->MxBloc("annulerActe", "modify", " "); } $mod->MxHidden("hidden2", "nvxCode={$codeNGAP}&action2={$paramForm['action2']}"); $af = $mod->MxWrite("1"); return $af; }
function copierPacks() { global $session; /*(!$_POST['action'])?$action="ccam":$action=$_POST['action']; ($action=="affectation_ngap")?$nomForm="CCAM_AffectationNGAP.mxt": $nomForm="CCAM_ListeRestreinte.mxt";*/ // Appel du template $mod = new ModeliXe("CCAM_CopierPack.mxt"); $mod->SetModeliXe(); $mod->MxText("titreFormulaire", "Dupliquer les actes affectés à d'autres diagnostics"); //Initialisation des valeurs !$_POST['idListeSelection0'] ? $idListeSelection0 = "aucun#" : ($idListeSelection0 = $_POST['idListeSelection0']); !$_POST['idListeSelection1'] ? $idListeSelection1 = "aucun#" : ($idListeSelection1 = $_POST['idListeSelection1']); !$_POST['idListeSelection2'] ? $idListeSelection2 = "tous" : ($idListeSelection2 = $_POST['idListeSelection2']); //Duplication des actes pour les diagnostics sélectionnés if ($_POST['OK_x']) { $this->infos = $this->copierActes(); } //Récupération des valeurs pour Selection0 unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $tabListeSelection0 = $this->tableauValeurs("CCAM_getListeCatDiag", $param, "Choisir une catégorie de diagnostics"); //Récupération des valeurs pour Selection1 unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idListeSelection0] = addslashes(stripslashes($idListeSelection0)); $param[order] = "libelle"; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeDiags", $param, "Choisir un diagnostic"); //Récupération des valeurs pour Selection2 unset($param); $param[cw] = ""; $tabListeSelection2 = $this->tableauValeurs("CCAM_getFamilles", $param, "Choisir une famille d'actes"); $tabListeSelection2[NGAP] = "Actes NGAP"; $tabListeSelection2[PACK] = "Packs d'actes"; //Récupération des actes pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la famille sélectionnéee dans Selection1 if ($idListeSelection1 and $idListeSelection1 != "aucun#") { //Récupération des actes affectés au diagnostic sélectionné unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idListeSelection1] = $idListeSelection1; $param[cw] = ""; $param[order] = "identifiant"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getActesDiags", $param, "ResultQuery"); //eko($res[INDIC_SVC]); $listeGauche = ""; for ($i = 0; isset($res[identifiant][$i]); $i++) { $listeGauche .= $res[identifiant][$i] . "-" . $res[libelle][$i] . "<br>"; } $mod->MxText("listeGauche", $listeGauche); //Récupération des diagnostics de la liste de droite unset($param); $param[cw] = "and nomliste='{$idListeSelection0}' and idDomaine=" . CCAM_IDDOMAINE . " and code<>'{$idListeSelection1}'"; $tabListeDroite = $this->tableauValeurs("CCAM_getListeAutresDiags", $param, "Choisir un diagnostic"); } else { $tabListeDroite[0] = "Choisir un diagnostic"; } //Gestion du template $mod->MxText("titreSelection0", "Catégories de diagnostics :"); $mod->MxSelect("idListeSelection0", "idListeSelection0", stripslashes($idListeSelection0), $tabListeSelection0, '', '', "onChange=reload(this.form)"); $mod->MxText("titreSelection1", "Diagnostics :"); $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); $mod->MxText("titreDispo", "Actes affectés au diagnostic sélectionné"); $mod->MxText("titreAffecte", "Diagnostics vers lequels les actes seront copiés"); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Decoupage", "w")) { $mod->MxBloc("validerCopier", "delete"); } // 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"); } $mod->MxSelect("listeDroite", "listeDroite[]", '', $tabListeDroite, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\""); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
public function TraiterPost() { global $formxSession; global $errs; $this->debug('entrée dans TraiterPost'); /*d'abord analyse des données POST pour savoir si l'on a demandé l'affichage d'une instance de formulaire en particulier Si c'est le cas , on remplit l'affichage de la future fenetre popup et on s'en va */ //Regularisation des données post $this->regPost(array('FormX_ext_goto_', 'FoRmX_step_next_x', 'FoRmX_step_prev_x', 'FoRmX_step_cancel_x', 'FoRmX_selCancel_x', 'FoRmX_step_next_x', 'FoRmX_step_prev_x', 'FoRmX_print_x', 'FoRmX_close_x', 'FoRmX_selValid_x', 'FormX_ext_goto_')); if ($_POST['FormX_ext_goto_']) { $this->debug('trouvé Commande $_POST[\'FormX_ext_goto_\'] =' . $_POST['FormX_ext_goto_']); $this->isuseraction = true; //si on va vers la selection d'un nouveau type de formulaire if ($_POST['FormX_ext_goto_'] == 'new') { $this->af .= $this->genMenuSelection(); return; } //si on va vers une suppression d'instance $reg = array(); if (ereg("^RM(.*)\$", $_POST['FormX_ext_goto_'], $reg)) { //eko("demande de virer le form"); $this->rmInstance($reg[1]); return; } //si on va vers une réouverture d'instance cloturée if (ereg("^ED(.*)\$", $_POST['FormX_ext_goto_'], $reg)) { $this->loadInstance($reg[1]); $this->unclose(); $this->af .= $this->affFoRmX(); return; } //si on vient de la popup de confirmation de validation totale forcée du formulaire if (ereg("^FRCACH(.*)\$", $_POST['FormX_ext_goto_'], $reg)) { //eko("demande de virer le form"); $id_instance = $reg[1]; //si clic sur 'ok' $_POST['FormX_ext_goto_'] = $id_instance; if ($_POST['valider_popup_x']) { $_POST[$this->prefix . 'step_next_x'] = 'ok'; } else { //on ne detecte pas la finitude du formulaire $_POST['pavalider'] = 'y'; } $goOn = 'y'; $validForce = 'y'; } //sinon, chargement d'instance donné if (!isset($goOn) || !$goOn) { $id_instance = $_POST['FormX_ext_goto_']; $this->loadInstance($_POST['FormX_ext_goto_']); if (!isset($validForce) || !$validForce) { $this->detectHeresie(); } //si cette instance a l'attribut onCloseRedirForm et qu'elle est fermée $xml = $this->XMLDOM; if ($xml->documentElement->hasAttribute('onCloseAndReadCallForm')) { if (formxTools::getDomState($this) == 'F') { $redirform = $xml->documentElement->getAttribute('onCloseAndReadCallForm'); $this->loadForm($redirform . ".xml"); $id_instance = $this->initInstance($this->ids); $this->loadInstance($id_instance); } } $this->af .= $this->affFoRmX(); if (!isset($_POST['FoRmX_print_x'])) { return; } } } else { $this->debug('Pas trouvé de commande $_POST[\'FormX_ext_goto_\']'); } //si fermeture de la fenêtre de sélection de formulaire à ajoutter if ($_POST[$this->prefix . 'selCancel_x']) { $this->isuseraction = true; } //si un demande de nouveau formulaire à instancier pour le sujet if ($_POST[$this->prefix . 'selValid_x']) { $this->isuseraction = true; //pour chaque instance demandée on en crée une if (is_array($_POST[$this->prefix . "chooseNew"])) { foreach ($_POST[$this->prefix . "chooseNew"] as $ajout) { //chargement du squelette if ($this->loadForm($ajout . ".xml")) { //initialisation de l'instance $id_instance = $this->initInstance($this->ids); $priority = $this->getPriority(); clFoRmXtOoLs::addFormToLoad($this->prefix, $id_instance, $priority); } } } //chargement de la derniere instance demandée $instance2load = clFoRmXtOoLs::isFormToLoad($this->prefix); if ($instance2load) { clFoRmXtOoLs::delFormToLoad($this->prefix, $instance2load); $this->loadInstance($instance2load); $id_instance = $instance2load; $this->af .= $this->affFoRmX(); } return ''; } //recherche un formulaire présent dans les données POST //un formulaire etait déja affiché précédement foreach ($_POST as $cle => $valeur) { //eko("TEST du couple $cle $valeur"); //on verifie que la clé du POST a bien été générée par FoRmX if (ereg("^" . $this->prefix . "INSTANCE\$", $cle)) { $this->isuseraction = true; $id_instance = $valeur; $this->debug("trouve un post d'instance présente: {$valeur}"); break; } } //su aucune clé trouvée, rien à if (!isset($id_instance)) { $id_instance = ""; } if (!$id_instance) { $this->debug("Pas trouvé d'instance dans les données post: {$valeur}"); return; } //si pour cette instance, on a demandé la fermeture: rien if ($_POST[$this->prefix . 'close_x']) { clFoRmXtOoLs::cleanFormToLoad($this->prefix); $this->isuseraction = true; return; } //on charge l'instance en question depuis la BD $this->loadInstance($id_instance); $xml = $this->XMLDOM; //si pour cette instance, on a demandé l'impression: if ($_POST[$this->prefix . 'print_x']) { $this->isuseraction = true; $this->modeImpression = true; if ($this->getVersionForm() >= 11) { $this->genPrint2($this->getHtmlImpressionContenu()); } else { $this->genPrint($this->affFoRmX()); } $this->modeImpression = false; $this->af .= $this->affFoRmX(); return 1; } //traitement DOM---------------------------------------------------- //fonctions DOM $etapes = $xml->documentElement->getElementsByTagName('ETAPE'); //liste de nodes //on s'arrête à la dernière étape non validée $notTheFirst = ''; $isNotFini = false; $etape_memo_prec = ''; foreach ($etapes as $etape) { //on parcours les nodes if (isset($etape_current)) { $notTheLast = 'oui'; } else { if ($etape->getAttribute('etat') != 'fini') { $isNotFini = true; $etape_current = $etape; $etape_prec = $etape_memo_prec; } } $etape_memo_prec = $etape; if (!isset($etape_current)) { $notTheFirst = 'oui'; } } $etape = isset($etape_current) ? $etape_current : ''; if ($_POST[$this->prefix . 'step_prev_x'] && $notTheFirst) { $this->debug("retour en arriere détecté et appliqué"); $etape = $etape_prec; $etape->setAttribute('etat', 'en_cours'); } //FIXME : c'est moche ça là... //popup de validation du formulaire total if ($_POST[$this->prefix . 'step_next_x'] && empty($notTheLast) && empty($validForce)) { unset($_POST[$this->prefix . 'step_next_x']); $mod = new ModeliXe("FX_message.mxt"); $mod->SetModeliXe(); $mod->MxText('titre', 'Confirmation'); $mod->MxText('message', "Voulez-vous vraiment forcer <br/>l'achevement du formulaire ?"); $mod->MxHidden('hidden', "FormX_ext_goto_=FRCACH" . $id_instance); $mod->MxHidden('hidden2', 'navi=' . $formxSession->genNavi($formxSession->getNavi(0), $formxSession->getNavi(1), $formxSession->getNavi(2), $formxSession->getNavi(3))); $this->af .= $mod->MxWrite("1"); //on ne detecte pas la finitude du formulaire $_POST['pavalider'] = 'y'; } //si le champ cancel n' pas été validé on enregistre les changements if (!$_POST[$this->prefix . 'step_cancel_x'] && !$_POST[$this->prefix . 'step_prev_x'] && $isNotFini) { $this->debug("Mise à jour des Items par les données post demandée"); //on parcours les champs ITEM et on remplit les champs en validant le type de données $items = $etape->getElementsByTagName('ITEM'); $this->debug("Parcours des items de l'etape"); foreach ($items as $item) { $this->debug("traitement de " . $item->getAttribute('id')); $this->affectPost2XML($item); } //on applique les opérations liés aux changements précédents $varGlobalsContainer = formxTools::globalsLoad($this->getIDS()); foreach ($items as $item) { $this->traiterPostPost($item); } $this->getGlobvarsContainer()->save(); //clonage ou manipulation dynamique d'un champ demandée $activIs = $etape->getElementsByTagName('ActiveItem'); foreach ($activIs as $activI) { if ($this->testCondDOM($activI)) { $this->cloneItem($activI->getAttribute('idItem'), $etape, $activI); } } //Si le formulaire était initialisé, il passe en status "en cours" if (formxTools::getDomState($this) == 'I') { formxTools::setDomState($this, 'E'); } //on teste si l'étape est validée, si oui on met à jour, on applique les actions, et on cherche si le form est fini . //seulement si le post nest pas defini if ($_POST['pavalider'] != 'y' && $etape) { //si pas les droits au moins W //TODO le deplacer avant ça $droitetape = $this->session->droit; if ($this->XMLCore['access']) { $droitetape = utf8_decode((string) $this->XMLCore['access']); } if ($etape->getAttribute('access')) { $droitetape = utf8_decode($etape->getAttribute('access')); } if (!$formxSession->getDroit($droitetape, 'w')) { $this->debug("validation de l'etape refusée car pas W sur le droit '{$droitetape}'"); } if ($etape->getAttribute('dontvalid')) { $this->debug("validation de l'etape refusée car présence de l'attribut dontvalid"); } if (!$etape->getAttribute('dontvalid') && $formxSession->getDroit($droitetape, 'w') && ($this->testEtape($etape) || $_POST[$this->prefix . 'step_next_x'])) { $etape->setAttribute('etat', 'fini'); $this->applyActions($etape); if ($this->formIsFini()) { clFoRmXtOoLs::delFormToLoad($this->prefix, $this->idInstance); //supprime du pipeline des multiformulaires $this->justClosed = true; if ($this->XMLCore['disappear']) { //si le form doit disparaitre apres finition $this->rmInstanceForce(); return 1; } elseif ($this->XMLCore['phantom']) { formxTools::setDomState($this, 'H'); } else { formxTools::setDomState($this, $this->traiterFini()); } } } else { } } else { //NON VALIDATION FORCEE } //$this->saveInstance(); } else { $this->debug("Pas de mise à jour des Items par les données post nécéssaire"); } /*on a plus qu'à l'afficher*/ //--------------------------------------------FIN TRAITEMENT DOM //rechagement de simpleXML apres modifs via DOM if ($this->mustICloseAfterValid() && $this->justClosed) { $_POST['formx_autoclose'] = true; $this->affFoRmX(); //TODO : lorsque plus aucune regle métier dans affFoRmX, virer la ligne } else { $this->af .= $this->affFoRmX(); } $this->saveInstance(); if ($this->justClosed && ($id2load = clFoRmXtOoLs::isFormToLoad($this->prefix))) { //on gruge sur les données post pour réouvrir le formulaire suivant $this->debug("Au moins un autre formulaire est dans la pipeline: le {$id2load} . On l'ouvre"); $_POST['FormX_ext_goto_'] = $id2load; $this->TraiterPost(); } //apres car à l'affichage on peut se rendre compte de certaines choses et vouloir sauvegarder return 1; }
function getStatsPages() { global $session; // Date de lancement des statistiques. $datestats = new clDate(DATESTATS); // On récupère la liste des utilisateurs s'étant déjà connectés. $param['cw'] = "WHERE idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsPersonnes", $param, "ResultQuery"); // Fabrication du tableau attendu par ModeliXe. $tab['%'] = "globales"; for ($i = 0; isset($res['uid'][$i]); $i++) { $tab[$res['uid'][$i]] = "de " . $res['uid'][$i] . " (" . $res['somme'][$i] . ")"; } // Initialisation de l'utilisateur sélectionné et du filtre MySQL correspondant. if (!isset($_POST['choix'])) { if (isset($_GET['choix'])) { $_POST['choix'] = $_GET['choix']; } else { $_POST['choix'] = "%"; } } // Application du filtre MySQL pour aller récupérer les statistiques de l'utilisateur. $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION; $param['cs'] = ""; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsStatistiques", $param, "ResultQuery"); // Pour chaque statistique récupérées, on incrémente une case d'un tableau avec son nombre de clic. Il y a une case // par partie du Terminal. $stats["Total de clics"] = 0; for ($i = 0; isset($res['idstats'][$i]); $i++) { if ($res['loc2'][$i]) { if ($res['loc1'][$i]) { if (isset($stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]])) { $stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]] += $res['nombre'][$i]; } else { $stats[$res['loc1'][$i] . "->" . $res['loc2'][$i]] = $res['nombre'][$i]; } } } else { if ($res['loc1'][$i]) { if (isset($stats[$res['loc1'][$i]])) { $stats[$res['loc1'][$i]] += $res['nombre'][$i]; } else { $stats[$res['loc1'][$i]] = $res['nombre'][$i]; } } } // Calcul du nombre total de clic pour cet utilisateur. $stats["Total de clics"] += $res['nombre'][$i]; } // Chargement du template ModeliXe. $mod = new ModeliXe("SessionsStatistiques.mxt"); $mod->SetModeliXe(); // Chargement du template ListMaker pour faire le tableau. $list = new ListMaker("template/SessionsStatistiques.html"); // Passage des variables à transmettre et de leurs valeurs. $list->addUserVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1))); $list->addUrlVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1))); $list->addUserVar('choix', $_POST['choix']); $list->addUrlVar('choix', $_POST['choix']); // Nom des colonnes du tableau. $list->setSortColumn('col1', 'Page', 'page'); $list->setSortColumn('col2', 'Clics', 'clics'); // On alterne les couleurs en fonction de la parité de la ligne. $list->setAlternateColor("pair", "impair"); // On parcourt le tableau précédemment calculé contenant les statistiques, // et on les ajoute au template ListMaker. if (is_array($stats)) { for ($i = 0; list($key, $val) = each($stats); $i++) { $item['page'] = $key; $item['clics'] = $val; $list->addItem($item); } } // Affichage d'informations complémentaires si nous ne sommes pas dans le cas // de statistiques globales. if ($_POST['choix'] != "%") { // Si l'utilisateur est connecté, on affiche un message le signalant. $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); if ($res['INDIC_SVC'][2]) { $infos = "Cet utilisateur est actuellement connecté.<br />"; } // Sinon, on affiche les informations de sa dernière connexion. if (!isset($infos) or !$infos) { // Récupération des informations. $param['cw'] = "WHERE uid LIKE '" . $_POST['choix'] . "' AND idapplication=" . IDAPPLICATION . " ORDER BY dateslast DESC"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsHistorique", $param, "ResultQuery"); // Calcul de la durée de connexion et affichage des différentes dates. $last = new clDate(isset($res['dateslast'][0]) ? $res['dateslast'][0] : ''); $date = new clDate(isset($res['dateshisto'][0]) ? $res['dateshisto'][0] : ''); $duree = new clDuree($last->getDifference($date)); if ((isset($res['nombre'][0]) ? $res['nombre'][0] : '0') > 1) { $sc = "s"; } else { $sc = ''; } if ($duree->getMinutes() > 1) { $sm = "s"; } else { $sm = ''; } if ($duree->getSeconds() > 1) { $ss = "s"; } else { $ss = ''; } if ($duree->getMinutes() > 0) { $temps = $duree->getMinutes() . " minute{$sm}"; } else { $temps = $duree->getSeconds() . " seconde{$ss}"; } $infos = "Dernière connexion le " . $date->getDateTextFull("à") . " (" . (isset($res['nombre'][0]) ? $res['nombre'][0] : '0') . " clic{$sc}, durée de {$temps})<br />"; $infos .= "Déconnexion enregistrée le " . $last->getDateTextFull("à") . "<br />"; } $mod->MxText("informations", $infos); } else { $mod->MxText("informations", '--'); } // On affiche la date à laquelle les stats ont commencé être enregistrées. $mod->MxText("datestats", $datestats->getDateText()); // Affichage du tableau de stats. $mod->MxText("table", $list->getList(isset($pagination) ? $pagination : '')); // Affichage de la liste des personnes à sélectionner. $mod->MxSelect("choix", "choix", $_POST['choix'], $tab, '', '', "onChange=reload(this.form)"); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); //$this->genGraphs ( $mod ) ; $mod->MxCheckerField("graph", "checkbox", 'graph', 1, isset($_POST['graph']) ? $_POST['graph'] ? true : false : false, "title='Graphiques' onChange=reload(this.form)"); if (isset($_POST['graph']) and $_POST['graph']) { $this->genGraphs($mod); $mod->MxText("graphs.clicsHeure", "<img src=\"cache/image1.png\" alt=\"Clics par heure\"></img>"); $mod->MxText("graphs.tempsHeure", "<img src=\"cache/image2.png\" alt=\"Temps par clics moyen par heure\"></img>"); $mod->MxText("graphs.clicsJour", "<img src=\"cache/image3.png\" alt=\"Clics par jour\"></img>"); } else { $mod->MxBloc("graphs", "delete"); } //$mod -> MxText ( "tempsJour", "<img src=cache/image4.png></img>" ) ; // Récupération du code HTML généré. return $mod->MxWrite("1"); }
function getFormAjouter($nomListe) { global $options; global $session; // Chargement du template. $mod = new ModeliXe("CCAM_AjouterListeItem.mxt"); $mod->SetModeliXe(); // Nom de la liste. $mod->MxText("nomListe", $nomListe); // Champs texte pour entrer le nom de l'item. $mod->MxText("nomItem", "Valeur :"); $mod->MxFormField("nomItemF", "text", "nomItemF", $_POST['valeur'], "size=\"31\" maxlength=\"50\""); // Si le classement est manuel dans cette liste, alors on affiche une liste de positions possibles. if ($options->getOption($nomListe) == "Manuel") { $mod->MxText("placer", "Placer :"); $data = $this->getListeItems($nomListe, 1, 1); $mod->MxSelect("placerF", "placerF", '', $data, '', '', "size=\"1\""); } $mod->MxBloc("formType", "modify", " "); // Génération de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "ValiderAjouter", $nomListe)); return $mod->MxWrite("1"); }
function gestionListes() { /*****************************************************************************/ global $session; $action = "ccam"; $nomForm = "CCAM_GestionAnesthesiste.mxt"; // Appel du template $mod = new ModeliXe($nomForm); $mod->SetModeliXe(); $mod->MxText("titreFormulaire", "Gestion de la liste des médecins autorisés à pratiquer une anesthésie"); if ($action == "ccam") { //Suppression d'un médecin de la liste des anesthésistes if ($_POST['aGauche_x']) { $this->infos = $this->delMedecins(); } elseif ($_POST['aDroite_x']) { $this->infos = $this->addMedecins(); } //Récupération des valeurs pour Selection1 (correspond liste des specialités) !$_POST['idListeSelection1'] ? $idListeSelection1 = "aucun#" : ($idListeSelection1 = $_POST['idListeSelection1']); unset($param); $param[idDomaine] = "1"; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeSpe", $param, "Choisir une spécialité"); //Récupération des médecins pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la famille sélectionnéee dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = CCAM_IDDOMAINE; //$paramRelation[base] = CCAM_BDD; if ($idListeSelection1 and $idListeSelection1 != "aucun#") { $paramA[idListeSelection1] = $idListeSelection1; $paramA[base] = CCAM_BDD; //eko($idListeSelection1); //eko($listeIdRelation); $paramRelation[idListeSelection1] = $idListeSelection1; //eko ($paramRelation); // Si specialiste //if ( ); if ($_POST["idListeSelection1"] == "Urgentiste") { $elephant = "CCAM_getMedecinAListeGauche2"; } else { if ($_POST["idListeSelection1"] == "Toutes") { $elephant = "CCAM_getMedecinAListeGauche3"; } else { $elephant = "CCAM_getMedecinAListeGauche"; } } if ($_POST["idListeSelection1"] == "Toutes") { $tabListeGauche = $this->valeursListeGauche($elephant, "CCAM_getMedecinADomaine2", $paramA, $paramRelation, "Choisir un médecin"); } else { $tabListeGauche = $this->valeursListeGauche($elephant, "CCAM_getMedecinADomaine", $paramA, $paramRelation, "Choisir un médecin"); } } else { $tabListeGauche[0] = "Choisir un médecin"; } //Récupération des médecins pour la liste des actes déjà affectés (droite) unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idListeSelection1] = $idListeSelection1; if ($idListeSelection1 == "Toutes") { $requete = "CCAM_getMedecinADomaine2"; } else { $requete = "CCAM_getMedecinADomaine"; } $tabListeDroite = $this->valeursListeDroite($requete, $param, "Choisir un médecin"); $js = "onDblClick=reload(this.form)"; //Gestion du template $mod->MxText("titreSelection1", "Famille de spécialités : "); $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); $mod->MxText("titreDispo", "Listes des médecins disponibles"); $mod->MxText("titreAffecte", "Listes des médecins autorisés à pratiquer une anesthésie"); $mod->MxText("commentaireGauche", ""); $mod->MxText("commentaireDroite", ""); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("flDroite", "modify", " "); $mod->MxBloc("flGauche", "modify", " "); } } // 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", " "); } $mod->MxSelect("listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\""); $mod->MxSelect("listeDroite", "listeDroite[]", '', $tabListeDroite, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\" "); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $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 tarifsNGAP() { global $session; //On a lancer le rapatriement des tarifs depuis Pastel if ($_POST['imgCalcul_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); $res = $req->Execute("Fichier", "Tarifs_getTarifNGAP", array(), "ResultQuery"); eko($res); $mail = ""; for ($i = 0; isset($res[LC][$i]); $i++) { $lc = $res[LC][$i]; unset($param); //if ($res[TARIF][$i]!="0"){ // code de Christophe Boulet if ($res[TARIF][$i] >= 0) { // modification François Derock $param[tarif] = str_replace(",", ".", $res[TARIF][$i]); $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc='{$lc}'"; $res2 = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res2[INDIC_SVC]); if ($res2[INDIC_SVC][2]) { $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } else { $param[lc] = $param[lcNat] = $lc; $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->addRecord(); } } else { $mail .= "{$lc}, "; } } if ($mail) { $mail = substr($mail, 0, -2); $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "<b>Anomalie : </b>La mise à jour des tarifs (source PASTEL) renvoit '0' pour les lettres-clé suivantes : {$mail}<br>\r\n\t\t\t==> Les tarifs n'ont pas été mis à jour pour ces lettres-clés<p>\r\n\t\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[erreur] = "Certains tarifs sont à '0' dans PASTEL. Un mail de synthèse a été envoyé. Leur mise à jour a été annulée."; } else { $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL<p>\r\n\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL"; } } //On a validé les modifications if ($_POST['imgValider_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $varLC = "LC_" . $lc; $tarifLC = "tarif_" . $lc; unset($param); $param[lcNat] = $_POST[$varLC]; $param[tarif] = str_replace(",", ".", $_POST[$tarifLC]); $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été modifiés"; } // Appel du template $mod = new ModeliXe("CCAM_TarifsNGAP.mxt"); $mod->SetModeliXe(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } if ($session->getDroit("CCAM_TarifsNGAP", "w")) { if (!$_POST['imgModifier_x']) { $mod->MxFormField("modifier.imgModifier", "image", "imgModifier", "", "src=\"" . URLIMG . "modifier2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Modifier les correspondances nationales et les tarifs\""); $mod->MxFormField("maj.imgCalcul", "image", "imgCalcul", "", "src=\"" . URLIMG . "calculer.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Rapatrier les tarifs depuis PASTEL\""); $mod->MxBloc("valider", "delete"); } else { $mod->MxFormField("valider.imgValider", "image", "imgValider", "", "src=\"" . URLIMG . "Ok.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Valider les modifications\""); $mod->MxFormField("valider.imgAnnuler", "image", "imgAnnuler", "", "src=\"" . URLIMG . "annuler2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Annuler les modifications\""); $mod->MxBloc("maj", "delete"); $mod->MxBloc("modifier", "delete"); } } else { $mod->MxBloc("modifier", "delete"); $mod->MxBloc("valider", "delete"); $mod->MxBloc("maj", "delete"); } $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $mod->MxText("ligneLC.LC", $lc); if (!$_POST['imgModifier_x']) { $mod->MxText("ligneLC.LCnat", $res[lcNat][$i]); $mod->MxText("ligneLC.tarif", $res[tarif][$i]); } else { $varLC = "LC_" . $lc; $mod->MxFormField("ligneLC.LCnat", "text", $varLC, $res[lcNat][$i], "size=\"10\""); $tarifLC = "tarif_" . $lc; $mod->MxFormField("ligneLC.tarif", "text", $tarifLC, $res[tarif][$i], "size=\"10\""); } $mod->MxBloc("ligneLC", "loop"); } //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"); } $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function delListe($confirmation = '') { global $session; global $options; global $errs; if (!$confirmation) { // Chargement du template. $mod = new ModeliXe("CCAM_FormConfirmation.mxt"); $mod->SetModeliXe(); // Phrase de confirmation. $mod->MxText("question", "Etes vous certain de vouloir supprimer toute cette catégorie de " . $this->type . " ?"); // Génération de la variable de navigation. $liste = "&liste=" . stripslashes($_POST['liste']); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "validDelListe") . $liste); return $mod->MxWrite("1"); } else { $req = new clResultQuery(); // Récupération des informations actuelles de l'item. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND nomliste='" . $_POST['liste'] . "' AND categorie='" . $this->type . "'"; $res = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // Récupération de la liste des items. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND categorie='" . $this->type . "'"; $res2 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // On vérifie qu'on n'est pas en train de supprimer le dernier item. if ($res2[INDIC_SVC][2] > 1) { // Vérification que l'item existe. if ($res[INDIC_SVC][2] > 0) { // Décalage des rangs des autres items. $rang = $res[rang][0]; $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND rang>'{$rang}' AND categorie='" . $this->type . "' AND nomitem='LISTE'"; $res3 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); for ($i = 0; isset($res3[iditem][$i]); $i++) { $data[rang] = $res3[rang][$i] - 1; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data); $requete->updRecord("iditem='" . $res3[iditem][$i] . "'"); } // Message d'information. $this->infos .= "La liste \"" . $res[nomliste][0] . "\" a été supprimée de la liste des catégories de " . $this->type; // Suppression de l'item. $requete = new clRequete(CCAM_BDD, "ccam_liste"); $requete->delRecord("nomListe='" . $_POST['liste'] . "' AND nomitem='LISTE' AND categorie='" . $this->type . "'"); $_POST['liste'] = ''; } else { // Signalement $this->erreurs .= "La liste ne peut pas être supprimée (id=\"{$idItem}\") car elle n'existe pas."; $errs->addErreur("clListesGenerales : La liste ne peut pas être supprimée (id=\"{$idItem}\") car elle n'existe pas."); } } else { $this->erreurs .= "Impossible de supprimer la dernière liste \"" . stripslashes($_POST['liste']) . "\"."; } } }
function getForm1Diags($paramForm) { global $session; $mod = new ModeliXe("CCAM_Form1Acte.mxt"); $mod->SetModeliXe(); $mod->MxText("titreEnCours", $paramForm[titreEnCours]); $codeDiags = $paramForm[codeDiags]; $mod->MxText("titreCodeActe", "Code de la famille d'actes : "); $mod->MxText("codeActe", $codeDiags); $mod->MxText("titreLibActe", "Libellé de la famille d'actes : "); if ($paramForm[action2] != "supprimer") { $mod->MxFormField("libActe", "textarea", "libActe", $paramForm[libActe], "rows=\"3\" cols=\"50\"\twrap=\"virtual\""); } else { $mod->MxText("libVisuActe", $paramForm[libVisuActe]); $mod->MxText("confirmSuppr", "La suppression de la famille d'actes va également entraîner \r\n\t\t<br>la suppression de l'association actes/famille d'actes. \r\n\t\t<br>Confirmez la suppression en cliquant sur 'OK'"); } //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("validerActe", "delete"); $mod->MxBloc("annulerActe", "delete"); } $mod->MxHidden("hidden2", "nvxCode={$codeDiags}&action2={$paramForm['action2']}"); $af = $mod->MxWrite("1"); return $af; }
function genAffichage() { if ($this->xham->getDroit("Configuration_Utilisateurs", "r")) { if ($_POST['iduser'] == "CREATION") { // Chargement du template ModeliXe. $mod = new ModeliXe("CreationUtilisateur.mxt"); } else { // Chargement du template ModeliXe. $mod = new ModeliXe("GestionDesUtilisateurs.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", " "); } $listeUsers = $this->getUtilisateurs("Choisissez un utilisateur", "Création d'un utilisateur", "CREATION"); $mod->MxSelect("iduser", "iduser", $_POST['iduser'], $listeUsers, '', '', "onChange=reload(this.form)"); if ($_POST['iduser'] == "CREATION") { //$mod -> MxText ( "iduserselect.uid", "Généré automatiquement" ) ; $mod->MxFormField("iduserselect.uid", "text", "uid", $_POST['uid'], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fnom", "text", "nom", $_POST['nom'], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fprenom", "text", "prenom", $_POST['prenom'], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fmail", "text", "mail", $_POST['mail'], "size=\"24\" maxlength=\"48\""); $mod->MxFormField("iduserselect.password.pwd1", "password", "pwd1", "", "size=\"24\" maxlength=\"16\""); $mod->MxFormField("iduserselect.password.pwd2", "password", "pwd2", "", "size=\"24\" maxlength=\"16\""); } else { $mod->MxText("confirmation", $this->confirmation); if (isset($_POST['iduser']) && $_POST['iduser']) { $param[cw] = "WHERE idutilisateur='" . $_POST['iduser'] . "'"; $res = $this->xham->Execute("Fichier", "getUtilisateurs", $param, "ResultQuery"); if ($res[INDIC_SVC][2]) { if (!$_POST['uid']) { $_POST['uid'] = $res[uid][0]; } if (!$_POST['nom']) { $_POST['nom'] = $res[nom][0]; } if (!$_POST['prenom']) { $_POST['prenom'] = $res[prenom][0]; } if (!$_POST['mail']) { $_POST['mail'] = $res[mail][0]; } // Remplissage des champs. $mod->MxText("iduserselect.uid", $res[uid][0]); $mod->MxFormField("iduserselect.fnom", "text", "nom", $res[nom][0], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fprenom", "text", "prenom", $res[prenom][0], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fmail", "text", "mail", $res[mail][0], "size=\"24\" maxlength=\"48\""); $mod->MxFormField("iduserselect.password.pwd1", "password", "pwd1", "", "size=\"24\" maxlength=\"16\""); $mod->MxFormField("iduserselect.password.pwd2", "password", "pwd2", "", "size=\"24\" maxlength=\"16\""); $groupes = $this->getGroupesAffectes(); $mod->MxSelect("iduserselect.groupesdispos", "groupesdispos[]", $_POST['groupesdispos'], $this->getGroupesDisponibles($groupes), '', '', "size=\"11\" multiple=\"yes\""); $mod->MxSelect("iduserselect.groupesaffect", "groupesaffect[]", $_POST['groupesaffect'], $this->getGroupesAffectes2($groupes), '', '', "size=\"11\" multiple=\"yes\""); if (!$this->xham->getDroit("Configuration_Utilisateurs", "m")) { $mod->MxBloc("iduserselect.boutonannuler", "modify", " "); $mod->MxBloc("iduserselect.boutonenlever", "modify", " "); $mod->MxBloc("iduserselect.boutonajouter", "modify", " "); $mod->MxBloc("iduserselect.boutonmodifier", "modify", " "); } if (!$this->xham->getDroit("AgirETQ", "r")) { $mod->MxBloc("boutonagirETQ", "delete"); } else { $mod->MxHidden("boutonagirETQ.hidden", "iduser="******"Configuration_Utilisateurs", "d")) { $mod->MxBloc("iduserselect.boutonsupprimer", "modify", " "); } } else { $mod->MxBloc("iduserselect", "modify", " "); $mod->MxBloc("boutonagirETQ", "delete"); } } else { $mod->MxBloc("iduserselect", "modify", " "); $mod->MxBloc("boutonagirETQ", "delete"); } } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1))); // On retourne le code HTML généré. return $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"); }
static function genFenetreBloquante($template, $navi = '') { global $xham; global $session; // On détecte si c'est de la V1 ou de la V2. if (is_object($xham)) { $n = $xham; } else { $n = $session; } // Chargement du template ModeliXe. $mod = new ModeliXe($template); $mod->SetModeliXe(); if ($navi) { $mod->MxHidden("hidden", "navi={$navi}"); } else { $mod->MxHidden("hidden", "navi=" . $n->genNavi($n->getNavi(0), $n->getNavi(1), $n->getNavi(2), $n->getNavi(3))); } $res = $mod->MxWrite("1"); // Chargement du template ModeliXe. $mod = new ModeliXe("bloquant.html"); $mod->SetModeliXe(); $ras = preg_replace("/(\r\n|\n|\r)/", " ", nl2br($res)); $mod->MxText("div", "'" . $ras . "'"); return $mod->MxWrite("1"); }
function addDocForm() { global $session; global $errs; // Récupération des catégories existantes. $param[cw] = ""; $req = new clResultQuery(); $cat = $req->Execute("Fichier", "getCategoriesDocuments", $param, "ResultQuery"); for ($i = 0; isset($cat[categorie][$i]); $i++) { $tab[$cat[categorie][$i]] = $cat[categorie][$i]; } // Chargement du template. $mod = new ModeliXe("EditionDocument.mxt"); $mod->SetModeliXe(); $mod->MxBloc("modText", "modify", " "); $mod->MxBloc("Modifier", "modify", " "); $mod->MxBloc("Supprimer", "modify", " "); $mod->MxText("contenu", ''); $mod->MxSelect("listeCategories", "listeCategories", '', $tab, '', '', "size=\"1\""); $mod->MxFormField("nomDoc", "text", "nomDoc", '', "size=\"31\" maxlength=\"50\""); $mod->MxFormField("newCategorie", "text", "newCategorie", '', "size=\"31\" maxlength=\"50\""); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "validAddDoc")); // Si le droit d'écriture est présent, on affiche le bouton "Ajouter". if (!$session->getDroit("Administration_Documents", "w")) { $mod->MxBloc("Ajouter", "modify", " "); } return $mod->MxWrite("1"); }
function gestionDroits() { if ($this->xham->getDroit("Configuration_Droits", "r")) { // Si idgroupe est transmis, alors on affiche les opérations sur // les droits du groupe. if (isset($_POST['idgroupe']) and $_POST['idgroupe']) { // Si action est tranmis, on affiche la gestion des privilèges. if (isset($_POST['action']) and $_POST['action']) { // Si Enlever est transmis, on lance la suppression des droits sélectionnés. if (isset($_POST['Enlever']) or isset($_POST['Enlever_x'])) { $this->delDroits(); } // Si Ajouter est transmis, on lance l'ajout des droits sélectionnés. if (isset($_POST['Ajouter']) or isset($_POST['Ajouter_x'])) { $this->addDroits(); } // Création d'un nouveau droit. if (isset($_POST['CreerDroit']) or isset($_POST['CreerDroit_x'])) { $this->addNewDroit(); } // Suppression d'un droit. if ((isset($_POST['SupprimerDroit']) or isset($_POST['SupprimerDroit_x']) or $this->xham->getNavi(3) == "Suppression") and !isset($_POST['Annuler'])) { $bonus = $this->delDroit(isset($_POST['libelle']) ? $_POST['libelle'] : $this->xham->getNavi(4)); } // Récupération de la liste des groupes. $tab = $this->listeGroupes(); // Récupération des droits du groupe. $dro = $this->listeDroits("format"); // Récupération des droits attribuables. $tous = $this->listeDroits("format", $_POST['idgroupe']); // Appel du template. $mod = new ModeliXe("AttributionDeDroits.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", " "); } $act[0] = "Gestion des privilèges"; $act[1] = "Attribution des droits"; // Remplissage des différents champs. $mod->MxSelect("action", "action", $_POST['action'], $act, '', '', "onChange=reload(this.form)"); $mod->MxSelect("groupe", "idgroupe", $_POST['idgroupe'], $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroits")); $mod->MxSelect("tous", "tous[]", '', $tous, '', '', "size=\"15\" multiple=\"yes\" id=\"touslesdroitsdispos\""); $mod->MxSelect("droits", "droits[]", '', $dro, '', '', "size=\"15\" multiple=\"yes\" id=\"touslesdroitsgroupe\""); $mod->MxFormField("creation.libelle", "text", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', ""); $mod->MxFormField("creation.description", "text", "description", isset($_POST['description']) ? stripslashes($_POST['description']) : '', ""); $mod->MxHidden("creation.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroit", "Creation") . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); $listeDroits = $this->getTousDroits(); $mod->MxSelect("suppression.libelles", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', $listeDroits, '', '', 'size="15"'); $mod->MxHidden("suppression.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroit", "Suppression") . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); $mod->MxText("bonus", isset($bonus) ? $bonus : ''); if (!$this->xham->getDroit("Configuration_Droits", "w")) { $mod->MxBloc("boutonsajouter", "modify", ""); } if (!$this->xham->getDroit("Configuration_Droits", "d")) { $mod->MxBloc("boutonsenlever", "modify", ""); } if (!$this->xham->getDroit("Configuration_Droits", "a")) { $mod->MxBloc("creation", "delete"); } if (!$this->xham->getDroit("Configuration_Droits", "a")) { $mod->MxBloc("suppression", "delete"); } } else { // Si MajDroits est tranmis, alors on lance la mise à jour du droit. if (isset($_POST['MajDroits']) || isset($_POST['MajDroits_x'])) { $this->majDroits(); } // Récupération de la liste des groupes. $tab = $this->listeGroupes(); // Récupération de la liste des droits du groupe. $dro = $this->listeDroits(); // Chargement du template. $mod = new ModeliXe("GestionDesDroits.mxt"); $mod->SetModeliXe(); $act[0] = "Gestion des privilèges"; $act[1] = "Attribution des droits"; // Remplissage des champs. $mod->MxSelect("action", "action", isset($_POST['action']) ? $_POST['action'] : '', $act, '', '', "onChange=reload(this.form)"); $mod->MxSelect("groupe", "idgroupe", $_POST['idgroupe'], $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "MajDroits")); if (count($dro['iddroit']) > 0) { $mod->MxText("titres", "<tr><th>Libellé</th><th>Description</th><th title='lecture'>R</th><th title='écriture'>W</th><th title='modifier'>M</th><th title='effacer'>D</th><th title='administrer'>A</th>"); } else { $mod->MxText("titres", "<tr><th>Ce groupe ne possède aucun droit dans cette application.</th></tr>"); } // On parcourt chaque droit attribué au groupe, et on ajoute // une ligne au template pour gérer les privilèges. for ($i = 0; isset($dro['iddroit'][$i]); $i++) { $bin = sprintf("%05b", $dro['valeur'][$i]); $mod->MxText("listedroits.libelle", $dro['libelle'][$i]); $mod->MxText("listedroits.description", $dro['descriptiondroit'][$i]); $mod->MxCheckerField("listedroits.R", "checkbox", "R" . $dro['iddroit'][$i], 1, $bin[4] ? true : false, "title='Lecture'"); $mod->MxCheckerField("listedroits.W", "checkbox", "W" . $dro['iddroit'][$i], 1, $bin[3] ? true : false, "title='Ecriture'"); $mod->MxCheckerField("listedroits.M", "checkbox", "M" . $dro['iddroit'][$i], 1, $bin[2] ? true : false, "title='Modification'"); $mod->MxCheckerField("listedroits.D", "checkbox", "D" . $dro['iddroit'][$i], 1, $bin[1] ? true : false, "title='Effacement'"); $mod->MxCheckerField("listedroits.A", "checkbox", "A" . $dro['iddroit'][$i], 1, $bin[0] ? true : false, "title='Administration'"); $mod->MxBloc("listedroits", "loop"); } $mod->MxHidden("boutons.hidden2", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "")); if (!$this->xham->getDroit("Configuration_Droits", "m")) { $mod->MxBloc("boutons", "modify", ""); } } } else { // Dans ce cas, on affiche seulement la liste des groupes disponibles. $tab = $this->listeGroupes(); $mod = new ModeliXe("ListeGroupes.mxt"); $mod->SetModeliXe(); $mod->MxSelect("groupe", "idgroupe", isset($_POST['idgroupe']) ? $_POST['idgroupe'] : '', $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1))); } /* if ( ! ereg ( ".*".PRODKEYW.".*", URL ) AND URL ) { $mod -> MxUrl ( "lienMaj", URLNAVI.$session->genNavi ( $session->getNavi(0), $session->getNavi(1), "MajDroitsProd" ) ) ; $mod -> MxImage ( "imgMaj", URLIMGMAJ, "Envoyer en production" ) ; } */ $this->af .= $mod->MxWrite("1"); //ajout cervetti, javascript descriptions droits $this->af .= $this->genJavaTitles(); } }
function getFormAjouter($nomListe) { // Chargement du template. $mod = new ModeliXe("AjouterListeItem.mxt"); $mod->SetModeliXe(); $mod->MxText("formDeb", '<form method="post" action="index.php?#' . $nomListe . '">'); // Nom de la liste. $mod->MxText("nomListe", $nomListe); // Champs texte pour entrer le nom de l'item. $mod->MxText("nomItem", "Valeur :"); $mod->MxFormField("nomItemF", "text", "nomItemF", isset($_POST['valeur']) ? $_POST['valeur'] : '', "size=\"31\" maxlength=\"50\""); // Si le classement est manuel dans cette liste, alors on affiche une liste de positions possibles. if ($this->xham->getOption($nomListe) == "Manuel") { $mod->MxText("placer", "Placer :"); $data = $this->getListeItems($nomListe, 1, 1); $mod->MxSelect("placerF", "placerF", '', $data, '', '', "size=\"1\""); } if ($nomListe == "Destinations attendues") { $mod->MxText("formType.type", "Type :"); $data2['T'] = "Transfert"; $data2['H'] = "Hospitalisation"; $data2['E'] = "Externe"; $mod->MxSelect("formType.typeF", "typeF", 'H', $data2, '', '', "size=\"1\""); } else { $mod->MxBloc("formType", "modify", " "); } if ($this->xham->getOption($nomListe . " Id")) { $mod->MxText("formLibre.libre", "Identifiant :"); $mod->MxFormField("formLibre.libreF", "text", "libreF", isset($_POST['libreF']) ? $_POST['libreF'] : '', "size=\"31\" maxlength=\"50\""); } else { $mod->MxBloc("formLibre", "modify", " "); } // Génération de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "ValiderAjouter", $nomListe)); return $mod->MxWrite("1"); }
function genAffichage() { global $session; if (isset($_POST['Annuler']) or isset($_POST['Annuler_x'])) { $_POST['idGroupe'] = ''; } elseif ($session->getDroit("Configuration_Groupes", "w") and (isset($_POST['Ajouter']) or isset($_POST['Ajouter_x']))) { $text = $this->addGroupe(); } elseif ($session->getDroit("Configuration_Groupes", "m") and (isset($_POST['Modifier']) or isset($_POST['Modifier_x']))) { $text = $this->modGroupeV(); $_POST['idGroupe'] = ''; } elseif ($session->getDroit("Configuration_Groupes", "d") and (isset($_POST['Supprimer']) or isset($_POST['Supprimer_x']))) { $text = $this->delGroupe(); $_POST['idGroupe'] = ''; } elseif ($session->getDroit("Configuration_Groupes", "m") and isset($_POST['idGroupe'])) { $text = $this->modGroupe(); } if ((isset($_POST['Affecter']) or isset($_POST['Affecter_x'])) and $session->getDroit("Configuration_Groupes", "w")) { $this->affecterGroupes(); } if ((isset($_POST['Enlever']) or isset($_POST['Enlever_x'])) and $session->getDroit("Configuration_Groupes", "d")) { $this->enleverGroupes(); } // Chargement du template ModeliXe. $mod = new ModeliXe("GestionDesGroupes.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.erreurs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $listeGroupesAffectes = $this->getGroupesAffectes(); $listeGroupesNonAffectes = $this->getGroupesNonAffectes($listeGroupesAffectes); $mod->MxSelect("nonAffectes", "idGroupesNonAffectes[]", '', $listeGroupesNonAffectes, '', '', "size=\"15\" multiple=\"yes\""); $mod->MxSelect("Affectes", "idGroupesAffectes[]", '', $listeGroupesAffectes, '', '', "size=\"15\" multiple=\"yes\""); $tab = $this->listeGroupes(); $mod->MxText("gestiongroupe", isset($text) ? $text : ''); $mod->MxSelect("listeGroupes", "idGroupe", isset($_POST['idGroupe']) ? $_POST['idGroupe'] : '', $tab, '', '', "size=\"15\" onclick=reload(this.form)"); // Génération de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); if (!$session->getDroit("Configuration_Groupes", "w")) { $mod->MxBloc("nouveau", "modify", " "); } 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; }