示例#1
0
文件: clFoRmX.php 项目: jeromecc/tuv2
 function getAllValuesFromFormx($idformx, $values = '', $ids = '', $options = "")
 {
     if (!$ids) {
         $ids = $this->ids;
     }
     if ($values) {
         if (!is_array($values)) {
             $values = array($values);
         }
     }
     $array_oef = array();
     if (ereg("idinstance", $options)) {
         $res['id_instance'][0] = $idformx;
         $nb = 1;
     } else {
         $base = $this->getSession()->getBase();
         $table = $this->getSession()->getTable();
         $obReq = $this->getSession()->getObjRequete('', $base, $table);
         return $obReq->getGen(" idformx = '{$idformx}' AND ids = '{$ids}' ORDER BY  dt_modif DESC ", 'resultquery');
         /*
           	$req = new clResultQuery ;
           	$param = array();
           	$param['table']=$this->session->tableInstances;
           	$param['idformx']=$idformx;
           	$param['ids']=$ids;
           	$res = $req -> Execute ( "Fichier", "FX_getValuesInstance", $param, "ResultQuery" ) ;
           	$nb = $res['INDIC_SVC'][2];
           	if ( $nb == 0 ) return array("INDIC_SVC" => array( 2 => 0 ) );
         	 * */
     }
     $ret = array();
     for ($i = 0; $i < $nb; $i++) {
         $newInstance = new clFoRmX($this->ids, 'NO_POST_THREAT');
         $r = $newInstance->loadInstance($res['id_instance'][$i]);
         if (!$r) {
             return array("INDIC_SVC" => array(2 => 0));
         }
         if (!$values) {
             $values = $newInstance->getAllItems();
             //eko("ttval");
         } else {
             //eko($values);
         }
         foreach ($values as $val) {
             if (!isset($ret[$val])) {
                 $ret[$val] = array();
             }
             $ret[$val][$i] = utf8_decode($newInstance->getFormVar($val));
         }
         if (ereg("moreinfos", $options, $array_oef)) {
             $ret["infosmore_auteur"][$i] = $res['author'][$i];
             $date_creation = new clDate($res['dt_creation'][$i]);
             $ret["infosmore_dt_creation"][$i] = $date_creation->getDateTextFull();
         }
     }
     unset($newInstance);
     $ret['INDIC_SVC'][2] = $nb;
     return $ret;
 }
示例#2
0
 function getSessions()
 {
     global $session;
     // Préparation de deux objets clDate.
     $date = new clDate();
     $last = new clDate();
     // Chargement du template ModeliXe.
     $mod = new ModeliXe("SessionsActuelles.mxt");
     $mod->SetModeliXe();
     // Chargement du template ListMaker.
     $list = new ListMaker("template/SessionsActuelles.html");
     // Transmission de la variable de navigation à ListMaker.
     $list->addUserVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     $list->addUrlVar('navi', $session->genNavi($session->getNavi(0), $session->getNavi(1)));
     // Nom des colonnes.
     $list->setSortColumn('col1', 'Utilisateur', 'uid');
     $list->setSortColumn('col2', 'Type', 'type');
     $list->setSortColumn('col3', 'Adresse IP', 'ip');
     $list->setSortColumn('col4', 'Date de connexion', 'date');
     $list->setSortColumn('col5', 'Dernière action', 'last');
     $list->setSortColumn('col6', 'Page parcourue', 'localisation');
     // Tri automatique sur la colonne de la date de la dernière action effectuée.
     $list->setdefaultSort('col5');
     // Choix des couleurs à alterner d'une ligne sur l'autre.
     $list->setAlternateColor("pair", "impair");
     // Récupération des sessions actuelles.
     $param['cw'] = "WHERE idapplication=" . IDAPPLICATION . " ORDER BY last DESC";
     $req = new clResultQuery();
     $res = $req->Execute("Fichier", "getSessionsActuelles", $param, "ResultQuery");
     // On parcourt les sessions récupérées.
     for ($i = 0; isset($res['idsactu'][$i]); $i++) {
         // Initialisation des dates.
         $date->setDate($res['date'][$i]);
         $last->setDate($res['last'][$i]);
         // Préparation du lien pour aller directement sur la page parcourue par l'utilisateur.
         if (ENCODERURL) {
             $lien = '<a href="' . URLNAVI . $res['localisation'][$i] . '">' . base64_decode($res['localisation'][$i]) . '</a>';
         } else {
             $lien = '<a href="' . URLNAVI . $res['localisation'][$i] . '">' . $res['localisation'][$i] . '</a>';
         }
         // Préparation des différentes colonnes : uid, type, ip, date, last et localisation.
         $item['uid'] = $res['uid'][$i];
         $item['type'] = $res['type'][$i];
         $item['ip'] = $res['ip'][$i];
         $item['date'] = $date->getDateTextFull();
         $item['last'] = $last->getDateTextFull();
         $item['localisation'] = $lien;
         $list->addItem($item);
     }
     // Récupération du résultat de ListMaker dans ModeliXe.
     $mod->MxText("table", $list->getList(isset($pagination) ? $pagination : ''));
     // Récupération du code généré par ModeliXe.
     return $mod->MxWrite("1");
 }
