示例#1
0
 function sendMail($type = '')
 {
     // On envoie seulement si l'option d'envoi est activée
     if (Erreurs_Actif) {
         global $session;
         global $options;
         $date = new clDate();
         // En fonction de la dernière erreur rencontrée, on fabrique
         // le sujet du message.
         if ($type) {
             $subject = Erreurs_Bloquante;
         } else {
             $subject = Erreurs_Normale;
         }
         // Préparation des informations du mail.
         $entete = "<html><head><title>{$subject}</title><body>";
         $fin = "</ul></body></html>";
         // Entête explicatif.
         $user = $session ? $session->getUser() : "Inconnu";
         $uid = $session->getUid();
         if ($uid == 'fderock') {
             $uid = 'fderock';
             $user = "******";
         }
         if ($uid == 'dborel') {
             $uid = 'dborel';
             $user = "******";
         }
         if ($uid == 'ecervetti') {
             $uid = 'ecervetti';
             $user = "******";
         }
         $message = "L'utilisateur <i>" . $user . "</i>, lors de l'exécution de la page ";
         $message .= ($session ? $session->getNaviFull() : "Chemin introuvable") . " le " . $date->getDateTextFull();
         if ($this->indice > 1) {
             $message .= ", a provoqué les erreurs suivantes : <br/><ul>";
         } else {
             $message .= ", a provoqué l'erreur suivante : <br/><ul>";
         }
         // Liste des erreurs.
         for ($i = 0; isset($this->liste[$i]); $i++) {
             $message .= "<li>" . $this->liste[$i] . "</li>";
         }
         $message .= "</ul><br /><a href=\"http://" . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . "?navi=" . ($_POST['navi'] ? $_POST['navi'] : $_GET['navi']) . "\">Lien vers la page d'erreur</a>";
         $headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\n";
         if ($options->getOption('SMTP_BCC')) {
             $headers .= "cc: " . $options->getOption('SMTP_BCC') . "\r\n";
         }
         // Envoi du mail.
         if ($options->getOption('SMTP_Type') == 'autreAvecAuth') {
             $auth = 1;
         } else {
             $auth = 0;
         }
         if ($options->getOption('SMTP_Type') == 'localhost' or !$options->getOption('SMTP_Type')) {
             $headers .= "To: " . Erreurs_Mail . "\r\nFrom: " . Erreurs_NomApp . "<" . Erreurs_MailApp . ">\r\n";
             // print ( $headers ) ;
             mail('', $subject . " (" . $session->getUid() . ")", $entete . $message . $fin, $headers);
         } else {
             $headers .= "From: " . Erreurs_NomApp . "<" . Erreurs_MailApp . ">\r\n";
             // print ( $headers ) ;
             sock_mail($auth, Erreurs_Mail, $subject . " (" . $uid . ")", $entete . $message . $fin, $headers, Erreurs_MailApp);
         }
     }
 }
示例#2
0
 function sendXham()
 {
     global $options;
     $mime = "";
     // parametres optionnels
     //if ( $options->getOption('SMTP_BCC') )
     //  	$mime .= "cc: ".$options->getOption('SMTP_BCC')."\n" ;
     //$mime .=  "To: ".$this->to. "\n";
     if (!empty($this->headers)) {
         $mime .= $this->headers . "\n";
     }
     if (!empty($this->body)) {
         $this->attach($this->body, "", "text/plain");
     }
     // entete MIME
     if ($options->getOption('SMTP_BCC')) {
         $mime .= "CC: " . $options->getOption('SMTP_BCC') . "\n";
     }
     if (!empty($this->from)) {
         $mime .= "From: " . $this->from . "\n";
     }
     $mime .= "MIME-Version: 1.0\n" . $this->build_multipart();
     //$mime  = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\n";
     eko($mime);
     // Envoi du mail.
     if ($options->getOption('SMTP_Type') == 'autreAvecAuth') {
         $auth = 1;
     } else {
         $auth = 0;
     }
     if ($options->getOption('SMTP_Type') == 'localhost' or !$options->getOption('SMTP_Type')) {
         return mail($this->to, $this->subject, "", $mime);
     } else {
         //eko ( $this->to ) ;
         return sock_mail($auth, $this->to, $this->subject, $this->body, $mime, Erreurs_MailApp);
     }
 }
示例#3
0
 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");
     }
 }