source: pmb4.2/trunk/fuentes/pmb/admin/docs/location.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: 13.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: location.inc.php,v 1.32 2015-04-03 11:16:22 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9// gestion des codes localisation exemplaires
10?>
11<script type="text/javascript">
12function test_form(form) {
13        if(form.form_libelle.value.length == 0) {
14                alert("<?php echo $msg[98]; ?>");
15                return false;
16        }
17        return true;
18}
19
20</script>
21<?php
22
23require_once("$class_path/sur_location.class.php");
24
25function show_location($dbh) {
26        global $msg,$pmb_location_reservation,$current_module;
27       
28        if($pmb_location_reservation) print "<h1>".$msg["admin_location_list_title"]."</h1>";
29       
30        print "<script type='text/javascript' src='./javascript/sorttable.js'></script>
31                <table class='sortable'>
32                <tr>
33                        <th>".$msg[103]."</th>
34                        <th>".$msg['opac_object_visible_short']."</th>
35                        <th>".$msg['proprio_codage_proprio']."</th>
36                        <th>".$msg['import_codage']."</th>
37                </tr>";
38
39        $requete = "SELECT idlocation,location_libelle, locdoc_owner, locdoc_codage_import, lender_libelle, location_visible_opac, css_style FROM docs_location left join lenders on locdoc_owner=idlender ORDER BY location_libelle";
40        $res = pmb_mysql_query($requete, $dbh);
41
42        $nbr = pmb_mysql_num_rows($res);
43
44        $parity=1;
45        for($i=0;$i<$nbr;$i++) {
46                $row=pmb_mysql_fetch_object($res);
47                $memo_location[]=$row;
48                if ($parity % 2) {
49                        $pair_impair = "even";
50                } else {
51                        $pair_impair = "odd";
52                }
53                $parity += 1;
54                $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"document.location='./admin.php?categ=docs&sub=location&action=modif&id=$row->idlocation';\" ";
55                if ($row->locdoc_owner) print pmb_bidi("<tr class='$pair_impair' $tr_javascript style='cursor: pointer'><td><i>$row->location_libelle</i></td>");     
56                        else print pmb_bidi("<tr class='$pair_impair' $tr_javascript style='cursor: pointer'><td><strong>$row->location_libelle</strong></td>");
57                if ($row->location_visible_opac) $visible="X" ; 
58                else $visible="&nbsp;" ;
59                print "<td>$visible</td>" ;
60                print pmb_bidi("<td>$row->lender_libelle</td>") ;
61        print pmb_bidi("<td>$row->locdoc_codage_import</td></tr>");
62        }
63        print "</table>
64                <input class='bouton' type='button' value=' $msg[106] ' onClick=\"document.location='./admin.php?categ=docs&sub=location&action=add'\" />";
65
66        if($pmb_location_reservation) {
67                $form_res_location= 
68                "<h1>".$msg["admin_location_resa_title"]."</h1>
69                <form class='form-$current_module' id='userform' name='userform' method='post' action='./admin.php?categ=docs&sub=location&action=resa_loc'>
70                ";     
71                $form_res_location.=
72                "<table>
73                        <tr>
74                                <th>".$msg["admin_location_resa_empr_loc"]."</th>";
75                $requete="select * from resa_loc";
76                $res = pmb_mysql_query($requete, $dbh); 
77                if(pmb_mysql_num_rows($res)) {
78                        while(($row=pmb_mysql_fetch_object($res))) {
79                                $resa_liste[$row->resa_loc][$row->resa_emprloc]=1;                             
80                        }
81                }
82                $ligne="";             
83                foreach($memo_location as $row) {
84                        $form_res_location.="<th>".$row->location_libelle."</th>";             
85                        if ($parity++ % 2) {
86                                $pair_impair = "even";
87                        } else {
88                                $pair_impair = "odd";
89                        }
90                        $ligne.="</tr><tr class='$pair_impair'><td>".$row->location_libelle."</td>";           
91                        foreach($memo_location as $row1) {
92                                if(isset($resa_liste[$row->idlocation][$row1->idlocation])) $check=" checked='checked' ";
93                                else $check="";
94                                $ligne.="<td><input value='1' name='matrice_loc[".$row->idlocation."][".$row1->idlocation."]' type='checkbox' $check ></td>";           
95                        }       
96                }               
97                $form_res_location.=$ligne."
98                        </tr>           
99                        </table>
100                        <input class='bouton' type='submit' value=' ".$msg["admin_location_resa_memo"]." ' />
101                        <input type='hidden' name='form_actif' value='1'>
102                        </form>";               
103                print $form_res_location;
104        }       
105}
106
107function location_form($libelle="", $locdoc_codage_import="", $locdoc_owner=0, $id=0, $location_pic="", $location_visible_opac=1, $name = "", $adr1 = "", $adr2 = "", $cp = "", $town = "", $state = "", $country = "", $phone = "", $email = "", $website = "", $logo = "", $commentaire="", $num_infopage=0, $css_style="",$surloc_used=0 ) {
108        global $msg;
109        global $admin_location_form;
110        global $charset, $sur_loc_selector;
111       
112        $admin_location_form = str_replace('!!id!!', $id, $admin_location_form);
113
114        if(!$id) $admin_location_form = str_replace('!!form_title!!', $msg[106], $admin_location_form);
115        else $admin_location_form = str_replace('!!form_title!!', $msg[107], $admin_location_form);
116
117        $admin_location_form = str_replace('!!libelle!!', htmlentities($libelle,ENT_QUOTES, $charset), $admin_location_form);
118        $admin_location_form = str_replace('!!libelle_suppr!!', htmlentities(addslashes($libelle),ENT_QUOTES, $charset), $admin_location_form);
119
120        $admin_location_form = str_replace('!!location_pic!!', htmlentities($location_pic,ENT_QUOTES, $charset), $admin_location_form);
121
122        if($location_visible_opac) $checkbox="checked"; else $checkbox="";
123        $admin_location_form = str_replace('!!checkbox!!', $checkbox, $admin_location_form);
124
125        $admin_location_form = str_replace('!!locdoc_codage_import!!', $locdoc_codage_import, $admin_location_form);
126        $combo_lender= gen_liste ("select idlender, lender_libelle from lenders order by lender_libelle ", "idlender", "lender_libelle", "form_locdoc_owner", "", $locdoc_owner, 0, $msg[556],0,$msg["proprio_generique_biblio"]) ;
127        $admin_location_form = str_replace('!!lender!!', $combo_lender, $admin_location_form); 
128       
129        $admin_location_form = str_replace('!!sur_loc_selector!!', $sur_loc_selector, $admin_location_form);
130        if($surloc_used) $checkbox="checked"; else $checkbox="";
131        $admin_location_form = str_replace('!!checkbox_use_surloc!!', $checkbox, $admin_location_form);
132       
133        $admin_location_form = str_replace('!!loc_name!!',      htmlentities($name,ENT_QUOTES, $charset)     , $admin_location_form);
134        $admin_location_form = str_replace('!!loc_adr1!!',      htmlentities($adr1,ENT_QUOTES, $charset)     , $admin_location_form);
135        $admin_location_form = str_replace('!!loc_adr2!!',      htmlentities($adr2,ENT_QUOTES, $charset)     , $admin_location_form);
136        $admin_location_form = str_replace('!!loc_cp!!',        $cp       , $admin_location_form);
137        $admin_location_form = str_replace('!!loc_town!!',      htmlentities($town,ENT_QUOTES, $charset)     , $admin_location_form);
138        $admin_location_form = str_replace('!!loc_state!!',     htmlentities($state,ENT_QUOTES, $charset)    , $admin_location_form);
139        $admin_location_form = str_replace('!!loc_country!!',   htmlentities($country,ENT_QUOTES, $charset)  , $admin_location_form);
140        $admin_location_form = str_replace('!!loc_phone!!',     $phone    , $admin_location_form);
141        $admin_location_form = str_replace('!!loc_email!!',     $email    , $admin_location_form);
142        $admin_location_form = str_replace('!!loc_website!!',   $website  , $admin_location_form);
143        $admin_location_form = str_replace('!!loc_logo!!',      $logo     , $admin_location_form);
144        $admin_location_form = str_replace('!!loc_commentaire!!', htmlentities($commentaire,ENT_QUOTES, $charset), $admin_location_form);
145
146        $requete = "SELECT id_infopage, title_infopage FROM infopages where valid_infopage=1 ORDER BY title_infopage ";
147        $infopages = gen_liste ($requete, "id_infopage", "title_infopage", "form_num_infopage", "", $num_infopage, 0, $msg["location_no_infopage"], 0,$msg["location_no_infopage"], 0) ;
148        $admin_location_form = str_replace('!!loc_infopage!!', $infopages, $admin_location_form);
149       
150        $admin_location_form = str_replace('!!css_style!!', $css_style, $admin_location_form);
151       
152        print confirmation_delete("./admin.php?categ=docs&sub=location&action=del&id=");
153        print $admin_location_form;
154}
155
156if($pmb_sur_location_activate){ 
157        $sur_loc= sur_location::get_info_surloc_from_location($id);
158        $sur_loc_selector=($sur_loc->get_list("form_sur_localisation",$sur_loc->id,1));
159}
160
161switch($action) {
162        case 'update':
163                // vérification validité des données fournies.
164                if($form_actif) {
165                        $requete = " SELECT count(1) FROM docs_location WHERE (location_libelle='$form_libelle' AND idlocation!='$id' )  LIMIT 1 ";
166                        $res = pmb_mysql_query($requete, $dbh);
167                        $nbr = pmb_mysql_result($res, 0, 0);
168                        if ($nbr > 0) {
169                                error_form_message($form_libelle.$msg["docs_label_already_used"]);
170                        } else {
171                                if(!$form_sur_localisation)$form_location_use_surloc=0;
172                                // O.K.,  now if item already exists UPDATE else INSERT
173                                $set_values = "SET location_libelle='$form_libelle', locdoc_codage_import='$form_locdoc_codage_import', locdoc_owner='$form_locdoc_owner', location_pic='$form_location_pic', location_visible_opac='$form_location_visible_opac', name= '$form_locdoc_name', adr1= '$form_locdoc_adr1', adr2= '$form_locdoc_adr2', cp= '$form_locdoc_cp', town= '$form_locdoc_town', state= '$form_locdoc_state', country= '$form_locdoc_country', phone= '$form_locdoc_phone', email= '$form_locdoc_email', website= '$form_locdoc_website', logo= '$form_locdoc_logo', commentaire='$form_locdoc_commentaire', num_infopage='$form_num_infopage', css_style='$form_css_style', surloc_num='$form_sur_localisation', surloc_used='$form_location_use_surloc' " ;
174                                if($id) {
175                                        $requete = "UPDATE docs_location $set_values WHERE idlocation='$id' ";
176                                        $res = pmb_mysql_query($requete, $dbh);
177                                } else {
178                                        $requete = "INSERT INTO docs_location $set_values ";
179                                        $res = pmb_mysql_query($requete, $dbh);
180                                }
181                        }
182                }       
183                show_location($dbh);
184                break;
185        case 'add':
186                if(empty($form_libelle) && empty($form_pret)) location_form();
187                        else show_location($dbh);
188                break;
189        case 'resa_loc':
190                if($form_actif) {
191                        $requete = "truncate table resa_loc";
192                        pmb_mysql_query($requete, $dbh);
193                        if(is_array($matrice_loc))foreach($matrice_loc as $loc_bibli=>$val) {
194                                foreach($val as $loc_empr=>$val1) {
195                                        $requete = "INSERT INTO resa_loc SET resa_loc='$loc_bibli', resa_emprloc='$loc_empr'";
196                                        pmb_mysql_query($requete, $dbh);
197                                }
198                        }
199                }       
200                show_location($dbh);
201                break;         
202        case 'modif':
203                if($id){
204                        $requete = "SELECT location_libelle, locdoc_codage_import, locdoc_owner, location_pic, location_visible_opac, location_visible_opac, name, adr1, adr2, cp, town, state, country, phone, email, website, logo, commentaire, num_infopage, css_style, surloc_used FROM docs_location WHERE idlocation='$id' ";
205                        $res = pmb_mysql_query($requete, $dbh) or die(pmb_mysql_error()."<br />$requete");
206                        if(pmb_mysql_num_rows($res)) {
207                                $row=pmb_mysql_fetch_object($res);
208                                location_form($row->location_libelle, $row->locdoc_codage_import, $row->locdoc_owner, $id, $row->location_pic, $row->location_visible_opac, $row->name, $row->adr1, $row->adr2, $row->cp, $row->town, $row->state, $row->country, $row->phone, $row->email, $row->website, $row->logo, $row->commentaire, $row->num_infopage, $row->css_style,$row->surloc_used);
209                        } else {
210                                show_location($dbh);
211                        }
212                } else {
213                        show_location($dbh);
214                }
215                break;
216        case 'del':
217                if($id) {
218                        $total1 = pmb_mysql_result(pmb_mysql_query("select count(1) from exemplaires where expl_location='".$id."' ", $dbh), 0, 0);
219                        $total2 = pmb_mysql_result(pmb_mysql_query("select count(1) from users where deflt2docs_location='".$id."' or deflt_docs_location='".$id."'", $dbh), 0, 0);
220                        $total3 = pmb_mysql_result(pmb_mysql_query("select count(1) from empr where empr_location='".$id."' ", $dbh), 0, 0);
221                        $total4 = pmb_mysql_result(pmb_mysql_query("select count(1) from abts_abts where location_id ='".$id."' ", $dbh), 0, 0);
222                        $total5 = pmb_mysql_result(pmb_mysql_query("select count(1) from collections_state where location_id ='".$id."' ", $dbh), 0, 0);
223                        if (($total1+$total2+$total3+$total4+$total5)==0) {
224                                $requete = "DELETE FROM docs_location WHERE idlocation=$id ";
225                                $res = pmb_mysql_query($requete, $dbh);
226                                show_location($dbh);
227                        } else {
228                                $msg_suppr_err = $admin_liste_jscript;
229                                $msg_suppr_err .= $msg["location_used"] ;
230                                if ($total1) $msg_suppr_err .= "<br />- ".$msg["location_used_docs"]." <a href='#' onclick=\"showListItems(this);return(false);\" what='location_docs' item='".$id."' total='".$total1."' alt=\"".$msg["admin_docs_list"]."\" title=\"".$msg["admin_docs_list"]."\"><img src='./images/req_get.gif'></a>" ;
231                                if ($total2) $msg_suppr_err .= "<br />- ".$msg["location_used_users"]." <a href='#' onclick=\"showListItems(this);return(false);\" what='location_users' item='".$id."' total='".$total2."' alt=\"".$msg["admin_users_list"]."\" title=\"".$msg["admin_users_list"]."\"><img src='./images/req_get.gif'></a>" ;
232                                if ($total3) $msg_suppr_err .= "<br />- ".$msg["location_used_empr"]." <a href='#' onclick=\"showListItems(this);return(false);\" what='location_empr' item='".$id."' total='".$total3."' alt=\"".$msg["admin_empr_list"]."\" title=\"".$msg["admin_empr_list"]."\"><img src='./images/req_get.gif'></a>" ;
233                                if ($total4) $msg_suppr_err .= "<br />- ".$msg["location_used_abts"]." <a href='#' onclick=\"showListItems(this);return(false);\" what='location_abts' item='".$id."' total='".$total4."' alt=\"".$msg["admin_abts_list"]."\" title=\"".$msg["admin_abts_list"]."\"><img src='./images/req_get.gif'></a>" ;
234                                if ($total5) $msg_suppr_err .= "<br />- ".$msg["location_used_collections_state"]." <a href='#' onclick=\"showListItems(this);return(false);\" what='location_collections_state' item='".$id."' total='".$total5."' alt=\"".$msg["admin_collections_state_list"]."\" title=\"".$msg["admin_collections_state_list"]."\"><img src='./images/req_get.gif'></a>" ;
235                                error_message(  $msg[294], $msg_suppr_err, 1, 'admin.php?categ=docs&sub=location&action=');
236                        }
237                } else show_location($dbh);
238                break;
239        default:
240                show_location($dbh);
241                break;
242        }
Note: See TracBrowser for help on using the repository browser.