source: pmb4.2/trunk/fuentes/pmb/circ/caddie/action/selection.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: 6.6 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: selection.inc.php,v 1.7.4.1 2015-11-04 10:09:06 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9if($idemprcaddie) {
10        $myCart = new empr_caddie($idemprcaddie);
11        print aff_empr_cart_titre ($myCart);
12        $droit = verif_droit_proc_empr_caddie($id) ;
13        if ((($action=="form_proc")||($action=="add_item"))&&((!$elt_flag)&&(!$elt_no_flag))) {
14                error_message_history($msg["caddie_no_elements"], $msg["caddie_no_elements_for_cart"], 1);
15                exit();
16        }
17        switch ($action) {
18                case 'form_proc' :
19                        $hp = new parameters ($id,"empr_caddie_procs") ;
20                        $hp->gen_form("./circ.php?categ=caddie&sub=action&quelle=selection&action=add_item&idemprcaddie=$idemprcaddie&id=$id&elt_flag=$elt_flag&elt_no_flag=$elt_no_flag") ;
21                        break;
22                case 'add_item':
23                        //C'est ici qu'on fait une action
24                        if ($droit) {
25                                $hp = new parameters ($id,"empr_caddie_procs") ;
26                                $hp->get_final_query();
27                                echo "<hr />".$hp->final_query."<hr />";
28                                //Sélection des éléments du panier
29                                $nb_elements_flag=0;
30                                $nb_elements_no_flag=0;
31                               
32                                if ($elt_flag) {
33                                        $liste_flag=$myCart->get_cart("FLAG");
34                                        if (count($liste_flag)) {
35                                                if (pmb_strtolower(pmb_substr($hp->final_query,0,6))=='insert') {
36                                                        // procédure insert
37                                                        for ($icount=0; $icount<count($liste_flag);$icount++) {
38                                                                $final_query=str_replace("CADDIE(EMPR)",$liste_flag[$icount],$hp->final_query);
39                                                                $result_selection_flag= @pmb_mysql_query($final_query, $dbh);
40                                                                $nb_elts_traites = pmb_mysql_affected_rows($dbh) ;
41                                                                if ($nb_elts_traites>0) $nb_elements_flag+=$nb_elts_traites;
42                                                        } // fin for
43                                                } else {
44                                                        // autre procédure
45                                                        $final_query=preg_replace("/CADDIE\(.*[^\)]\)/i",implode(",",$liste_flag),$hp->final_query);
46                                                        $result_selection_flag= pmb_mysql_query($final_query, $dbh);
47                                                        if ($result_selection_flag) {
48                                                                $nb_elts_traites = pmb_mysql_affected_rows($dbh) ;
49                                                                if ($nb_elts_traites>0) $nb_elements_flag+=$nb_elts_traites;
50                                                        } else $error_message_flag=pmb_mysql_error();
51                                                } // fin if autre procédure
52                                        }
53                                }
54                                if ($elt_no_flag) {
55                                        $liste_no_flag=$myCart->get_cart("NOFLAG");
56                                        if (count($liste_no_flag)) {
57                                                if (pmb_strtolower(pmb_substr($hp->final_query,0,6))=='insert') {
58                                                        // procédure insert
59                                                        for ($icount=0; $icount<count($liste_no_flag);$icount++) {
60                                                                $final_query=str_replace("CADDIE(EMPR)",$liste_no_flag[$icount],$hp->final_query);
61                                                                $result_selection_no_flag= @pmb_mysql_query($final_query, $dbh);
62                                                                $nb_elts_traites = pmb_mysql_affected_rows($dbh) ;
63                                                                if ($nb_elts_traites>0) $nb_elements_no_flag+=$nb_elts_traites;
64                                                                } // fin for
65                                                        } else {
66                                                                // autre procédure
67                                                                $final_query=preg_replace("/CADDIE\(.*[^\)]\)/i",implode(",",$liste_no_flag),$hp->final_query);
68                                                                $result_selection_no_flag= pmb_mysql_query($final_query, $dbh);
69                                                                if ($result_selection_no_flag) {
70                                                                        $nb_elts_traites = pmb_mysql_affected_rows($dbh) ;
71                                                                        if ($nb_elts_traites>0) $nb_elements_no_flag+=$nb_elts_traites;
72                                                                        } else $error_message_no_flag=pmb_mysql_error();
73                                                                } // fin if autre procédure
74                                                }
75                                }
76                                $error_message="";
77                                print sprintf($msg["caddie_action_flag_processed"],$nb_elements_flag)."<br />";
78                                print sprintf($msg["caddie_action_no_flag_processed"],$nb_elements_no_flag)."<br />";
79                                print "<b>".sprintf($msg["caddie_action_total_processed"],($nb_elements_no_flag+$nb_elements_flag))."</b><br /><br />";
80                                if ($error_message_flag) {
81                                        $error_message.=sprintf($msg["caddie_action_error"],$error_message_flag)."<br />";
82                                }
83                                if ($error_message_no_flag) {
84                                        $error_message.=sprintf($msg["caddie_action_error"],$error_message_no_flag);
85                                }
86                                if ($error_message) {
87                                        error_message_history($msg["caddie_action_invalid_query"],$error_message,1);
88                                        exit();
89                                }
90            }
91                        print aff_empr_cart_nb_items ($myCart) ;
92                        echo "<hr /><input type='button' class='bouton' value='".$msg["caddie_menu_action_suppr_panier"]."' onclick='document.location=&quot;./circ.php?categ=caddie&amp;sub=action&amp;quelle=supprpanier&amp;action=choix_quoi&amp;idemprcaddie=".$idemprcaddie."&amp;item=&amp;elt_flag=".$elt_flag."&amp;elt_no_flag=".$elt_no_flag."&quot;' />";
93                        break;
94                default:
95                        print aff_empr_cart_nb_items ($myCart) ;
96                        print $empr_cart_choix_quoi_action;
97                        show_empr_procs($idemprcaddie);
98                        break;
99                }
100        } else aff_paniers_empr($idemprcaddie, "./circ.php?categ=caddie&sub=action&quelle=selection", "", $msg["caddie_select_for_action"], "", 0, 0, 0);
101
102function show_empr_procs($idemprcaddie) {
103        global $msg;
104        global $PMBuserid;
105        global $dbh;
106       
107        print "<hr />$msg[caddie_select_proc]<br /><table>";
108        // affichage du tableau des procédures
109        if ($PMBuserid!=1) $where=" and (autorisations='$PMBuserid' or autorisations like '$PMBuserid %' or autorisations like '% $PMBuserid %' or autorisations like '% $PMBuserid') ";
110        $requete = "SELECT idproc, type, name, requete, comment, autorisations, parameters FROM empr_caddie_procs WHERE type='ACTION' $where ORDER BY name ";
111        $res = pmb_mysql_query($requete, $dbh);
112
113        $nbr = pmb_mysql_num_rows($res);
114
115        $parity=1;
116        $n_proc=0;
117        for($i=0;$i<$nbr;$i++) {
118                $row=pmb_mysql_fetch_row($res);
119                $rqt_autorisation=explode(" ",$row[5]);
120                if ((array_search ($PMBuserid, $rqt_autorisation)!==FALSE || $PMBuserid == 1)) {
121                        $n_proc++;
122                        if ($parity % 2) {
123                                $pair_impair = "even";
124                                } else {
125                                        $pair_impair = "odd";
126                                        }
127                        $parity += 1;
128                        if (preg_match_all("|!!(.*)!!|U",$row[3],$query_parameters))  $action = "form_proc" ;
129                                else $action = "add_item" ;
130                                $confirm_msg = str_replace("\"","&quot;",sprintf($msg["caddie_action_proc_confirm"],$row[2]));
131                        $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"if (confirm('".addslashes($confirm_msg)."')) { url='./circ.php?categ=caddie&sub=action&quelle=selection&action=$action&id=$row[0]&idemprcaddie=$idemprcaddie'; if (document.maj_proc.elt_flag.checked) url+='&elt_flag='+document.maj_proc.elt_flag.value; if (document.maj_proc.elt_no_flag.checked) url+='&elt_no_flag='+document.maj_proc.elt_no_flag.value; document.location=url; }\" ";
132                        print pmb_bidi("<tr class='$pair_impair' $tr_javascript style='cursor: pointer'>
133                                        <td>
134                                                <strong>$row[2]</strong><br />
135                                                <small>$row[4]&nbsp;</small>
136                                                </td>
137                                </tr>");
138                        }
139                }
140        print "</table>";
141        if ($n_proc==0) print $msg["caddie_no_action_proc"];
142        }
143
Note: See TracBrowser for help on using the repository browser.