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

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

WIP in lliurex features and modifications 9

  • Property svn:executable set to *
File size: 16.5 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// ------------------------- LLIUREX 14/03/2016--------------------------------------------
170                                case "no_migrados":
171                                        $empr_list .="<th></th>";
172                                        break;
173//-------------------------- FIN LLIUREX 14/03/2016 --------------------------------------                                     
174                                default :
175                                        $empr_list .="<th colspan=2></th>";
176                                        break;
177                        }
178                        $empr_list .="</tr>";
179                        while(($empr=pmb_mysql_fetch_object($res))) {
180                                if ($parity % 2) 
181                                        $pair_impair = "even";
182                                else 
183                                        $pair_impair = "odd";
184                                $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" ";
185                                $script="onclick=\"document.location='./circ.php?categ=pret&form_cb=".rawurlencode($empr->empr_cb)."';\"";
186                                $empr_list .= "<tr class='$pair_impair' $tr_javascript style='cursor: pointer'>";
187                                $empr_list .= " <td $script>
188                                                        <strong>$empr->empr_cb</strong>
189                                                        </td>
190                                                <td $script>
191                                                        $empr->empr_nom&nbsp;$empr->empr_prenom
192                                                        </td>
193                                                <td $script>$empr->empr_adr1</td>
194                                                <td $script>$empr->empr_ville</td>
195                                                <td $script>$empr->empr_year</td>";
196                                $empr_list .= "<td $script>".$empr->aff_empr_date_expiration."</td>";
197                                $empr_list .= "<td $script>".$empr->statut_libelle."</td>";
198                                switch ($sub) {
199                                        case "encours" :
200                                                $empr_list .= "<td>"."</td>";
201                                                break;
202                                        case "categ_change" :
203                                                $empr_list.="<td $script>".$empr->categ_libelle."</td>";
204                                                $empr_list.="<td>";
205                                                $today = getdate();
206                                                $age_lecteur = $today["year"] - $empr->empr_year;
207                                                // on construit le select catégorie
208                                                $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 ";
209                                                $result = pmb_mysql_query($query, $dbh);
210                                                $nbr_rows = pmb_mysql_num_rows($result);
211                                                $empr_list.= "<input type='hidden' value='".$empr->id_empr."' name='empr[]' />";
212                                                $empr_list .= "<select id='empr_chang_categ_edit_".$empr->id_empr."' name='empr_chang_categ_edit_".$empr->id_empr."' class='saisie-20em'>";
213                                                $empr_list .="<option value='0' selected='selected' >".$msg["change_categ_do_nothing"]."</option>";
214                                                for($i=0; $i < $nbr_rows; $i++) {
215                                                        $row = pmb_mysql_fetch_row($result);
216                                                        $empr_list.= "<option value='$row[0]'";
217                                                        if($i == 0) $empr_list .= " selected='selected'";
218                                                        $empr_list .= ">$row[1]</option>";
219                                                }
220                                                $empr_list.="</select></td>";
221                                                break;
222//------------------------------- LLIUREX 14/03/2016 ---------------------------------------------
223                                        case "no_migrados" :
224                                                $empr_list .= "<td>"."</td>";
225                                                break; 
226//------------------------------- FIN LLIUREX 14/03/2016------------------------------------------
227
228                                        default :
229                                                $empr_list.="<td>";
230                                                $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) \"";
231                                                $empr_list .= "<a href=\"#\" ".$action_relance_courrier."><img src=\"./images/new.gif\" title=\"".$msg["param_pdflettreadhesion"]."\" alt=\"".$msg["param_pdflettreadhesion"]."\" border=\"0\"></a>";
232                                                if ($empr->empr_mail) {
233                                                        $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) \"";
234                                                        $empr_list .= "&nbsp;<a href=\"#\" ".$mail_click."><img src=\"./images/mail.png\" title=\"".$msg["param_mailrelanceadhesion"]."\" alt=\"".$msg["param_mailrelanceadhesion"]."\" border=\"0\"></a>";
235                                                }
236                                                $empr_list.="</td>";
237                                                $empr_list .= "<td>"."</td>";
238                                                break;
239                                }
240                                $empr_list .= "</tr>";
241                                $parity += 1;
242                        }
243                        pmb_mysql_free_result($res);
244
245                        // constitution des liens
246                        $nbepages = ceil($nbr_lignes/$nb_per_page);
247                        $suivante = $page+1;
248                        $precedente = $page-1;
249                        // affichage du lien précédent si nécéssaire
250                        if($precedente > 0)
251                                $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>";
252                        for($i = 1; $i <= $nbepages; $i++) {
253                                if($i==$page) 
254                                        $nav_bar .= "<strong>page $i/$nbepages</strong>";
255                        }
256                        if($suivante<=$nbepages) 
257                                $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>";
258
259                        // affichage du résultat
260                        echo "
261                                <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>
262                                <div class='left'>
263                                        $nav_bar $msg[circ_afficher] <input type=text name=limite_page value='$limite_page' class='saisie-5em'> $msg[1905] &nbsp;
264                                </div>
265                                <div class='right'>
266                                        <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;
267                                        <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;
268                                </div>
269                                <script type='text/javascript'>
270                                        function survol(obj){
271                                                obj.style.cursor = 'pointer';
272                                        }
273                                        function start_export(type){
274                                                document.forms['form-$current_module-list'].dest.value = type;
275                                                document.forms['form-$current_module-list'].submit();
276                                        }       
277                                </script>
278                        ";
279                                       
280                        if ($pmb_lecteurs_localises) echo docs_location::gen_combo_box_empr($empr_location_id);
281                        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"]);
282                        $sort_params = array('empr_nom' => $msg['readerlist_name'], 'empr_cb' => $msg['readerlist_code'], 'empr_ville' => $msg['readerlist_ville'], 'empr_date_expiration' => $msg['readerlist_dateexpiration']);
283                        echo "&nbsp;".$msg["sort_by"].":&nbsp;";
284                        echo '<select name="sortby">';
285                                foreach($sort_params as $id => $caption) {
286                                        echo '<option '.($id == $sortby ? 'selected' : '').' value="'.$id.'">'.$caption.'</option>';
287                                }
288                        echo '</select>';
289                        echo "&nbsp;<input type='submit' class='bouton' value='".$msg['actualiser']."' onClick=\"this.form.dest.value='';\" />&nbsp;&nbsp;<input type='hidden' name='dest' value='' />";
290                       
291                        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;\">";
292                        else $bt_add_panier="";
293                        echo "
294                                <div class='row'></div></form><br />";
295                        print "<script type='text/javascript' src='$base_path/javascript/sorttable.js'></script>";
296                       
297                        switch ($sub) {
298                                case "categ_change" :
299                                        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>");
300                                        break;
301                                default :
302                                        print pmb_bidi("<table  class='sortable' width='100%'>".$empr_list."</table>");
303                                        break;
304                        }
305                       
306                        echo "
307                                <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'>
308                                <div class='left'>";
309                        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;";
310                        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;";
311                       
312                        echo "$bt_add_panier
313                                </div>
314                                <div align='right'>
315                                        ".$msg["empr_chang_statut"]."&nbsp;
316                                        ".gen_liste("select idstatut, statut_libelle from empr_statut","idstatut","statut_libelle","empr_chang_statut_edit","","",0,"",0,"").
317                                        &nbsp;<input type='submit' class='bouton_small' value='".$msg['empr_chang_statut_button']."' />
318                                </div>
319                                </form>"; 
320                        break;
321        } //switch($dest)
322
323} else {
324        // la requête n'a produit aucun résultat
325        switch($dest) {
326                case "TABLEAU":
327                        break;
328                case "TABLEAUHTML":
329                        break;
330                default:
331                        echo "
332                                <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>
333                                <div class='left'>
334                                        $nav_bar $msg[circ_afficher] <input type=text name=limite_page value='$limite_page' class='saisie-5em'> $msg[1905] &nbsp;
335                                </div>
336                                <div class='right'>
337                                        <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;
338                                        <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;
339                                </div>
340                                <script type='text/javascript'>
341                                        function survol(obj){
342                                                obj.style.cursor = 'pointer';
343                                        }
344                                        function start_export(type){
345                                                document.forms['form-$current_module-list'].dest.value = type;
346                                                document.forms['form-$current_module-list'].submit();
347                                        }       
348                                </script>
349                        ";
350                                       
351                        if ($pmb_lecteurs_localises) echo docs_location::gen_combo_box_empr($empr_location_id);
352                        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"]);
353                        $sort_params = array('empr_nom' => $msg['readerlist_name'], 'empr_cb' => $msg['readerlist_code'], 'empr_ville' => $msg['readerlist_ville'], 'empr_date_expiration' => $msg['readerlist_dateexpiration']);
354                        echo "&nbsp;".$msg["sort_by"].":&nbsp;";
355                        echo '<select name="sortby">';
356                                foreach($sort_params as $id => $caption) {
357                                        echo '<option '.($id == $sortby ? 'selected' : '').' value="'.$id.'">'.$caption.'</option>';
358                                }
359                        echo '</select>';
360                        echo "&nbsp;<input type='submit' class='bouton' value='".$msg['actualiser']."' onClick=\"this.form.dest.value='';\" />&nbsp;&nbsp;<input type='hidden' name='dest' value='' />";
361                        echo "
362                                <div class='row'></div></form><br />";
363               
364                        echo "
365                        <div class='row'></div></form>";
366                        error_message($msg[46], str_replace('!!form_cb!!', $form_cb, $msg['edit_lect_aucun_trouve']), 1, './edit.php?categ=empr&sub='.$sub);
367        }
368}
Note: See TracBrowser for help on using the repository browser.