function listeCategories() { global $session; // Droit de lecture requis. if ($session->getDroit("Configuration_Options", "r")) { if ($session->getNavi(2) == "Supprimer" and $session->getDroit("Configuration_Options", "a") and !isset($_POST['Annuler']) and !isset($_POST['Annuler_x'])) { $this->af .= $this->delOption($session->getNavi(3)); } if ($session->getNavi(2) == "Ajouter" and $session->getDroit("Configuration_Options", "a") and !isset($_POST['Annuler']) and !isset($_POST['Annuler_x'])) { $this->af .= $this->addOption(); } if ($session->getNavi(2) == "Administrer" and $session->getDroit("Configuration_Options", "a") and !isset($_POST['Annuler']) and !isset($_POST['Annuler_x'])) { $this->af .= $this->modOption(); } // Configuration de mise à jour. if ($session->getNavi(2) == "Valider" and $session->getDroit("Configuration_Options", "m") and (isset($_POST['Valider']) or isset($_POST['Valider_x']))) { $this->validerModification($session->getNavi(3)); } if ($session->getNavi(2) == "Afficher") { $_SESSION['voir' . $session->getNavi(3)] = 1; } if ($session->getNavi(2) == "Masquer") { $_SESSION['voir' . $session->getNavi(3)] = 0; } // Récupération de la liste des catégories. if ($session->getDroit("Configuration_Options", "a")) { $param['cw'] = "WHERE idapplication=" . IDAPPLICATION . " ORDER BY categorie"; } else { $param['cw'] = "WHERE idapplication=" . IDAPPLICATION . " AND administrateur=0 ORDER BY categorie"; } $req = new clResultQuery(); $res = $req->Execute("Fichier", "getCategoriesOptions", $param, "ResultQuery"); // Remplissage du template. $mod = new ModeliXe("GestionDesOptions.mxt"); $mod->SetModeliXe(); // Si l'utilisateur possède le droit d'administration, alors on affiche // un lien pour ajouter des options. if ($session->getDroit("Configuration_Options", "a")) { $mod->MxImage("imgAjouter", URLIMGAJO, "Ajouter"); $mod->MxUrl("lienAjouter", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Ajouter")); } // Pour chaque catégorie trouvée, on boucle sur le bloc "categorie" for ($i = 0; isset($res['categorie'][$i]); $i++) { // Affichage du titre de la categorie. $mod->MxText("categorie.titre", $res['categorie'][$i]); if (isset($_SESSION['voir' . $res['categorie'][$i]]) and $_SESSION['voir' . $res['categorie'][$i]]) { $mod->MxUrl("categorie.lienVoir", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Masquer", $res['categorie'][$i])); $mod->MxImage("categorie.imgVoir", URLIMGMAS, "Masquer"); // On recherche les options appartenant à la catégorie. if ($session->getDroit("Configuration_Options", "a")) { $param['cw'] = "WHERE categorie='" . $res['categorie'][$i] . "' AND idapplication=" . IDAPPLICATION . " ORDER BY libelle"; } else { $param['cw'] = "WHERE categorie='" . $res['categorie'][$i] . "' AND idapplication=" . IDAPPLICATION . " AND administrateur=0 ORDER BY libelle"; } $req = new clResultQuery(); $ras = $req->Execute("Fichier", "getOptions", $param, "ResultQuery"); // Pour chacune de ces options, on boucle sur le bloc "categorie.option" for ($j = 0; isset($ras['idoption'][$j]); $j++) { // Alternance des couleurs en fonction du numéro de ligne. if ($j % 2) { $mod->MxText("categorie.option.ligne", "<tr class=\"paire\">"); } else { $mod->MxText("categorie.option.ligne", "<tr class=\"impaire\">"); } // Remplissage des informations. $mod->MxText("categorie.option.soustitre", $ras['libelle'][$j]); $mod->MxText("categorie.option.description", $ras['description'][$j]); // Si la modification est en cours et si le droit de modification est présent, // alors on affiche le mini-formulaire de modification. if ($session->getNavi(2) == "Modifier" and $session->getNavi(3) == $ras['idoption'][$j] and $session->getDroit("Configuration_Options", "m")) { $mod->MxText("categorie.option.ligne", "<tr class=\"modification\">"); // Génération du formulaire. $html = $this->getModification($ras, $j); $mod->MxBloc("categorie.option.form", "modify", $html); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), "Valider", $ras['idoption'][$j])); } else { // Sinon, on affiche la valeur de l'option. switch ($ras['type'][$j]) { case 'bool': if ($ras['valeur'][$j]) { $valeur = "Oui"; } else { $valeur = "Non"; } break; default: $valeur = $ras['valeur'][$j]; break; } $mod->MxText("categorie.option.normal.valeur", $valeur); // Si l'utilisateur possède le droit de modification, alors on affiche // un lien pour modifier l'option. if ($session->getDroit("Configuration_Options", "m") and !$ras['administrateur'][$j] or $session->getDroit("Configuration_Options", "a") and $ras['administrateur'][$j]) { $mod->MxImage("categorie.option.normal.imgModifier", URLIMGMOD, "Modifier"); $mod->MxUrl("categorie.option.normal.lien", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Modifier", $ras['idoption'][$j])); } // Si l'utilisateur possède le droit d'administration, alors on affiche // un lien pour supprimer l'option. if ($session->getDroit("Configuration_Options", "a")) { $mod->MxImage("categorie.option.normal.imgModifier2", URLIMGMO3, "Administrer"); $mod->MxUrl("categorie.option.normal.lienModifier2", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Administrer", $ras['idoption'][$j])); $mod->MxImage("categorie.option.normal.imgSupprimer", URLIMGSUP, "Supprimer"); $mod->MxUrl("categorie.option.normal.lienSupprimer", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Supprimer", $ras['idoption'][$j])); } $mod->MxBloc("categorie.option.form", "modify", " "); } $mod->MxBloc("categorie.option", "loop"); } } else { $mod->MxUrl("categorie.lienVoir", URLNAVI . $session->genNavi("Configuration", "Configuration_Options", "Afficher", $res['categorie'][$i])); $mod->MxImage("categorie.imgVoir", URLIMGAFF, "Afficher"); $mod->MxBloc("categorie.option.form", "modify", " "); } $mod->MxBloc("categorie", "loop"); } return $mod->MxWrite("1"); } }
function 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 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 showFusions() { global $session; $res = $this->getFusionsProposees($session->getNavi(3)); //print affTab ( $res ) ; $mod = new ModeliXe("FusionShowPatients.html"); $mod->SetModeliXe(); $i = 0; $inf = clPatient::genInfoBulle($this->p, 0); $mod->MxText('survol', $inf); $mod->MxText('sexe', $this->p['sexe'][0]); $mod->MxText('nom', $this->p['nom'][0]); $mod->MxText('prenom', $this->p['prenom'][0]); $date = new clDate($this->p['dt_admission'][0]); $mod->MxText('dt_admission', $date->getDate('d-m-Y H:i')); $date->setDate($this->p['dt_naissance'][0]); $mod->MxText('dt_naissance', $date->getDate('d-m-Y')); $mod->MxText('nsej', $this->p['nsej'][0]); if ($this->p['dt_sortie'][0] == '0000-00-00 00:00:00') { $mantable = PPRESENTS; } else { $mantable = PSORTIS; } $nomMan = $this->p['nom'][0] . " " . $this->p['prenom'][0]; $sup = "onclick=\"if (window.confirm('ATTENTION : Etes-vous certain de vouloir supprimer de cette liste le patient manuel {$nomMan} ?')){request('index.php?ajax=1&navi=" . $session->genNavi('Administration', 'FusionsV2', 'supManuel', $this->p['idpatient'][0], $mantable) . "',null,'fusion');return true;} else {return false;}\""; $mod->MxText('supprimer', $sup); while (list($key, $val) = each($res)) { $mod->MxText('patient.survol', $val['survol']); $mod->MxText('patient.js', $val['js']); $mod->MxText('patient.sexe', $val['sexe']); $mod->MxText('patient.nom', $val['nom']); $mod->MxText('patient.prenom', $val['prenom']); $mod->MxText('patient.dt_admission', $val['dt_admission']); $mod->MxText('patient.dt_naissance', $val['dt_naissance']); $mod->MxText('patient.nsej', $val['nsej']); $mod->MxText('patient.prc', $val['prc']); $mod->MxBloc("patient", "loop"); $i++; } if (!$i) { $mod->MxBloc("patient", "replace", "<td colspan=\"7\">Aucune correspondance trouvée dans la base...</td>"); } $this->af .= $mod->MxWrite("1"); }
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 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 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"); }
function genFichePassage($res, $i) { global $session; global $options; // Chargement du template ModeliXe. if ($options->getOption('ModuleExport') == 'V2Allegee') { $mod = new ModeliXe("ExportV2FicheAllegee.html"); } else { $mod = new ModeliXe("ExportV2Fiche.html"); } $mod->SetModeliXe(); $req = new clRequete(BDD, '', ''); $sql = "select * from export where idpatient='" . $res['idpatient'][$i] . "'"; $exp = $req->exec_requete($sql, 'resultquery'); if (isset($exp['etat1'][0]) and $exp['etat1'][0]) { $mod->MxText('color1', 'green'); $date = new clDate($exp['date1'][0]); $aja = XhamTools::genAjax('', 'setTraitement', 'navi=' . $session->genNaviFull() . '&idpatient=' . $res['idpatient'][$i] . '&setTraitement=invalide&type=1'); $ajax = 'onclick="' . $aja . 'inverserTraitement(' . $res['idpatient'][$i] . ',1,\'CCAM\');"'; $img = '<img src="images/gg.gif" id="img1' . $res['idpatient'][$i] . '" alt="annuler" ' . $ajax . ' style="cursor: pointer; pointer: hand;" />'; $mod->MxText('traitement1', '<div id="text1' . $res['idpatient'][$i] . '" style="display:inline;">La partie CCAM de cet export a été traitée par ' . $exp['iduser1'][0] . ' le ' . $date->getDateTextFull('à') . '</div> ' . $img); } else { $mod->MxText('color1', 'red'); $aja = XhamTools::genAjax('', 'setTraitement', 'navi=' . $session->genNaviFull() . '&idpatient=' . $res['idpatient'][$i] . '&setTraitement=valide&type=1'); $ajax = 'onclick="' . $aja . 'inverserTraitement(' . $res['idpatient'][$i] . ',1,\'CCAM\');"'; $img = '<img src="images/dd.gif" id="img1' . $res['idpatient'][$i] . '" alt="valider" ' . $ajax . ' style="cursor: pointer; pointer: hand;" />'; $mod->MxText('traitement1', '<div id="text1' . $res['idpatient'][$i] . '" style="display:inline;">La partie CCAM de cet export n\'est pas traitée.</div> ' . $img); } if (isset($exp['etat2'][0]) and $exp['etat2'][0]) { $mod->MxText('color2', 'green'); $date = new clDate($exp['date2'][0]); $aja = XhamTools::genAjax('', 'setTraitement', 'navi=' . $session->genNaviFull() . '&idpatient=' . $res['idpatient'][$i] . '&setTraitement=invalide&type=2'); $ajax = 'onclick="' . $aja . 'inverserTraitement(' . $res['idpatient'][$i] . ',2,\'NGAP\');"'; $img = '<img src="images/gg.gif" id="img2' . $res['idpatient'][$i] . '" alt="annuler" ' . $ajax . ' style="cursor: pointer; pointer: hand;" />'; $mod->MxText('traitement2', '<div id="text2' . $res['idpatient'][$i] . '" style="display:inline;">La partie NGAP de cet export a été traitée par ' . $exp['iduser2'][0] . ' le ' . $date->getDateTextFull('à') . '</div> ' . $img); } else { $mod->MxText('color2', 'red'); $aja = XhamTools::genAjax('', 'setTraitement', 'navi=' . $session->genNaviFull() . '&idpatient=' . $res['idpatient'][$i] . '&setTraitement=valide&type=2'); $ajax = 'onclick="' . $aja . 'inverserTraitement(' . $res['idpatient'][$i] . ',2,\'NGAP\');"'; $img = '<img src="images/dd.gif" id="img2' . $res['idpatient'][$i] . '" alt="valider" ' . $ajax . ' style="cursor: pointer; pointer: hand;" />'; $mod->MxText('traitement2', '<div id="text2' . $res['idpatient'][$i] . '" style="display:inline;">La partie NGAP de cet export n\'est pas traitée.</div> ' . $img); } if (isset($exp['etat3'][0]) and $exp['etat3'][0]) { $mod->MxText('color3', 'green'); $date = new clDate($exp['date3'][0]); $aja = XhamTools::genAjax('', 'setTraitement', 'navi=' . $session->genNaviFull() . '&idpatient=' . $res['idpatient'][$i] . '&setTraitement=invalide&type=3'); $ajax = 'onclick="' . $aja . 'inverserTraitement(' . $res['idpatient'][$i] . ',3,\'diagnostics\');"'; $img = '<img src="images/gg.gif" id="img3' . $res['idpatient'][$i] . '" alt="annuler" ' . $ajax . ' style="cursor: pointer; pointer: hand;" />'; $mod->MxText('traitement3', '<div id="text3' . $res['idpatient'][$i] . '" style="display:inline;">La partie diagnostics de cet export a été traitée par ' . $exp['iduser3'][0] . ' le ' . $date->getDateTextFull('à') . '</div> ' . $img); } else { $mod->MxText('color3', 'red'); $aja = XhamTools::genAjax('', 'setTraitement', 'navi=' . $session->genNaviFull() . '&idpatient=' . $res['idpatient'][$i] . '&setTraitement=valide&type=3'); $ajax = 'onclick="' . $aja . 'inverserTraitement(' . $res['idpatient'][$i] . ',3,\'diagnostics\');"'; $img = '<img src="images/dd.gif" id="img3' . $res['idpatient'][$i] . '" alt="valider" ' . $ajax . ' style="cursor: pointer; pointer: hand;" />'; $mod->MxText('traitement3', '<div id="text3' . $res['idpatient'][$i] . '" style="display:inline;">La partie diagnostics de cet export n\'est pas traitée.</div> ' . $img); } // Etat Civil $mod->MxText('idpatient', XhamTools::getAV($res['idpatient'][$i])); $mod->MxText('idu', XhamTools::getAV($res['idu'][$i])); $mod->MxText('ilp', XhamTools::getAV($res['ilp'][$i])); $mod->MxText('nsej', XhamTools::getAV($res['nsej'][$i])); $mod->MxText('uf', XhamTools::getAV($res['uf'][$i])); $mod->MxText('manuel', $res['manuel'][$i] ? 'Oui' : 'Non'); $mod->MxText('sexe', XhamTools::getAV($res['sexe'][$i])); $mod->MxText('nom', XhamTools::getAV(strtoupper($res['nom'][$i]))); $mod->MxText('prenom', XhamTools::getAV(ucfirst(strtolower($res['prenom'][$i])))); $mod->MxText('naissance', XhamTools::getAV($res['dt_naissance'][$i], 'd/m/Y')); $mod->MxText('adresse', nl2br(XhamTools::getAV($res['adresse_libre'][$i]))); $mod->MxText('cp', XhamTools::getAV($res['adresse_cp'][$i])); $mod->MxText('ville', XhamTools::getAV($res['adresse_ville'][$i])); $mod->MxText('tel', XhamTools::getAV($res['telephone'][$i])); $mod->MxText('medecintraitant', nl2br(XhamTools::getAV($res['medecin_traitant'][$i]))); $mod->MxText('aPrevenir', nl2br(XhamTools::getAV($res['prevenir'][$i]))); $mod->MxText('dt_admission', XhamTools::getAV($res['dt_admission'][$i], 'd/m/Y H:i:s')); $mod->MxText('dt_examen', XhamTools::getAV($res['dt_examen'][$i], 'd/m/Y H:i:s')); $mod->MxText('dt_sortie', XhamTools::getAV($res['dt_sortie'][$i], 'd/m/Y H:i:s')); // Informations de passage $mod->MxText('medecin', XhamTools::getAV($res['medecin_urgences'][$i])); $mod->MxText('ide', XhamTools::getAV($res['ide'][$i])); $mod->MxText('mode_admission', XhamTools::getAV($res['mode_admission'][$i])); $mod->MxText('adresseur', XhamTools::getAV($res['adresseur'][$i])); $mod->MxText('provenance', XhamTools::getAV($res['provenance'][$i])); $mod->MxText('recours_categorie', XhamTools::getAV($res['recours_categorie'][$i])); $mod->MxText('recours', XhamTools::getAV($res['motif_recours'][$i])); $mod->MxText('recours_code', XhamTools::getAV($res['recours_code'][$i])); $mod->MxText('gravite', XhamTools::getAV($res['code_gravite'][$i])); $mod->MxText('ccmu', XhamTools::getAV($res['ccmu'][$i])); $mod->MxText('gemsa', XhamTools::getAV($res['gemsa'][$i])); $mod->MxText('souhaitee', XhamTools::getAV($res['dest_souhaitee'][$i])); $mod->MxText('confirmee', XhamTools::getAV($res['dest_attendue'][$i])); $mod->MxText('salle', XhamTools::getAV($res['salle_examen'][$i])); $mod->MxText('traumato', XhamTools::getAV($res['traumato'][$i])); $mod->MxText('motifTransfert', XhamTools::getAV($res['motif_transfert'][$i])); $mod->MxText('moyenTransport', XhamTools::getAV($res['motif_transport'][$i])); $mod->MxText('destPMSI', XhamTools::getAV($res['dest_pmsi'][$i])); $mod->MxText('orientation', XhamTools::getAV($res['orientation'][$i])); $mod->MxText('', XhamTools::getAV($res[''][$i])); // CCAM $req = new clResultQuery(); $param['cw'] = "WHERE DISCR=" . $res['idpatient'][$i] . ' order by ID'; $ras = $req->Execute("Fichier", "CCAM_getActesBAL", $param, "ResultQuery"); //$mod -> MxText ( 'ccam', affTab ( $res['INDIC_SVC'] ) ) ; //eko ( $ras['INDIC_SVC'] ) ; if ($ras['INDIC_SVC'][2]) { $toDelete = array(); // Epuration des actes et diagnostics supprimés for ($k = 0; isset($ras['ID'][$k]); $k++) { $tabActe = explode('|', $ras['CONTENU'][$k]); if ($tabActe[9] == "suppression") { $toDelete[$tabActe[10] . $tabActe[22]] = $tabActe[10] . $tabActe[22]; } } //eko ( $toDelete ) ; for ($i = 0; isset($ras['ID'][$i]); $i++) { $tabActe = explode('|', $ras['CONTENU'][$i]); $type = $ras['TYPE'][$i]; $idpass = $tabActe[0]; $idu = $tabActe[1]; $nomu = $tabActe[2]; $pren = $tabActe[3]; $sexe = $tabActe[4]; $dtnai = $tabActe[5]; $dtdem = $tabActe[6]; $hhdem = $tabActe[7]; $ufd = $tabActe[8]; $action = $tabActe[9]; $idact = $tabActe[10]; $cdccam = $tabActe[11]; $cddiags = $tabActe[12]; $cdacti = $tabActe[13]; $cdphase = $tabActe[14]; $dtr = $tabActe[15]; $hhr = $tabActe[16]; $nomumed = $tabActe[17]; $prenmed = $tabActe[18]; $adeli = $tabActe[19]; $ufr = $tabActe[20]; $modif = $tabActe[21]; $ngapl = $tabActe[22]; $ngapc = $tabActe[23]; $factu = $tabActe[24]; $cdasso = $tabActe[25]; $nuitjf = $tabActe[26]; if (!in_array($idact . $ngapl, $toDelete) and $action != 'suppression') { //if ( ! in_array( $idact, $toDelete ) ) { $lib = $this->getActeLibelle($tabActe[11], $ras['TYPE'][$i]); $libSansHTML = $this->getActeLibelle($tabActe[11], $ras['TYPE'][$i], "1"); $mod->MxText('acte.ligne', $action); //$mod -> MxText ( 'acte.action', $action ) ; $mod->MxText('acte.type', $type); $mod->MxText('acte.date', $dtr); $mod->MxText('acte.heure', $hhr); $mod->MxText('acte.uf', $ufr); $mod->MxText('acte.code', $cdccam); $mod->MxText('acte.autreDiags', XhamTools::getAV($cddiags)); $mod->MxText('acte.asso', XhamTools::getAV($cdasso)); $mod->MxText('acte.facture', XhamTools::getAV($factu)); $mod->MxText('acte.nuitjf', XhamTools::getAV($nuitjf)); $mod->MxText('acte.modificateurs', XhamTools::getAV($modif)); $mod->MxText('acte.codeActivite', XhamTools::getAV($cdacti)); $mod->MxText('acte.codePhase', XhamTools::getAV($cdphase)); $mod->MxText('acte.lettreCle', XhamTools::getAV($ngapl . '-' . $ngapc)); $mod->MxText('acte.medecin', XhamTools::getAV($nomumed)); $mod->MxText('acte.adeli', XhamTools::getAV($adeli)); $mod->MxText('acte.description', XhamTools::getAV($libSansHTML)); $mod->MxBloc('acte', 'loop'); } else { unset($toDelete[$idact . $ngapl]); } } } else { $mod->MxBloc('acte', 'replace', '<tr><td colspan=16>Aucun acte.</td></tr>'); } // On retourne le code HTML généré par le template. return $mod->MxWrite("1"); }
function genListeTodo() { $req = new XhamRequete(BASEXHAM, 'todo', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS); switch ($this->xham->getr('Categorie')) { case 'all': $filtreCates = "1=1"; break; case '#': $filtreCates = "categorie=''"; break; default: $filtreCates = "categorie='" . utf8_decode($this->xham->getr('Categorie')) . "'"; break; } switch ($this->xham->getr('idUser')) { case 'all': $filtreUsers = "(idUser='******' OR public=1)"; break; case '#': $filtreUsers = "idUser='******'"; break; default: $filtreUsers = "idUser='******'idUser') . "'"; break; } switch ($this->xham->getr('Mode')) { default: $filtreModes = "etat like '" . $this->xham->getr('Mode') . "'"; break; } $filtre = " {$filtreCates} and {$filtreUsers} and {$filtreModes} "; $res = $req->getGen("{$filtre} order by etat, date", "resultQuery"); $ras = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='afaire' order by etat", "resultQuery", 'sum(importance) nbHeures'); $rus = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='encours' order by etat", "resultQuery", 'sum(importance) nbHeures'); $ris = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='termines' order by etat", "resultQuery", 'sum(importance) nbHeures'); //print affTab ( $ras['INDIC_SVC'] ) ; $mod = new ModeliXe("TodoListe.html"); $mod->SetModeliXe(); $mod->MxText('recap', 'A faire : ' . ($ras['nbHeures'][0] ? $ras['nbHeures'][0] : '0') . 'h - En cours : ' . ($rus['nbHeures'][0] ? $rus['nbHeures'][0] : '0') . 'h - Terminés : ' . ($ris['nbHeures'][0] ? $ris['nbHeures'][0] : '0') . 'h'); $date = new clDate(); if ($res['INDIC_SVC'][2] == 0) { $mod->MxBloc('todo', 'replace', '<td colspan="6">Aucun todo.</td>'); } else { for ($i = 0; isset($res['idTodo'][$i]); $i++) { $js = XhamTools::genAjax('onClick', 'refreshTodo', 'ajax=changeStatus&idTodo=' . $res['idTodo'][$i] . '&navi=' . $this->xham->genNaviFull()); /* if ( $res['etat'][$i] != 'termines' ) $mod -> MxText ( 'todo.js', $js ) ; else $mod -> MxText ( 'todo.js', '' ) ; */ $mod->MxText('todo.js', $js); $mod->MxText('todo.class', $res['etat'][$i]); $mod->MxText('todo.idUser', $res['idUser'][$i]); $mod->MxText('todo.categorie', $res['categorie'][$i]); $mod->MxText('todo.nom', $res['nom'][$i]); $date->setDate($res['date'][$i]); $mod->MxText('todo.date', $date->getDate('Y-m-d H:i:s')); if ($res['dateLimite'][$i] != '0000-00-00 00:00:00') { $date->setDate($res['dateLimite'][$i]); $mod->MxText('todo.dateLimite', $date->getDate('Y-m-d')); } else { $mod->MxText('todo.dateLimite', VIDEDEFAUT); } $mod->MxText('todo.importance', $res['importance'][$i]); $mod->MxBloc('todo', 'loop'); } } $af = $mod->MxWrite("1"); if ($this->ajax) { $this->af .= $af; } else { return $af; } }
function gestionDroits() { if ($this->xham->getDroit("Configuration_Droits", "r")) { // Si idgroupe est transmis, alors on affiche les opérations sur // les droits du groupe. if (isset($_POST['idgroupe']) and $_POST['idgroupe']) { // Si action est tranmis, on affiche la gestion des privilèges. if (isset($_POST['action']) and $_POST['action']) { // Si Enlever est transmis, on lance la suppression des droits sélectionnés. if (isset($_POST['Enlever']) or isset($_POST['Enlever_x'])) { $this->delDroits(); } // Si Ajouter est transmis, on lance l'ajout des droits sélectionnés. if (isset($_POST['Ajouter']) or isset($_POST['Ajouter_x'])) { $this->addDroits(); } // Création d'un nouveau droit. if (isset($_POST['CreerDroit']) or isset($_POST['CreerDroit_x'])) { $this->addNewDroit(); } // Suppression d'un droit. if ((isset($_POST['SupprimerDroit']) or isset($_POST['SupprimerDroit_x']) or $this->xham->getNavi(3) == "Suppression") and !isset($_POST['Annuler'])) { $bonus = $this->delDroit(isset($_POST['libelle']) ? $_POST['libelle'] : $this->xham->getNavi(4)); } // Récupération de la liste des groupes. $tab = $this->listeGroupes(); // Récupération des droits du groupe. $dro = $this->listeDroits("format"); // Récupération des droits attribuables. $tous = $this->listeDroits("format", $_POST['idgroupe']); // Appel du template. $mod = new ModeliXe("AttributionDeDroits.mxt"); $mod->SetModeliXe(); if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $act[0] = "Gestion des privilèges"; $act[1] = "Attribution des droits"; // Remplissage des différents champs. $mod->MxSelect("action", "action", $_POST['action'], $act, '', '', "onChange=reload(this.form)"); $mod->MxSelect("groupe", "idgroupe", $_POST['idgroupe'], $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroits")); $mod->MxSelect("tous", "tous[]", '', $tous, '', '', "size=\"15\" multiple=\"yes\" id=\"touslesdroitsdispos\""); $mod->MxSelect("droits", "droits[]", '', $dro, '', '', "size=\"15\" multiple=\"yes\" id=\"touslesdroitsgroupe\""); $mod->MxFormField("creation.libelle", "text", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', ""); $mod->MxFormField("creation.description", "text", "description", isset($_POST['description']) ? stripslashes($_POST['description']) : '', ""); $mod->MxHidden("creation.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroit", "Creation") . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); $listeDroits = $this->getTousDroits(); $mod->MxSelect("suppression.libelles", "libelle", isset($_POST['libelle']) ? stripslashes($_POST['libelle']) : '', $listeDroits, '', '', 'size="15"'); $mod->MxHidden("suppression.hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "AttributionDroit", "Suppression") . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); $mod->MxText("bonus", isset($bonus) ? $bonus : ''); if (!$this->xham->getDroit("Configuration_Droits", "w")) { $mod->MxBloc("boutonsajouter", "modify", ""); } if (!$this->xham->getDroit("Configuration_Droits", "d")) { $mod->MxBloc("boutonsenlever", "modify", ""); } if (!$this->xham->getDroit("Configuration_Droits", "a")) { $mod->MxBloc("creation", "delete"); } if (!$this->xham->getDroit("Configuration_Droits", "a")) { $mod->MxBloc("suppression", "delete"); } } else { // Si MajDroits est tranmis, alors on lance la mise à jour du droit. if (isset($_POST['MajDroits']) || isset($_POST['MajDroits_x'])) { $this->majDroits(); } // Récupération de la liste des groupes. $tab = $this->listeGroupes(); // Récupération de la liste des droits du groupe. $dro = $this->listeDroits(); // Chargement du template. $mod = new ModeliXe("GestionDesDroits.mxt"); $mod->SetModeliXe(); $act[0] = "Gestion des privilèges"; $act[1] = "Attribution des droits"; // Remplissage des champs. $mod->MxSelect("action", "action", isset($_POST['action']) ? $_POST['action'] : '', $act, '', '', "onChange=reload(this.form)"); $mod->MxSelect("groupe", "idgroupe", $_POST['idgroupe'], $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "MajDroits")); if (count($dro['iddroit']) > 0) { $mod->MxText("titres", "<tr><th>Libellé</th><th>Description</th><th title='lecture'>R</th><th title='écriture'>W</th><th title='modifier'>M</th><th title='effacer'>D</th><th title='administrer'>A</th>"); } else { $mod->MxText("titres", "<tr><th>Ce groupe ne possède aucun droit dans cette application.</th></tr>"); } // On parcourt chaque droit attribué au groupe, et on ajoute // une ligne au template pour gérer les privilèges. for ($i = 0; isset($dro['iddroit'][$i]); $i++) { $bin = sprintf("%05b", $dro['valeur'][$i]); $mod->MxText("listedroits.libelle", $dro['libelle'][$i]); $mod->MxText("listedroits.description", $dro['descriptiondroit'][$i]); $mod->MxCheckerField("listedroits.R", "checkbox", "R" . $dro['iddroit'][$i], 1, $bin[4] ? true : false, "title='Lecture'"); $mod->MxCheckerField("listedroits.W", "checkbox", "W" . $dro['iddroit'][$i], 1, $bin[3] ? true : false, "title='Ecriture'"); $mod->MxCheckerField("listedroits.M", "checkbox", "M" . $dro['iddroit'][$i], 1, $bin[2] ? true : false, "title='Modification'"); $mod->MxCheckerField("listedroits.D", "checkbox", "D" . $dro['iddroit'][$i], 1, $bin[1] ? true : false, "title='Effacement'"); $mod->MxCheckerField("listedroits.A", "checkbox", "A" . $dro['iddroit'][$i], 1, $bin[0] ? true : false, "title='Administration'"); $mod->MxBloc("listedroits", "loop"); } $mod->MxHidden("boutons.hidden2", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "")); if (!$this->xham->getDroit("Configuration_Droits", "m")) { $mod->MxBloc("boutons", "modify", ""); } } } else { // Dans ce cas, on affiche seulement la liste des groupes disponibles. $tab = $this->listeGroupes(); $mod = new ModeliXe("ListeGroupes.mxt"); $mod->SetModeliXe(); $mod->MxSelect("groupe", "idgroupe", isset($_POST['idgroupe']) ? $_POST['idgroupe'] : '', $tab, '', '', "onChange=reload(this.form)"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1))); } /* if ( ! ereg ( ".*".PRODKEYW.".*", URL ) AND URL ) { $mod -> MxUrl ( "lienMaj", URLNAVI.$session->genNavi ( $session->getNavi(0), $session->getNavi(1), "MajDroitsProd" ) ) ; $mod -> MxImage ( "imgMaj", URLIMGMAJ, "Envoyer en production" ) ; } */ $this->af .= $mod->MxWrite("1"); //ajout cervetti, javascript descriptions droits $this->af .= $this->genJavaTitles(); } }
function genXML($dat = '') { global $options; global $session; // On prend la date passée en paramètre si elle existe. if ($dat) { $date = new clDate($dat); } else { // Sinon, on initialise avec la date de la veille. $date = new clDate(); $date->addDays(-1); } //eko ( $_REQUEST ) ; $_REQUEST['dateRPU'] = $date->getDate('Y-m-d'); // Calcul de la date minimum (J-7). $dateMin = new clDate($date->getDatetime()); $nbJours = $options->getOption('RPU_NombreJours'); $dateMin->addDays(-$nbJours); // Création des instances de dates. $dateN = new clDate(); $dateS = new clDate(); $dateE = new clDate(); if (!$options->getOption('RPU_Manuels_Actif')) { $fmanuel = 'manuel!=1 AND '; } else { $fmanuel = ''; } // Fabrication de la requête en fonction du nombre de jours. if ($nbJours == 1) { $param['cw'] = "WHERE " . $fmanuel . " dt_admission LIKE '" . $date->getDate('Y-m-d') . "%' AND valide>=1 AND type_destination!='X'"; } else { $param['cw'] = "WHERE " . $fmanuel . " dt_admission BETWEEN '" . $dateMin->getDate('Y-m-d 00:00:00') . "' AND '" . $date->getDate('Y-m-d 23:59:59') . "' AND valide>=1 AND type_destination!='X'"; } $req = new clResultQuery(); // Exécution de la requête. $res = $req->Execute("Fichier", "getPatientsRPU", $param, "ResultQuery"); eko($res['INDIC_SVC']); // Chargement du template ModeliXe. $mod = new ModeliXe("rpu.html"); $mod->SetModeliXe(); // On remplit les champs "fixes" fu fichier RPU. $mod->MxText('idActeur', $options->getOption('RPU_IdActeur')); $mod->MxText('cleActeur', $options->getOption('RPU_CleActeur')); $mod->MxText('AR', $options->getOption('RPU_AR_Actif')); $mod->MxText('mailAR', $options->getOption('RPU_AR_Mail')); // On parcourt les différents passages trouvés par la requête. for ($i = 0; isset($res['idpatient'][$i]); $i++) { // Récupération des actes du passage dans la base "xham_ccam". if ($options->getOption("ActiverModuleActes")) { $param['idEvent'] = $res['idpatient'][$i]; $param['idDomaine'] = 1; $diags = $req->Execute("Fichier", "CCAM_getDiagCotes", $param, "ResultQuery"); $ccam = $req->Execute("Fichier", "CCAM_getCcamCotes", $param, "ResultQuery"); //eko ( $ccam['INDIC_SVC'] ) ; } else { // TODO : Récupération des informations nécessaires dans CORA. $param['idEvent'] = $res['idpatient'][$i]; $param['idDomaine'] = 1; $diags = $req->Execute("Fichier", "CCAM_getDiagCotes", $param, "ResultQuery"); unset($param); $param['nsej'] = $res['nsej'][$i]; $ccam = $req->Execute("Fichier", "CCAM_CoraCCAM", $param, "ResultQuery"); } // Calcul de la "date_event". $dateE->setDate($res['dt_admission'][$i]); if ($res['dt_admission'][$i] != '0000-00-00 00:00:00') { $mod->MxText('rpu.date_event', $dateE->getDate('d/m/Y H:i')); } else { $mod->MxText('rpu.date_event', ''); } // Calcul de la date d'examen $dateE->setDate($res['dt_examen'][$i]); if ($res['dt_examen'][$i] != '0000-00-00 00:00:00') { $mod->MxText('rpu.medic', $dateE->getDate('d/m/Y H:i')); } else { $mod->MxText('rpu.medic', ''); } // CP & Ville $mod->MxText('rpu.cp', $res['adresse_cp'][$i]); $mod->MxText('rpu.commune', $res['adresse_ville'][$i]); // Calcul de la date de naissance. $dateN->setDate($res['dt_naissance'][$i]); if ($res['dt_naissance'][$i] != '0000-00-00 00:00:00') { $mod->MxText('rpu.naissance', $dateN->getDate('d/m/Y')); } else { $mod->MxText('rpu.naissance', ''); } // Sexe $mod->MxText('rpu.sexe', $res['sexe'][$i]); // Calcul de la date d'admission. $dateE->setDate($res['dt_admission'][$i]); if ($res['dt_admission'][$i] != '0000-00-00 00:00:00') { $mod->MxText('rpu.entree', $dateE->getDate('d/m/Y H:i')); } else { $mod->MxText('rpu.entree', ''); } // Calcul de la provenance, du mode d'entrée et du transport. $prov = $res['provenance'][$i]; $trans = explode(' ', $res['mode_admission'][$i]); $mod->MxText('rpu.mode_entree', $prov[0]); $mod->MxText('rpu.provenance', $prov[1]); $mod->MxText('rpu.transport', $trans[0]); $mod->MxText('rpu.transport_pec', $trans[1]); // Recours & gravité $mod->MxText('rpu.motif', $res['recours_code'][$i]); $mod->MxText('rpu.gravite', $res['code_gravite'][$i]); // Diagnostic principal $mod->MxText('rpu.dp', $diags['identifiant'][0]); // Hash de l'IDU $mod->MxText('rpu.idpatientetab', sha1($res['idu'][$i])); // Affichage des diagnostics secondaires. if ($diags['INDIC_SVC'][2] <= 1) { $mod->MxBloc('rpu.da', 'delete'); } else { for ($j = 1; isset($diags['identifiant'][$j]); $j++) { $mod->MxText('rpu.da.da', $diags['identifiant'][$j]); $mod->MxBloc('rpu.da', 'loop'); } } // Affichage des actes. if ($ccam['INDIC_SVC'][2] == 0) { $mod->MxBloc('rpu.acte', 'delete'); } else { for ($j = 0; isset($ccam['identifiant'][$j]); $j++) { $mod->MxText('rpu.acte.acte', $ccam['identifiant'][$j]); $mod->MxBloc('rpu.acte', 'loop'); } } // Calcul de la date de sortie. $dateS->setDate($res['dt_sortie'][$i]); if ($res['dt_sortie'][$i] != '0000-00-00 00:00:00') { $mod->MxText('rpu.sortie', $dateS->getDate('d/m/Y H:i')); } else { $mod->MxText('rpu.sortie', '00/00/0000 00:00'); } // Calcul du mode de sortie. $dest = $res['type_destination'][$i]; switch ($res['type_destination'][$i]) { case 'T': $modeS = '7'; break; case 'H': $modeS = '6'; break; case 'D': $modeS = '9'; break; default: $modeS = '8'; break; } $mod->MxText('rpu.mode_sortie', $modeS); // Calcul de la destination et de l'orientation. if ($dest == '6' or $dest == '7') { $destP = $dest; $ori = ''; } elseif ($dest == 'F') { $ori = 'FUGUE'; $destP = ''; // { OR $dest == 'S' OR $dest == 'P' OR $dest == 'R' ) { } elseif ($dest == 'S') { $ori = 'SCAM'; $destP = ''; } elseif ($dest == 'P') { $ori = 'PSA'; $destP = ''; } elseif ($dest == 'R') { $ori = 'REO'; $destP = ''; } elseif ($dest) { $destP = $res['dest_pmsi'][$i]; $ori = $res['orientation'][$i]; } $mod->MxText('rpu.destination', $destP); $mod->MxText('rpu.orient', $ori); $mod->MxBloc('rpu', 'loop'); } $mod->MxText('data_supplementaire', $this->xmlH1N1); // Récupération du code HTML généré. $this->xmlRpu = $mod->MxWrite("1"); //$this->af .= nl2br(htmlentities($this->xmlRpu)) ; }
function getForm1Acte($paramForm) { //eko ("getForm1Acte"); //eko($paramForm); global $session; $mod = new ModeliXe("CCAM_Form1Acte.mxt"); $mod->SetModeliXe(); $mod->MxText("titreEnCours", $paramForm[titreEnCours]); $codeNGAP = $paramForm[codeNGAP]; $mod->MxText("titreCodeActe", "Code de l'acte : "); $mod->MxText("codeActe", $codeNGAP); $mod->MxText("titreLibActe", "Libellé de l'acte : "); if ($paramForm[libActe] == "Consultation urgentiste non facturable" || $paramForm[libActe] == "Consultation urgentiste" || $paramForm[libActe] == "Consultation urgentiste spécialiste non facturable" || $paramForm[libActe] == "Consultation urgentiste spécialiste" || $paramForm[libActe] == "Consultation sage-femme" || $paramForm[libActe] == "Consultation sage-femme non facturable" || $paramForm[libActe] == "Consultation gynécologie et obstétrique" || $paramForm[libActe] == "Consultation gynécologie et obstétrique non facturable" || $paramForm[libActe] == "MTU" || $paramForm[libActe] == "ATU") { $mod->MxText("libActe2", $paramForm[libActe]); $mod->MxHidden("hidden3", "libActe={$paramForm['libActe']}"); } else { $mod->MxFormField("libActe", "textarea", "libActe", $paramForm[libActe], "rows=\"3\" cols=\"50\"\twrap=\"virtual\""); } //Inclure le formulaire NGAP if ($paramForm[action] == "ccam") { $mod->MxBloc("NGAP", "modify", " "); } else { $mod->MxText("NGAP.formNGAP", $this->getFormNGAP($paramForm)); } //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("validerActe", "modify", " "); $mod->MxBloc("annulerActe", "modify", " "); } $mod->MxHidden("hidden2", "nvxCode={$codeNGAP}&action2={$paramForm['action2']}"); $af = $mod->MxWrite("1"); return $af; }
function ctrlActes() { global $session; $req = new clResultQuery(); $dateFin = date("Y-m-d"); // Appel du template $mod = new ModeliXe("CCAM_CtrlActesVersion.mxt"); $mod->SetModeliXe(); $mod->MxText("versionCCAM", CCAM_VERSION); //Liste des actions if (!$_POST['action']) { $action = "invalide"; } else { $action = $_POST['action']; } $tabAction["invalide"] = "Actes invalides"; $tabAction["liste_restreinte"] = "Actes de la liste restreinte"; $tabAction["tarif_nul"] = "Actes dont le tarif est nul"; while (list($key, $val) = each($tabAction)) { $mod->MxCheckerField("action.action", "radio", "action", $key, $action == $key ? true : false, "onClick=reload(this.form)"); $mod->MxText("action.libAction", $val); $mod->MxBloc("action", "loop"); } //On a validé la suppression ou le remplacement $validerRemplacer = 0; if ($_POST['imgValiderRemplacer'] or $_POST['imgValiderRemplacer_x']) { $idActe = $_POST['listeActesInvalides']; $idNvxActe = $_POST['listeARemplacer']; if ($idNvxActe == "suppr") { $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); $requete = new clRequete(CCAM_BDD, "ccam_actes_pack"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); $requete = new clRequete(CCAM_BDD, "ccam_actes_diagnostic"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } else { if (ereg($idNvxActe, $_POST['dejaDansLR'])) { $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine"); $requete->delRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } else { unset($param); $param["idActe"] = $idNvxActe; $param["date_fin"] = "0000-00-00"; $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $requete->updRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } unset($param); $param["idActe"] = $idNvxActe; $requete = new clRequete(CCAM_BDD, "ccam_actes_pack", $param); $requete->updRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); $requete = new clRequete(CCAM_BDD, "ccam_actes_diagnostic", $param); $requete->updRecord("idActe='{$idActe}' and idDomaine=" . CCAM_IDDOMAINE); } $validerRemplacer = 1; } else { $mod->MxBloc("informations", "delete"); } //Récupération des actes invalides if ($action == "invalide") { $res = $req->Execute("Fichier", "CCAM_getActesInvalides", array(), "ResultQuery"); $mod->MxText("existeActes.libelleTypeActes", "Actes invalides"); } elseif ($action == "liste_restreinte") { unset($paramRq); $paramRq["cw"] = "date_fin='0000-00-00'"; $res = $req->Execute("Fichier", "CCAM_getActesDomaine2", $paramRq, "ResultQuery"); $mod->MxText("existeActes.libelleTypeActes", "Actes de la liste restreinte"); } elseif ($action == "tarif_nul") { $res = $req->Execute("Fichier", "CCAM_getTarifCCAMNul", array(), "ResultQuery"); $mod->MxText("existeActes.libelleTypeActes", "Actes dont le tarif est nul"); } //eko($res["INDIC_SVC"]); if ($res["INDIC_SVC"][2]) { $mod->MxBloc("nonExisteActes", "delete"); $listeActes = ""; for ($i = 0; isset($res["idActe"][$i]); $i++) { $idActe = $res["idActe"][$i]; if ($i == 0) { $idActe0 = $idActe; } $tabActesInvalides[$idActe] = "{$idActe} - " . $res["libelleActe"][$i]; $listeActes .= "'{$idActe}',"; } if (!isset($_POST['listeActesInvalides']) or isset($_POST['actionPrec']) and $action != $_POST['actionPrec'] or $validerRemplacer == 1) { $listeActesInvalides = $idActe0; } else { $listeActesInvalides = $_POST['listeActesInvalides']; } $mod->MxSelect("existeActes.listeActesInvalides", "listeActesInvalides", $listeActesInvalides, $tabActesInvalides, '', '', "size=\"15\" class=\"selectngap\" onChange=\"reload(this.form)\""); //Récupération du libellé de l'acte sélectionné (liste gauche) unset($paramRq); $paramRq["idActe"] = $listeActesInvalides; $res = $req->Execute("Fichier", "CCAM_get1ActeCCAM", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $mod->MxText("existeActes.libelleActe", "{$listeActesInvalides} - " . $res["libelle"][0]); //Récupération des packs utilisant l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and rel.idActe='{$listeActesInvalides}' and rel.idDomaine=" . CCAM_IDDOMAINE; $res = $req->Execute("Fichier", "CCAM_getPackActes", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $listePacks = "<p><u>Liste des packs associés :</u> "; if ($res["INDIC_SVC"][2]) { for ($i = 0; isset($res["idPack"][$i]); $i++) { $listePacks .= $res["idPack"][$i] . "-" . $res["libelleActe"][$i] . ", "; } $listePacks = substr($listePacks, 0, -2); } else { $listePacks .= "Aucun pack n'a été associé"; } $mod->MxText("existeActes.listePacks", $listePacks); //Récupération des diagnostics associés à l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and rel.idActe='{$listeActesInvalides}' and rel.idDomaine=" . CCAM_IDDOMAINE; $res = $req->Execute("Fichier", "CCAM_getDiagsActe", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $listeDiags = "<p><u>Liste des diagnostics associés :</u> "; if ($res["INDIC_SVC"][2]) { for ($i = 0; isset($res["idDiag"][$i]); $i++) { $listeDiags .= $res["idDiag"][$i] . "-" . $res["nomItem"][$i] . ", "; } $listeDiags = substr($listeDiags, 0, -2); } else { $listeDiags .= "Aucun diagnostic n'a été associé"; } $mod->MxText("existeActes.listeDiags", $listeDiags); //Récupération du tarif de l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and a.code='{$listeActesInvalides}' order by t.aadt_modif desc"; $res = $req->Execute("Fichier", "CCAM_get1TarifCCAM", $paramRq, "ResultQuery"); eko($res); $mod->MxText("existeActes.tarif", "<br><u>Tarif en vigueur :</u> " . number_format($res["pu_base"][0], 2, ',', '.') . " euros"); //Mise à jour de la date de fin de validité if ($action == "invalide") { $listeActes = substr($listeActes, 0, -1); unset($param); $param["date_fin"] = date("Y-m-d"); $requete = new clRequete(CCAM_BDD, "ccam_actes_domaine", $param); $requete->updRecord("idActe in ({$listeActes}) and date_fin='0000-00-00' and idDomaine=" . CCAM_IDDOMAINE); } //Affichage de la zone début de code $mod->MxText("existeActes.codeSelectionne", $listeActesInvalides); if (!isset($_POST['debCodeActe']) or isset($_POST['listeActesPrec']) and $listeActesInvalides != $_POST['listeActesPrec']) { $debCodeActe = substr($listeActesInvalides, 0, 4); } else { $debCodeActe = strtoupper($_POST['debCodeActe']); } if (!$debCodeActe or $debCodeActe == "%") { $debCodeActe = "A"; } $mod->MxFormField("existeActes.debCodeActe", "text", "debCodeActe", $debCodeActe, "size=\"7\" \r\n onChange=\"reload(this.form)\""); //Récupération des actes correspondant au début du code déjà présents dans la liste restreinte unset($paramRq); $paramRq["cw"] = "idActe like '{$debCodeActe}%'"; $res = $req->Execute("Fichier", "CCAM_getActesDomaine2", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $listeActes = ""; for ($i = 0; isset($res["idActe"][$i]); $i++) { $listeActes .= $res["idActe"][$i] . ","; } /*if ($listeActes){ $listeActes=substr($listeActes,0,-1); $cwListeActes="and code not in ($listeActes)"; }*/ //Récupération des actes correspondant au début du code unset($paramRq); $paramRq["cw"] = "dt_fin is null and code like '{$debCodeActe}%' and code!='{$listeActesInvalides}'"; $res = $req->Execute("Fichier", "CCAM_getActesCCAM", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $tabARemplacer = array(); $dejaDansLR = ""; for ($i = 0; isset($res["CODE"][$i]); $i++) { $idActe = $res["CODE"][$i]; $idActeAff = $idActe; if (ereg($idActe, $listeActes)) { if ($idActe == $_POST["listeARemplacer"]) { $idActe .= "\"selected=\"selected\" style=\"color:green;\""; } else { $idActe .= "\"style=\"color:green;\""; } } if ($i == 0) { $idActe0 = $idActeAff; } $tabARemplacer[$idActe] = "{$idActeAff} - " . $res["LIBELLE_COURT"][$i]; } $tabARemplacer["suppr"] = "Supprimer l'acte '{$listeActesInvalides}' des différentes listes"; if (!isset($_POST['listeARemplacer']) or isset($_POST['listeActesPrec']) and $listeActesInvalides != $_POST['listeActesPrec'] or isset($_POST['debCodeActePrec']) and $debCodeActe != $_POST['debCodeActePrec']) { $listeARemplacer = $idActe0; } else { $listeARemplacer = $_POST['listeARemplacer']; } $mod->MxSelect("existeActes.listeARemplacer", "listeARemplacer", $listeARemplacer, $tabARemplacer, '', '', "size=\"15\" \r\n onChange=\"reload(this.form)\""); if ($res["INDIC_SVC"][2]) { if ($listeARemplacer != "suppr") { //Récupération du libellé de l'acte sélectionné (liste droite) unset($paramRq); $paramRq["idActe"] = $listeARemplacer; $res = $req->Execute("Fichier", "CCAM_get1ActeCCAM", $paramRq, "ResultQuery"); //eko($res["INDIC_SVC"]); $mod->MxText("existeActes.libelleARemplacer", "{$listeARemplacer} - " . $res["libelle"][0]); //Récupération du tarif de l'acte sélectionné unset($paramRq); $paramRq["cw"] = "and a.code='{$listeARemplacer}' order by t.aadt_modif desc"; $res = $req->Execute("Fichier", "CCAM_get1TarifCCAM", $paramRq, "ResultQuery"); //eko ($res); //eko($res["INDIC_SVC"]); $mod->MxText("existeActes.tarifNvx", "<br><u>Tarif en vigueur :</u> " . number_format($res["pu_base"][0], 2, ',', '.') . " euros"); } } $mod->MxFormField("existeActes.imgValiderRemplacer", "image", "imgValiderRemplacer", "", "src=\"" . URLIMG . "Ok.gif\" align=\"abscenter\" \r\n title=\"Mettre à jour l'acte invalide dans les différentes listes\""); } else { $mod->MxBloc("existeActes", "delete"); $mod->MxText("nonExisteActes.versionCCAM", CCAM_VERSION); } $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $mod->MxHidden("hidden2", "actionPrec={$action}&dejaDansLR={$listeActes}&debCodeActePrec={$debCodeActe}&listeActesPrec={$listeActesInvalides}"); $this->af .= $mod->MxWrite("1"); }
static function genMenuSelection($prefix, $ids) { global $formxSession; if (!is_object($formxSession)) { $formxSession = new formxSession(); } $mod = new ModeliXe("FX_selectNew.mxt"); $mod->SetModeliXe(); $dos = opendir(FORMX_LOCATION); // Met le pointeur de lecture sur le dossier courant. $tabAllForms = array(); while ($fich = readdir($dos)) { if (ereg("^.*\\.xml\$", $fich)) { //on ouvre le fichier pour en trouver les caracteristiques principales $xml = simplexml_load_file(FORMX_LOCATION . $fich); if (!$xml) { eko("pb chargement de l'instance"); } else { if ($xml['hide'] == 'y') { continue; } if ($xml['access']) { $droit = $formxSession->getDroit(utf8_decode((string) $xml['access']), 'w'); } else { $droit = $formxSession->getDroit(DROITGENFORMX, 'w'); } if (!$droit) { continue; } $infos = array("id" => $xml['id'], 'titre' => (string) $xml->Libelle, 'objet' => (string) $xml->Objet); if ((string) $xml->Groupe) { $tabAllForms[(string) $xml->Groupe][] = $infos; } else { $tabAllForms[utf8_encode("Général")][] = $infos; } } } } foreach ($tabAllForms as $groupe => $tabGroupe) { $mod->MxText('groupe.titregroupe', $groupe); $mod->MxAttribut("groupe.id_head", "head_" . $groupe); $mod->MxAttribut("groupe.id_body", "body_" . $groupe); $mod->MxAttribut("groupe.codeOnClick", "document.getElementById('body_{$groupe}').style.display='block';"); $mod->MxAttribut("groupe.codeOnClickClose", "document.getElementById('body_{$groupe}').style.display='none';"); $mod->MxAttribut("groupe.codeOnClickCheckAll", "checkAllIn('body_{$groupe}');"); foreach ($tabGroupe as $infoGroupe) { $mod->MxText('groupe.SQUELETTE.titre', $infoGroupe['titre']); $mod->MxText('groupe.SQUELETTE.id', $infoGroupe['id']); $mod->MxText('groupe.SQUELETTE.objet', $infoGroupe['objet']); $mod->MxCheckerField('groupe.SQUELETTE.check', 'checkbox', $prefix . "chooseNew[]", $infoGroupe['id'], '', "class=\"casechoi\""); $mod->MxBloc('groupe.SQUELETTE', 'loop'); } $mod->MxBloc('groupe', 'loop'); } $mod->MxFormField("selCancel", "image", $prefix . "selCancel", "on", "value='on' src=\"" . FX_URLIMGANNMINI . "\""); $mod->MxFormField("selValid", "image", $prefix . "selValid", "on", "value='on' src=\"" . FX_URLIMGVAL . "\""); //fermeture de fen�tre if ($formxSession->infos['mode'] != 'iframe') { $mod->MxFormField("windowClose", "image", $prefix . "close", "on", "value='on' src=\"" . FX_URLIMGCLO . "\""); } //navigation $mod->MxHidden("hidden1", "navi=" . $formxSession->genNavi($formxSession->getNavi(0), $formxSession->getNavi(1), $formxSession->getNavi(2), $formxSession->getNavi(3))); //ids $mod->MxHidden("hidden2", "ids=" . $ids); return $mod->MxWrite("1"); }
function gestionConsult() { global $session; global $options; // Appel du template permettant la saisie des consultations spécialisées $mod = new ModeliXe("CCAM_Consult.mxt"); $mod->SetModeliXe(); $mod->MxImage("imgQuitter", URLIMG . "QuitterSansValider.gif"); $mod->MxUrl("lienQuitter", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); //Initialisation des valeurs if (!$_POST['idListeSelection1']) { $idListeSelection1 = "tous"; } else { $idListeSelection1 = $_POST['idListeSelection1']; } ($_POST['aDroite_x'] or $_POST['aDroite']) ? $aDroite = 1 : ""; ($_POST['sortir_x'] or $_POST['sortir']) ? $sortir = 1 : ""; //Ajout des consultants sélectionnés dans la liste des consultants disponibles à la liste des consultants //rattachés au patient en cours if ($aDroite or $sortir) { $retourInfos = $this->addConsultPatient(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } } if (!$sortir) { //Si on a choisi de supprimer une consultation if ($_POST['supprimerConsult_x'] or $_POST['supprimerConsult']) { $idConsultSuppr = $_POST['supprimerConsult']; $this->infos = $this->delConsultPatient($idConsultSuppr); } if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } if ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } //Récupération des valeurs pour Selection1 unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeSpe", $param, "Choisir une spécialité"); //Récupération des consult pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la spécialité sélectionnée dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = CCAM_IDDOMAINE; $paramRelation[idEvent] = $this->idEvent; $paramA[idDomaine] = CCAM_IDDOMAINE; if ($idListeSelection1 != "tous") { $paramA[cw] = "and nomListe='{$idListeSelection1}'"; } else { $paramA[cw] = ""; } $tabListeGauche = $this->valeursListeGauche("CCAM_getConsultListeGauche", "CCAM_getConsultCotes", $paramA, $paramRelation, "Choisir un consultant"); $mod->MxSelect("consultBlocGauche.listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"20\" multiple=\"yes\""); //Récupération des consult côtés pour le patient en cours unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idEvent] = $this->idEvent; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getConsultCotes", $param, "ResultQuery"); //newfct(gen_affiche_tableau,$res[INDIC_SVC]); //eko($res); if (!$session->getDroit("CCAM_CONSULT_" . $this->typeListe, "d")) { $mod->MxBloc("consultBlocDroite.consultCotes.actionSuppr", "delete"); } if ($res[INDIC_SVC][2] == 0) { $mod->MxBloc("consultBlocDroite.consultCotes", "delete"); } else { $mod->MxBloc("consultBlocDroite.aucunConsult", "delete"); for ($i = 0; isset($res[identifiant][$i]); $i++) { $mod->MxText("consultBlocDroite.consultCotes.speConsult", $res[spe][$i]); $mod->MxText("consultBlocDroite.consultCotes.nomConsultant", $res[libelle][$i]); $mod->MxText("consultBlocDroite.consultCotes.actionSuppr.idConsultSuppr", $res[codeActe][$i]); $mod->MxBloc("consultBlocDroite.consultCotes", "loop"); } } /*list($anneeNais,$moisNais,$jourNais)=explode("-",$this->dtnai); if ($this->lieuInterv=="0") $lieuInterv=""; else $lieuInterv=", ".$this->lieuInterv; $mod->MxText("infosPatient",$this->nomu." ".$this->pren.", né(e) le ".$jourNais."/".$moisNais."/".$anneeNais. $lieuInterv);*/ $mod->MxText("infosPatient", $this->nomu . " " . ucfirst(strtolower($this->pren))); $mod->MxText("titreDispo", "Consultants disponibles"); $mod->MxText("titreAffecte", "Consultants affectés au patient"); //Gestion du template $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_CONSULT_" . $this->typeListe, "w")) { $mod->MxBloc("flDroite", "delete"); $mod->MxBloc("flSortir", "delete"); } //Ne jamais afficher les boutons suivants // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "delete"); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "delete"); } if ($sortir) { $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); } else { $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "DetailConsult")); } return $this->af .= $mod->MxWrite("1"); } }
function getFormAjouter($nomListe) { // Chargement du template. $mod = new ModeliXe("AjouterListeItem.mxt"); $mod->SetModeliXe(); $mod->MxText("formDeb", '<form method="post" action="index.php?#' . $nomListe . '">'); // Nom de la liste. $mod->MxText("nomListe", $nomListe); // Champs texte pour entrer le nom de l'item. $mod->MxText("nomItem", "Valeur :"); $mod->MxFormField("nomItemF", "text", "nomItemF", isset($_POST['valeur']) ? $_POST['valeur'] : '', "size=\"31\" maxlength=\"50\""); // Si le classement est manuel dans cette liste, alors on affiche une liste de positions possibles. if ($this->xham->getOption($nomListe) == "Manuel") { $mod->MxText("placer", "Placer :"); $data = $this->getListeItems($nomListe, 1, 1); $mod->MxSelect("placerF", "placerF", '', $data, '', '', "size=\"1\""); } if ($nomListe == "Destinations attendues") { $mod->MxText("formType.type", "Type :"); $data2['T'] = "Transfert"; $data2['H'] = "Hospitalisation"; $data2['E'] = "Externe"; $mod->MxSelect("formType.typeF", "typeF", 'H', $data2, '', '', "size=\"1\""); } else { $mod->MxBloc("formType", "modify", " "); } if ($this->xham->getOption($nomListe . " Id")) { $mod->MxText("formLibre.libre", "Identifiant :"); $mod->MxFormField("formLibre.libreF", "text", "libreF", isset($_POST['libreF']) ? $_POST['libreF'] : '', "size=\"31\" maxlength=\"50\""); } else { $mod->MxBloc("formLibre", "modify", " "); } // Génération de la variable de navigation. $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "ValiderAjouter", $nomListe)); return $mod->MxWrite("1"); }
function 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"); } }
public function affFoRmX($store = false) { //pour commodité d'ecriture $formxSession = $this->session; $xml =& $this->XMLCore; $this->debug("Entrée dans affFoRmX(), générateur de l'affichage."); if ($xml['access'] && !$formxSession->getDroit(utf8_decode((string) $xml['access']), 'r')) { return ''; } //instanciation modelixe $mod = new ModeliXe("FX_squeletteFoRmX.mxt"); $mod->SetModeliXe(); //recuperation des balises descriptives $htmlLibelle = $xml->Libelle[0]; if ($xml->Logo[0]) { $htmlLibelle = '<img alt="logo" src="' . $xml->Logo[0] . '" />' . $htmlLibelle; } $mod->MxText("titre", $htmlLibelle); if ($xml->Objet[0]) { $mod->MxText("objet.libobj", $xml->Objet[0]); } else { $mod->MxBloc("objet", "delete"); } if ($xml->Explication[0]) { $mod->MxText("explication.explication", $xml->Explication[0]); } else { $mod->MxBloc("explication", "delete"); } //boutton de fermeture if ($this->isWindowClose) { $mod->MxFormField("windowClose", "image", $this->prefix . "close", "on", "value='on' src=\"" . FX_URLIMGCLO . "\""); } if (!(string) $xml['dontPrintPrinter']) { $mod->MxFormField("windowPrint", "image", $this->prefix . "print", "on", "value='on' src=\"" . FX_URLIMGEDI . "\""); } //puis on parcourt les balises ETAPE jusqu'on en trouve une non achevée foreach ($xml->ETAPE as $etape) { if (!$etape['access'] || $formxSession->getDroit(utf8_decode((string) $etape['access']), 'r')) { $this->printEtape($mod, $etape); } if ($etape['etat'] != 'fini') { break; } } //puis on parcourt les balises fusion //On parcourt les balises FUSION foreach ($xml->FUSION as $fusion) { //eko("Entre fusion"); $libelle_default = (string) $fusion->Libelle[0]; if (!$fusion['access'] || $formxSession->getDroit(utf8_decode((string) $fusion['access']), 'r')) { $fusion['etat'] = 'fini'; } //$libelle = (string) $fusion->Libelle ; $vars = array(); foreach ($fusion->Recup as $recup) { $vars[] = (string) $recup['var']; } //debug comportement bizarre de simpleXml if (count($vars) == 1 & !$vars[0]) { $vars = array(); } $varsFusions = $this->getAllValuesFromFormx($fusion['id_formx'], $vars, "", "moreinfos"); $i = 0; $nb = $varsFusions['INDIC_SVC'][2]; //Transfo du tableau $varsFusions2 = array(); $tab_oef = array(); foreach ($varsFusions as $key => $value) { if (!ereg("^infosmore_(.*)", $key, $tab_oef)) { for ($i = 0; $i < $nb; $i++) { $varsFusions2[$nb - $i - 1][$key] = $varsFusions[$key][$i]; $varsFusions2[$nb - $i - 1]["infos_creation"] = $varsFusions["infosmore_dt_creation"][$i] . " " . $varsFusions["infosmore_auteur"][$i]; } } } for ($i = 0; $i < $nb; $i++) { //eko($libelle_default); $this->current_fusion = $varsFusions2[$i]; //eko($this->current_fusion); if (!$libelle_default) { $fusion->Libelle[0] = (string) $this->getValueFrom("fusion:" . $fusion->Libelle['var']); } else { $fusion->Libelle[0] = (string) $libelle_default . " " . $this->current_fusion["infos_creation"]; } $this->printEtape($mod, $fusion); $fusion->Libelle[0] = $libelle_default; unset($this->current_fusion); } } //on indique en caché la référence de formulaire pour traitemenent ulterieur des données POST $mod->MxHidden('hidden1', $this->prefix . "INSTANCE=" . $this->idInstance); $mod->MxHidden('hidden2', 'navi=' . $formxSession->genNavi($formxSession->getNavi(0), $formxSession->getNavi(1), $formxSession->getNavi(2), $formxSession->getNavi(3))); if (!$this->ya_un_cal) { $mod->MxBloc("JavaCAL", "delete"); } //javascript dynamique global au formulaire $mod->MxText("js", $this->js); $af = $mod->MxWrite("1"); if ($store) { $this->af .= $af; } //tout affichage peut impliquer une mise à jour en base //( 1er affichage charge les valeurs nom prenoms) //il y a eu un changement d'adresse... //2009/01 : je commente la ligne suivante qui me semble obsolete, à recetter. // $this->saveInstance(); return $af; }
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 gestionListes() { /*****************************************************************************/ global $session; $action = "ccam"; $nomForm = "CCAM_GestionAnesthesiste.mxt"; // Appel du template $mod = new ModeliXe($nomForm); $mod->SetModeliXe(); $mod->MxText("titreFormulaire", "Gestion de la liste des médecins autorisés à pratiquer une anesthésie"); if ($action == "ccam") { //Suppression d'un médecin de la liste des anesthésistes if ($_POST['aGauche_x']) { $this->infos = $this->delMedecins(); } elseif ($_POST['aDroite_x']) { $this->infos = $this->addMedecins(); } //Récupération des valeurs pour Selection1 (correspond liste des specialités) !$_POST['idListeSelection1'] ? $idListeSelection1 = "aucun#" : ($idListeSelection1 = $_POST['idListeSelection1']); unset($param); $param[idDomaine] = "1"; $tabListeSelection1 = $this->tableauValeurs("CCAM_getListeSpe", $param, "Choisir une spécialité"); //Récupération des médecins pour la liste de gauche en ignorant les valeurs de la liste de droite //en fonction de la famille sélectionnéee dans Selection1 unset($paramRelation); unset($paramA); $paramRelation[idDomaine] = CCAM_IDDOMAINE; //$paramRelation[base] = CCAM_BDD; if ($idListeSelection1 and $idListeSelection1 != "aucun#") { $paramA[idListeSelection1] = $idListeSelection1; $paramA[base] = CCAM_BDD; //eko($idListeSelection1); //eko($listeIdRelation); $paramRelation[idListeSelection1] = $idListeSelection1; //eko ($paramRelation); // Si specialiste //if ( ); if ($_POST["idListeSelection1"] == "Urgentiste") { $elephant = "CCAM_getMedecinAListeGauche2"; } else { if ($_POST["idListeSelection1"] == "Toutes") { $elephant = "CCAM_getMedecinAListeGauche3"; } else { $elephant = "CCAM_getMedecinAListeGauche"; } } if ($_POST["idListeSelection1"] == "Toutes") { $tabListeGauche = $this->valeursListeGauche($elephant, "CCAM_getMedecinADomaine2", $paramA, $paramRelation, "Choisir un médecin"); } else { $tabListeGauche = $this->valeursListeGauche($elephant, "CCAM_getMedecinADomaine", $paramA, $paramRelation, "Choisir un médecin"); } } else { $tabListeGauche[0] = "Choisir un médecin"; } //Récupération des médecins pour la liste des actes déjà affectés (droite) unset($param); $param[idDomaine] = CCAM_IDDOMAINE; $param[idListeSelection1] = $idListeSelection1; if ($idListeSelection1 == "Toutes") { $requete = "CCAM_getMedecinADomaine2"; } else { $requete = "CCAM_getMedecinADomaine"; } $tabListeDroite = $this->valeursListeDroite($requete, $param, "Choisir un médecin"); $js = "onDblClick=reload(this.form)"; //Gestion du template $mod->MxText("titreSelection1", "Famille de spécialités : "); $mod->MxSelect("idListeSelection1", "idListeSelection1", $idListeSelection1, $tabListeSelection1, '', '', "onChange=reload(this.form)"); $mod->MxText("titreDispo", "Listes des médecins disponibles"); $mod->MxText("titreAffecte", "Listes des médecins autorisés à pratiquer une anesthésie"); $mod->MxText("commentaireGauche", ""); $mod->MxText("commentaireDroite", ""); //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("flDroite", "modify", " "); $mod->MxBloc("flGauche", "modify", " "); } } // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "modify", " "); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "modify", " "); } $mod->MxSelect("listeGauche", "listeGauche[]", '', $tabListeGauche, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\""); $mod->MxSelect("listeDroite", "listeDroite[]", '', $tabListeDroite, '', '', "size=\"15\" multiple=\"yes\" class=\"selectngap\" "); $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function addPatientPresent() { global $session; global $listeMois; global $options; // Si la confirmation d'ajout est présente, alors on ajoute le nouveau patient dans la table. if ($_POST['ValiderAjouter'] or $_POST['ValiderAjouter_x']) { global $errs; // Préparation de la date d'admission. $date = new clDate(); $dateN = new clDate($_POST['naissance']); /*if ( $options -> getOption ( "DoubleEtablissement" ) AND ! ( $options -> getOption ( 'DoubleSansCom' ) ) ) { $req = new clResultQuery ; $ras = $req -> Execute ( "Fichier", "getMaxIdToulon", array(), "ResultQuery" ) ; $max = 1 ; for ( $j = 0 ; isset ( $ras['idpatient'][$j] ) ; $j++ ) if ( $ras['idpatient'][$j] > $max ) $max = $ras['idpatient'][$j] ; $max++ ; eko ( "Double Etablissement : Calcul du max ($max)" ) ; $data['idpatient'] = $max ; }*/ // Remplissage des champs pour la requête. $data['idu'] = "X"; $data['ilp'] = "X"; $data['nsej'] = "X"; $data['uf'] = $options->getOption("AjoutManuelUF"); $data['sexe'] = $_POST['sexe']; $data['prenom'] = $_POST['prenom']; $data['nom'] = $_POST['nom']; $data['dt_admission'] = $date->getDatetime(); $data['dt_naissance'] = $dateN->getDatetime(); $data['adresse_libre'] = $_POST['adresse']; $data['adresse_cp'] = $_POST['cp']; $data['adresse_ville'] = $_POST['ville']; $data['telephone'] = $_POST['telephone']; $data['salle_examen'] = $_POST['salle']; $data['dest_souhaitee'] = $_POST['destSouhaitee']; $data['dest_attendue'] = $_POST['destAttendue']; $data['adresseur'] = $_POST['adresseur']; $data['medecin_urgences'] = $_POST['medecin']; if ($_POST['medecin']) { $data[dt_examen] = $date->getDatetime(); } $data['recours_categorie'] = $_POST['categorieRecours']; $data['manuel'] = 1; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data); // Exécution de la requête. $resu = $requete->addRecord(); // On signale les éventuelles erreurs rencontrées. if ($resu['error']) { $errs->addErreur("clListesPatients : Erreur lors de la bascule d'un patient attendu en patient présent (" . $resu[error] . ")."); } $param['table'] = PPRESENTS; $param['cw'] = "WHERE idu='X'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery"); for ($i = 0; isset($res['idpatient'][$i]); $i++) { $data2['idu'] = "MANU" . $res['idpatient'][$i]; $data2['ilp'] = "MANU" . $res['idpatient'][$i]; $data2['nsej'] = "MANU" . $res['idpatient'][$i]; // Préparation de la requête. $requete = new clRequete(BDD, PPRESENTS, $data2); // Exécution de la requête. $requete->updRecord("idpatient='" . $res['idpatient'][$i] . "'"); header('Location:' . URLNAVI . $session->genNavi($session->getNavi(0))); } } else { // Sinon, nous affichons le formulaire d'ajout d'un nouveau patient présent. // Chargement du template ModeliXe. $mod = new ModeliXe("addPresent.html"); $mod->SetModeliXe(); // Préparation du titre, des images, des urls... $mod->MxText("titre", "Ajouter un nouveau patient présent"); $mod->MxImage("imgClose", URLIMGFER, "Annuler"); $mod->MxUrl("lienClose", URLNAVI . $session->genNavi($session->getNavi(0))); // Champs IDU, IPP, et nsej... // $mod -> MxFormField ( "idu", "text", "idu", $_POST['idu'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "ilp", "text", "ilp", $_POST['ilp'], "size=\"47\" maxlength=\"50\"" ) ; // $mod -> MxFormField ( "nsej", "text", "nsej", $_POST['nsej'], "size=\"47\" maxlength=\"50\"" ) ; // Champs de l'état civil du patient. $data['M'] = "Homme"; $data['F'] = "Femme"; $data['I'] = "Indéterminé"; $javascript1 = XhamTools::genAjax('onKeyUp', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript3 = XhamTools::genAjax('onChange', 'getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $javascript1 = XhamTools::genAjaxWithTempo('getPatients', 'navi=' . $session->genNavi('Ajax', 'getPatientsSortis')); $mod->MxSelect("sexe", "sexe", $_POST['sexe'], $data, '', '', 'class="w300" ' . "{$javascript3}"); $mod->MxFormField("prenom", "text", "prenom", $_POST['prenom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); $mod->MxFormField("nom", "text", "nom", $_POST['nom'], "size=\"47\" maxlength=\"50\" {$javascript1} {$javascript3}"); // Gestion des champs de la date de naissance. $_POST['naissance'] = date('d/m/Y'); $mod->MxFormField("naissance", "text", "naissance", $_POST['naissance'], "id=\"naissance\""); // Adresse et téléphone du patient. $mod->MxFormField("adresse", "text", "adresse", $_POST['adresse'], "size=\"47\" maxlength=\"128\""); $mod->MxFormField("telephone", "text", "telephone", $_POST['telephone'], "size=\"47\" maxlength=\"64\""); $mod->MxFormField("cp", "text", "cp", $_POST['cp'], "size=\"5\" maxlength=\"5\""); $mod->MxFormField("ville", "text", "ville", $_POST['ville'], "size=\"38\" maxlength=\"64\""); // Préparation des listes dynamiques. $listeCom = new clListes("Recours", "recup"); $listeGen = new clListesGenerales("recup"); $listeMedecins = $listeGen->getListeItems("Médecins", "1", '', '', "1"); $listeSalles = $listeGen->getListeItems("Salles d'examens", "1", '', '', "1"); $listeCategoriesRecours = $listeCom->getListes("", "1"); $listeDestSouhaitees = $listeGen->getListeItems("Destinations souhaitées", "1", '', '', "1"); $listeDestAttendues = $listeGen->getListeItems("Destinations attendues", "1", '', '', "1"); // Affichage des listes dynamiques. $mod->MxSelect("medecin", "medecin", $_POST['medecin'], $listeMedecins, '', '', 'class="w300"'); $mod->MxSelect("salle", "salle", $_POST['salle'], $listeSalles, '', '', 'class="w300"'); $mod->MxSelect("categorieRecours", "categorieRecours", $_POST['categorieRecours'], $listeCategoriesRecours, '', '', 'class="w300"'); $mod->MxSelect("destSouhaitee", "destSouhaitee", $_POST['destSouhaitee'], $listeDestSouhaitees, '', '', 'class="w300"'); $mod->MxSelect("destAttendue", "destAttendue", $_POST['destAttendue'], $listeDestAttendues, '', '', 'class="w300"'); // Suppression du bouton de modification inutile ici. $mod->MxBloc("modifier", "modify", " "); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), "addPatientPresent")); // Récupération du code HTML généré par le template ModeliXe. $this->af .= $mod->MxWrite("1"); } }
function tarifsNGAP() { global $session; //On a lancer le rapatriement des tarifs depuis Pastel if ($_POST['imgCalcul_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); $res = $req->Execute("Fichier", "Tarifs_getTarifNGAP", array(), "ResultQuery"); eko($res); $mail = ""; for ($i = 0; isset($res[LC][$i]); $i++) { $lc = $res[LC][$i]; unset($param); //if ($res[TARIF][$i]!="0"){ // code de Christophe Boulet if ($res[TARIF][$i] >= 0) { // modification François Derock $param[tarif] = str_replace(",", ".", $res[TARIF][$i]); $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc='{$lc}'"; $res2 = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res2[INDIC_SVC]); if ($res2[INDIC_SVC][2]) { $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } else { $param[lc] = $param[lcNat] = $lc; $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->addRecord(); } } else { $mail .= "{$lc}, "; } } if ($mail) { $mail = substr($mail, 0, -2); $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "<b>Anomalie : </b>La mise à jour des tarifs (source PASTEL) renvoit '0' pour les lettres-clé suivantes : {$mail}<br>\r\n\t\t\t==> Les tarifs n'ont pas été mis à jour pour ces lettres-clés<p>\r\n\t\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[erreur] = "Certains tarifs sont à '0' dans PASTEL. Un mail de synthèse a été envoyé. Leur mise à jour a été annulée."; } else { $content_type = "Content-Type: text/html; charset=\"iso-8859-1\""; $head = "From: " . Erreurs_MailApp . "\n" . $content_type . "\n"; $sujetMail = "Terminal des urgences : Mise à jour des tarifs des lettres-clé NGAP"; $txtMsg = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL<p>\r\n\t\t<i>Ce mail est envoyé automatiquement</i>"; mail(Erreurs_Mail . "," . Erreurs_Mail_WebMaster, $sujetMail, $txtMsg, $head); // $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été mis à jour à partir des données PASTEL"; } } //On a validé les modifications if ($_POST['imgValider_x'] and $session->getDroit("CCAM_TarifsNGAP", "w")) { $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $varLC = "LC_" . $lc; $tarifLC = "tarif_" . $lc; unset($param); $param[lcNat] = $_POST[$varLC]; $param[tarif] = str_replace(",", ".", $_POST[$tarifLC]); $requete = new clRequete(CCAM_BDD, "ccam_lettres_cle", $param); $retourRequete = $requete->updRecord("lc='{$lc}'"); } $retourInfos[infos] = "Les correspondances nationales et les tarifs ont été modifiés"; } // Appel du template $mod = new ModeliXe("CCAM_TarifsNGAP.mxt"); $mod->SetModeliXe(); if ($retourInfos[infos]) { $this->infos = $retourInfos[infos]; } elseif ($retourInfos[erreur]) { $this->erreurs = $retourInfos[erreur]; } if ($session->getDroit("CCAM_TarifsNGAP", "w")) { if (!$_POST['imgModifier_x']) { $mod->MxFormField("modifier.imgModifier", "image", "imgModifier", "", "src=\"" . URLIMG . "modifier2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Modifier les correspondances nationales et les tarifs\""); $mod->MxFormField("maj.imgCalcul", "image", "imgCalcul", "", "src=\"" . URLIMG . "calculer.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Rapatrier les tarifs depuis PASTEL\""); $mod->MxBloc("valider", "delete"); } else { $mod->MxFormField("valider.imgValider", "image", "imgValider", "", "src=\"" . URLIMG . "Ok.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Valider les modifications\""); $mod->MxFormField("valider.imgAnnuler", "image", "imgAnnuler", "", "src=\"" . URLIMG . "annuler2.gif\" align=\"abscenter\" \r\n\t\t\ttitle=\"Annuler les modifications\""); $mod->MxBloc("maj", "delete"); $mod->MxBloc("modifier", "delete"); } } else { $mod->MxBloc("modifier", "delete"); $mod->MxBloc("valider", "delete"); $mod->MxBloc("maj", "delete"); } $req = new clResultQuery(); unset($paramRq); $paramRq[cw] = "lc!=''"; $res = $req->Execute("Fichier", "CCAM_getLC", $paramRq, "ResultQuery"); //eko($res[INDIC_SVC]); for ($i = 0; isset($res[lc][$i]); $i++) { $lc = $res[lc][$i]; $mod->MxText("ligneLC.LC", $lc); if (!$_POST['imgModifier_x']) { $mod->MxText("ligneLC.LCnat", $res[lcNat][$i]); $mod->MxText("ligneLC.tarif", $res[tarif][$i]); } else { $varLC = "LC_" . $lc; $mod->MxFormField("ligneLC.LCnat", "text", $varLC, $res[lcNat][$i], "size=\"10\""); $tarifLC = "tarif_" . $lc; $mod->MxFormField("ligneLC.tarif", "text", $tarifLC, $res[tarif][$i], "size=\"10\""); } $mod->MxBloc("ligneLC", "loop"); } //Ne jamais afficher les boutons suivants // Affichage ou non du champs d'informations. if ($this->infos) { $mod->MxText("informations.infos", $this->infos); } else { $mod->MxBloc("informations", "delete"); } // Affichage ou non du champs d'erreurs. if ($this->erreurs) { $mod->MxText("erreurs.errs", $this->erreurs); } else { $mod->MxBloc("erreurs", "delete"); } $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1))); $this->af .= $mod->MxWrite("1"); }
function getFormModListe() { global $session; global $options; // Chargement du template. $mod = new ModeliXe("CCAM_GestionItemsComplexes2.mxt"); $mod->SetModeliXe(); $mod->MxBloc("ajouter", "modify", " "); if (!$session->getDroit("CCAM_" . $this->type, "m")) { $mod->MxBloc("modifier", "modify", " "); } if (!$session->getDroit("CCAM_" . $this->type, "d")) { $mod->MxBloc("supprimer", "modify", " "); } // Nom de la liste. $mod->MxText("nomListe", "Modifier la catégorie \"" . stripslashes($_POST['liste']) . "\" "); if ($this->type == "ListeMédecins") { // Recherche de l'uf de la categorie stripslashes($session->getNavi ( 4 ) ) $paramuf[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND nomitem='LISTE' AND nomliste='" . $_REQUEST["liste"] . "' AND categorie='" . $this->type . "'"; $requf = new clResultQuery(); $resuf = $requf->Execute("Fichier", "CCAM_getListesComplexes2", $paramuf, "ResultQuery"); $mod->MxText("uf", "Uf :"); $mod->MxFormField("ufF", "text", "ufF", $resuf["code"][0], "size=\"31\" maxlength=\"16\""); } // Champs texte pour entrer le nom de l'item. $mod->MxText("nomItem", "Nom :"); $mod->MxFormField("nomItemF", "text", "nomItemF", stripslashes($_POST['liste']), "size=\"31\" maxlength=\"50\""); // Si le classement est manuel dans cette liste, alors on affiche une liste de positions possibles. if ($options->getOption("Catégories " . $this->type) == "Manuel") { $mod->MxText("placer", "Placer :"); $data = $this->getListeListes($this->type, 1, 1, $_POST['liste']); $param[cw] = "WHERE idDomaine='" . CCAM_IDDOMAINE . "' AND categorie='" . $this->type . "' AND nomitem='LISTE' AND nomliste='" . $_POST['liste'] . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "CCAM_getListesItemsComplexes", $param, "ResultQuery"); $mod->MxSelect("placerF", "placerF", $res[iditem][0], $data, '', '', "size=\"1\""); } // 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", "validModListe") . $liste); return $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 genAffichage($dt1, $dt2) { global $session; global $options; global $jj; global $titreCCMU; global $titreGEMSA; global $titreTraumato; $fic = ''; // 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. // 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 = ''; } // Parcours des différents résultats. for ($i = 0; isset($res[idpatient][$i]); $i++) { // Préparation des différentes dates pour affichage. set_time_limit(30); $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 = "-"; } $dateUhcd = new clDate($res[dt_UHCD][$i]); if ($res[dt_UHCD][$i] and $isuhcd) { $dtUHCD = $dateUhcd->getDate('Y-m-d H:i:00'); } else { $dtUHCD = ""; } 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')) { $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 { $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 lien vers ce fichier. } return $fic; }
function getForm1Diags($paramForm) { global $session; $mod = new ModeliXe("CCAM_Form1Acte.mxt"); $mod->SetModeliXe(); $mod->MxText("titreEnCours", $paramForm[titreEnCours]); $codeDiags = $paramForm[codeDiags]; $mod->MxText("titreCodeActe", "Code de la famille d'actes : "); $mod->MxText("codeActe", $codeDiags); $mod->MxText("titreLibActe", "Libellé de la famille d'actes : "); if ($paramForm[action2] != "supprimer") { $mod->MxFormField("libActe", "textarea", "libActe", $paramForm[libActe], "rows=\"3\" cols=\"50\"\twrap=\"virtual\""); } else { $mod->MxText("libVisuActe", $paramForm[libVisuActe]); $mod->MxText("confirmSuppr", "La suppression de la famille d'actes va également entraîner \r\n\t\t<br>la suppression de l'association actes/famille d'actes. \r\n\t\t<br>Confirmez la suppression en cliquant sur 'OK'"); } //Afficher les boutons suivants si droits autorisés if (!$session->getDroit("CCAM_Listes", "w")) { $mod->MxBloc("validerActe", "delete"); $mod->MxBloc("annulerActe", "delete"); } $mod->MxHidden("hidden2", "nvxCode={$codeDiags}&action2={$paramForm['action2']}"); $af = $mod->MxWrite("1"); return $af; }
function genAffichage() { 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"); }
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); }
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; }