source: pmb4.2/trunk/fuentes/pmb/edit/empr_list.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 16.0 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: empr_list.inc.php,v 1.36 2015-06-14 11:45:41 Alexandre Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9include_once("$include_path/templates/empr.tpl.php");
10require_once("./circ/empr/empr_func.inc.php");
11require_once ("$class_path/emprunteur.class.php");
12
13//Récupération des variables postées, on en aura besoin pour les liens
14$page_url="./edit.php";
15
16switch($dest) {
17        case "TABLEAU":
18                $fname = tempnam("./temp", "$fichier_temp_nom.xls");
19                $workbook = new writeexcel_workbook($fname);
20                $worksheet = &$workbook->addworksheet();
21                $worksheet->write(0,0,$titre_page);
22                break;
23        case "TABLEAUHTML":
24                echo "<h1>".$titre_page."</h1>" ; 
25                break;
26        default:
27                echo "<h1>".$titre_page."</h1>" ;
28                break;
29}
30
31// nombre de références par pages
32if ($nb_per_page_empr != "") 
33        $nb_per_page = $nb_per_page_empr ;
34else 
35        $nb_per_page = 10;
36
37// restriction localisation le cas échéant
38if ($pmb_lecteurs_localises) {
39        if ($empr_location_id=="") 
40                $empr_location_id = $deflt2docs_location ;
41        if ($empr_location_id!=0) 
42                $restrict_localisation = " AND empr_location='$empr_location_id' ";
43        else 
44                $restrict_localisation = "";
45}
46
47// filtré par un statut sélectionné
48if ($empr_statut_edit) {
49        if ($empr_statut_edit!=0) 
50                $restrict_statut = " AND empr_statut='$empr_statut_edit' ";
51        else 
52                $restrict_statut="";
53} 
54
55
56// on récupére le nombre de lignes
57if(!$nbr_lignes) {
58        $requete = "SELECT COUNT(1) FROM empr, empr_statut, empr_categ where empr.empr_categ=empr_categ.id_categ_empr ";
59        $requete = $requete.$restrict_localisation.$restrict_statut." and ".$restrict;
60        $requete .= " and empr_statut=idstatut";
61        $res = pmb_mysql_query($requete, $dbh);
62        $nbr_lignes = @pmb_mysql_result($res, 0, 0);
63}
64
65//Si aucune limite_page n'a été passée, valeur par défaut $nb_per_page
66if (!$limite_page) 
67        $limite_page = $nb_per_page;
68else 
69        $nb_per_page = $limite_page;
70
71$nbpages= $nbr_lignes / $limite_page;
72 
73if(!$page) $page=1;
74
75$debut =($page-1)*$nb_per_page;
76
77if($nbr_lignes) {
78        if ($statut_action=="modify") {
79                $requete="UPDATE empr, empr_categ set empr_statut='$empr_chang_statut_edit' where empr.empr_categ=empr_categ.id_categ_empr ".$restrict_localisation.$restrict_statut." and ".$restrict;
80                $restrict_statut = " AND empr_statut='$empr_chang_statut_edit' ";
81                @pmb_mysql_query($requete);
82        } 
83        // on lance la vraie requête
84        $requete = "SELECT empr.*, date_format(empr_date_adhesion, '".$msg["format_date"]."') as aff_empr_date_adhesion, date_format(empr_date_expiration, '".$msg["format_date"]."') as aff_empr_date_expiration, statut_libelle, empr_categ.libelle as categ_libelle  FROM empr, empr_statut, empr_categ ";
85        $restrict_empr = " WHERE empr.empr_categ=empr_categ.id_categ_empr ";
86        $restrict_requete = $restrict_empr.$restrict_localisation.$restrict_statut." and ".$restrict;
87        $requete .= $restrict_requete;
88        $requete .= " and empr_statut=idstatut ";
89        if (!isset($sortby))
90                $sortby = 'empr_nom';
91
92        $requete .= " ORDER BY $sortby ";
93       
94        switch($dest) {
95                case "TABLEAU":
96                        $res = @pmb_mysql_query($requete, $dbh);
97                        $nbr_champs = @pmb_mysql_num_fields($res);
98
99                        for($n=0; $n < $nbr_champs; $n++) {
100                                $worksheet->write(2,$n,pmb_mysql_field_name($res,$n));
101                        }
102                        for($i=0; $i < $nbr_lignes; $i++) {
103                                $row = pmb_mysql_fetch_row($res);
104                                $j=0;
105                                foreach($row as $dummykey=>$col) {
106                                        if(!$col) $col=" ";
107                                        $worksheet->write(($i+3),$j,$col);
108                                        $j++;
109                                }
110                        }
111                        $workbook->close();
112                        $fh=fopen($fname, "rb");
113                        fpassthru($fh);
114                        unlink($fname);
115                        break;
116                case "TABLEAUHTML":
117                        $res = @pmb_mysql_query($requete, $dbh);
118                        $empr_list = "<table>" ;
119                        $empr_list .="<tr>
120                                <th>$msg[code_barre_empr]</th>
121                                <th>$msg[nom_prenom_empr]</th>
122                                <th>$msg[adresse_empr]</th>
123                                <th></th>
124                                <th>$msg[ville_empr]</th>
125                                <th>$msg[year_empr]</th>
126                                <th>$msg[readerlist_dateexpiration]</th>
127                                <th>$msg[statut_empr]</th>
128                                </tr>";
129                        while(($empr=pmb_mysql_fetch_object($res))) {
130                                $empr_list .= "<tr>";
131                                $empr_list .= " <td>
132                                                        <strong>$empr->empr_cb</strong>
133                                                        </td>
134                                                <td>
135                                                        $empr->empr_nom&nbsp;$empr->empr_prenom
136                                                        </td>
137                                                <td>$empr->empr_adr1</td>
138                                                <td>$empr->empr_adr2</td>
139                                                <td>$empr->empr_ville</td>
140                                                <td>$empr->empr_year</td>";
141                                $empr_list .= "<td>".$empr->aff_empr_date_expiration."</td>";
142                                $empr_list .= "<td>".$empr->statut_libelle."</td>";
143                                $empr_list .= "</tr>";
144                        }
145                        $empr_list .= "</table>" ;
146                        echo $empr_list ;
147                        break;
148                default:
149                        $requete .= "LIMIT $debut,$nb_per_page ";
150                        $res = @pmb_mysql_query($requete, $dbh);
151       
152                        $parity=1;
153                        $empr_list .="<tr>
154                                <th>$msg[code_barre_empr]</th>
155                                <th>$msg[nom_prenom_empr]</th>
156                                <th>$msg[adresse_empr]</th>
157                                <th>$msg[ville_empr]</th>
158                                <th>$msg[year_empr]</th>
159                                <th>$msg[readerlist_dateexpiration]</th>
160                                <th>$msg[statut_empr]</th>";
161                        switch ($sub) {
162                                case "encours" :
163                                        $empr_list .="<th></th>";
164                                        break;
165                                case "categ_change" :
166                                        $empr_list .="<th>$msg[categ_empr]</th>
167                                                <th>$msg[empr_categ_change_prochain]</th>";
168                                        break;
169                                default :
170                                        $empr_list .="<th colspan=2></th>";
171                                        break;
172                        }
173                        $empr_list .="</tr>";
174                        while(($empr=pmb_mysql_fetch_object($res))) {
175                                if ($parity % 2) 
176                                        $pair_impair = "even";
177                                else 
178                                        $pair_impair = "odd";
179                                $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" ";
180                                $script="onclick=\"document.location='./circ.php?categ=pret&form_cb=".rawurlencode($empr->empr_cb)."';\"";
181                                $empr_list .= "<tr class='$pair_impair' $tr_javascript style='cursor: pointer'>";
182                                $empr_list .= " <td $script>
183                                                        <strong>$empr->empr_cb</strong>
184                                                        </td>
185                                                <td $script>
186                                                        $empr->empr_nom&nbsp;$empr->empr_prenom
187                                                        </td>
188                                                <td $script>$empr->empr_adr1</td>
189                                                <td $script>$empr->empr_ville</td>
190                                                <td $script>$empr->empr_year</td>";
191                                $empr_list .= "<td $script>".$empr->aff_empr_date_expiration."</td>";
192                                $empr_list .= "<td $script>".$empr->statut_libelle."</td>";
193                                switch ($sub) {
194                                        case "encours" :
195                                                $empr_list .= "<td>"."</td>";
196                                                break;
197                                        case "categ_change" :
198                                                $empr_list.="<td $script>".$empr->categ_libelle."</td>";
199                                                $empr_list.="<td>";
200                                                $today = getdate();
201                                                $age_lecteur = $today["year"] - $empr->empr_year;
202                                                // on construit le select catégorie
203                                                $query = "SELECT id_categ_empr, libelle FROM empr_categ WHERE (".$age_lecteur." >= age_min or age_min=0)  and (".$age_lecteur." <= age_max or age_max=0) ORDER BY age_min ";
204                                                $result = pmb_mysql_query($query, $dbh);
205                                                $nbr_rows = pmb_mysql_num_rows($result);
206                                                $empr_list.= "<input type='hidden' value='".$empr->id_empr."' name='empr[]' />";
207                                                $empr_list .= "<select id='empr_chang_categ_edit_".$empr->id_empr."' name='empr_chang_categ_edit_".$empr->id_empr."' class='saisie-20em'>";
208                                                $empr_list .="<option value='0' selected='selected' >".$msg["change_categ_do_nothing"]."</option>";
209                                                for($i=0; $i < $nbr_rows; $i++) {
210                                                        $row = pmb_mysql_fetch_row($result);
211                                                        $empr_list.= "<option value='$row[0]'";
212                                                        if($i == 0) $empr_list .= " selected='selected'";
213                                                        $empr_list .= ">$row[1]</option>";
214                                                }
215                                                $empr_list.="</select></td>";
216                                                break;
217                                        default :
218                                                $empr_list.="<td>";
219                                                $action_relance_courrier = "onclick=\"openPopUp('./pdf.php?pdfdoc=lettre_relance_adhesion&id_empr=".$empr->id_empr."', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); return(false) \"";
220                                                $empr_list .= "<a href=\"#\" ".$action_relance_courrier."><img src=\"./images/new.gif\" title=\"".$msg["param_pdflettreadhesion"]."\" alt=\"".$msg["param_pdflettreadhesion"]."\" border=\"0\"></a>";
221                                                if ($empr->empr_mail) {
222                                                        $mail_click = "onclick=\"if (confirm('".$msg["mail_retard_confirm"]."')) {openPopUp('./mail.php?type_mail=mail_relance_adhesion&id_empr=".$empr->id_empr."', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes');} return(false) \"";
223                                                        $empr_list .= "&nbsp;<a href=\"#\" ".$mail_click."><img src=\"./images/mail.png\" title=\"".$msg["param_mailrelanceadhesion"]."\" alt=\"".$msg["param_mailrelanceadhesion"]."\" border=\"0\"></a>";
224                                                }
225                                                $empr_list.="</td>";
226                                                $empr_list .= "<td>"."</td>";
227                                                break;
228                                }
229                                $empr_list .= "</tr>";
230                                $parity += 1;
231                        }
232                        pmb_mysql_free_result($res);
233
234                        // constitution des liens
235                        $nbepages = ceil($nbr_lignes/$nb_per_page);
236                        $suivante = $page+1;
237                        $precedente = $page-1;
238                        // affichage du lien précédent si nécéssaire
239                        if($precedente > 0)
240                                $nav_bar .= "<a href='$PHP_SELF?categ=empr&sub=$sub&page=$precedente&nbr_lignes=$nbr_lignes&form_cb=".rawurlencode($form_cb)."&limite_page=$limite_page&empr_location_id=$empr_location_id&empr_statut_edit=$empr_statut_edit&sortby=$sortby'><img src='./images/left.gif' border='0' title='$msg[48]' alt='[$msg[48]]' hspace='3' align='middle'></a>";
241                        for($i = 1; $i <= $nbepages; $i++) {
242                                if($i==$page) 
243                                        $nav_bar .= "<strong>page $i/$nbepages</strong>";
244                        }
245                        if($suivante<=$nbepages) 
246                                $nav_bar .= "<a href='$PHP_SELF?categ=empr&sub=$sub&page=$suivante&nbr_lignes=$nbr_lignes&form_cb=".rawurlencode($form_cb)."&limite_page=$limite_page&empr_location_id=$empr_location_id&empr_statut_edit=$empr_statut_edit&sortby=$sortby'><img src='./images/right.gif' border='0' title='$msg[49]' alt='[$msg[49]]' hspace='3' align='middle'></a>";
247
248                        // affichage du résultat
249                        echo "
250                                <form class='form-$current_module' id='form-$current_module-list' name='form-$current_module-list' action='$page_url?categ=$categ&sub=$sub&limite_page=$limite_page&numero_page=$numero_page' method=post>
251                                <div class='left'>
252                                        $nav_bar $msg[circ_afficher] <input type=text name=limite_page value='$limite_page' class='saisie-5em'> $msg[1905] &nbsp;
253                                </div>
254                                <div class='right'>
255                                        <img  src='./images/tableur.gif' border='0' align='top' onMouseOver ='survol(this);' onclick=\"start_export('TABLEAU');\" alt='Export tableau EXCEL' title='Export tableau EXCEL'/>&nbsp;&nbsp;
256                                        <img  src='./images/tableur_html.gif' border='0' align='top' onMouseOver ='survol(this);' onclick=\"start_export('TABLEAUHTML');\" alt='Export tableau HTML' title='Export tableau HTML'/>&nbsp;&nbsp;
257                                </div>
258                                <script type='text/javascript'>
259                                        function survol(obj){
260                                                obj.style.cursor = 'pointer';
261                                        }
262                                        function start_export(type){
263                                                document.forms['form-$current_module-list'].dest.value = type;
264                                                document.forms['form-$current_module-list'].submit();
265                                        }       
266                                </script>
267                        ";
268                                       
269                        if ($pmb_lecteurs_localises) echo docs_location::gen_combo_box_empr($empr_location_id);
270                        echo gen_liste("select idstatut, statut_libelle from empr_statut","idstatut","statut_libelle","empr_statut_edit","",$empr_statut_edit,-1,"",0,$msg["all_statuts_empr"]);
271                        $sort_params = array('empr_nom' => $msg['readerlist_name'], 'empr_cb' => $msg['readerlist_code'], 'empr_ville' => $msg['readerlist_ville'], 'empr_date_expiration' => $msg['readerlist_dateexpiration']);
272                        echo "&nbsp;".$msg["sort_by"].":&nbsp;";
273                        echo '<select name="sortby">';
274                                foreach($sort_params as $id => $caption) {
275                                        echo '<option '.($id == $sortby ? 'selected' : '').' value="'.$id.'">'.$caption.'</option>';
276                                }
277                        echo '</select>';
278                        echo "&nbsp;<input type='submit' class='bouton' value='".$msg['actualiser']."' onClick=\"this.form.dest.value='';\" />&nbsp;&nbsp;<input type='hidden' name='dest' value='' />";
279                       
280                        if ($empr_show_caddie) $bt_add_panier="&nbsp;&nbsp;<input type='button' class='bouton_small' value='".$msg["add_empr_cart"]."' onClick=\"openPopUp('./cart.php?object_type=EMPR&action=add_empr_$sub&empr_location_id=$empr_location_id', 'cart', 600, 700, -2, -2,'$selector_prop_ajout_caddie_empr'); return false;\">";
281                        else $bt_add_panier="";
282                        echo "
283                                <div class='row'></div></form><br />";
284                        print "<script type='text/javascript' src='$base_path/javascript/sorttable.js'></script>";
285                       
286                        switch ($sub) {
287                                case "categ_change" :
288                                        print pmb_bidi("<form class='form-$current_module' id='form-$current_module-empr' name='form-$current_module-empr' action='$PHP_SELF?categ=empr&sub=$sub&categ_action=change_categ_empr' method='post'><table  class='sortable' width='100%'>".$empr_list."</table></form>");
289                                        break;
290                                default :
291                                        print pmb_bidi("<table  class='sortable' width='100%'>".$empr_list."</table>");
292                                        break;
293                        }
294                       
295                        echo "
296                                <br /><form class='form-$current_module' id='form-$current_module-action' name='form-$current_module-action' action='$PHP_SELF?categ=empr&sub=$sub&page=$precedente&nbr_lignes=$nbr_lignes&form_cb=".rawurlencode($form_cb)."&limite_page=$limite_page&empr_location_id=$empr_location_id&empr_statut_edit=$empr_statut_edit&statut_action=modify' method='post'>
297                                <div class='left'>";
298                        if ($sub=="categ_change") echo "<input type='button' class='bouton_small' value='".htmlentities($msg["save_change_categ"],ENT_QUOTES,$charset)."' onClick=\"if (confirm('".addslashes($msg["empr_categ_confirm_change"])."')) { document.forms['form-$current_module-empr'].submit(); }\" >&nbsp;";
299                        if ($sub=="limite" || $sub=="depasse") echo "<input type='button' class='bouton_small' value='".htmlentities($msg["print_all_relances"],ENT_QUOTES,$charset)."' onclick='document.location=\"./edit.php?categ=$categ&sub=$sub&action=print_all\"'>&nbsp;";
300                       
301                        echo "$bt_add_panier
302                                </div>
303                                <div align='right'>
304                                        ".$msg["empr_chang_statut"]."&nbsp;
305                                        ".gen_liste("select idstatut, statut_libelle from empr_statut","idstatut","statut_libelle","empr_chang_statut_edit","","",0,"",0,"").
306                                        &nbsp;<input type='submit' class='bouton_small' value='".$msg['empr_chang_statut_button']."' />
307                                </div>
308                                </form>"; 
309                        break;
310        } //switch($dest)
311
312} else {
313        // la requête n'a produit aucun résultat
314        switch($dest) {
315                case "TABLEAU":
316                        break;
317                case "TABLEAUHTML":
318                        break;
319                default:
320                        echo "
321                                <form class='form-$current_module' id='form-$current_module-list' name='form-$current_module-list' action='$page_url?categ=$categ&sub=$sub&limite_page=$limite_page&numero_page=$numero_page' method=post>
322                                <div class='left'>
323                                        $nav_bar $msg[circ_afficher] <input type=text name=limite_page value='$limite_page' class='saisie-5em'> $msg[1905] &nbsp;
324                                </div>
325                                <div class='right'>
326                                        <img  src='./images/tableur.gif' border='0' align='top' onMouseOver ='survol(this);' onclick=\"start_export('TABLEAU');\" alt='Export tableau EXCEL' title='Export tableau EXCEL'/>&nbsp;&nbsp;
327                                        <img  src='./images/tableur_html.gif' border='0' align='top' onMouseOver ='survol(this);' onclick=\"start_export('TABLEAUHTML');\" alt='Export tableau HTML' title='Export tableau HTML'/>&nbsp;&nbsp;
328                                </div>
329                                <script type='text/javascript'>
330                                        function survol(obj){
331                                                obj.style.cursor = 'pointer';
332                                        }
333                                        function start_export(type){
334                                                document.forms['form-$current_module-list'].dest.value = type;
335                                                document.forms['form-$current_module-list'].submit();
336                                        }       
337                                </script>
338                        ";
339                                       
340                        if ($pmb_lecteurs_localises) echo docs_location::gen_combo_box_empr($empr_location_id);
341                        echo gen_liste("select idstatut, statut_libelle from empr_statut","idstatut","statut_libelle","empr_statut_edit","",$empr_statut_edit,-1,"",0,$msg["all_statuts_empr"]);
342                        $sort_params = array('empr_nom' => $msg['readerlist_name'], 'empr_cb' => $msg['readerlist_code'], 'empr_ville' => $msg['readerlist_ville'], 'empr_date_expiration' => $msg['readerlist_dateexpiration']);
343                        echo "&nbsp;".$msg["sort_by"].":&nbsp;";
344                        echo '<select name="sortby">';
345                                foreach($sort_params as $id => $caption) {
346                                        echo '<option '.($id == $sortby ? 'selected' : '').' value="'.$id.'">'.$caption.'</option>';
347                                }
348                        echo '</select>';
349                        echo "&nbsp;<input type='submit' class='bouton' value='".$msg['actualiser']."' onClick=\"this.form.dest.value='';\" />&nbsp;&nbsp;<input type='hidden' name='dest' value='' />";
350                        echo "
351                                <div class='row'></div></form><br />";
352               
353                        echo "
354                        <div class='row'></div></form>";
355                        error_message($msg[46], str_replace('!!form_cb!!', $form_cb, $msg['edit_lect_aucun_trouve']), 1, './edit.php?categ=empr&sub='.$sub);
356        }
357}
Note: See TracBrowser for help on using the repository browser.