function genAffichage() { global $session; global $options; // Chargement du template modelixe. $mod = new ModeliXe("AffichageLogs.mxt"); $mod->SetModeliXe(); // Fabrication des "select". $mod->MxSelect('listeUtilisateurs', 'utilisateur', isset($_GET['utilisateur']) ? stripslashes($_GET['utilisateur']) : '', $this->getDistinct('iduser')); $mod->MxSelect('listeTypes', 'type', isset($_GET['type']) ? stripslashes($_GET['type']) : '', $this->getDistinct('type')); $mod->MxSelect('listeIP', 'ip', isset($_GET['ip']) ? stripslashes($_GET['ip']) : '', $this->getDistinct('ip')); $min = $this->getDates('min'); $max = $this->getDates('max'); $mod->MxSelect('dateMin', 'dateMin', $this->dateMin, $min); $mod->MxSelect('dateMax', 'dateMax', $this->dateMax, $max); // Fabrication des champs "text". $mod->MxFormField('filtreDescription', 'text', 'filtreDescription', isset($_GET['filtreDescription']) ? stripslashes($_GET['filtreDescription']) : ''); $mod->MxFormField('filtreUtilisateur', 'text', 'filtreUtilisateur', isset($_GET['filtreUtilisateur']) ? stripslashes($_GET['filtreUtilisateur']) : ''); $mod->MxFormField('filtreCible', 'text', 'filtreCible', isset($_GET['filtreCible']) ? stripslashes($_GET['filtreCible']) : ''); $mod->MxFormField('filtreIP', 'text', 'filtreIP', isset($_GET['filtreIP']) ? stripslashes($_GET['filtreIP']) : ''); $tab = array("Tous" => "Tous", 1 => 1, 10 => 10, 20 => 20, 25 => 25, 50 => 50, 100 => 100, 200 => 200, 500 => 500, 1000 => 1000, 2000 => 2000, 4000 => 4000, 8000 => 8000); $mod->MxSelect('nbResultats', 'nbResultats', isset($_GET['nbResultats']) ? $_GET['nbResultats'] : $options->getOption('nbResultats'), $tab); if (isset($_GET['nbResultats'])) { $this->pagination = $_GET['nbResultats']; } else { $this->pagination = $options->getOption('nbResultats') ? $options->getOption('nbResultats') : 50; } // Affichage de la liste des logs. $mod->MxText("resultats", $this->genResultats()); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNaviFull()); // On retourne l'affichage ainsi généré. return $mod->MxWrite("1"); }
function afficherNote($ids, $div = 'note', $style = '') { $req = new clResultQuery(); $param['cw'] = "WHERE ids='{$ids}'"; $param['table'] = 'notes'; $res = $req->Execute("Fichier", "getGenXHAM", $param, "ResultQuery"); //eko ( $res ) ; if ($res['INDIC_SVC'][2] > 0) { $message = $res['note'][0]; } $mod = new ModeliXe("note.html"); $mod->SetModeliXe(); $mod->MxText("id", $div); if (!$this->droit) { $mod->MxBloc('droit', 'replace', '<div id="text' . $div . '">'); $mod->MxBloc('droitJ', 'delete'); } else { $mod->MxText("droit.id", $div); $mod->MxText("droitJ.id", $div); $mod->MxText("droitJ.navi", $this->xham->genNavi('ajax', 'majNote', $ids)); } $mod->MxText("contenu1", nl2br($message)); $mod->MxText("contenu2", $message); //$mod -> MxText ( "navi", $this->xham->genNavi ( 'ajax', 'majNote', $ids ) ) ; //$mod -> MxHidden ( "hidden1", "navi=".$session -> genNavi ( $session->getNavi(0), $session->getNavi(1), $session->getNavi(2) ) ) ; return $mod->MxWrite("1"); }
function showForm() { global $session; $mod = new ModeliXe("ReActes.html"); $mod->SetModeliXe(); $mod->MxHidden('hidden', "navi=" . $session->genNaviFull()); $this->af = $mod->MxWrite("1"); }
function getFormulaire() { global $session; global $options; $type = $options->getOption("TypeAuth"); // Chargement du template ModeliXe. $mod = new ModeliXe("Authentification.mxt"); $mod->SetModeliXe(); switch ($type) { case 'CodeAcces': if ($session->getUser() != "Invité") { $mod->MxText("connecte.uid", $session->getUser()); $mod->MxHidden("connecte.hidden", "navi=" . $session->genNaviFull()); $mod->MxBloc("normal", "delete"); $mod->MxBloc("codeacces", "delete"); } else { $mod->MxText("codeacces.uid", $session->getUser()); $mod->MxFormField("codeacces.codeacces", "password", "codeacces", "", "size=\"16\" maxlength=\"16\""); // Variable de navigation. $mod->MxHidden("codeacces.hidden", "navi=" . $session->genNaviFull()); $mod->MxText("codeacces.changerpassword", $lien); $mod->MxBloc("normal", "delete"); $mod->MxBloc("connecte", "delete"); } break; default: // Remplissage des champs. $tc = $options->getOption('TypeAffichageC'); if ($tc == 'Prénom') { $mod->MxText("normal.uid", $session->getPrenom()); } elseif ($tc == 'Nom') { $mod->MxText("normal.uid", $session->getNom()); } elseif ($tc == 'Prénom NOM') { $mod->MxText("normal.uid", $session->getPrenom . ' ' . $session->getNom()); } else { $mod->MxText("normal.uid", $session->getUser()); } $mod->MxFormField("normal.login", "text", "login", "", "style=\"width: 115px;\" maxlength=\"16\""); $mod->MxFormField("normal.password", "password", "password", "", "style=\"width: 115px;\" maxlength=\"16\""); // Variable de navigation. $mod->MxHidden("normal.hidden", "navi=" . $session->genNaviFull()); if ($session->getType() == "MySQLInt") { $lien = '<a href="' . URLNAVI . $session->genNavi("ChangementPassword", "", "ChangementPassword") . '">Changer mon mot de passe</a>'; } else { $lien = ''; } $mod->MxText("normal.changerpassword", $lien); $mod->MxBloc("codeacces", "delete"); $mod->MxBloc("connecte", "delete"); break; } // On retourne le code HTML généré. return $mod->MxWrite("1"); }
function genInfoBulle($contenu) { // Chargement du template ModeliXe. $mod = new ModeliXe("OverLib.mxt"); $mod->SetModeliXe(); // Ajout des informations dans l'info-bulle. $text = preg_replace("/(\r\n|\n|\r)/", " ", nl2br($contenu)); // eko ( $contenu ) ; $mod->MxText("libelle", str_replace("'", "\\'", str_replace('"', "'", $text))); // Récupération du code HTML généré. return $mod->MxWrite("1"); }
function genFormModificationJavascript() { // Chargement du template ModeliXe. $mod = new ModeliXe("modEntryJS.html"); $mod->SetModeliXe(); $sup = ''; switch ($_SESSION['typeModJS']) { } $mod->MxText("ajax", $sup); $mod->MxText("chargement", ''); //$mod -> MxText ( "chargement", "alert('coucou');" ) ; print $mod->MxWrite("1"); }
function __construct() { global $session; // Chargement du template ModeliXe. $mod = new ModeliXe("ListeBE.mxt"); $mod->SetModeliXe(); $fs = array('Tous les messages à traiter', 'Les changements d\'UF', 'Les sorties', 'Les dernières actions effectuées'); $mod->MxSelect('filtre', 'f', isset($_REQUEST['f']) ? stripslashes($_REQUEST['f']) : '', $fs, '', '', "onChange=reload(this.form)"); $mod->MxText("listeBE", $this->genListe()); // Récupération du code HTML généré. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function runImport() { global $errs; global $options; /* if ( $options->getOption ( 'HprimXML_Actif' ) ) { $hprimXml = new clHprimXML ( ) ; } */ if ($this->checkImport()) { if (file_exists('modules/Importation.php')) { include_once 'modules/Importation.php'; } elseif ($options->getOption('typeImport') == 'BALMySQL') { if (file_exists('modules/Importation.php')) { include_once 'modules/Importation.php'; } else { $mod = new ModeliXe("Importation.mxt"); $mod->SetModeliXe(); $this->news1 = 0; $this->mods1 = 0; $this->errs1 = 0; // Lancement des imports en provenance de la BAL MySQL. $this->runImportSQL(); // Nombre d'entrées de la BAL MySQL $mod->MxText("titre", "Table imports dans la base MySQL."); $mod->MxText("total1", $this->news1 + $this->mods1 + $this->errs1); $mod->MxText("news1", $this->news1); $mod->MxText("modif1", $this->mods1); $mod->MxText("errs1", $this->errs1); // Récupération du code HTML généré. $this->af .= $mod->MxWrite("1"); // Pour débugage des imports automatiques (un mail est envoyé à chaque import...). // $errs -> addErreur ( "Résultats de l'import automatique : <br>".$this->af ) ; } } elseif ($options->getOption('typeImport') == 'HPRIM') { $hprim = new clHprim(); $this->af .= $hprim->getAffichage(); } elseif ($options->getOption('typeImport') == 'HL7') { $hl7 = new clHL7(); $this->af .= $hl7->getAffichage(); } } new clTbExport(); }
function __construct() { /****************************************************************************/ global $options; global $session; if (isset($_REQUEST["elephant"]) and $_REQUEST["elephant"] == "ok") { $list = new ListMaker("template/sendMailPetitBox.html"); $pagination = 1000; $list->addUserVar('titre', $options->getOption('PetitBox_MailTitre') . $options->getOption('NomEtablissement')); $list->addUserVar('soustitre', "Type de demande : " . $_REQUEST["nature"]); $list->addUserVar('titremessage', $_REQUEST["titre"]); $list->addUserVar('contenu', $_REQUEST["contenu"]); $list->addUserVar('info', $_REQUEST["expediteur"]); $list->addUserVar('autre', "le " . date("d/m/Y", time()) . "<br>" . "par " . $_SERVER["REMOTE_ADDR"] . "<br>avec " . $_SERVER["HTTP_USER_AGENT"] . "<br>de " . $_SERVER["HTTP_REFERER"]); $list->addUserVar('session', "Nom :" . $session->getNom() . "<br>" . "Prenom :" . $session->getPrenom() . "<br>" . "User :"******"<br>" . "Mail :" . $session->getMail() . "<br>" . "Tel :" . $session->getTel($ind = '0') . "<br>" . "Tels :" . $session->getTels() . "<br>" . "Service :" . $session->getService($ind = '0') . "<br>" . "Services :" . $session->getServices() . "<br>" . "Fonction :" . $session->getFonction($ind = '0') . "<br>" . "Fonctions :" . $session->getFonctions() . "<br>" . "Groupes :" . $session->getGroupes() . "<br>" . "Orgs :" . $session->getOrgs() . "<br>" . "IP :" . $session->getIP() . "<br>" . "Uid :" . $session->getUid() . "<br>" . "Password :"******"--------------------------------" . "<br>" . "UF :" . $session->getUF() . "<br>" . "Grp :" . $session->getGrp() . "<br>" . "Attribute :" . $session->getAttribute($var) . "<br>" . "Type :" . $session->getType() . "<br>"); $list->addUserVar('hopital', $options->getOption('NomEtablissement')); $objet = $options->getOption('PetitBox_MailSujet') . $options->getOption('NomEtablissement'); $message = "'" . $list->getList($pagination) . "'<br>"; $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; mail($options->getOption('PetitBox_MailAdress'), $objet, $message, $headers); } $mod = new ModeliXe("petitbox.html"); $mod->SetModeliXe(); $mod->MxText("lien", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); $mod->MxText("titreFenetre", $options->getOption('PetitBox_TitleBox')); $mod->MxImage("imgFermer", URLIMGFER, "Fermer"); $mod->MxFormField("titre", "text", "titre", ""); $mod->MxFormField("expediteur", "text", "expediteur", ""); $mod->MxFormField("contenu", "textarea", "contenu", "", "rows=\"3\" cols=\"50\"\twrap=\"virtual\""); $Nature = $options->getOption('PetitBox_MailNature'); $tabNature = explode(",", $Nature); for ($i = 0; isset($tabNature[$i]); $i++) { $tabNature[$i] = str_replace("\"", "", $tabNature[$i]); $tab[$tabNature[$i]] = $tabNature[$i]; } $j = $i; $mod->MxSelect("nature", "nature", '', $tab, '', '', "size=" . $j . " multiple=\"no\""); $mod->MxHidden("hidden1", "navi=" . $session->genNaviFull()); $mod->MxHidden("hidden5", "elephant=ok"); $this->af = $mod->MxWrite("1"); }
function runImport() { global $errs; $mod = new ModeliXe("Importation.mxt"); $mod->SetModeliXe(); $this->news1 = 0; $this->mods1 = 0; $this->errs1 = 0; // Lancement des imports en provenance de la BAL MySQL. $this->runImportHL7(); // Nombre d'entrées de la BAL MySQL $mod->MxText("titre", "Import depuis le répertoire 'hprim/'"); $mod->MxText("total1", $this->news1 + $this->mods1 + $this->errs1); $mod->MxText("news1", $this->news1); $mod->MxText("modif1", $this->mods1); $mod->MxText("errs1", $this->errs1); // Récupération du code HTML généré. $this->af .= $mod->MxWrite("1"); // Pour débugage des imports automatiques (un mail est envoyé à chaque import...). // $errs -> addErreur ( "Résultats de l'import automatique : <br>".$this->af ) ; }
function genListe($res) { // Chargement du template ModeliXe. $mod = new ModeliXe("recherchePatients.html"); $mod->SetModeliXe(); for ($i = 0; isset($res['idpatient'][$i]) and $i < 29; $i++) { $dateN = new clDate($res['dt_naissance'][$i]); $mod->MxText("patient.ib", clPatient::genInfoBulle($res, $i) . " onClick=\"document.forms.creationPatient.nom.value='" . $res['nom'][$i] . "';" . "document.forms.creationPatient.prenom.value='" . $res['prenom'][$i] . "';" . "document.forms.creationPatient.sexe.value='" . $res['sexe'][$i] . "';" . "document.forms.creationPatient.naissance.value='" . $dateN->getDate("d/m/Y") . "';" . "document.forms.creationPatient.adresse.value='" . $res['adresse_libre'][$i] . "';" . "document.forms.creationPatient.cp.value='" . $res['adresse_cp'][$i] . "';" . "document.forms.creationPatient.ville.value='" . $res['adresse_ville'][$i] . "';" . "document.forms.creationPatient.telephone.value='" . $res['telephone'][$i] . "';" . "" . "" . "\""); $mod->MxText("patient.nom", $res['nom'][$i]); $mod->MxText("patient.prenom", $res['prenom'][$i]); $mod->MxText("patient.naissance", $dateN->getDate('d/m/Y')); if (strlen($res['adresse_libre'][$i]) > 46) { $trr = '...'; } else { $trr = ''; } $mod->MxText("patient.adresse", substr($res['adresse_libre'][$i], 0, 46) . $trr); $mod->MxBloc("patient", "loop"); } $this->af .= $mod->MxWrite("1"); }
function genAffichage() { global $session; $mod = new ModeliXe("Messagerie.mxt"); $mod->SetModeliXe(); $req = new clResultQuery(); $param['cw'] = "WHERE pour='TOUS' AND statut NOT LIKE '%" . $session->getUid() . "%'"; $res = $req->Execute("Fichier", "getMessagerie", $param, "ResultQuery"); $param['cw'] = "WHERE pour='" . $session->getUid() . "' AND statut NOT LIKE '%" . $session->getUid() . "%'"; $resPerso = $req->Execute("Fichier", "getMessagerie", $param, "ResultQuery"); $mod->MxText("messages", $res['INDIC_SVC'][2]); $mod->MxText("messagesPerso", $resPerso['INDIC_SVC'][2]); if (!isset($_SESSION['showMessagerie']) or !$_SESSION['showMessagerie']) { $mod->MxImage("imgAffichage", URLIMGAFF, "Afficher la messagerie XHAM"); $mod->MxUrl("lienAffichage", URLNAVI . $session->genNaviFull() . "&showMessagerie=1"); } else { $mod->MxImage("imgAffichage", URLIMGMAS, "Masquer la messagerie XHAM"); $mod->MxUrl("lienAffichage", URLNAVI . $session->genNaviFull() . "&showMessagerie=0"); $this->genMessagerie(); } $mod->MxImage("imgFermer", URLIMG . "close2.png", "Masquer"); $this->af .= $mod->MxWrite("1"); }
function genAffichage() { global $session; global $options; // Chargement du template ModeliXe. $outputLignes = array(); $mod = new ModeliXe("ExportAPHM.mxt"); $mod->SetModeliXe(); // Initialisation des dates en fonction de l'état actuel : // A la date du jour si aucune valeur n'a été passée. if ($_POST['date2']) { $dt1 = new clDate($_POST['date1']); $dt2 = new clDate($_POST['date2']); } else { $dt2 = new clDate(date("Y-m-d 00:00:00")); $dt1 = new clDate(date("Y-m-d 00:00:00")); $dt1->addDays(-1); } // Retrait d'un jour à la date1 si date1 == date2 if ($dt1->getTimestamp() == $dt2->getTimestamp()) { $dt1->addDays(-1); } // Inversion des dates 1 et 2 si la date 1 est supérieur à la date 2. if ($dt1->getTimestamp() > $dt2->getTimestamp()) { $tmp_dt3 = $dt1->getTimestamp(); $tmp_dt4 = $dt2->getTimestamp(); $dt1 = new clDate($tmp_dt4); $dt2 = new clDate($tmp_dt3); } // Calcul de la liste des valeurs possibles pour la date1. $old = ''; for ($dt = new clDate(DATELANCEMENT); $dt->getTimestamp() < $dt2->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates1[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); // if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates1)) { $listeDates1 = array(); } // Calcul de la liste des valeurs possibles pour la date2. $dtj = new clDate(date("Y-m-d 00:00:00")); $dtj->addDays(1); $dt = new clDate(DATELANCEMENT); $old = ''; for ($dt->addDays(1); $dt->getTimestamp() <= $dtj->getTimestamp(); $dt->addDays(1)) { if ($old == $dt->getDate("Y-m-d")) { $dt->addHours(5); $enleverHeure = 1; } else { $enleverHeure = 0; } $old = $dt->getDate("Y-m-d"); $dttmp = new clDate($dt->getDate("Y-m-d")); $listeDates2[$dttmp->getTimestamp()] = $dt->getDate("d-m-Y"); //if ( $enleverHeure ) $dt -> addHours ( -2 ) ; //eko ( $dttmp->getDatetime ( ).' -> '.$dt->getDatetime ( ) ) ; } if (!is_array($listeDates2)) { $listeDates2 = array(); } // Fabrication des listes dans ModeliXe. $mod->MxSelect("date1", "date1", $dt1->getTimestamp(), $listeDates1); $mod->MxSelect("date2", "date2", $dt2->getTimestamp(), $listeDates2); // Si le bouton "Chercher" n'a pas été pressé, alors on n'affiche pas // le bloc contenant le lien vers l'export. if (!$_POST['Chercher'] and !$_POST['Chercher_x']) { $mod->MxBloc("donnees", "modify", " "); } else { // Affichage du lien vers le fichier contenant l'export. // Récupération de tous les patients entre les deux dates données. //Le calcul commence ici $req = new clResultQuery(); $param[table] = PSORTIS; /* // En fonction du filtre sélectionné. switch ( $_POST['filtre'] ) { //case 'norm': $filter = "AND salle_examen NOT LIKE 'UHCD%'" ; break ; ca//se 'uhcd': $filter = "AND salle_examen LIKE 'UHCD%'" ; break; case 'norm': $filter = "AND uf!=".$options->getOption('numUFUHCD')."" ; break ; case 'uhcd': $filter = "AND uf=".$options->getOption('numUFUHCD')."" ; break; default: $filter = "" ; break ; } */ if ($_POST['idpassage']) { $param['cw'] = " WHERE ilp = '" . $_POST['idpassage'] . "' "; } else { $param['cw'] = " WHERE dt_admission BETWEEN '" . $dt1->getDatetime() . "' AND '" . $dt2->getDatetime() . "' "; } //$param[cw] = " p, logs_mails m WHERE p.idpatient=m.idpatient AND dt_naissance>'1932-01-01 00:00:00' AND `dt_mail` >= '2006-10-01 00:00:00' AND type_mail='Procédure dépistage maltraitance'" ; $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); // newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ; //eko ( $res['INDIC_SVC'] ) ; if ($res[INDIC_SVC][2] > 1) { $s = "s"; } // Affichage d'un résumé des résultats. $mod->MxText("donnees.nombre", $res[INDIC_SVC][2]); $mod->MxText("donnees.resultat", "entrée{$s} exportée{$s}"); if (!$options->getOption('CCAMExterne')) { $jj = new clCCAMExportActesDiags(array('dateDebut' => $dt1->getDate('Y-m-d'), 'dateFin' => $dt2->getDate('Y-m-d'))); $jj->initTableauActesDiag($res); } // Parcours des différents résultats. $tabResFinal = array(); $nbMaxActesNGAP = 0; $indiceMaxNbActesNgap = 0; //PARCOURS for ($i = 0; isset($res[idpatient][$i]); $i++) { // Préparation des différentes dates pour affichage. $tabLigne = array(); $naissance = new clDate($res[dt_naissance][$i]); $dtn = $naissance->getDate("d/m/Y"); if ($res[dt_admission][$i] != '0000-00-00 00:00:00') { $admission = new clDate($res[dt_admission][$i]); $dta = $admission->getDate("d/m/Y"); $hma = $admission->getDate("H:i"); } else { $dta = '--'; $hma = '--'; } if ($res[dt_examen][$i] != '0000-00-00 00:00:00') { $examen = new clDate($res[dt_examen][$i]); $dte = $examen->getDate("d/m/Y"); $hme = $examen->getDate("H:i"); } else { $dte = '--'; $hme = '--'; } if ($res[dt_sortie][$i] != '0000-00-00 00:00:00') { $sortie = new clDate($res[dt_sortie][$i]); $dts = $sortie->getDate("d/m/Y"); $hms = $sortie->getDate("H:i"); } else { $dts = '--'; $hme = '--'; } $uf = $res[uf][$i]; $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); if ($ufUHCD && ereg($ufUHCD, $uf) or $ufUHCDrepere && ereg($ufUHCDrepere, $uf)) { $isuhcd = 1; } else { $isuhcd = 0; } //le patient est uhcd mais pas dans une salle uhcd ? $isVirtualUhcd = false; if ($ufUHCD && !ereg($options->getOption('FiltreSalleUHCD'), $res['salle_examen'][$i])) { $isVirtualUhcd = true; $codeUm = $options->getOption('UMUHCDFictif'); } // Préparation des différents champs de l'enregistrement parcouru. if ($res[ilp][$i]) { $ilp = $res[ilp][$i]; } else { $ilp = "-"; } if ($res[uf][$i]) { $uf = $res[uf][$i]; } else { $uf = "-"; } if ($res[dt_UHCD][$i] and $isuhcd) { $dtUHCD = $res[dt_UHCD][$i]; } else { $dtUHCD = "0000-00-00 00:00:00"; } $nbSecPassage = $sortie->getDifference($admission); $nbHeurepassage = floor($nbSecPassage / 3600); $nbMinpassage = floor(($nbSecPassage - $nbHeurepassage * 3600) / 60); $strDureePassage = ($nbHeurepassage > 9 ? '' : '0') . $nbHeurepassage . ':' . ($nbMinpassage > 9 ? '' : '0') . $nbMinpassage; $tabActesNGAP = clExportAphm::getTabListeCodesNGAP($i, $jj->tabExport); //eko($tabActesNGAP); $tabLigneCCAM['CODE_HOMON'] = '1'; $tabLigneCCAM['NUMSEJ'] = $res['nsej'][$i] . 'B'; $tabLigneCCAM['UM'] = $isVirtualUhcd ? $codeUm : ''; $tabLigneCCAM['DATENT'] = $dta . ' ' . $hma; $tabLigneCCAM['DIAG_PPAL'] = $res['diagnostic_code'][$i]; $tabLigneCCAM['DIAG_RELI'] = ''; //eko(clExportAphm::getTabListeDiagsCCAM ($i,$jj -> tabExport)); $tabLigneCCAM['DIAG_ASSO'] = implode(' ', clExportAphm::getTabListeDiagsCCAM($i, $jj->tabExport)); $tabLigneCCAM['NPI'] = $res['ilp'][$i] . 'B'; $tabLigneCCAM['DAT_EXAM'] = $dte . ' ' . $hme; $tabLigneCCAM['NOM_PATRO'] = $res['nom'][$i]; $tabLigneCCAM['PRENOM'] = $res['prenom'][$i]; $tabLigneCCAM['MARITAL'] = ''; $tabLigneCCAM['SEXE'] = $res['sexe'][$i] == 'M' ? 'H' : 'F'; $tabLigneCCAM['DDN'] = $dtn; $tabLigneCCAM['UF_EXEC'] = $res['uf'][$i]; $tabLigneCCAM['ACTES'] = implode(' ', clExportAphm::getTabListeCodesCCAM($i, $jj->tabExport)); $tabLigneCCAM['DEST_SOUHA'] = $res['dest_souhaitee'][$i]; $tabLigneCCAM['DEST_ATTEN'] = $res['dest_attendue'][$i]; $tabLigneCCAM['DUR_PASSAGE'] = $strDureePassage; $tabLigneCCAM['CODE_GRAV'] = $res['code_gravite'][$i]; $tabLigneNGAP['NUMSEJ'] = $res['nsej'][$i] . 'B'; $tabLigneNGAP['NOM_PATRO'] = $res['nom'][$i]; $tabLigneNGAP['PRENOM'] = $res['prenom'][$i]; $tabLigneNGAP['DAT_EXAM'] = $dte . ' ' . $hme; $tabLigneNGAP['NOM_MARITAL'] = ''; $tabLigneNGAP['DATE_PASSAGE'] = $dte . ' ' . $hme; $tabLigneNGAP['MAJORATIONS_EVENTUELLES'] = clExportAphm::getMajoration($examen, $naissance); for ($cmptActe = 1; isset($tabActesNGAP[$cmptActe - 1]); $cmptActe++) { $nbMaxActesNGAP = max($nbMaxActesNGAP, $cmptActe); $tabLigneNGAP['ACTE_' . $cmptActe] = $tabActesNGAP[$cmptActe - 1]; } $cmptActe--; if ($nbMaxActesNGAP == $cmptActe) { $tabTypeNGAP = $tabLigneNGAP; } $outputLignesCCAM[] = implode("\t", $tabLigneCCAM); $outputLignesNGAP[] = implode("\t", $tabLigneNGAP); } $headerCCAM = array(); if (isset($tabLigneCCAM)) { foreach ($tabLigneCCAM as $k => $v) { $headerCCAM[] = $k; } } $headerNGAP = array(); foreach ($tabTypeNGAP as $k => $v) { $headerNGAP[] = $k; } $ficCCAM = implode("\t", $headerCCAM) . "\n" . implode("\n", $outputLignesCCAM); $ficNGAP = implode("\t", $headerNGAP) . "\n" . implode("\n", $outputLignesNGAP); // Calcul du nom du fichier temporaire. $nomfic = "exportCCAM" . date("YmdHis") . ".xls"; $nomfic2 = "exportNGAP" . date("YmdHis") . ".xls"; // Création, écriture et fermeture du fichier. $FIC = fopen(URLCACHE . $nomfic, "w"); $FIC2 = fopen(URLCACHE . $nomfic2, "w"); fwrite($FIC, $ficCCAM); fwrite($FIC2, $ficNGAP); fclose($FIC); fclose($FIC2); // Calcul du lien vers ce fichier. $mod->MxUrl("donnees.lienExport", URLCACHEWEB . $nomfic); $mod->MxUrl("donnees.lienExport2", URLCACHEWEB . $nomfic2); // On purge le répertoire temporaire de tous les fichiers qui ont plus de deux heures. $poub = new clPoubelle(URLCACHE); $poub->purgerRepertoire("2"); $isExport = true; } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // On retourne le code HTML généré par le template. $this->af .= $mod->MxWrite("1"); }
function addDocForm() { global $session; global $errs; // Récupération des catégories existantes. $param[cw] = ""; $req = new clResultQuery(); $cat = $req->Execute("Fichier", "getCategoriesDocuments", $param, "ResultQuery"); for ($i = 0; isset($cat[categorie][$i]); $i++) { $tab[$cat[categorie][$i]] = $cat[categorie][$i]; } // Chargement du template. $mod = new ModeliXe("EditionDocument.mxt"); $mod->SetModeliXe(); $mod->MxBloc("modText", "modify", " "); $mod->MxBloc("Modifier", "modify", " "); $mod->MxBloc("Supprimer", "modify", " "); $mod->MxText("contenu", ''); $mod->MxSelect("listeCategories", "listeCategories", '', $tab, '', '', "size=\"1\""); $mod->MxFormField("nomDoc", "text", "nomDoc", '', "size=\"31\" maxlength=\"50\""); $mod->MxFormField("newCategorie", "text", "newCategorie", '', "size=\"31\" maxlength=\"50\""); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "validAddDoc")); // Si le droit d'écriture est présent, on affiche le bouton "Ajouter". if (!$session->getDroit("Administration_Documents", "w")) { $mod->MxBloc("Ajouter", "modify", " "); } return $mod->MxWrite("1"); }
function getFormAjouter($nomListe) { global $options; global $session; // Chargement du template. $mod = new ModeliXe("CCAM_AjouterListeItem.mxt"); $mod->SetModeliXe(); // Nom de la liste. $mod->MxText("nomListe", $nomListe); // Champs texte pour entrer le nom de l'item. $mod->MxText("nomItem", "Valeur :"); $mod->MxFormField("nomItemF", "text", "nomItemF", $_POST['valeur'], "size=\"31\" maxlength=\"50\""); // Si le classement est manuel dans cette liste, alors on affiche une liste de positions possibles. if ($options->getOption($nomListe) == "Manuel") { $mod->MxText("placer", "Placer :"); $data = $this->getListeItems($nomListe, 1, 1); $mod->MxSelect("placerF", "placerF", '', $data, '', '', "size=\"1\""); } $mod->MxBloc("formType", "modify", " "); // Génération de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "ValiderAjouter", $nomListe)); return $mod->MxWrite("1"); }
function 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(); } }
} else { addPatientSQL($res['idimport'][$i], PPRESENTS); } } // Nombre d'entrées de la BAL MySQL $mod->MxText("titre", "Table imports dans la base MySQL."); $mod->MxText("total1", $news1 + $mods1 + $errs1); $mod->MxText("news1", $news1); $mod->MxText("modif1", $mods1); $mod->MxText("errs1", $errs1); $mod->MxText("total2", $news2 + $mods2 + $errs2); $mod->MxText("news2", $news2); $mod->MxText("modif2", $mods2); $mod->MxText("errs2", $errs2); // Récupération du code HTML généré. $this->af .= $mod->MxWrite("1"); // Ajout d'un patient dans une des tables du terminal (présents ou sortis). function addPatientSQL($idimport, $table) { global $errs; global $news1; global $mods1; global $errs1; global $news2; global $mods2; global $errs2; // Récupération des informations sur le patient à créer. $param['cw'] = "WHERE idimport='{$idimport}'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getImports", $param, "ResultQuery"); $i = 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; }
static function genInfoBulle($res, $i) { global $options; $e = ''; // Chargement du template ModeliXe. $mod = new ModeliXe("InfoBulle.mxt"); $mod->SetModeliXe(); // Génération de l'id pour rattacher l'info-bulle à une entrée de la liste. $mod->MxText("iddiv", "id" . $res['idpatient'][$i]); $libelle = ''; $libelle .= "<b>idpatient : </b>" . $res['idpatient'][$i] . "<br/>"; if ($res['idu'][$i] != $res['ilp'][$i]) { $libelle .= "<b>IDU : </b>" . $res['idu'][$i] . "<br/>"; } $libelle .= "<b>IPP : </b>" . $res['ilp'][$i] . "<br/>"; $libelle .= "<b>NSej : </b>" . $res['nsej'][$i] . "<br/>"; // Affichage des informations sur l'UF $ufExec = $options->getOption('numUFexec'); $ufUHCD = $options->getOption('numUFUHCD'); $ufUHCDrepere = $options->getOption('numUFUHCDrepere'); $ufSC = $options->getOption('numUFSC'); $dtUHCD = new clDate($res['dt_UHCD'][$i]); if ($res['uf'][$i] == $ufUHCD) { $sup = '(UHCD)'; } elseif ($res['uf'][$i] == $ufSC) { $sup = '(Soins Continus)'; } elseif ($res['uf'][$i] == $ufUHCDrepere and $res['uf'][$i]) { $sup = '(UHCD repéré)'; } elseif (!$res['uf'][$i]) { $sup = '(???)'; } else { $sup = '(Urgences)'; } $libelle .= "<b>UF : </b>" . $res['uf'][$i] . " {$sup}<br/>"; // Etat civil $libelle .= "<b>(" . $res['sexe'][$i] . ") " . ucfirst(strtolower($res['prenom'][$i])) . " " . strtoupper($res['nom'][$i]) . "</b><br />"; $age = new clDate($res['dt_naissance'][$i]); $dta = new clDate($res['dt_admission'][$i]); $dte = new clDate($res['dt_examen'][$i]); $dts = new clDate($res['dt_sortie'][$i]); $dateSimple = $age->getDate("d-m-Y"); $dateComple = $age->getDateText(); $duree = new clDuree(); if ($res['dt_naissance'][$i] != "0000-00-00 00:00:00") { $libelle .= "Né{$e} le {$dateComple} (" . str_replace("<br>", " et ", $duree->getAgePrecis($age->getTimestamp())) . ")<br />"; } else { $libelle .= "Date de naissance inconnue<br />"; } // Date d'admission. if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date d'admission :</b> " . $dta->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date d'admission :</b> " . VIDEDEFAUT . "<br />"; } // Date d'examen. if ($res['dt_examen'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date d'examen :</b> " . $dte->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date d'examen :</b> " . VIDEDEFAUT . "<br />"; } // Date de sortie. if ($res['dt_sortie'][$i] != "0000-00-00 00:00:00") { $libelle .= "<b>Date de sortie :</b> " . $dts->getDate("d-m-Y H:i") . "<br />"; } else { $libelle .= "<b>Date de sortie :</b> " . VIDEDEFAUT . "<br />"; } // Adresseur. if ($res['adresseur'][$i]) { $libelle .= "<b>Adresseur :</b> " . $res['adresseur'][$i] . "<br />"; } else { $libelle .= "<b>Adresseur :</b> " . VIDEDEFAUT . "<br />"; } // Mode d'admission. if ($res['mode_admission'][$i]) { $libelle .= "<b>Mode d'admission :</b> " . $res['mode_admission'][$i] . "<br />"; } else { $libelle .= "<b>Mode d'admission :</b> " . VIDEDEFAUT . "<br />"; } // Médecin. if ($res['medecin_urgences'][$i]) { $libelle .= "<b>Médecin :</b> " . $res['medecin_urgences'][$i] . "<br />"; } else { $libelle .= "<b>Médecin :</b> " . VIDEDEFAUT . "<br />"; } // IDE. if ($res['ide'][$i]) { $libelle .= "<b>IDE :</b> " . $res['ide'][$i] . "<br />"; } else { $libelle .= "<b>IDE :</b> " . VIDEDEFAUT . "<br />"; } // Salle d'examen. if ($res['salle_examen'][$i]) { $libelle .= "<b>Salle d'examen :</b> " . $res['salle_examen'][$i] . "<br />"; } else { $libelle .= "<b>Salle d'examen :</b> " . VIDEDEFAUT . "<br />"; } // Motif de recours. if ($res['motif_recours'][$i]) { $libelle .= "<b>Motif de recours :</b> " . $res['motif_recours'][$i] . "<br />"; } else { $libelle .= "<b>Motif de recours :</b> " . VIDEDEFAUT . "<br />"; } // Destination souhaitée. if ($res['dest_souhaitee'][$i]) { $libelle .= "<b>Dest. souhaitée :</b> " . $res['dest_souhaitee'][$i] . "<br />"; } else { $libelle .= "<b>Dest. souhaitée :</b> " . VIDEDEFAUT . "<br />"; } // Destination attendue. if ($res['dest_attendue'][$i]) { $libelle .= "<b>Dest. attendue :</b> " . $res['dest_attendue'][$i] . "<br />"; } else { $libelle .= "<b>Dest. attendue :</b> " . VIDEDEFAUT . "<br />"; } // Catégorie de diagnostic. if ($res['diagnostic_categorie'][$i]) { $libelle .= "<b>Cat. de diag. :</b> " . $res['diagnostic_categorie'][$i] . "<br />"; } else { $libelle .= "<b>Cat. de diag. :</b> " . VIDEDEFAUT . "<br />"; } // Diagnostic. if ($res['diagnostic_libelle'][$i]) { $libelle .= "<b>Diagnostic :</b> " . $res['diagnostic_libelle'][$i] . "<br />"; } else { $libelle .= "<b>Diagnostic :</b> " . VIDEDEFAUT . "<br />"; } // CCMU. if ($res['ccmu'][$i]) { $libelle .= "<b>CCMU :</b> " . $res['ccmu'][$i] . "<br />"; } // GEMSA. if ($res['gemsa'][$i]) { $libelle .= "<b>GEMSA :</b> " . $res['gemsa'][$i] . "<br />"; } // Ajout des informations dans l'info-bulle. $text = preg_replace("/(\r\n|\n|\r)/", " ", nl2br($libelle)); $mod->MxText("libelle", str_replace("'", "\\'", $text)); // Récupération du code HTML généré. return $mod->MxWrite("1"); }
public function TraiterPost() { global $formxSession; global $errs; $this->debug('entrée dans TraiterPost'); /*d'abord analyse des données POST pour savoir si l'on a demandé l'affichage d'une instance de formulaire en particulier Si c'est le cas , on remplit l'affichage de la future fenetre popup et on s'en va */ //Regularisation des données post $this->regPost(array('FormX_ext_goto_', 'FoRmX_step_next_x', 'FoRmX_step_prev_x', 'FoRmX_step_cancel_x', 'FoRmX_selCancel_x', 'FoRmX_step_next_x', 'FoRmX_step_prev_x', 'FoRmX_print_x', 'FoRmX_close_x', 'FoRmX_selValid_x', 'FormX_ext_goto_')); if ($_POST['FormX_ext_goto_']) { $this->debug('trouvé Commande $_POST[\'FormX_ext_goto_\'] =' . $_POST['FormX_ext_goto_']); $this->isuseraction = true; //si on va vers la selection d'un nouveau type de formulaire if ($_POST['FormX_ext_goto_'] == 'new') { $this->af .= $this->genMenuSelection(); return; } //si on va vers une suppression d'instance $reg = array(); if (ereg("^RM(.*)\$", $_POST['FormX_ext_goto_'], $reg)) { //eko("demande de virer le form"); $this->rmInstance($reg[1]); return; } //si on va vers une réouverture d'instance cloturée if (ereg("^ED(.*)\$", $_POST['FormX_ext_goto_'], $reg)) { $this->loadInstance($reg[1]); $this->unclose(); $this->af .= $this->affFoRmX(); return; } //si on vient de la popup de confirmation de validation totale forcée du formulaire if (ereg("^FRCACH(.*)\$", $_POST['FormX_ext_goto_'], $reg)) { //eko("demande de virer le form"); $id_instance = $reg[1]; //si clic sur 'ok' $_POST['FormX_ext_goto_'] = $id_instance; if ($_POST['valider_popup_x']) { $_POST[$this->prefix . 'step_next_x'] = 'ok'; } else { //on ne detecte pas la finitude du formulaire $_POST['pavalider'] = 'y'; } $goOn = 'y'; $validForce = 'y'; } //sinon, chargement d'instance donné if (!isset($goOn) || !$goOn) { $id_instance = $_POST['FormX_ext_goto_']; $this->loadInstance($_POST['FormX_ext_goto_']); if (!isset($validForce) || !$validForce) { $this->detectHeresie(); } //si cette instance a l'attribut onCloseRedirForm et qu'elle est fermée $xml = $this->XMLDOM; if ($xml->documentElement->hasAttribute('onCloseAndReadCallForm')) { if (formxTools::getDomState($this) == 'F') { $redirform = $xml->documentElement->getAttribute('onCloseAndReadCallForm'); $this->loadForm($redirform . ".xml"); $id_instance = $this->initInstance($this->ids); $this->loadInstance($id_instance); } } $this->af .= $this->affFoRmX(); if (!isset($_POST['FoRmX_print_x'])) { return; } } } else { $this->debug('Pas trouvé de commande $_POST[\'FormX_ext_goto_\']'); } //si fermeture de la fenêtre de sélection de formulaire à ajoutter if ($_POST[$this->prefix . 'selCancel_x']) { $this->isuseraction = true; } //si un demande de nouveau formulaire à instancier pour le sujet if ($_POST[$this->prefix . 'selValid_x']) { $this->isuseraction = true; //pour chaque instance demandée on en crée une if (is_array($_POST[$this->prefix . "chooseNew"])) { foreach ($_POST[$this->prefix . "chooseNew"] as $ajout) { //chargement du squelette if ($this->loadForm($ajout . ".xml")) { //initialisation de l'instance $id_instance = $this->initInstance($this->ids); $priority = $this->getPriority(); clFoRmXtOoLs::addFormToLoad($this->prefix, $id_instance, $priority); } } } //chargement de la derniere instance demandée $instance2load = clFoRmXtOoLs::isFormToLoad($this->prefix); if ($instance2load) { clFoRmXtOoLs::delFormToLoad($this->prefix, $instance2load); $this->loadInstance($instance2load); $id_instance = $instance2load; $this->af .= $this->affFoRmX(); } return ''; } //recherche un formulaire présent dans les données POST //un formulaire etait déja affiché précédement foreach ($_POST as $cle => $valeur) { //eko("TEST du couple $cle $valeur"); //on verifie que la clé du POST a bien été générée par FoRmX if (ereg("^" . $this->prefix . "INSTANCE\$", $cle)) { $this->isuseraction = true; $id_instance = $valeur; $this->debug("trouve un post d'instance présente: {$valeur}"); break; } } //su aucune clé trouvée, rien à if (!isset($id_instance)) { $id_instance = ""; } if (!$id_instance) { $this->debug("Pas trouvé d'instance dans les données post: {$valeur}"); return; } //si pour cette instance, on a demandé la fermeture: rien if ($_POST[$this->prefix . 'close_x']) { clFoRmXtOoLs::cleanFormToLoad($this->prefix); $this->isuseraction = true; return; } //on charge l'instance en question depuis la BD $this->loadInstance($id_instance); $xml = $this->XMLDOM; //si pour cette instance, on a demandé l'impression: if ($_POST[$this->prefix . 'print_x']) { $this->isuseraction = true; $this->modeImpression = true; if ($this->getVersionForm() >= 11) { $this->genPrint2($this->getHtmlImpressionContenu()); } else { $this->genPrint($this->affFoRmX()); } $this->modeImpression = false; $this->af .= $this->affFoRmX(); return 1; } //traitement DOM---------------------------------------------------- //fonctions DOM $etapes = $xml->documentElement->getElementsByTagName('ETAPE'); //liste de nodes //on s'arrête à la dernière étape non validée $notTheFirst = ''; $isNotFini = false; $etape_memo_prec = ''; foreach ($etapes as $etape) { //on parcours les nodes if (isset($etape_current)) { $notTheLast = 'oui'; } else { if ($etape->getAttribute('etat') != 'fini') { $isNotFini = true; $etape_current = $etape; $etape_prec = $etape_memo_prec; } } $etape_memo_prec = $etape; if (!isset($etape_current)) { $notTheFirst = 'oui'; } } $etape = isset($etape_current) ? $etape_current : ''; if ($_POST[$this->prefix . 'step_prev_x'] && $notTheFirst) { $this->debug("retour en arriere détecté et appliqué"); $etape = $etape_prec; $etape->setAttribute('etat', 'en_cours'); } //FIXME : c'est moche ça là... //popup de validation du formulaire total if ($_POST[$this->prefix . 'step_next_x'] && empty($notTheLast) && empty($validForce)) { unset($_POST[$this->prefix . 'step_next_x']); $mod = new ModeliXe("FX_message.mxt"); $mod->SetModeliXe(); $mod->MxText('titre', 'Confirmation'); $mod->MxText('message', "Voulez-vous vraiment forcer <br/>l'achevement du formulaire ?"); $mod->MxHidden('hidden', "FormX_ext_goto_=FRCACH" . $id_instance); $mod->MxHidden('hidden2', 'navi=' . $formxSession->genNavi($formxSession->getNavi(0), $formxSession->getNavi(1), $formxSession->getNavi(2), $formxSession->getNavi(3))); $this->af .= $mod->MxWrite("1"); //on ne detecte pas la finitude du formulaire $_POST['pavalider'] = 'y'; } //si le champ cancel n' pas été validé on enregistre les changements if (!$_POST[$this->prefix . 'step_cancel_x'] && !$_POST[$this->prefix . 'step_prev_x'] && $isNotFini) { $this->debug("Mise à jour des Items par les données post demandée"); //on parcours les champs ITEM et on remplit les champs en validant le type de données $items = $etape->getElementsByTagName('ITEM'); $this->debug("Parcours des items de l'etape"); foreach ($items as $item) { $this->debug("traitement de " . $item->getAttribute('id')); $this->affectPost2XML($item); } //on applique les opérations liés aux changements précédents $varGlobalsContainer = formxTools::globalsLoad($this->getIDS()); foreach ($items as $item) { $this->traiterPostPost($item); } $this->getGlobvarsContainer()->save(); //clonage ou manipulation dynamique d'un champ demandée $activIs = $etape->getElementsByTagName('ActiveItem'); foreach ($activIs as $activI) { if ($this->testCondDOM($activI)) { $this->cloneItem($activI->getAttribute('idItem'), $etape, $activI); } } //Si le formulaire était initialisé, il passe en status "en cours" if (formxTools::getDomState($this) == 'I') { formxTools::setDomState($this, 'E'); } //on teste si l'étape est validée, si oui on met à jour, on applique les actions, et on cherche si le form est fini . //seulement si le post nest pas defini if ($_POST['pavalider'] != 'y' && $etape) { //si pas les droits au moins W //TODO le deplacer avant ça $droitetape = $this->session->droit; if ($this->XMLCore['access']) { $droitetape = utf8_decode((string) $this->XMLCore['access']); } if ($etape->getAttribute('access')) { $droitetape = utf8_decode($etape->getAttribute('access')); } if (!$formxSession->getDroit($droitetape, 'w')) { $this->debug("validation de l'etape refusée car pas W sur le droit '{$droitetape}'"); } if ($etape->getAttribute('dontvalid')) { $this->debug("validation de l'etape refusée car présence de l'attribut dontvalid"); } if (!$etape->getAttribute('dontvalid') && $formxSession->getDroit($droitetape, 'w') && ($this->testEtape($etape) || $_POST[$this->prefix . 'step_next_x'])) { $etape->setAttribute('etat', 'fini'); $this->applyActions($etape); if ($this->formIsFini()) { clFoRmXtOoLs::delFormToLoad($this->prefix, $this->idInstance); //supprime du pipeline des multiformulaires $this->justClosed = true; if ($this->XMLCore['disappear']) { //si le form doit disparaitre apres finition $this->rmInstanceForce(); return 1; } elseif ($this->XMLCore['phantom']) { formxTools::setDomState($this, 'H'); } else { formxTools::setDomState($this, $this->traiterFini()); } } } else { } } else { //NON VALIDATION FORCEE } //$this->saveInstance(); } else { $this->debug("Pas de mise à jour des Items par les données post nécéssaire"); } /*on a plus qu'à l'afficher*/ //--------------------------------------------FIN TRAITEMENT DOM //rechagement de simpleXML apres modifs via DOM if ($this->mustICloseAfterValid() && $this->justClosed) { $_POST['formx_autoclose'] = true; $this->affFoRmX(); //TODO : lorsque plus aucune regle métier dans affFoRmX, virer la ligne } else { $this->af .= $this->affFoRmX(); } $this->saveInstance(); if ($this->justClosed && ($id2load = clFoRmXtOoLs::isFormToLoad($this->prefix))) { //on gruge sur les données post pour réouvrir le formulaire suivant $this->debug("Au moins un autre formulaire est dans la pipeline: le {$id2load} . On l'ouvre"); $_POST['FormX_ext_goto_'] = $id2load; $this->TraiterPost(); } //apres car à l'affichage on peut se rendre compte de certaines choses et vouloir sauvegarder return 1; }
function modGroupe() { global $session; $mod = new ModeliXe("GestionGroupe.mxt"); $mod->SetModeliXe(); $mod->MxText("nomGroupe", stripslashes($_POST['idGroupe'])); if (!$session->getDroit("Configuration_Groupes", "m")) { $mod->MxBloc("modifier", "modify", " "); } if (!$session->getDroit("Configuration_Groupes", "d")) { $mod->MxBloc("supprimer", "modify", " "); } return $mod->MxWrite("1"); }
function addPatientPresent() { global $session; global $listeMois; global $options; // Si la confirmation d'ajout est présente, alors on ajoute le nouveau patient dans la table. if ($_POST['ValiderAjouter'] or $_POST['ValiderAjouter_x']) { global $errs; // Préparation de la date d'admission. $date = new clDate(); $dateN = new clDate($_POST['naissance']); /*if ( $options -> getOption ( "DoubleEtablissement" ) AND ! ( $options -> getOption ( 'DoubleSansCom' ) ) ) { $req = new clResultQuery ; $ras = $req -> Execute ( "Fichier", "getMaxIdToulon", array(), "ResultQuery" ) ; $max = 1 ; for ( $j = 0 ; isset ( $ras['idpatient'][$j] ) ; $j++ ) if ( $ras['idpatient'][$j] > $max ) $max = $ras['idpatient'][$j] ; $max++ ; eko ( "Double Etablissement : Calcul du max ($max)" ) ; $data['idpatient'] = $max ; }*/ // Remplissage des champs pour la requête. $data['idu'] = "X"; $data['ilp'] = "X"; $data['nsej'] = "X"; $data['uf'] = $options->getOption("AjoutManuelUF"); $data['sexe'] = $_POST['sexe']; $data['prenom'] = $_POST['prenom']; $data['nom'] = $_POST['nom']; $data['dt_admission'] = $date->getDatetime(); $data['dt_naissance'] = $dateN->getDatetime(); $data['adresse_libre'] = $_POST['adresse']; $data['adresse_cp'] = $_POST['cp']; $data['adresse_ville'] = $_POST['ville']; $data['telephone'] = $_POST['telephone']; $data['salle_examen'] = $_POST['salle']; $data['dest_souhaitee'] = $_POST['destSouhaitee']; $data['dest_attendue'] = $_POST['destAttendue']; $data['adresseur'] = $_POST['adresseur']; $data['medecin_urgences'] = $_POST['medecin']; if ($_POST['medecin']) { $data[dt_examen] = $date->getDatetime(); } $data['recours_categorie'] = $_POST['categorieRecours']; $data['manuel'] = 1; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data); // Exécution de la requête. $resu = $requete->addRecord(); // On signale les éventuelles erreurs rencontrées. if ($resu['error']) { $errs->addErreur("clListesPatients : Erreur lors de la bascule d'un patient attendu en patient présent (" . $resu[error] . ")."); } $param['table'] = PPRESENTS; $param['cw'] = "WHERE idu='X'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); for ($i = 0; isset($res['idpatient'][$i]); $i++) { $data2['idu'] = "MANU" . $res['idpatient'][$i]; $data2['ilp'] = "MANU" . $res['idpatient'][$i]; $data2['nsej'] = "MANU" . $res['idpatient'][$i]; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data2); // Exécution de la requête. $requete->updRecord("idpatient='" . $res['idpatient'][$i] . "'"); header('Location:' . URLNAVI . $session->genNavi($session->getNavi(0))); } } else { // Sinon, nous affichons le formulaire d'ajout d'un nouveau patient présent. // Chargement du template ModeliXe. $mod = new ModeliXe("addPresent.html"); $mod->SetModeliXe(); // Préparation du titre, des images, des urls... $mod->MxText("titre", "Ajouter un nouveau patient présent"); $mod->MxImage("imgClose", URLIMGFER, "Annuler"); $mod->MxUrl("lienClose", URLNAVI . $session->genNavi($session->getNavi(0))); // Champs IDU, IPP, et nsej... // $mod -> MxFormField ( "idu", "text", "idu", $_POST['idu'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "ilp", "text", "ilp", $_POST['ilp'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "nsej", "text", "nsej", $_POST['nsej'], "size=\"47\" maxlength=\"50\"" ) ; // Champs de l'état civil du patient. $data['M'] = "Homme"; $data['F'] = "Femme"; $data['I'] = "Indéterminé"; $javascript1 = XhamTools::genAjax('onKeyUp', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript3 = XhamTools::genAjax('onChange', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript1 = XhamTools::genAjaxWithTempo('getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $mod->MxSelect("sexe", "sexe", $_POST['sexe'], $data, '', '', 'class="w300" ' . "{$javascript3}"); $mod->MxFormField("prenom", "text", "prenom", $_POST['prenom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); $mod->MxFormField("nom", "text", "nom", $_POST['nom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); // Gestion des champs de la date de naissance. $_POST['naissance'] = date('d/m/Y'); $mod->MxFormField("naissance", "text", "naissance", $_POST['naissance'], "id=\"naissance\""); // Adresse et téléphone du patient. $mod->MxFormField("adresse", "text", "adresse", $_POST['adresse'], "size=\"47\" maxlength=\"128\""); $mod->MxFormField("telephone", "text", "telephone", $_POST['telephone'], "size=\"47\" maxlength=\"64\""); $mod->MxFormField("cp", "text", "cp", $_POST['cp'], "size=\"5\" maxlength=\"5\""); $mod->MxFormField("ville", "text", "ville", $_POST['ville'], "size=\"38\" maxlength=\"64\""); // Préparation des listes dynamiques. $listeCom = new clListes("Recours", "recup"); $listeGen = new clListesGenerales("recup"); $listeMedecins = $listeGen->getListeItems("Médecins", "1", '', '', "1"); $listeSalles = $listeGen->getListeItems("Salles d'examens", "1", '', '', "1"); $listeCategoriesRecours = $listeCom->getListes("", "1"); $listeDestSouhaitees = $listeGen->getListeItems("Destinations souhaitées", "1", '', '', "1"); $listeDestAttendues = $listeGen->getListeItems("Destinations attendues", "1", '', '', "1"); // Affichage des listes dynamiques. $mod->MxSelect("medecin", "medecin", $_POST['medecin'], $listeMedecins, '', '', 'class="w300"'); $mod->MxSelect("salle", "salle", $_POST['salle'], $listeSalles, '', '', 'class="w300"'); $mod->MxSelect("categorieRecours", "categorieRecours", $_POST['categorieRecours'], $listeCategoriesRecours, '', '', 'class="w300"'); $mod->MxSelect("destSouhaitee", "destSouhaitee", $_POST['destSouhaitee'], $listeDestSouhaitees, '', '', 'class="w300"'); $mod->MxSelect("destAttendue", "destAttendue", $_POST['destAttendue'], $listeDestAttendues, '', '', 'class="w300"'); // Suppression du bouton de modification inutile ici. $mod->MxBloc("modifier", "modify", " "); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), "addPatientPresent")); // Récupération du code HTML généré par le template ModeliXe. $this->af .= $mod->MxWrite("1"); } }
function getSessions() { global $session; // Préparation de deux objets clDate. $date = new clDate(); $last = new clDate(); // Chargement du template ModeliXe. $mod = new ModeliXe("SessionsActuelles.mxt"); $mod->SetModeliXe(); // Chargement du template ListMaker. $list = new ListMaker("template/SessionsActuelles.html"); // Transmission de la variable de navigation à ListMaker. $list->addUserVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1))); $list->addUrlVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1))); // Nom des colonnes. $list->setSortColumn('col1', 'Utilisateur', 'uid'); $list->setSortColumn('col2', 'Type', 'type'); $list->setSortColumn('col3', 'Adresse IP', 'ip'); $list->setSortColumn('col4', 'Date de connexion', 'date'); $list->setSortColumn('col5', 'Dernière action', 'last'); $list->setSortColumn('col6', 'Page parcourue', 'localisation'); // Tri automatique sur la colonne de la date de la dernière action effectuée. $list->setdefaultSort('col5'); // Choix des couleurs à alterner d'une ligne sur l'autre. $list->setAlternateColor("pair", "impair"); // Récupération des sessions actuelles. $param['cw'] = "WHERE idapplication=" . IDAPPLICATION . " ORDER BY last DESC"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); // On parcourt les sessions récupérées. for ($i = 0; isset($res['idsactu'][$i]); $i++) { // Initialisation des dates. $date->setDate($res['date'][$i]); $last->setDate($res['last'][$i]); // Préparation du lien pour aller directement sur la page parcourue par l'utilisateur. if (ENCODERURL) { $lien = '<a href="' . URLNAVI . $res['localisation'][$i] . '">' . base64_decode($res['localisation'][$i]) . '</a>'; } else { $lien = '<a href="' . URLNAVI . $res['localisation'][$i] . '">' . $res['localisation'][$i] . '</a>'; } // Préparation des différentes colonnes : uid, type, ip, date, last et localisation. $item['uid'] = $res['uid'][$i]; $item['type'] = $res['type'][$i]; $item['ip'] = $res['ip'][$i]; $item['date'] = $date->getDateTextFull(); $item['last'] = $last->getDateTextFull(); $item['localisation'] = $lien; $list->addItem($item); } // Récupération du résultat de ListMaker dans ModeliXe. $mod->MxText("table", $list->getList(isset($pagination) ? $pagination : '')); // Récupération du code généré par ModeliXe. return $mod->MxWrite("1"); }
function gestionListes() { /*****************************************************************************/ global $session; $action = "ccam"; $nomForm = "CCAM_GestionAnesthesiste.mxt"; // Appel du template $mod = new ModeliXe($nomForm); $mod->SetModeliXe(); $mod->MxText("titreFormulaire", "Gestion de la liste des médecins autorisés à pratiquer une anesthésie"); if ($action == "ccam") { //Suppression d'un médecin de la liste des anesthésistes if ($_POST['aGauche_x']) { $this->infos = $this->delMedecins(); } elseif ($_POST['aDroite_x']) { $this->infos = $this->addMedecins(); } //Récupération des valeurs pour Selection1 (correspond liste des specialités) !$_POST['idListeSelection1'] ? $idListeSelection1 = "aucun#" : ($idListeSelection1 = $_POST['idListeSelection1']); unset($param); $param[idDomaine] = "1"; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeSpe", $param, "Choisir une spécialité"); //Récupération des médecins pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la famille sélectionnéee dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = CCAM_IDDOMAINE; //$paramRelation[base] = CCAM_BDD; if ($idListeSelection1 and $idListeSelection1 != "aucun#") { $paramA[idListeSelection1] = $idListeSelection1; $paramA[base] = CCAM_BDD; //eko($idListeSelection1); //eko($listeIdRelation); $paramRelation[idListeSelection1] = $idListeSelection1; //eko ($paramRelation); // Si specialiste //if ( ); if ($_POST["idListeSelection1"] == "Urgentiste") { $elephant = "CCAM_getMedecinAListeGauche2"; } else { if ($_POST["idListeSelection1"] == "Toutes") { $elephant = "CCAM_getMedecinAListeGauche3"; } else { $elephant = "CCAM_getMedecinAListeGauche"; } } if ($_POST["idListeSelection1"] == "Toutes") { $tabListeGauche = $this->valeursListeGauche($elephant, "CCAM_getMedecinADomaine2", $paramA, $paramRelation, "Choisir un médecin"); } else { $tabListeGauche = $this->valeursListeGauche($elephant, "CCAM_getMedecinADomaine", $paramA, $paramRelation, "Choisir un médecin"); } } else { $tabListeGauche[0] = "Choisir un médecin"; } //Récupération des médecins pour la liste des actes déjà affectés (droite) unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idListeSelection1] = $idListeSelection1; if ($idListeSelection1 == "Toutes") { $requete = "CCAM_getMedecinADomaine2"; } else { $requete = "CCAM_getMedecinADomaine"; } $tabListeDroite = $this->valeursListeDroite($requete, $param, "Choisir un médecin"); $js = "onDblClick=reload(this.form)"; //Gestion du template $mod->MxText("titreSelection1", "Famille de spécialités : "); $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); $mod->MxText("titreDispo", "Listes des médecins disponibles"); $mod->MxText("titreAffecte", "Listes des médecins autorisés à pratiquer une anesthésie"); $mod->MxText("commentaireGauche", ""); $mod->MxText("commentaireDroite", ""); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("flDroite", "modify", " "); $mod->MxBloc("flGauche", "modify", " "); } } // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $mod->MxSelect("listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\""); $mod->MxSelect("listeDroite", "listeDroite[]", '', $tabListeDroite, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\" "); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function getAffichage() { global $session; $retour = ""; if (isset($_POST['ok'])) { $date1 = new clDate($_POST['date1']); $date2 = new clDate($_POST['date2']); $tabIndics = self::getIndicateurs($date1, $date2); $retour = ""; $retour .= "Du " . $date1->getSimpleDate() . " au " . $date2->getSimpleDate(); $retour .= "<br />NGAP C : " . $tabIndics['nb_ngap_c']; $retour .= "<br />NGAP CS : " . $tabIndics['nb_ngap_cs']; $retour .= "<br />NGAP AMI : " . $tabIndics['nb_ngap_ami']; $retour .= "<br />CCAM : " . $tabIndics['nb_ccam']; $retour .= "<br />Sorties sans Hospi : " . $tabIndics['nb_ext']; $retour .= "<br /><a href='" . 'index.php?navi=' . $session->genNavi($session->getNaviFull()) . "'>Retour</a>"; $retour .= "<br />"; $retour .= "<br /><a href='" . self::getUrlCsvTransfertsSamu($date1, $date2) . "'>Transferts SAMU</a>"; } else { $mod = new ModeliXe("CCAM_choix.mxt"); $mod->SetModeliXe(); $mod->MxText('titre', "Synthèse facturation"); $mod->MxAttribut('action', 'index.php?navi=' . $session->genNavi($session->getNaviFull())); $retour = $mod->MxWrite('1'); } return $retour; }
function delListe($confirmation = '') { global $session; global $options; global $errs; if (!$confirmation) { // Chargement du template. $mod = new ModeliXe("CCAM_FormConfirmation.mxt"); $mod->SetModeliXe(); // Phrase de confirmation. $mod->MxText("question", "Etes vous certain de vouloir supprimer toute cette catégorie de " . $this->type . " ?"); // Génération de la variable de navigation. $liste = "&liste=" . stripslashes($_POST['liste']); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "gestListes", "validDelListe") . $liste); return $mod->MxWrite("1"); } else { $req = new clResultQuery(); // Récupération des informations actuelles de l'item. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND nomliste='" . $_POST['liste'] . "' AND categorie='" . $this->type . "'"; $res = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // Récupération de la liste des items. $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND categorie='" . $this->type . "'"; $res2 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); // On vérifie qu'on n'est pas en train de supprimer le dernier item. if ($res2[INDIC_SVC][2] > 1) { // Vérification que l'item existe. if ($res[INDIC_SVC][2] > 0) { // Décalage des rangs des autres items. $rang = $res[rang][0]; $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND rang>'{$rang}' AND categorie='" . $this->type . "' AND nomitem='LISTE'"; $res3 = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); for ($i = 0; isset($res3[iditem][$i]); $i++) { $data[rang] = $res3[rang][$i] - 1; $requete = new clRequete(CCAM_BDD, "ccam_liste", $data); $requete->updRecord("iditem='" . $res3[iditem][$i] . "'"); } // Message d'information. $this->infos .= "La liste \"" . $res[nomliste][0] . "\" a été supprimée de la liste des catégories de " . $this->type; // Suppression de l'item. $requete = new clRequete(CCAM_BDD, "ccam_liste"); $requete->delRecord("nomListe='" . $_POST['liste'] . "' AND nomitem='LISTE' AND categorie='" . $this->type . "'"); $_POST['liste'] = ''; } else { // Signalement $this->erreurs .= "La liste ne peut pas être supprimée (id=\"{$idItem}\") car elle n'existe pas."; $errs->addErreur("clListesGenerales : La liste ne peut pas être supprimée (id=\"{$idItem}\") car elle n'existe pas."); } } else { $this->erreurs .= "Impossible de supprimer la dernière liste \"" . stripslashes($_POST['liste']) . "\"."; } } }
function tarifsNGAP() { global $session; //On a lancer le rapatriement des tarifs depuis Pastel if ($_POST['imgCalcul_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); $res = $req->Execute("Fichier", "Tarifs_getTarifNGAP", array(), "ResultQuery"); eko($res); $mail = ""; for ($i = 0; isset($res[LC][$i]); $i++) { $lc = $res[LC][$i]; unset($param); //if ($res[TARIF][$i]!="0"){ // code de Christophe Boulet if ($res[TARIF][$i] >= 0) { // modification François Derock $param[tarif] = str_replace(",", ".", $res[TARIF][$i]); $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc='{$lc}'"; $res2 = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res2[INDIC_SVC]); if ($res2[INDIC_SVC][2]) { $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } else { $param[lc] = $param[lcNat] = $lc; $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->addRecord(); } } else { $mail .= "{$lc}, "; } } if ($mail) { $mail = substr($mail, 0, -2); $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "<b>Anomalie : </b>La mise à jour des tarifs (source PASTEL) renvoit '0' pour les lettres-clé suivantes : {$mail}<br>\r\n\t\t\t==> Les tarifs n'ont pas été mis à jour pour ces lettres-clés<p>\r\n\t\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[erreur] = "Certains tarifs sont à '0' dans PASTEL. Un mail de synthèse a été envoyé. Leur mise à jour a été annulée."; } else { $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL<p>\r\n\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL"; } } //On a validé les modifications if ($_POST['imgValider_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $varLC = "LC_" . $lc; $tarifLC = "tarif_" . $lc; unset($param); $param[lcNat] = $_POST[$varLC]; $param[tarif] = str_replace(",", ".", $_POST[$tarifLC]); $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été modifiés"; } // Appel du template $mod = new ModeliXe("CCAM_TarifsNGAP.mxt"); $mod->SetModeliXe(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } if ($session->getDroit("CCAM_TarifsNGAP", "w")) { if (!$_POST['imgModifier_x']) { $mod->MxFormField("modifier.imgModifier", "image", "imgModifier", "", "src=\"" . URLIMG . "modifier2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Modifier les correspondances nationales et les tarifs\""); $mod->MxFormField("maj.imgCalcul", "image", "imgCalcul", "", "src=\"" . URLIMG . "calculer.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Rapatrier les tarifs depuis PASTEL\""); $mod->MxBloc("valider", "delete"); } else { $mod->MxFormField("valider.imgValider", "image", "imgValider", "", "src=\"" . URLIMG . "Ok.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Valider les modifications\""); $mod->MxFormField("valider.imgAnnuler", "image", "imgAnnuler", "", "src=\"" . URLIMG . "annuler2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Annuler les modifications\""); $mod->MxBloc("maj", "delete"); $mod->MxBloc("modifier", "delete"); } } else { $mod->MxBloc("modifier", "delete"); $mod->MxBloc("valider", "delete"); $mod->MxBloc("maj", "delete"); } $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $mod->MxText("ligneLC.LC", $lc); if (!$_POST['imgModifier_x']) { $mod->MxText("ligneLC.LCnat", $res[lcNat][$i]); $mod->MxText("ligneLC.tarif", $res[tarif][$i]); } else { $varLC = "LC_" . $lc; $mod->MxFormField("ligneLC.LCnat", "text", $varLC, $res[lcNat][$i], "size=\"10\""); $tarifLC = "tarif_" . $lc; $mod->MxFormField("ligneLC.tarif", "text", $tarifLC, $res[tarif][$i], "size=\"10\""); } $mod->MxBloc("ligneLC", "loop"); } //Ne jamais afficher les boutons suivants // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "delete"); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "delete"); } $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function genAffichage() { if ($this->xham->getDroit("Configuration_Utilisateurs", "r")) { if ($_POST['iduser'] == "CREATION") { // Chargement du template ModeliXe. $mod = new ModeliXe("CreationUtilisateur.mxt"); } else { // Chargement du template ModeliXe. $mod = new ModeliXe("GestionDesUtilisateurs.mxt"); } $mod->SetModeliXe(); if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $listeUsers = $this->getUtilisateurs("Choisissez un utilisateur", "Création d'un utilisateur", "CREATION"); $mod->MxSelect("iduser", "iduser", $_POST['iduser'], $listeUsers, '', '', "onChange=reload(this.form)"); if ($_POST['iduser'] == "CREATION") { //$mod -> MxText ( "iduserselect.uid", "Généré automatiquement" ) ; $mod->MxFormField("iduserselect.uid", "text", "uid", $_POST['uid'], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fnom", "text", "nom", $_POST['nom'], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fprenom", "text", "prenom", $_POST['prenom'], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fmail", "text", "mail", $_POST['mail'], "size=\"24\" maxlength=\"48\""); $mod->MxFormField("iduserselect.password.pwd1", "password", "pwd1", "", "size=\"24\" maxlength=\"16\""); $mod->MxFormField("iduserselect.password.pwd2", "password", "pwd2", "", "size=\"24\" maxlength=\"16\""); } else { $mod->MxText("confirmation", $this->confirmation); if (isset($_POST['iduser']) && $_POST['iduser']) { $param[cw] = "WHERE idutilisateur='" . $_POST['iduser'] . "'"; $res = $this->xham->Execute("Fichier", "getUtilisateurs", $param, "ResultQuery"); if ($res[INDIC_SVC][2]) { if (!$_POST['uid']) { $_POST['uid'] = $res[uid][0]; } if (!$_POST['nom']) { $_POST['nom'] = $res[nom][0]; } if (!$_POST['prenom']) { $_POST['prenom'] = $res[prenom][0]; } if (!$_POST['mail']) { $_POST['mail'] = $res[mail][0]; } // Remplissage des champs. $mod->MxText("iduserselect.uid", $res[uid][0]); $mod->MxFormField("iduserselect.fnom", "text", "nom", $res[nom][0], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fprenom", "text", "prenom", $res[prenom][0], "size=\"24\" maxlength=\"32\""); $mod->MxFormField("iduserselect.fmail", "text", "mail", $res[mail][0], "size=\"24\" maxlength=\"48\""); $mod->MxFormField("iduserselect.password.pwd1", "password", "pwd1", "", "size=\"24\" maxlength=\"16\""); $mod->MxFormField("iduserselect.password.pwd2", "password", "pwd2", "", "size=\"24\" maxlength=\"16\""); $groupes = $this->getGroupesAffectes(); $mod->MxSelect("iduserselect.groupesdispos", "groupesdispos[]", $_POST['groupesdispos'], $this->getGroupesDisponibles($groupes), '', '', "size=\"11\" multiple=\"yes\""); $mod->MxSelect("iduserselect.groupesaffect", "groupesaffect[]", $_POST['groupesaffect'], $this->getGroupesAffectes2($groupes), '', '', "size=\"11\" multiple=\"yes\""); if (!$this->xham->getDroit("Configuration_Utilisateurs", "m")) { $mod->MxBloc("iduserselect.boutonannuler", "modify", " "); $mod->MxBloc("iduserselect.boutonenlever", "modify", " "); $mod->MxBloc("iduserselect.boutonajouter", "modify", " "); $mod->MxBloc("iduserselect.boutonmodifier", "modify", " "); } if (!$this->xham->getDroit("AgirETQ", "r")) { $mod->MxBloc("boutonagirETQ", "delete"); } else { $mod->MxHidden("boutonagirETQ.hidden", "iduser="******"Configuration_Utilisateurs", "d")) { $mod->MxBloc("iduserselect.boutonsupprimer", "modify", " "); } } else { $mod->MxBloc("iduserselect", "modify", " "); $mod->MxBloc("boutonagirETQ", "delete"); } } else { $mod->MxBloc("iduserselect", "modify", " "); $mod->MxBloc("boutonagirETQ", "delete"); } } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1))); // On retourne le code HTML généré. return $mod->MxWrite("1"); } }
function 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"); }
static function sendJNLP() { $mod = new ModeliXe("exec.jnlp"); $mod->SetModeliXe(); // Récupération du nombre d'arguments de la fonction. $n = func_num_args(); // Pour chaque argument, on le concatène au précédent avec le séparateur |. for ($i = 1; $i < $n; $i++) { $argi = func_get_arg($i); $mod->MxText('arg.arg', $argi); $mod->MxBloc('arg', 'loop'); } $nom = 'open' . XhamTools::getAlea(16) . '.jnlp'; $url = URLCACHEWEB; $mod->MxText('nom', $nom); $mod->MxText('url', $url); $mod->MxText('urls', URL); $arg0 = func_get_arg(0); $mod->MxText('editeur', $arg0); $arg1 = func_get_arg(1); $mod->MxText('titre', $arg1); $f = fopen(URLCACHE . $nom, 'w'); fwrite($f, $mod->MxWrite("1")); fclose($f); header('Location:' . $url . $nom); }