function getModification($res, $ind) { global $session; if ($session->getDroit("Configuration_Options", "m") and !$res['administrateur'][$ind] or $session->getDroit("Configuration_Options", "a") and $res['administrateur'][$ind]) { // Requête pour récupérer les informations actuelles de l'option. $param['cw'] = "WHERE idoption='" . $res['idoption'][$ind] . "'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getOptions", $param, "ResultQuery"); $form = new clForm(); $af = "<table class=\"invisible\"><tr><td class=\"colarge\">"; // En fonction du type de l'option le formulaire généré sera différent. switch ($res['type'][0]) { case 'bool': $data[0] = "Non"; $data[1] = "Oui"; $af .= $form->genSelect("option", $res['valeur'][0], $data) . "</td><td>"; break; case 'combobox': $rus = explode("|", $res['choix'][0]); for ($i = 0; isset($rus[$i]); $i++) { $data[$rus[$i]] = $rus[$i]; } $af .= $form->genSelect("option", $res['valeur'][0], $data) . "</td><td>"; break; default: $value = isset($res['valeur'][$ind]) ? $res['valeur'][$ind] : ''; $af .= $form->genText("option", $res['valeur'][0]) . "</td><td>"; break; } // Bouton valider. $af .= $form->genImage("Valider", "1", URLIMGVAL) . "</td><td>"; // Bouton annuler. $af .= $form->genImage("Annuler", "1", URLIMGANU); $af .= "</td></tr></table>"; return $af; } }
function newMessage($listeMails = '') { global $session; global $options; if (!$this->patient->getILP()) { $this->patient = new clPatient($this->idpatient, "Sortis"); } if ($options->getOption("typeMail") == "HTML") { $retourLigne = "<br />"; $trait = "<hr />"; } else { $retourLigne = "\n"; $trait = "\n----------------------------------------------\n\n"; } // Préparation des textes et dates... $dest2 = ''; $message .= "Médecins urgences : " . ($this->patient->getMedecin() ? $this->patient->getMedecin() : '--') . $retourLigne; $age = new clDate($this->patient->getDateNaissance()); $duree = new clDuree(); $adm = new clDate($this->patient->getDateAdmission()); $exa = new clDate($this->patient->getDateExamen()); $message .= "Concerne le patient : " . $this->patient->getSexe() . " " . $this->patient->getPrenom() . " " . strtoupper($this->patient->getNom()) . " (" . $duree->getAge($age->getTimestamp()) . ")" . $retourLigne; $message .= "Numéro de séjour : " . $this->patient->getNSEJ() . $retourLigne; $message .= "ILP : " . $this->patient->getILP() . $retourLigne; $message .= "Médecin traitant : " . $this->patient->getMedecinTraitant() . $retourLigne . $trait; if ($this->patient->getDateAdmission() != '0000-00-00 00:00:00') { $message .= "Admis aux urgences le : " . $adm->getDate("d-m-Y à H:i") . $retourLigne; } else { $message .= "Admis aux urgences le : --" . $retourLigne; } $message .= "Pour " . $this->patient->getRecours() . " (" . $this->patient->getCategorieRecours() . ")" . $retourLigne; if ($this->patient->getDateExamen() != '0000-00-00 00:00:00') { $message .= "Heure Examen : " . $exa->getDate("d-m-Y à H:i") . $retourLigne; } else { $message .= "Heure Examen : --" . $retourLigne; } $message .= "Dest. confirmée : " . ($this->patient->getDestinationAttendue() ? $this->patient->getDestinationAttendue() : '--') . $retourLigne; $message .= "Message : " . stripslashes($_POST['observations']); // Préparation des destinataires du message. $listeGen = new clListesGenerales("recup"); // Type de message. switch ($_POST['type']) { case 'conflit': $sujet = "[Terminurg] Signalement conflit"; if (!$listeMails) { $listeMails = "Mails Conflit"; } break; case 'social': $sujet = "[Terminurg] Signalement social"; if (!$listeMails) { $listeMails = "Mails Gériatrie"; } break; case 'virus': $sujet = "[Terminurg] " . $_POST['sendMessage']; if (!$listeMails) { $listeMails = "Mails Alerte Virus"; } break; case 'non uhcd': $sujet = "[Terminurg] Etat UHCD à vérifier"; if (!$listeMails) { $listeMails = "Mails Alerte UHCD"; } break; case 'sortie forcée': $sujet = "[Terminurg] Sortie forcée détectée"; if (!$listeMails) { $listeMails = "Mails Sortie forcée"; } break; default: $sujet = "[Terminurg] Procédure dépistage maltraitance"; if (!$listeMails) { $listeMails = "Mails Maltraitance"; } break; } //eko ( "test" ) ; $liste = $listeGen->getListeItems($listeMails, "1", '', ''); $to = ''; if (!is_array($liste)) { $liste = array(); } while (list($key, $val) = each($liste)) { $dest .= $val . $retourLigne; if ($dest2) { $vir = ","; } else { $vir = ""; } $dest2 .= $vir . $val; if (!$to) { $to = $val; } else { $dest3 .= "To: {$val}\r\n"; } } // print $dest2 ; // Si une confirmation a été transmise, alors on ajoute et on envoie le nouveau message. if ($_POST['Envoyer'] or $_POST['Envoyer_x']) { $date = new clDate(); $data['idpatient'] = $this->patient->getID(); $data['dt_mail'] = $date->getDatetime(); $data['contenu'] = addslashes($message . $trait . nl2br(stripslashes($_POST['observations']))); $data['nsej'] = $this->patient->getNSEJ(); if ($_POST['type']) { $data['type_mail'] = $_POST['type']; } else { $data['type_mail'] = "Procédure dépistage maltraitance"; } $requete = new clRequete(BDD, MAILSLOGS, $data); $requete->addRecord(); // eko ( $sujet ) ; // Préparation des informations du mail. if ($options->getOption("typeMail") == "HTML") { $entete = "<html><head><title>{$subject}</title><body>"; $fin = "</table></body></html>"; $message = $entete . $message . $fin; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: " . Erreurs_NomApp . " <" . Erreurs_MailApp . ">\r\n"; } else { $message = $subject . "\n\n" . $message; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: " . Erreurs_NomApp . " <" . Erreurs_MailApp . ">\r\n"; } //$headers .= "Bcc: dborel@ch-hyeres.fr\r\n"; if ($options->getOption('SMTP_BCC')) { $headers .= "Cc: <" . $options->getOption('SMTP_BCC') . ">\r\n"; $cc = $options->getOption('SMTP_BCC'); } else { $cc = ''; } // Envoi du mail. // mail ( $dest2, $sujet, $message, $headers ) ; if ($options->getOption('SMTP_Type') == 'localhost') { mail($dest2, $sujet, $message, $headers); } else { //$headers .= 'To: '.$dest2."\r\n" ; // print $headers ; if ($options->getOption('SMTP_Type') == 'autreAvecAuth') { $auth = 1; } else { $auth = 0; } sock_mail($auth, $dest2, $sujet, $message, $headers, Erreurs_MailApp, $cc); } //eko ( $dest2 ) ; // Sinon, on affiche le formulaire d'envoi / création de message. } else { // Chargement du template ModeliXe. $mod = new ModeliXe("Messages.mxt"); $mod->SetModeliXe(); // Affichage des différents champs. $mod->MxBloc("view", "modify", " "); $mod->MxBloc("list", "modify", " "); $mod->MxText("new.nomApplication", NOMAPPLICATION); $mod->MxText("new.mailApplication", Erreurs_MailApp); $mod->MxText("new.nomsDestinataires", $dest); $mod->MxCheckerField("new.type1", "radio", "type", "maltraitance", ($_POST['type'] == "maltraitance" or !$_POST['type']) ? 1 : 0); $mod->MxCheckerField("new.type2", "radio", "type", "conflit", $_POST['type'] == "conflit" ? 1 : 0); $mod->MxCheckerField("new.type3", "radio", "type", "social", $_POST['type'] == "social" ? 1 : 0); $mod->MxText("new.sujet", $sujet); $mod->MxText("new.message", $message); $form = new clForm(); $mod->MxText("new.observations", $form->genTextArea("observations", stripslashes($_POST['observations']), 45, 4, "width: 420px; height: 80px;")); // Variable de navigation dans le cas d'une action normale. $mod->MxHidden("new.hidden1", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2), "newMessage")); // Variable de navigation dans le cas d'une action d'annulation. $mod->MxHidden("new.hidden2", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); // Récupération du code HTML généré. 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; }