function isSameIpThanLast($login) { $currentIp = $_SERVER['REMOTE_ADDR']; //Recuperation d'une ligne de session valide avec l'user courant $date = new clDate(); $date->addMinutes(-$this->xham->getOption("DureeSession")); //eko(whereAmI(),true); $param['cw'] = "WHERE last > '" . $date->getDatetime() . "' AND uid = '{$login}' AND idapplication=" . IDAPPLICATION . " order by last desc "; $res = $this->xham->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); //si pas de données présentes, pas de comparaison possible, donc vrai. if ($res['INDIC_SVC'][2] == 0) { return true; } //sinon on prend la derniere $lastIp = $res['ip'][0]; //eko($lastIp); //eko($_SERVER['REMOTE_ADDR']); return $currentIp == $lastIp; }
function genBlocEtatCivil($nomBloc, $mod, $droit, $date = '', $sortie = '') { global $session; global $options; // Initialisation des objets et des variables utilisées. // 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"); // Récupération de la valeur actuelle du bloc. $res = ''; eval("\$res = \$this->patient->get{$nomBloc} ( ) ;"); // Si une date a été transmise et qu'elle n'est pas nulle, on initialise $res avec cette valeur. if ($date) { if ($res != "0000-00-00 00:00:00") { $res = $date->getDate("d-m-Y H:i"); } else { $res = ''; } } // Si toutes ces conditions sont réunies, alors on fait transiter le patient sorti vers la table des patients présents. if ($session->getNavi(3) == "mod" . $nomBloc and ($_POST['AnnulerSortie'] or $_POST['AnnulerSortie_x']) and $session->getDroit($this->type . "_EtatCivil", $droit)) { $modif = "0000-00-00 00:00:00"; $this->patient->setAttribut($nomBloc, $modif); $this->patient = new clPatient($this->idpatient, "Sortis"); $this->patient->entrerPatient(); if ($options->getOption("Module_CCAM")) { $ccam = new clCCAMCotationActesDiags($this->paramCCAM); $ccam->deleteBAL(); if ($options->getOption('HprimXML_Actif')) { $hprimXml = new clHprimXML(); } } $res = ""; // Si ces conditions sont réunies, alors on change la date du champs avec la valeur transmise. } elseif ($session->getNavi(3) == "mod" . $nomBloc and ($_POST['Valider'] or $_POST['Valider_x']) and $session->getDroit($this->type . "_EtatCivil", $droit)) { if ($date) { if ($_POST['ValiderMaintenant'] or $_POST['ValiderMaintenant_x']) { $newdate = new clDate(); } elseif ($_POST["mod" . $nomBloc] == "now") { $newdate = new clDate(); } else { $newdate = new clDate($_POST["mod" . $nomBloc]); } $modif = $newdate->getDatetime(); $res = $newdate->getDate("d-m-Y H:i"); // Si le paramètre $sortie est vrai, alors on fait transiter le patient présent vers la table des patients sortis. if ($sortie) { $this->patient->setAttribut($nomBloc, $modif); $this->patient = new clPatient($this->idpatient, "Presents"); clFoRmX_manip::rangerDossMedChrono($this->patient); clFoRmX_manip::rangerDossMedAEV($this->patient); $this->patient->sortirPatient(); if ($options->getOption("Module_CCAM")) { $this->paramCCAM["dtFinInterv"] = $this->patient->getDateSortie(); $ccam = new clCCAMCotationActesDiags($this->paramCCAM); $ccam->writeBALSorti(); if ($options->getOption('HprimXML_Actif')) { $hprimXml = new clHprimXML(); } } $this->rien = "sortie"; } // Dans le dernier cas, il s'agit d'un bloc de type "textarea" tout simple à mettre à jour. } else { $modif = $_POST["mod" . $nomBloc]; $res = $modif; } // Mise à jour du patient. $session->setLogSup("Modification du bloc {$nomBloc}"); $this->patient->setAttribut($nomBloc, $modif); $this->patient = new clPatient($this->idpatient, $this->type); // Dans ce cas, nous devons afficher le formulaire adéquate à la modification du bloc. } elseif ($session->getNavi(3) == "mod" . $nomBloc and !$_POST['Annuler'] and !$_POST['Annuler_x']) { // Cas des champs de type date. $session->setLogSup("Demande de modification du bloc {$nomBloc}"); if ($date) { if ($sortie and $this->patient->getDateExamen() != '0000-00-00 00:00:00') { $dateMin = new clDate($this->patient->getDateExamen()); } else { $dateMin = new clDate($this->patient->getDateAdmission()); } $dateNow = new clDate(); if ($tranches >= 5) { $minutes = $dateNow->getMinutes(); $minutesless = $minutes % 5; $dateNow->addMinutes(-$minutesless); } $data[now] = 'Maintenant'; $min = $dateMin->getTimestamp(); $t = $dateNow->getTimestamp(); $data[$t] = $dateNow->getDate("d-m-Y H:i"); // On limite la taille du select $d1 = new clDate(); $d2 = new clDate($dateMin->getDatetime()); $duree = new clDuree($d1->getDifference($d2)); $duree->invertNegatif(); //if ( $duree->getDays() > 50 ) { // $d1 -> addDays ( -50 ) ; // $min = $d1 -> getTimestamp ( ) ; //} // On parcourt les dates en fonctions des options. for ($i = 0; $dateNow->getTimestamp() >= $min; $i += $tranches) { $t = $dateNow->getTimestamp(); $data[$t] = $dateNow->getDate("d-m-Y H:i"); $dateNow->addMinutes(-$tranches); } $f .= $res . "<br />" . $form->genForm(URL); /* // 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 ) ; } $f .= $res."<br />".$form -> genForm ( URL ) ; */ // S'il ne s'agit pas de la date de sortie et que le patient est sorti, // alors on affiche le select contenant la liste des dates possibles. if (!($this->type == "Sortis" and $sortie)) { $f .= $form->genSelect("mod" . $nomBloc, 1, $data); } } else { // Cas d'un formulaire de type "textarea" tout simple. $f .= $form->genForm(URL); $f .= $form->genTextArea("mod" . $nomBloc, $res) . "<br /><center>"; } // Cas d'une date. if ($date) { // Cas de la date de sortie. if ($sortie) { // Cas d'un patient déjà sorti : On affiche seulement un bouton d'annulation de sortie. if ($this->type == "Sortis") { $f .= $form->genImage("AnnulerSortie", "Annuler la sortie", URLIMG . "annulerSortie.gif"); $f .= $form->genHidden("navi", $session->genNavi("Liste_Presents", $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); $f .= $form->genEndForm(); // $f .= $form -> genForm ( URL ) ; // $f .= $form -> genImage ( "RetourPatient", "Retour du patient", URLIMGRET ) ; // $f .= $form -> genHidden ( "navi", $session->genNavi ( "Liste_Presents", $this->patient->getID ( ) ) ) ; // Dans les autres cas, on affiche les boutons de validation / annulation de la sortie. } else { $contraintes = new clContraintes($this->patient->getID(), $this->paramCCAM); //formulaire(s) à remplir bloquant la sortie ( pré-contraintes ) ? if (clTuFormxTrigger::getWatcher($this->patient)->isTriggersOnOut()) { $enquetes = clTuFormxTriggerWatcher::getInstance($this->patient); $enquetes->launchTriggersOnOut(); //eko("trigers lances, sortie de la fenetre bloquante"); return ''; } else { if (clTuFormxTrigger::getWatcher($this->patient)->isTriggersWaitingForLauch()) { //eko("watchers en cours, sortie de la fenetre bloquante"); return ''; } else { if ($contraintes->runCheck()) { $f .= $form->genImage("Valider", "Valider", URLIMGVAL, 'style="border: 0px; background-color: #FFFF99;"'); $f .= $form->genHidden("navi", $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); $f .= $form->genEndForm(); $f .= $form->genForm(URL); $f .= $form->genImage("Annuler", "Annuler", URLIMGANN, 'style="border: 0px; background-color: #FFFF99;"'); $f .= $form->genHidden("navi", $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); } else { $session->setLogSup('Contraintes non respectées pour la sortie'); $this->af .= $contraintes->getContraintes(); } } } } // Cas d'un champs date normal : affichage des boutons valider et annuler. } else { $f .= $form->genImage("Valider", "Valider", URLIMGVAL, 'style="border: 0px; background-color: #FFFF99;"'); $f .= $form->genHidden("navi", $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); $f .= $form->genEndForm(); $f .= $form->genForm(URL); $f .= $form->genImage("Annuler", "Annuler", URLIMGANN, 'style="border: 0px; background-color: #FFFF99;"'); $f .= $form->genHidden("navi", $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); } // Cas d'un champs normal : affichage des boutons valider et annuler. } else { $f .= $form->genImage("Valider", "Valider", URLIMGVAL, 'style="border: 0px; background-color: #FFFF99;"'); $f .= $form->genHidden("navi", $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); $f .= $form->genEndForm(); $f .= $form->genForm(URL); $f .= $form->genImage("Annuler", "Annuler", URLIMGANN, 'style="border: 0px; background-color: #FFFF99;"'); $f .= $form->genHidden("navi", $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); } // On ferme la balise du formulaire. $f .= "</center>" . $form->genEndForm(); // On modifie le bloc ModeliXe passé en paramètres. $mod->MxText($nomBloc, $f); // On signale que le bloc a été modifié. $af = 1; } // S'il n'y a pas eu d'affichage jusqu'à maintenant, il ne s'agit que d'afficher la valeur contenue dans ce bloc. if (!$af) { // Si le droit de modification est présent, alors nous affichons le lien pour modifier le bloc. if ($session->getDroit($this->type . "_EtatCivil", $droit)) { if ($date) { $image = URLIMGHOR; } else { $image = URLIMGMOD; } if ($nomBloc == "DateExamen" and $_POST['Medecin'] and $this->patient->getDateExamen() == "0000-00-00 00:00:00" and !$this->patient->getMedecin()) { $date = new clDate(); $dateA = new clDate($this->patient->getDateAdmission()); if ($date->getTimestamp() > $dateA->getTimestamp()) { $this->patient->setAttribut("DateExamen", $date->getDatetime()); $res = $date->getDate("d-m-Y H:i"); } else { $dateA->addSeconds(1); $this->patient->setAttribut("DateExamen", $dateA->getDatetime()); $res = $dateA->getDate("d-m-Y H:i"); } } if ($nomBloc == "DateExamen" and isset($_POST['Medecin']) and !$_POST['Medecin']) { $this->patient->setAttribut("DateExamen", "0000-00-00 00:00:00"); $res = "--"; } if (!$this->export) { if ($nomBloc == "DateSortie") { $retour = ''; if ($options->getOption('EnqueteRadio')) { $retour = clListeRadios::getRetour($this->patient->getID(), IDAPPLICATION); } if ($retour) { $mod->MxText("retourRadio", $retour); } else { $questionSortie = $this->getQuestionSortie(); if ($questionSortie) { $mod->MxText("retourRadio", $questionSortie); } else { $mod->MxImage("imgModifier" . $nomBloc, $image, "Modifier {$nomBloc}"); $mod->MxUrl("lien" . $nomBloc, URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); } } } else { $mod->MxImage("imgModifier" . $nomBloc, $image, "Modifier {$nomBloc}"); $mod->MxUrl("lien" . $nomBloc, URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "mod" . $nomBloc)); } } } // Affichage du contenu du bloc s'il existe sinon on affiche la valeur par défaut. if ($res) { $mod->MxText($nomBloc, nl2br($res)); } else { $mod->MxText($nomBloc, VIDEDEFAUT); } } }
function setSessionSQL() { global $options; // Date actuelle. $date = new clDate(); // On met à jour la session actuelle. $data['nombre'] = "nombre+1"; $data['last'] = $date->getDatetime(); $data['localisation'] = $this->navi; $data['idapplication'] = IDAPPLICATION; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->updRecord("uid='" . $this->informations['iduser'] . "' AND type='" . $this->informations['type'] . "' AND idsession='" . $_SESSION['sidtuv2' . $this->index] . "'"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res); } // Si la session n'a pas pu mettre à jour, on regarde les différents cas possibles. if (!$res['affected_rows']) { // La session existe-t-elle ? $param['cw'] = "WHERE idsession='" . $_SESSION['sidtuv2' . $this->index] . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res['INDIC_SVC']); } // Si la session existe. if ($res['INDIC_SVC'][2]) { // On historise son état actuel. unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = $res['nombre'][0]; $data['uid'] = $res['uid'][0]; $data['type'] = $res['type'][0]; $data['ip'] = $res['ip'][0]; $data['dateshisto'] = $res['date'][0]; $data['dateslast'] = $res['last'][0]; $data['navigateur'] = $res['navigateur'][0]; $data['fonctions'] = $res['fonctions'][0]; $data['equipes'] = $res['equipes'][0]; $data['organisations'] = $res['organisations'][0]; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESHIST, $data); // Exécution de la requete. $res = $requete->addRecord(); // Affichage pour débugage. if (DEBUGLOGSESSION) { affTab($res); } // Puis on met à jour cette session. unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = "1"; $data['localisation'] = $this->navi; $data['uid'] = $this->informations['iduser']; $data['type'] = $this->informations['type']; $data['ip'] = $_SERVER['REMOTE_ADDR']; $data['date'] = $date->getDatetime(); $data['last'] = $date->getDatetime(); $data['navigateur'] = $this->informations['navigateur']; $data['fonctions'] = implode('|', isset($this->informations['fonctions']) ? $this->informations['fonctions'] : array()); $data['equipes'] = implode('|', isset($this->informations['service']) ? $this->informations['service'] : array()); $data['organisations'] = $this->informations['org']; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->updRecord("idsession='" . $_SESSION['sidtuv2' . $this->index] . "'"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res); } } else { // Si la session n'existe pas, on la crée avec les bonnes informations. unset($data); if ($this->navi != "Importation" and $this->navi != "SW1wb3J0YXRpb24=" and $this->navi != "Q29uZmlndXJhdGlvbnxjcm9u") { $param[cw] = "WHERE uid='" . $this->informations['iduser'] . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); if (DEBUGLOGSESSION) { print affTab($res['INDIC_SVC']); } if ($res['INDIC_SVC'][2] and $options->getOption("UniqLogin") and !$_POST['AuthentificationDemandee']) { $this->informations = ''; $this->informations['type'] = "Echec"; $this->informations['nom'] = "Invité"; $this->informations['prenom'] = "Invité"; $this->informations['pseudo'] = "Invité"; $this->informations['mail'] = "*****@*****.**"; $this->informations['iduser'] = "******"; $this->informations['idgroupe'] = "1"; $this->informations['ip'] = $_SERVER['REMOTE_ADDR']; $this->informations['navigateur'] = $_SERVER["HTTP_USER_AGENT"]; $this->informations['fonctions'] = array(); $this->informations['service'] = array(); $this->informations['org'] = ''; // Sauvegarde des informations. $_SESSION['informations'] = $this->informations; } else { $data['idapplication'] = IDAPPLICATION; $data['nombre'] = "1"; $data['localisation'] = $this->navi; $data['uid'] = $this->informations['iduser']; $data['type'] = $this->informations['type']; $data['ip'] = $_SERVER['REMOTE_ADDR']; $data['date'] = $date->getDatetime(); $data['last'] = $date->getDatetime(); $data['idsession'] = $_SESSION['sidtuv2' . $this->index]; $data['navigateur'] = $this->informations['navigateur']; $data['fonctions'] = implode('|', isset($this->informations['fonctions']) ? $this->informations['fonctions'] : array()); $data['equipes'] = implode('|', isset($this->informations['service']) ? $this->informations['service'] : array()); $data['organisations'] = $this->informations['org']; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->addRecord(); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res); } } } } } if ($options->getOption("UniqLogin")) { $requete = new clRequete(BASEXHAM, TABLESACTU); // Exécution de la requete. $res = $requete->delRecord("uid='" . $this->informations['iduser'] . "' AND last<'" . $date->getDatetime() . "' AND idsession!='" . $_SESSION['sidtuv2' . $this->index] . "'"); if (DEBUGLOGSESSION) { print affTab($res); } } // Maintenant, on historise les sessions qui ne sont plus valides et on les supprime // de la table des sessions actuelles. $dmax = $options->getOption("DureeSession"); $dact = $date->getDatetime(); $date->addMinutes("-{$dmax}"); $param['cw'] = "WHERE last<'" . $date->getDatetime() . "' AND idapplication=" . IDAPPLICATION; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($res[INDIC_SVC]); } for ($i = 0; isset($res['idsactu'][$i]); $i++) { unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = $res['nombre'][$i]; $data['uid'] = $res['uid'][$i]; $data['type'] = $res['type'][$i]; $data['ip'] = $res['ip'][$i]; $data['dateshisto'] = $res['date'][$i]; $data['dateslast'] = $res['last'][$i]; $data['navigateur'] = $res['navigateur'][$i]; $data['fonctions'] = $res['fonctions'][$i]; $data['equipes'] = $res['equipes'][$i]; $data['organisations'] = $res['organisations'][$i]; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESHIST, $data); // Exécution de la requete. $ras = $requete->addRecord(); // Affichage pour débugage. if (DEBUGLOGSESSION) { affTab($ras); } unset($data); $data['idapplication'] = IDAPPLICATION; $data['nombre'] = "1"; // Appel de la classe Requete. $requete = new clRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $rus = $requete->delRecord("idsession='" . $res['idsession'][$i] . "'"); // Affichage pour débugage. if (DEBUGLOGSESSION) { print affTab($rus); } } }
function genMod() { global $session; global $options; if ($session->getDroit("Liste_Radio", "m")) { if ($session->getNavi(1) == "valDateRadios") { switch ($_REQUEST['typeDate']) { case 'dateB': $data['dt_pec'] = $_REQUEST['valDate']; $data['dt_encours'] = $_REQUEST['valDate']; $data['etat'] = 'b'; $session->setLogSup("Radio : prise en charge"); break; /* case 'dateC': $data['dt_encours'] = $_REQUEST['valDate'] ; $session->setLogSup ( "Radio : en cours" ) ; $data['etat'] = 'c' ; break; */ /* case 'dateC': $data['dt_encours'] = $_REQUEST['valDate'] ; $session->setLogSup ( "Radio : en cours" ) ; $data['etat'] = 'c' ; break; */ case 'dateD': $data['dt_fin'] = $_REQUEST['valDate']; $session->setLogSup("Radio : terminée"); $data['etat'] = 'd'; break; } $requete = new clRequete(BDD, "radios", $data); $requete->updRecord("idradio='" . $session->getNavi(2) . "'"); } elseif ($session->getNavi(1) == "annDateRadios") { switch ($_REQUEST['typeDate']) { case 'dateB': $data['dt_pec'] = '0000-00-00 00:00:00'; $data['dt_encours'] = '0000-00-00 00:00:00'; $session->setLogSup("Radio : annulation de la prise en charge"); $data['etat'] = 'a'; break; case 'dateC': /* $data['dt_encours'] = '0000-00-00 00:00:00' ; $session->setLogSup ( "Radio : annulation de 'en cours'" ) ; $data['etat'] = 'b' ; */ break; case 'dateD': $data['dt_fin'] = '0000-00-00 00:00:00'; $session->setLogSup("Radio : annulation de 'terminée'"); $data['etat'] = 'b'; break; } $requete = new clRequete(BDD, "radios", $data); $requete->updRecord("idradio='" . $session->getNavi(2) . "'"); } $_SESSION['typeModJS'] = ''; $req = new clResultQuery(); $param['cw'] = 'where r.idpatient=p.idpatient and idradio=' . $session->getNavi(2); $param['base'] = $this->getBaseFromIdRadio($session->getNavi(2)); // Exécution de la requête. $res = $req->Execute("Fichier", "getRadios", $param, "ResultQuery"); // print affTab ( $res['INDIC_SVC'] ) ; // Chargement du template de modeliXe. $mod = new ModeliXe("RadioMod.html"); $mod->SetModeliXe(); $mod->MxText("patient", strtoupper($res['nom'][0]) . ' ' . ucfirst(strtolower($res['prenom'][0]))); $et = $res['etat'][0]; // ************ // // * CREATION * // // ************ // $mod->MxText("etape.nomEtape", "Création : "); $date = new clDate($res['dt_creation'][0]); if ($res['dt_creation'][0] != '0000-00-00 00:00:00') { $dateA = $date->getDate('d/m/Y H:i'); } else { $dateA = '<span class="red">Non renseignée</span>'; } $mod->MxText("etape.dateEtape", $dateA); $mod->MxBloc("etape.formEtape", "delete"); $mod->MxBloc("etape.annulerEtape", "delete"); $mod->MxBloc("etape", "loop"); // ******* // // * PEC * // // ******* // $mod->MxText("etape.nomEtape", "Prise en charge : "); $date = new clDate($res['dt_pec'][0]); if ($res['dt_pec'][0] != '0000-00-00 00:00:00') { $dateB = $date->getDate('d/m/Y H:i'); } else { $dateB = '<span class="red">Non renseignée</span>'; } $mod->MxText("etape.dateEtape", $dateB); if ($et == 'a') { $mod->MxText("etape.dateEtape", ''); $datePec = new clDate(); $dateMin = new clDate($res['dt_creation'][0]); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeB[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } if ($i == 0) { $datePec = new clDate($res['dt_creation'][0]); $dateMin = new clDate(); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeB[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } } $mod->MxSelect("etape.formEtape.valeurEtape", "date", $initB, $listeB); $mod->MxHidden("etape.formEtape.hidden", "typeDate=dateB"); $_SESSION['typeModJS'] = 'dt_pec'; $mod->MxText("etape.formEtape.ajaxVal", XhamTools::genAjax('onClick', 'valDateRadios', 'navi=' . $session->genNavi('Ajax', 'valDateRadios', $session->getNavi(2)))); } else { $mod->MxBloc("etape.formEtape", "delete"); } if ($et == 'b') { $mod->MxHidden("etape.annulerEtape.hidden", "typeDate=dateB"); $mod->MxText("etape.annulerEtape.ajaxAnn", XhamTools::genAjax('onClick', 'annDateRadios', 'navi=' . $session->genNavi('Ajax', 'annDateRadios', $session->getNavi(2)))); } else { $mod->MxBloc("etape.annulerEtape", "delete"); } $mod->MxBloc("etape", "loop"); /* // ************ // // * EN COURS * // // ************ // $mod -> MxText ( "etape.nomEtape", "En cours : " ) ; $date = new clDate ( $res['dt_encours'][0] ) ; if ( $res['dt_encours'][0] != '0000-00-00 00:00:00' ) { $dateC = $date -> getDate ( 'd/m/Y H:i' ) ; } else $dateC = '<span class="red">Non renseignée</span>' ; $mod -> MxText ( "etape.dateEtape", $dateC ) ; if ( $et == 'b' ) { $mod -> MxText ( "etape.dateEtape", '' ) ; $datePec = new clDate ( ) ; $dateMin = new clDate ( $res['dt_pec'][0] ) ; $initC = $datePec -> getDatetime ( ) ; for ( $i = 0 ; $datePec -> getTimestamp ( ) >= $dateMin -> getTimestamp ( ) AND $i < 3600 ; $datePec->addMinutes ( -1 ) ) { $listeC[$datePec->getDatetime ( )] = $datePec -> getDate ( 'd/m/Y H:i' ) ; $i++ ; } $mod -> MxSelect ( "etape.formEtape.valeurEtape", "date", $initC, $listeC ) ; $mod -> MxHidden ( "etape.formEtape.hidden", "typeDate=dateC" ) ; $_SESSION['typeModJS'] = 'dt_encours' ; $mod -> MxText ( "etape.formEtape.ajaxVal", XhamTools::genAjax ( 'onClick', 'valDateRadios', 'navi='.$session->genNavi ( 'Ajax', 'valDateRadios', $session->getNavi(2) ) ) ) ; } else $mod -> MxBloc ( "etape.formEtape", "delete" ) ; if ( $et == 'c' ) { $mod -> MxHidden ( "etape.annulerEtape.hidden", "typeDate=dateC" ) ; $mod -> MxText ( "etape.annulerEtape.ajaxAnn", XhamTools::genAjax ( 'onClick', 'annDateRadios', 'navi='.$session->genNavi ( 'Ajax', 'annDateRadios', $session->getNavi(2) ) ) ) ; } else $mod -> MxBloc ( "etape.annulerEtape", "delete" ) ; $mod -> MxBloc ( "etape", "loop" ) ; */ // ******* // // * FIN * // // ******* // $mod->MxText("etape.nomEtape", "Terminé : "); $date = new clDate($res['dt_fin'][0]); if ($res['dt_fin'][0] != '0000-00-00 00:00:00') { $dateD = $date->getDate('d/m/Y H:i'); $mod->MxHidden("etape.annulerEtape.hidden", "typeDate=dateD"); $mod->MxText("etape.annulerEtape.ajaxAnn", XhamTools::genAjax('onClick', 'annDateRadios', 'navi=' . $session->genNavi('Ajax', 'annDateRadios', $session->getNavi(2)))); } else { $dateD = '<span class="red">Non renseignée</span>'; $mod->MxBloc("etape.annulerEtape", "delete"); } if ($et != 'b') { $mod->MxBloc("etape.formEtape", "delete"); } else { $param['cw'] = " idEvent=" . $res['idpatient'][0] . " and lieuInterv='" . $options->getOption('RadioSalle') . "'"; $ris = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $param, "ResultQuery"); //print affTab ( $ris['INDIC_SVC'] ) ; if ($options->getOption("RadioCCAM") and !$ris['INDIC_SVC'][2] and !$_REQUEST['addActe']) { $dateD = '<div id="CotationCCAMRadio" class="red">Cotation CCAM à saisir</span>'; $mod->MxBloc("etape.formEtape", "delete"); } else { $dateD = ''; $mod->MxText("etape.dateEtape", ''); $datePec = new clDate(); $dateMin = new clDate($res['dt_encours'][0]); $initD = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeD[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } if ($i == 0) { $datePec = new clDate($res['dt_creation'][0]); $dateMin = new clDate(); $initB = $datePec->getDatetime(); for ($i = 0; $datePec->getTimestamp() >= $dateMin->getTimestamp() and $i < 3600; $datePec->addMinutes(-1)) { $listeD[$datePec->getDatetime()] = $datePec->getDate('d/m/Y H:i'); $i++; } } //1 $mod->MxSelect("etape.formEtape.valeurEtape", "date", $initD, $listeD); $mod->MxHidden("etape.formEtape.hidden", "typeDate=dateD"); $_SESSION['typeModJS'] = 'dt_fin'; $mod->MxText("etape.formEtape.ajaxVal", 'onclick="' . XhamTools::genAjax('', 'valDateRadios', 'navi=' . $session->genNavi('Ajax', 'valDateRadios', $session->getNavi(2))) . ';cache(\'mod\');cache(\'arbo\');"'); } } $mod->MxText("etape.dateEtape", $dateD); $mod->MxBloc("etape", "loop"); $mod->MxText('idradio', $res['idradio'][0]); $mod->MxText('commentaire_radio', $res['commentaire_radio'][0]); if ($options->getOption("RadioCCAM")) { $listeGen = new clListesGenerales("recup"); $listeRadiologues = $listeGen->getListeItemsV2("Radiologues", "1", '', '1'); $aj = XhamTools::genAjax('onChange', 'setRadiologue', 'navi=' . $session->genNavi('Ajax', 'setRadiologue', $session->getNavi(2))); $mod->MxSelect("cotation.listeRadiologues", "radiologue", $res['adeli'][0], $listeRadiologues, '', '', 'id="radiologue" style="width: 240px;" ' . $aj); if ($res['adeli'][0]) { $mod->MxText("cotation.moduleCCAM", $this->moduleCCAM('get')); } } else { $mod->MxBloc("cotation", "delete"); } return $mod->MxWrite("1"); } }
function getContraintes() { global $session; global $options; // Chargement du template. $mod = new ModeliXe("ErreursSortie.mxt"); $mod->SetModeliXe(); // Génération du lien pour fermer. $mod->MxImage("imgCloseErreurs", URLIMGFER, "Fermer"); $mod->MxUrl("lienCloseErreurs", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); $tab = $this->messages; // Parcours et affichage des messages d'erreur. while (list($key, $val) = each($tab)) { $mod->MxText("erreur.nom", $key); $mod->MxText("erreur.description", $val); $mod->MxBloc("erreur", "loop"); } if ($session->getDroit("Presents_EtatCivil", "a")) { $mod->MxHidden("forcer.hiddenForcer", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "modDateSortie")); // Pour générer des formulaires plus loin. $form = new clForm(); // Date d'exécution. $now = new clDate(); // Récupération des options. $retourmax = $options->getOption("Dates Patient"); $tranches = $options->getOption("DatesDécoup Patient"); // Préparation de la première date de la liste. $now->addHours(-$retourmax); $min = $now->getTimestamp(); $now->addHours($retourmax); if ($tranches >= 5) { $minutes = $now->getMinutes(); $minutesless = $minutes % 5; $now->addMinutes(-$minutesless); } $data[now] = 'Maintenant'; $t = $now->getTimestamp(); $data[$t] = $now->getDate("d-m-Y H:i"); // On parcourt les dates en fonctions des options. for ($i = 0; $now->getTimestamp() >= $min; $i += $tranches) { $t = $now->getTimestamp(); $data[$t] = $now->getDate("d-m-Y H:i"); $now->addMinutes(-$tranches); } // On génère le select contenant la liste des dates possibles. $mod->MxText("forcer.date", $form->genSelect("modDateSortie", 1, $data)); } else { $mod->MxBloc("forcer", "modify", " "); } // Récupération du code HTML généré. $af .= $mod->MxWrite("1"); return $af; }