source: pmb4.2/trunk/fuentes/pmb/includes/empr_cart.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: 18.4 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_cart.inc.php,v 1.28.2.1 2015-11-04 10:09:06 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9// ********************************************************************************
10// affichage des paniers existants
11function aff_paniers_empr($item=0, $lien_origine="./circ.php?", $action_click = "add_item", $titre="", $restriction_panier="", $lien_edition=0, $lien_suppr=0, $lien_creation=1,$post_param_serialized="") {
12        global $msg;
13        global $PMBuserid;
14        global $charset;
15        global $myCart;
16        global $sub,$quoi;
17        global $action;
18        global $baselink;
19       
20        if ($lien_edition) $lien_edition_panier_cst = "<input type=button class=bouton value='$msg[caddie_editer]' onclick=\"document.location='$lien_origine&action=edit_cart&idemprcaddie=!!idemprcaddie!!';\" />";
21                else $lien_edition_panier_cst = "";
22         if($sub!='gestion' && $sub!='action') {
23                print "<form name='print_options' action='$lien_origine&action=$action_click&item=$item' method='post'>";
24        }
25        $liste = empr_caddie::get_cart_list($restriction_panier);
26        print "<script type='text/javascript' src='./javascript/tablist.js'></script>";
27        print "<hr />";
28        if ($lien_creation) {
29                print "<div class='row'>";
30                if($sub!='gestion')  print $boutons_select."<input class='bouton' type='button' value=' $msg[new_cart] ' onClick=\"this.form.action='$lien_origine&action=new_cart&item=$item'; this.form.submit();\" />";
31                else print $boutons_select."<input class='bouton' type='button' value=' $msg[new_cart] ' onClick=\"document.location='$lien_origine&action=new_cart&item=$item'\" />";
32                print "</div><br>";
33        }
34        if(sizeof($liste)) {
35                print pmb_bidi("<div class='row'><a href='javascript:expandAll()'><img src='./images/expand_all.gif' id='expandall' border='0'></a>
36                                <a href='javascript:collapseAll()'><img src='./images/collapse_all.gif' id='collapseall' border='0'></a>$titre</div>");
37                print confirmation_delete("$lien_origine&action=del_cart&item=$item&idemprcaddie=");
38                print "<script type='text/javascript'>
39                        function add_to_cart(form) {
40                        var inputs = form.getElementsByTagName('input');
41                        var count=0;
42                        for(i=0;i<inputs.length;i++){
43                                        if(inputs[i].type=='checkbox' && inputs[i].checked==true)
44                                        count ++;
45                                }
46                                if(count == 0){
47                                        alert(\"$msg[no_emprcart_selected]\");
48                                        return false;
49                                }
50                                return true;
51                        }
52                </script>";
53                if($sub=="gestion" && $quoi=="panier"){
54                        print "<script src='./javascript/classementGen.js' type='text/javascript'></script>";
55                }
56                $parity=0;
57                while (list($cle, $valeur) = each($liste)) {
58                        $rqt_autorisation=explode(" ",$valeur['autorisations']);
59                        if (array_search ($PMBuserid, $rqt_autorisation)!==FALSE || $PMBuserid==1) {
60                                $classementRow = $valeur['empr_caddie_classement'];
61                                if(!trim($classementRow)){
62                                        $classementRow=classementGen::getDefaultLibelle();
63                                }
64                                $link = "$lien_origine&action=$action_click&idemprcaddie=".$valeur['idemprcaddie']."&item=$item";
65                               
66                                if (($parity=1-$parity)) $pair_impair = "even"; else $pair_impair = "odd";
67       
68                                $lien_edition_panier = str_replace('!!idemprcaddie!!', $valeur['idemprcaddie'], $lien_edition_panier_cst);
69                        $aff_lien = $lien_edition_panier;
70                        $myCart = new empr_caddie(0);
71                        $myCart->nb_item=$valeur['nb_item'];
72                        $myCart->nb_item_pointe=$valeur['nb_item_pointe'];
73                        $myCart->type='EMPR';
74                        $print_cart[$classementRow]["titre"]=stripslashes($classementRow);
75                       
76                        $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" ";
77                                if($item) {
78                            $print_cart[$classementRow]["cart_list"].= pmb_bidi("<tr class='$pair_impair' $tr_javascript ><td class='classement60'>");
79                            if($action != "transfert" && $action != "del_cart" && $action!="save_cart") {
80                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<input type='checkbox' id='id_".$valeur['idemprcaddie']."' name='caddie[".$valeur['idemprcaddie']."]' value='".$valeur['idemprcaddie']."'>&nbsp;");
81                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<a href='#' onClick='javascript:document.getElementById(\"id_".$valeur['idemprcaddie']."\").checked=true; document.forms[\"print_options\"].submit();' /><strong>".$valeur['name']."</strong>");
82                            } else {                       
83                                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<a href='$link' /><strong>".$valeur['name']."</strong>");
84                            }   
85                        if ($valeur['comment']) $print_cart[$classementRow]["cart_list"].=  pmb_bidi("<br /><small>(".$valeur['comment'].")</small>");
86                        $print_cart[$classementRow]["cart_list"].=  pmb_bidi("</td>
87                                ".aff_cart_nb_items_reduit($myCart)."
88                                <td class='classement20'>$aff_lien</td>
89                                                </tr>");                                               
90                                } else {                       
91                            $print_cart[$classementRow]["cart_list"].= pmb_bidi("<tr class='$pair_impair' $tr_javascript >");
92                            $print_cart[$classementRow]["cart_list"].= pmb_bidi("<td class='classement60'>");
93                            if($sub!='gestion' && $sub!='action'  && $action!="save_cart") {
94                                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<input type='checkbox' id='id_".$valeur['idemprcaddie']."' name='caddie[".$valeur['idemprcaddie']."]' value='".$valeur['idemprcaddie']."'>&nbsp;");                               
95                                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<a href='#' onClick='javascript:document.getElementById(\"id_".$valeur['idemprcaddie']."\").checked=true; document.forms[\"print_options\"].submit();' /><strong>".$valeur['name']."</strong>");
96                            } else {
97                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<a href='$link' /><strong>".$valeur['name']."</strong>");
98                            }
99                            if ($valeur['comment']){
100                                $print_cart[$classementRow]["cart_list"].= pmb_bidi("<br /><small>(".$valeur['comment'].")</small>");
101                            }
102                            $print_cart[$classementRow]["cart_list"].=pmb_bidi("</a></td>");
103                            $print_cart[$classementRow]["cart_list"].=pmb_bidi(aff_cart_nb_items_reduit($myCart));
104                            if($sub=="gestion" && $quoi=="panier"){
105                                $print_cart[$classementRow]["cart_list"].=pmb_bidi("<td class='classement15'>".$aff_lien."&nbsp;".empr_caddie::show_actions($valeur['idemprcaddie'])."</td>");
106                                $classementGen = new classementGen('empr_caddie', $valeur['idemprcaddie']);
107                                $print_cart[$classementRow]["cart_list"].=pmb_bidi("<td class='classement5'>".$classementGen->show_selector($baselink,$PMBuserid)."</td>");
108                            }else{
109                                $print_cart[$classementRow]["cart_list"].=pmb_bidi("<td class='classement20'>$aff_lien</td>");
110                            }
111                                        $print_cart[$classementRow]["cart_list"].=pmb_bidi("</tr>");
112                                }               
113                        }
114                }
115                //on trie
116                ksort($print_cart);
117                //on remplace les clés à cause des accents
118                $print_cart=array_values($print_cart);
119                foreach($print_cart as $key => $type) {
120                        print gen_plus($key,$type["titre"],"<table class='classementGen_tableau'>".$type["cart_list"]."</table>",1);
121                }
122               
123        } else {
124                print $msg[398];
125        }
126       
127         if($sub!='gestion' && $sub!='action'&& $action != "del_cart") {
128                $boutons_select="<input type='submit' value='".$msg["print_cart_add"]."' class='bouton' onclick=\"return add_to_cart(this.form);\"/>&nbsp;<input type='button' value='".$msg["print_cancel"]."' class='bouton' onClick='self.close();'/>&nbsp;";
129        }       
130        if ($lien_creation) {
131                print "<div class='row'><hr />";
132                        if($sub!='gestion')  print $boutons_select."<input class='bouton' type='button' value=' $msg[new_cart] ' onClick=\"this.form.action='$lien_origine&action=new_cart&item=$item'; this.form.submit();\" />";
133                        else print $boutons_select."<input class='bouton' type='button' value=' $msg[new_cart] ' onClick=\"document.location='$lien_origine&action=new_cart&item=$item'\" />";
134                print "</div>"; 
135        } else {
136                print "<div class='row'><hr />
137                        $boutons_select
138                        </div>";               
139        }
140        if ($post_param_serialized != "") {
141                print unserialize($post_param_serialized);
142        }                       
143         if($sub!='gestion')  print"</form>";
144       
145
146}
147
148// ********************************************************************************
149function aff_empr_cart_titre ($myCart) {
150        global $msg;
151        if ($myCart->comment) $aff_tit_panier = $myCart->name." - ".$myCart->comment;
152                else $aff_tit_panier = $myCart->name;
153        return "<div class='titre-panier'><h3><a href='./circ.php?categ=caddie&sub=gestion&quoi=panier&action=&idemprcaddie=".$myCart->idemprcaddie."'>$aff_tit_panier</a></h3></div>";
154        }
155
156// ********************************************************************************
157function aff_empr_cart_nb_items ($myCart) {
158        global $msg;
159        return "<div id='cart_".$myCart->idemprcaddie."_nb_items' name='cart_".$myCart->idemprcaddie."_nb_items'>
160                        <div class='row'>
161                        <div class='colonne3'>
162                                $msg[caddie_contient]
163                                </div>
164                        <div class='colonne3' align='center'>
165                                $msg[caddie_contient_total]
166                                </div>
167                        <div class='colonne_suite' align='center'>
168                                $msg[caddie_contient_nb_pointe]
169                                </div>
170                        </div>
171                <div class='row'>
172                        <div class='colonne3' align='right'>
173                                $msg[caddie_contient_total]
174                                </div>
175                        <div class='colonne3' align='center'>
176                                <b>$myCart->nb_item</b>
177                                </div>
178                        <div class='colonne_suite' align='center'>
179                                <b>$myCart->nb_item_pointe</b>
180                                </div>
181                        </div>
182                </div>
183                <br />";
184        }
185
186// ****************************** aff_empr_cart_objects
187function aff_empr_cart_objects ($idemprcaddie=0, $url_base="./circ.php?categ=caddie&sub=gestion&quoi=panier&idemprcaddie=0", $no_del=false,$rec_history=0, $no_point=false ) {
188        global $msg, $begin_result_liste;
189        global $dbh;
190        global $nbr_lignes, $page, $nb_per_page_search ;
191        global $url_base_suppr_empr_cart ;
192       
193        $url_base_suppr_empr_cart = $url_base ;
194       
195        // nombre de références par pages
196        if ($nb_per_page_search != "") 
197                $nb_per_page = $nb_per_page_search ;
198        else $nb_per_page = 10;
199       
200        // on récupére le nombre de lignes
201        if(!$nbr_lignes) {
202                $requete = "SELECT count(1) FROM empr_caddie_content where empr_caddie_id='".$idemprcaddie."' ";
203                $res = pmb_mysql_query($requete, $dbh);
204                $nbr_lignes = pmb_mysql_result($res, 0, 0);
205        }
206       
207        if(!$page) $page=1;
208        $debut =($page-1)*$nb_per_page;
209       
210        //Calcul des variables pour la suppression d'items
211        $modulo = $nbr_lignes%$nb_per_page;
212        if($modulo == 1){
213                $page_suppr = (!$page ? 1 : $page-1);
214        } else {
215                $page_suppr = $page;
216        }       
217        $nb_after_suppr = ($nbr_lignes ? $nbr_lignes-1 : 0);   
218       
219               
220        if($nbr_lignes) {
221                // on lance la vraie requête
222                $myCart = new empr_caddie($idemprcaddie);
223                $from = " empr_caddie_content left join empr on id_empr = object_id ";
224                $order_by = " empr_nom, empr_prenom " ;
225                $requete = "SELECT object_id, flag FROM $from where empr_caddie_id='".$idemprcaddie."' order by $order_by"; 
226                $requete.= " LIMIT $debut,$nb_per_page ";
227                       
228               
229                $nav_bar = aff_pagination ($url_base, $nbr_lignes, $nb_per_page, $page, 10, false, true) ;
230                // l'affichage du résultat est fait après le else
231        } else {
232                print $msg[399];
233                return;
234        }
235       
236        $liste=array();
237        $result = @pmb_mysql_query($requete, $dbh);
238       
239        if(pmb_mysql_num_rows($result)) {
240                while ($temp = pmb_mysql_fetch_object($result)) 
241                        $liste[] = array('object_id' => $temp->object_id, 'flag' => $temp->flag ) ; 
242        }
243       
244        if(!sizeof($liste) || !is_array($liste)) {
245                print $msg[399];
246                return;
247        } else {
248                print "
249                <script>
250                        var ajax_pointage=new http_request();
251                        var num_caddie=0;
252                        var num_item=0;
253                        var action='';
254                        function add_pointage_item(idcaddie,id_item) {
255                                num_caddie=idcaddie;
256                                num_item=id_item;
257                                action='add_item';
258                                var url = './ajax.php?module=catalog&categ=pointage_add&sub=pointage&moyen=manu&action=add_item&typecaddie=empr&idcaddie='+idcaddie+'&id_item='+id_item;
259                                ajax_pointage.request(url,0,'',1,pointage_callback,0,0);
260                        }
261               
262                        function del_pointage_item(idcaddie,id_item) {
263                                num_caddie=idcaddie;
264                                num_item=id_item;
265                                action='del_item';
266                                var url = './ajax.php?module=catalog&categ=pointage_del&sub=pointage&moyen=manu&action=del_item&typecaddie=empr&idcaddie='+idcaddie+'&id_item='+id_item;
267                                ajax_pointage.request(url,0,'',1,pointage_callback,0,0);
268                        }
269                        function pointage_callback(response) {
270                                data = eval('('+response+')');
271                                switch (action) {
272                                        case 'add_item':
273                                                if (data.res_pointage == 1) {
274                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).src='./images/depointer.png';
275                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).title='".$msg['caddie_item_depointer']."';
276                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).setAttribute('onclick','del_pointage_item('+num_caddie+','+num_item+')');
277                                                } else {
278                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).src='./images/pointer.png';
279                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).title='".$msg['caddie_item_pointer']."';
280                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).setAttribute('onclick','add_pointage_item('+num_caddie+','+num_item+')');
281                                                }
282                                                break;
283                                        case 'del_item':
284                                                if (data.res_pointage == 1) {
285                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).src='./images/pointer.png';
286                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).title='".$msg['caddie_item_pointer']."';
287                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).setAttribute('onclick','add_pointage_item('+num_caddie+','+num_item+')');
288                                                } else {
289                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).src='./images/depointer.png';
290                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).title='".$msg['caddie_item_depointer']."';
291                                                        document.getElementById('caddie_'+num_caddie+'_item_'+num_item).setAttribute('onclick','del_pointage_item('+num_caddie+','+num_item+')');
292                                                }
293                                                break;
294                                }
295                                var div = document.createElement('div');
296                                div.setAttribute('id','cart_'+data.idcaddie+'_nb_items');
297                                div.innerHTML = data.aff_cart_nb_items;
298                                document.getElementById('cart_'+data.idcaddie+'_nb_items').parentNode.replaceChild(div,document.getElementById('cart_'+data.idcaddie+'_nb_items'));
299                        }
300                </script>";
301                print $begin_result_liste;
302                print empr_caddie::show_actions($idemprcaddie);
303                while(list($cle, $object) = each($liste)) {
304                        // affichage de la liste des emprunteurs
305                        $requete = "SELECT * FROM empr WHERE id_empr=$object[object_id] LIMIT 1";
306                        $fetch = pmb_mysql_query($requete);
307                        if(pmb_mysql_num_rows($fetch)) {
308                                $empr = pmb_mysql_fetch_object($fetch);
309                                // emprunteur
310                                $link = './circ.php?categ=pret&form_cb='.rawurlencode($empr->empr_cb);
311                                if (!$no_point) {
312                                        if ($object[flag]) $marque_flag ="<img src='images/depointer.png' id='caddie_".$idemprcaddie."_item_".$empr->id_empr."' title=\"".$msg['caddie_item_depointer']."\" onClick='del_pointage_item(".$idemprcaddie.",".$empr->id_empr.");' style='cursor: pointer'/>" ;
313                                        else $marque_flag ="<img src='images/pointer.png' id='caddie_".$idemprcaddie."_item_".$empr->id_empr."' title=\"".$msg['caddie_item_pointer']."\" onClick='add_pointage_item(".$idemprcaddie.",".$empr->id_empr.");' style='cursor: pointer'/>" ;
314                                } else {
315                                        if ($object[flag]) $marque_flag ="<img src='images/tick.gif'/>" ;
316                                        else $marque_flag ="" ;
317                                }
318                                if (!$no_del) $lien_suppr_cart = "<a href='$url_base&action=del_item&item=$empr->id_empr&page=$page_suppr&nbr_lignes=$nb_after_suppr&nb_per_page=$nb_per_page'><img src='./images/basket_empty_20x20.gif' alt='basket' title=\"".$msg[caddie_icone_suppr_elt]."\" /></a> $marque_flag";
319                                        else $lien_suppr_cart = $marque_flag ;
320                                $empr = new emprunteur($empr->id_empr, "", FALSE, 3);
321                                $empr->fiche_consultation = str_replace('!!image_suppr_caddie_empr!!'    , $lien_suppr_cart    , $empr->fiche_consultation);
322                                $empr->fiche_consultation = str_replace('!!lien_vers_empr!!'    , $link    , $empr->fiche_consultation);
323                                print $empr->fiche_consultation; 
324                        }
325                } // fin de liste
326       
327        }
328        print "<br />".$nav_bar ;
329        return;
330}
331
332//*********************************************************************************
333function aff_empr_choix_quoi($action="", $action_cancel="", $titre_form="", $bouton_valider="",$onclick="") {
334       
335        global $empr_cart_choix_quoi;
336        global $elt_flag,$elt_no_flag;
337       
338        $empr_cart_choix_quoi = str_replace('!!action!!', $action, $empr_cart_choix_quoi);
339        $empr_cart_choix_quoi = str_replace('!!action_cancel!!', $action_cancel, $empr_cart_choix_quoi);
340        $empr_cart_choix_quoi = str_replace('!!titre_form!!', $titre_form, $empr_cart_choix_quoi);
341        $empr_cart_choix_quoi = str_replace('!!bouton_valider!!', $bouton_valider, $empr_cart_choix_quoi);
342        if ($onclick!="") $empr_cart_choix_quoi = str_replace('!!onclick_valider!!','onClick="'.$onclick.'"',$empr_cart_choix_quoi); 
343                else $empr_cart_choix_quoi = str_replace('!!onclick_valider!!','',$empr_cart_choix_quoi);
344        if ($elt_flag) {
345                $empr_cart_choix_quoi = str_replace('!!elt_flag_checked!!', 'checked=\'checked\'', $empr_cart_choix_quoi);
346        } else {
347                $empr_cart_choix_quoi = str_replace('!!elt_flag_checked!!', '', $empr_cart_choix_quoi);
348        }
349        if ($elt_no_flag) {
350                $empr_cart_choix_quoi = str_replace('!!elt_no_flag_checked!!', 'checked=\'checked\'', $empr_cart_choix_quoi);
351        } else {
352                $empr_cart_choix_quoi = str_replace('!!elt_no_flag_checked!!', '', $empr_cart_choix_quoi);
353        }
354        return $empr_cart_choix_quoi;
355        }
356
357// ********************************************************************************
358function verif_droit_proc_empr_caddie($id) {
359        global $msg;
360        global $PMBuserid;
361        global $dbh;
362       
363        if ($id) {
364                $requete = "SELECT autorisations FROM empr_caddie_procs WHERE idproc='$id' ";
365                $result = @pmb_mysql_query($requete, $dbh);
366                if(pmb_mysql_num_rows($result)) {
367                        $temp = pmb_mysql_fetch_object($result);
368                        $rqt_autorisation=explode(" ",$temp->autorisations);
369                        if (array_search ($PMBuserid, $rqt_autorisation)!==FALSE || $PMBuserid == 1) return 1 ;
370                                else return 0 ;
371                        } else return 0;
372                } else return 0 ;
373        }
374
375// ********************************************************************************
376function verif_droit_empr_caddie($id) {
377        global $msg;
378        global $PMBuserid;
379        global $dbh ;
380       
381        if ($id) {
382                $requete = "SELECT autorisations FROM empr_caddie WHERE idemprcaddie='$id' ";
383                $result = @pmb_mysql_query($requete, $dbh);
384                if(pmb_mysql_num_rows($result)) {
385                        $temp = pmb_mysql_fetch_object($result);
386                        $rqt_autorisation=explode(" ",$temp->autorisations);
387                        if (array_search ($PMBuserid, $rqt_autorisation)!==FALSE || $PMBuserid == 1) return $id ;
388                                else return 0 ;
389                        } else return 0;
390                } else return 0 ;
391        }
Note: See TracBrowser for help on using the repository browser.