/[openfoncier]/branches/3.14.x/app/document_numerise.view.php
ViewVC logotype

Annotation of /branches/3.14.x/app/document_numerise.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3204 - (hide annotations)
Fri Dec 12 12:19:42 2014 UTC (10 years, 1 month ago) by softime
Original Path: trunk/app/document_numerise.view.php
File size: 9335 byte(s)
* Amélioration de la récupération des variables.
1 softime 1889 <?php
2     /**
3     * Ce script permet l'affiche des documents numérisés dans des tableaux organisés
4     * par la date de création et la catégorie
5     *
6     * @package openads
7 softime 1905 * @version SVN : $Id:
8 softime 1889 */
9    
10     //
11     require_once "../obj/utils.class.php";
12    
13     //Instance utils
14 softime 1897 $f = new utils("nohtml", "document_numerise_view", _("Pieces"));
15 softime 1889
16     //
17     echo "\n<div id=\"sousform-document_numerise\">\n";
18     echo "\n<!-- ########## START FORMULAIRE ########## -->\n";
19     echo "<div class=\"formEntete ui-corner-all\">\n";
20    
21     //
22 softime 3204 (isset($_GET['idxformulaire']) ? $idxformulaire = $f->clean_break($_GET['idxformulaire']) : $idxformulaire = "");
23     (isset($_GET['retourformulaire']) ? $retourformulaire = $f->clean_break($_GET['retourformulaire']) : $retourformulaire = "");
24 softime 1889
25 softime 1926 //L'identifiant du dossier est $idxformualire de base pour les objets dossier_instruction
26 softime 2120 //Depuis l'objet dossier_autorisation $dossier posséderas le numéros du dossier d'autorisation
27 softime 1926 $dossier = $idxformulaire;
28    
29     //Si le formulaire est demande_avis_encours ou demande_avis_passee
30 softime 1918 if ($retourformulaire == 'demande_avis_encours' || $retourformulaire == 'demande_avis_passee') {
31 softime 1905
32     // Récupération du dossier en fonction du numéro de consultation
33     $sql = "SELECT dossier
34     FROM ".DB_PREFIXE."consultation
35     WHERE consultation=$idxformulaire";
36     $dossier = $f->db->getone($sql);
37     $f->addToLog("app/document_numerise.view.php: db->getone(\"".$sql."\");", VERBOSE_MODE);
38     $f->isDatabaseError($dossier);
39     }
40    
41 softime 2120 // Récupération des documents numérisés
42     $select = "SELECT document_numerise.document_numerise as document_numerise,
43 softime 1889 document_numerise.date_creation as date_creation,
44     document_numerise_type_categorie.libelle as categorie,
45     document_numerise.nom_fichier as nom_fichier,
46     document_numerise_type.libelle as type_document,
47 softime 2120 document_numerise.uid as uid ";
48    
49     //table de la requête
50     $from = "FROM ".DB_PREFIXE."document_numerise
51 softime 1889 LEFT JOIN ".DB_PREFIXE."document_numerise_type
52     ON document_numerise.document_numerise_type = document_numerise_type.document_numerise_type
53     LEFT JOIN ".DB_PREFIXE."document_numerise_type_categorie
54 softime 2120 ON document_numerise_type.document_numerise_type_categorie = document_numerise_type_categorie.document_numerise_type_categorie ";
55     if ($retourformulaire == 'dossier_autorisation') {
56 vpihour 3037 $select .= ", dossier.dossier as dossier ";
57 softime 2120 $from .= " LEFT JOIN ".DB_PREFIXE."dossier
58     ON document_numerise.dossier = dossier.dossier
59     LEFT JOIN ".DB_PREFIXE."dossier_autorisation
60     ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation ";
61     }
62    
63     // La condition de la requête
64     $where = " WHERE document_numerise.dossier = '$dossier' ";
65     // Si le formulaire est celui des dossiers d'autorisations
66     if ($retourformulaire == 'dossier_autorisation') {
67     $where = " WHERE dossier_autorisation.dossier_autorisation = '$dossier'
68 nhaye 3035 AND (document_numerise_type.code = 'ART'
69     OR document_numerise_type.code = 'AVIS'
70     OR document_numerise_type.code = 'DOC'
71     OR document_numerise_type.code = 'DAACT'
72     OR document_numerise_type.code = 'DOS01'
73     OR document_numerise_type.code = 'DOS02' )";
74 softime 2120 }
75    
76     // Le tri sur la requête
77     $tri = " ORDER BY document_numerise.date_creation, document_numerise.nom_fichier";
78    
79     // Concaténation des morceaux de la requête
80     $sql = $select.$from.$where.$tri;
81 softime 1889 $res = $f->db->query($sql);
82 softime 1897 $f->addToLog("app/document_numerise.view.php: db->query(\"".$sql."\");", VERBOSE_MODE);
83 softime 1889 $f->isDatabaseError($res);
84    
85 softime 2006 // Requête sql pour recupèrere la division de l'instructeur en session
86     $sql_instr_division = "SELECT division.division
87     FROM ".DB_PREFIXE."instructeur
88     LEFT JOIN ".DB_PREFIXE."division
89     ON division.division=instructeur.division
90     LEFT JOIN ".DB_PREFIXE."om_utilisateur
91     ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur
92     WHERE om_utilisateur.login = '".$_SESSION['login']."'";
93     $division = $f->db->getOne($sql_instr_division);
94     $f->addToLog("app/document_numerise.view.php(): db->getOne(\"".$sql_instr_division."\");", VERBOSE_MODE);
95     $f->isDatabaseError($division);
96    
97 softime 1889 //En-tête de tableau pour afficher la date et la catégorie des documents
98     $header =
99     "
100     <thead>
101     <tr class='ui-tabs-nav ui-accordion ui-state-default tab-title'>
102     <th class='title col-0 firstcol %s' colspan=2>
103     <span class='name'>
104     %s
105     </span>
106     </th>
107     </tr>
108     </thead>
109     ";
110    
111     //Lien permettant d'ouvrir le document en pdf
112     $link = "
113 softime 1897 <a class='lienTable'
114 softime 2092 href=\"../spg/file.php?obj=document_numerise&champ=uid&id=%s\" target='_blank'>
115 softime 1897 %s
116     </a>";
117 softime 2120 if ($retourformulaire == "dossier_instruction"
118     && $f->isUserAdministrateur()) {
119 softime 2092 // l'administrateur à la permission d'accéder à la fiche du document
120     $link = "<a class='lienTable'
121     onclick=\"ajaxIt('document_numerise','../scr/sousform.php?obj=document_numerise&action=3&idx=%s&tri=&premier=0&recherche=&objsf=document_numerise&premiersf=0&retourformulaire=$retourformulaire&idxformulaire=$dossier&trisf=&retour=tab');\"
122     href=\"#\">
123     %s
124     </a>";
125     }
126 softime 1889
127 vpihour 1978 //Récupère le statut du dossier d'instruction
128     $sql = "SELECT etat.statut
129     FROM ".DB_PREFIXE."etat
130     LEFT JOIN
131     ".DB_PREFIXE."dossier
132     ON
133     etat.etat = dossier.etat
134     WHERE dossier.dossier = '".$idxformulaire."'";
135     $statut = $f->db->getOne($sql);
136     $f->addToLog("app/document_numerise.view.php: db->getOne(\"".$sql."\");", VERBOSE_MODE);
137     $f->isDatabaseError($statut);
138 softime 1889
139 nmeucci 2988 // Seul un administrateur peut ajouter des pièces
140 softime 2120 if (($retourformulaire == 'dossier'
141     OR $retourformulaire == 'dossier_instruction'
142     OR $retourformulaire == 'dossier_instruction_mes_encours'
143     OR $retourformulaire == 'dossier_instruction_tous_encours'
144     OR $retourformulaire == 'dossier_instruction_mes_clotures'
145     OR $retourformulaire == 'dossier_instruction_tous_clotures')
146 nmeucci 2988 && $f->isUserAdministrateur()) {
147 vpihour 1978
148 softime 1905 //Affiche bouton ajouter
149     echo "<p><a onclick=\"ajaxIt('document_numerise','../scr/sousform.php?obj=document_numerise&action=0&tri=&objsf=document_numerise&premiersf=0&retourformulaire=$retourformulaire&idxformulaire=$dossier&trisf=&retour=tab');\" href='#'>
150     <span class='om-icon om-icon-16 om-icon-fix add-16' title='Ajouter'>Ajouter</span>
151     Ajouter un document
152     </a></p>";
153     }
154    
155 softime 1889 //
156     $i = 1;
157    
158     //Résultat à $i - 1 pour tester la date et catégorie des documents
159     $lastRes = array();
160     $lastRes['date_creation'][0] = "";
161     $lastRes['categorie'][0] = "";
162    
163     //Tant qu'il y a des résultats
164     while( $row = &$res->fetchRow(DB_FETCHMODE_ASSOC) ) {
165    
166     $lastRes['date_creation'][$i] = $row['date_creation'];
167     $lastRes['categorie'][$i] = $row['categorie'];
168    
169     //Si la date de création est différente de celle du résultat juste avant
170     if ($row['date_creation'] != $lastRes['date_creation'][$i-1]) {
171     //Si ce n'est pas le premier résultat on ferme la table
172     if($i != 1) {
173     echo "</table>";
174     }
175    
176     //Affiche la table
177     echo "<table class='tab-tab document_numerise'>";
178     //Affiche le header de la date
179     printf($header, 'headerDate', $f->formatDate($row['date_creation']));
180     //Affiche le header de la catégorie
181     printf($header,'headerCat', $row['categorie']);
182    
183     //Style des lignes
184     $style = 'odd';
185    
186     }
187    
188     //Si la date de création est identique à celle du résultat juste avant
189     //et la catégorie est différente de celle du résultat juste avant
190     if ($row['date_creation'] == $lastRes['date_creation'][$i-1] && $row['categorie'] != $lastRes['categorie'][$i-1]) {
191     //Affiche le header de la catégorie
192     printf($header,'headerCat', $row['categorie']);
193    
194     //Style des lignes
195     $style = 'odd';
196     }
197    
198     //Si toujours dans la catégorie on change le style de la ligne
199     if ($row['categorie'] == $lastRes['categorie'][$i-1] && $row['date_creation'] == $lastRes['date_creation'][$i-1]) {
200     $style = ($style=='even')?'odd':'even';
201     }
202    
203     //
204     echo '<tr class="tab-data '.$style.'">';
205 vpihour 3037
206 softime 1889 echo '<td class="col-0 firstcol">';
207 vpihour 3037 //Si on est dans la visualisation du DA, on affiche le numéro du dossier
208     //d'instruction auquel est rataché la pièce et le nom du fichier
209     if ($retourformulaire === 'dossier_autorisation'){
210     printf ($link, $row['document_numerise'], $row['dossier']." - ".$row['nom_fichier']);
211     }
212     else {
213     //On affiche que le nom du fichier
214     printf ($link, $row['document_numerise'], $row['nom_fichier']);
215    
216     }
217 softime 1889 echo '</td>';
218    
219     // Libelle du type du document
220     echo '<td class="col-1">';
221 softime 2092 printf ($link, $row['document_numerise'], $row['type_document']);
222 softime 1889 echo '</td>';
223    
224     echo "</tr>";
225    
226     //
227     $i++;
228    
229     }
230    
231     //On ferme la table
232     echo "</table>";
233    
234     //S'il n'y a pas de résultat on affiche "Aucun enregistrements"
235     if ($res->numrows() == 0) {
236     echo "<p class='noData'>"._("Aucun enregistrements")."<p>";
237     }
238    
239     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26