Ejemplo n.º 1
1
 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");
     }
 }
Ejemplo n.º 2
0
 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");
 }
Ejemplo n.º 3
0
 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");
 }
Ejemplo n.º 4
0
 function showForm()
 {
     global $session;
     $mod = new ModeliXe("ReActes.html");
     $mod->SetModeliXe();
     $mod->MxHidden('hidden', "navi=" . $session->genNaviFull());
     $this->af = $mod->MxWrite("1");
 }
Ejemplo n.º 5
0
 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");
 }
Ejemplo n.º 6
0
 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");
 }
Ejemplo n.º 7
0
 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");
 }
Ejemplo n.º 8
0
 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");
 }
Ejemplo n.º 9
0
 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");
     }
 }
Ejemplo n.º 10
0
 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");
 }
Ejemplo n.º 11
0
 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");
 }
Ejemplo n.º 12
0
 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");
 }
Ejemplo n.º 13
0
 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;
 }
Ejemplo n.º 14
0
 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");
 }
Ejemplo n.º 15
0
 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;
 }
Ejemplo n.º 16
0
 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");
 }
Ejemplo n.º 17
0
 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");
 }
Ejemplo n.º 18
0
 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");
 }
Ejemplo n.º 19
0
 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");
     }
 }
Ejemplo n.º 20
0
 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");
 }
Ejemplo n.º 21
0
 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']) . "\".";
         }
     }
 }
Ejemplo n.º 22
0
 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;
 }
Ejemplo n.º 23
0
 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");
     }
 }
Ejemplo n.º 24
0
 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");
 }
Ejemplo n.º 25
0
 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");
 }
Ejemplo n.º 26
0
 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");
 }
Ejemplo n.º 27
0
 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();
     }
 }
Ejemplo n.º 28
0
 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");
 }
Ejemplo n.º 29
0
 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");
 }
Ejemplo n.º 30
-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;
 }