示例#3
0
 function setAffichage()
 {
     global $session;
     global $options;
     // Vérification du droit de lecture sur les documents.
     if ($session->getDroit("Administration_Documents", "r") and $options->getOption("ModuleDocuments")) {
         // Génération du mini-menu.
         $this->af .= $this->getMenuDocs();
         // Si le document est en cours de modification et que le droit est présent, on invoque le formulaire de modification.
         if ($session->getDroit("Administration_Documents", "m") and $session->getNavi(2) == "modDoc") {
             $this->af .= $this->modDocForm();
             // Si une création est demandée et le droit présent, alors on invoque le formulaire d'ajout de document.
         } elseif ($_POST['addDoc'] and $session->getDroit("Administration_Documents", "w")) {
             $this->af .= $this->addDocForm();
             // Si nous voulons modifier les bannières du document, alors invoque la gestion des listes pour les documents.
         } elseif (($session->getNavi(2) == "gestListe" or $_POST['gestDoc'] or $_POST['gestDoc_x']) and $session->getDroit("Administration_Documents", "m")) {
             // Génération de la gestion des listes.
             $liste = new clListes($this->DocumentsNameList);
             $this->af .= $liste->getAffichage();
             // Génération du document au format pdf.
         } elseif ($session->getNavi(2) == "voirDoc") {
             if (IDAPPLICATION == '2') {
                 global $pas_daffichage;
                 $pas_daffichage = '1';
             }
             $this->genDoc(array($session->getNavi(3)));
         } else {
             // Ajout réel d'un nouveau document.
             if ($session->getDroit("Administration_Documents", "w") and $session->getNavi(2) == "validAddDoc" and ($_POST['Ajouter'] or $_POST['Ajouter_x'])) {
                 $this->addDoc();
             }
             // Mise à jour réelle d'un document.
             if ($session->getDroit("Administration_Documents", "m") and $session->getNavi(2) == "validModDoc" and ($_POST['Modifier'] or $_POST['Modifier_x'])) {
                 $this->modDoc();
             }
             // Suppression d'un document.
             if ($session->getDroit("Administration_Documents", "d") and $session->getNavi(2) == "validModDoc" and ($_POST['Supprimer'] or $_POST['Supprimer_x'])) {
                 $this->delDoc();
             }
             // Récupération de la liste des catégories de documents.
             $param[cw] = " ORDER BY categorie";
             $req = new clResultQuery();
             $res = $req->Execute("Fichier", "getCategoriesDocuments", $param, "ResultQuery");
             // Remplissage du template.
             $mod = new ModeliXe("GestionDocuments.mxt");
             $mod->SetModeliXe();
             // Affichage des messages d'informations.
             if ($this->infos) {
                 $mod->MxText("informations.infos", $this->infos);
             } else {
                 $mod->MxBloc("informations", "modify", " ");
             }
             // Affichage des messages d'erreurs.
             if ($this->erreurs) {
                 $mod->MxText("erreurs.errs", $this->erreurs);
             } else {
                 $mod->MxBloc("erreurs", "modify", " ");
             }
             // Parcours des différentes catégories de documents.
             for ($i = 0; isset($res[categorie][$i]); $i++) {
                 // Recherche des dernières versions des documents de la catégorie parcourue.
                 $param[cw] = "WHERE categorie='" . $res[categorie][$i] . "' AND fin_validite='0000-00-00 00:00:00' ORDER BY nom";
                 $req = new clResultQuery();
                 $ras = $req->Execute("Fichier", "getDocuments", $param, "ResultQuery");
                 // Si on a un résultat, alors on parcourt ces documents.
                 if ($ras[INDIC_SVC][2]) {
                     // Et on affiche le titre de la catégorie.
                     $mod->MxText("categorie.titre", $res[categorie][$i]);
                     for ($j = 0; isset($ras[iddocument][$j]); $j++) {
                         //Pour chaque document, on génère une ligne.
                         $date = new clDate($ras[deb_validite][$j]);
                         // Gestion des lignes paires et impaires pour la mise en page...
                         if ($j % 2) {
                             $mod->MxText("categorie.document.ligne", "<tr class=\"paire\">");
                         } else {
                             $mod->MxText("categorie.document.ligne", "<tr class=\"impaire\">");
                         }
                         // Nom du document.
                         $mod->MxText("categorie.document.nomDocument", $ras[nom][$j]);
                         // Date de la dernière modification.
                         $mod->MxText("categorie.document.dateModification", $date->getDateTextFull() . " (v" . $ras[version][$j] . ")");
                         // Si le droit de modification est présent, un lien est généré.
                         if ($session->getDroit("Administration_Documents", "m")) {
                             $mod->MxImage("categorie.document.imgMod", URLIMGMOD, "Modifier");
                             $mod->MxUrl("categorie.document.modDoc", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "modDoc", $ras[iddocument][$j]));
                         }
                         $mod->MxImage("categorie.document.imgVoir", URLIMGPDF, "Afficher");
                         $mod->MxUrl("categorie.document.voirDoc", URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), "voirDoc", $ras[iddocument][$j]));
                         $mod->MxBloc("categorie.document", "loop");
                     }
                     $mod->MxBloc("categorie", "loop");
                 }
             }
             // Récupération du code HTML généré par ModeliXe.
             $this->af .= $mod->MxWrite("1");
         }
     }
 }
