예제 #1
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");
         }
     }
 }