source: pmb4.2/trunk/fuentes/pmb/circ/groups/list_groups.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: 4.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: list_groups.inc.php,v 1.19 2015-06-27 08:26:47 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9// affichage de la liste des groupes pour sélection
10function list_group($clef, $filter_list, $group_list, $nav_bar, $nb_total) {
11        global $group_list_tmpl;
12        global $charset;
13        $group_list_tmpl = str_replace("!!filter_list!!", $filter_list, $group_list_tmpl);
14        $group_list_tmpl = str_replace("!!cle!!", $clef, $group_list_tmpl);
15        if ($nb_total>0) $group_list_tmpl = str_replace("<!--!!nb_total!!-->", "(".$nb_total.")", $group_list_tmpl);
16        $group_list_tmpl = str_replace("!!list!!", $group_list, $group_list_tmpl);
17        $group_list_tmpl = str_replace("!!nav_bar!!", $nav_bar, $group_list_tmpl);
18        print pmb_bidi($group_list_tmpl);
19}
20
21// nombre de références par pages
22if (!$nb_per_page) {
23        if ($nb_per_page_author != "")
24        $nb_per_page = $nb_per_page_author ;
25        else $nb_per_page = 10;
26}
27
28// traitement de la saisie utilisateur
29if ($group_query) $clause = " WHERE libelle_groupe like '%".str_replace("*", "%", $group_query)."%' ";
30        else $clause = '' ;
31       
32// formulaire de restriction
33$filter_list = "<form class='form-$current_module' id='form-$current_module-list' name='form-$current_module-list' action='$PHP_SELF?categ=$categ&action=$action&group_query=$group_query' method='post'>
34        <div class='left'>
35                $msg[circ_afficher]
36                <input type=text name=nb_per_page size=2 value=$nb_per_page class='petit' /> $msg[1905]&nbsp;
37        </div>
38        <input type='button' class='bouton' value='".$msg['actualiser']."' onClick=\"this.form.submit();\">
39        </form>";
40                       
41// on récupére le nombre de lignes
42if(!$nbr_lignes) {
43        $requete = "SELECT COUNT(1) FROM groupe $clause ";
44        $res = pmb_mysql_query($requete, $dbh);
45        $nbr_lignes = @pmb_mysql_result($res, 0, 0);
46}
47
48
49if(!$page) $page=1;
50$debut =($page-1)*$nb_per_page;
51
52if($nbr_lignes) {
53        // on lance la vraie requête
54       
55        $requete = "SELECT id_groupe, libelle_groupe, resp_groupe, concat(IFNULL(empr_prenom,'') ,' ',IFNULL(empr_nom,'')) as resp_name, count( empr_id ) as nb_empr FROM groupe LEFT  JOIN empr_groupe ON groupe_id = id_groupe left join empr on resp_groupe = id_empr
56        $clause group by id_groupe, libelle_groupe, resp_groupe, resp_name ORDER BY libelle_groupe LIMIT $debut,$nb_per_page ";
57        $res = pmb_mysql_query($requete, $dbh);
58        if ((pmb_mysql_num_rows($res) > 1)||($page>1)) {
59                $parity=1;
60                $group_list .= "<tr><th>".$msg[904]."</th><th>".$msg[913]."</th><th>".$msg['circ_group_emprunteur']."</th><th>".$msg['349']."</th><th>".$msg['reserv_en_cours']."</th>";
61                while($rgroup=pmb_mysql_fetch_object($res)) {
62                        if ($parity % 2) {
63                                $pair_impair = "even";
64                        } else {
65                                $pair_impair = "odd";
66                        }
67                        $parity += 1;
68                        $nb_pret=0;
69                        $requete = "SELECT count( pret_idempr ) as nb_pret FROM empr_groupe,pret where groupe_id=$rgroup->id_groupe and empr_id = pret_idempr";
70                        $res_pret = pmb_mysql_query($requete, $dbh);
71                        if (pmb_mysql_num_rows($res_pret)) {
72                                $rpret=pmb_mysql_fetch_object($res_pret);
73                                $nb_pret=$rpret->nb_pret;       
74                        }
75                        $nb_resa=0;
76                        $requete = "SELECT count( resa_idempr ) as nb_resa FROM empr_groupe,resa where groupe_id=$rgroup->id_groupe and empr_id = resa_idempr";
77                        $res_resa = pmb_mysql_query($requete, $dbh);
78                        if (pmb_mysql_num_rows($res_resa)) {
79                                $rresa=pmb_mysql_fetch_object($res_resa);
80                                $nb_resa=$rresa->nb_resa;       
81                        }
82                        $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"document.location='./circ.php?categ=groups&action=showgroup&groupID=$rgroup->id_groupe';\" ";
83                        $group_list .= "<tr class='$pair_impair' $tr_javascript style='cursor: pointer'>
84                                        <td>$rgroup->libelle_groupe</td>
85                                        <td>$rgroup->resp_name</td>
86                                        <td>$rgroup->nb_empr</td>
87                                        <td>$nb_pret</td>
88                                        <td>$nb_resa</td>
89                                        </tr>";
90        }
91                pmb_mysql_free_result($res);
92
93                $nav_bar = aff_pagination ("$PHP_SELF?categ=groups&action=listgroups", $nbr_lignes, $nb_per_page, $page, 10, false, true) ;
94                // affichage du résultat
95                list_group($group_query, $filter_list, $group_list, $nav_bar, $nbr_lignes);
96        } else {
97                $rgroup = $rgroup=pmb_mysql_fetch_object($res);
98                $groupID = $rgroup->id_groupe;
99                include('./circ/groups/show_group.inc.php');
100        }
101} else {
102        // la requête n'a produit aucun résultat
103        print pmb_bidi($group_search);
104        error_message($msg[917], str_replace('!!group_cle!!', htmlentities(stripslashes($group_query),ENT_QUOTES, $charset), $msg[918]), 0, './circ.php?categ=groups');
105}
Note: See TracBrowser for help on using the repository browser.