示例#4
0
 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");
 }
示例#5
0
 function sendMail($type = '')
 {
     // On envoie seulement si l'option d'envoi est activée
     if (Erreurs_Actif) {
         global $xham;
         $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>";
         // print affTab ( get_object_vars ( $xham ) ) ;
         // Entête explicatif.
         if (method_exists($xham->user, 'getIdentite')) {
             $message = "L'utilisateur <i>" . ($xham ? $xham->user->getIdentite() : "Inconnu") . "</i>, lors de l'exécution de la page ";
         } else {
             $message = "L'utilisateur <i>erreur cougnac</i>, lors de l'exécution de la page ";
         }
         $message .= ($xham ? $xham->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\nContent-type: text/html; charset=iso-8859-1\n";
         $headers .= "To: " . Erreurs_Mail . "\nFrom: " . Erreurs_NomApp . "<" . Erreurs_MailApp . ">\n";
         //$headers .= "Bcc: dborel@ch-hyeres.fr\r\n" ;
         // Envoi du mail.
         //      print $message;
         if (is_object($xham->user) and method_exists($xham->user, "getLogin")) {
             $userErreur = $xham->user->getLogin();
         } else {
             $userErreur = "[impossible d'acceder à la methode getLogin]";
         }
         mail('', $subject . " (" . $userErreur . ")", $entete . $message . $fin, $headers);
         //print "$entete.$message.$fin" ;
     }
 }
示例#6
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);
         }
     }
 }