source: pmb4.2/trunk/fuentes/pmb/classes/nomenclature_instrument_admin.class.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: 8.6 KB
Line 
1<?php
2// +-------------------------------------------------+
3// | 2002-2007 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: nomenclature_instrument_admin.class.php,v 1.10 2015-04-03 11:16:20 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9require_once($include_path."/templates/nomenclature_instrument_admin.tpl.php");
10
11class nomenclature_instrument_admin {
12        protected $id=0;
13        var $info=array();
14       
15       
16        public function __construct($id=0) {
17                $this->id=$id+0;
18                $this->fetch_data();
19        }
20       
21        protected function fetch_data() {
22                global $dbh;
23               
24                $this->info=array();
25                if(!$this->id) return;
26               
27                $req="select * from nomenclature_instruments where id_instrument=". $this->id; 
28                $resultat=pmb_mysql_query($req,$dbh);   
29                if (pmb_mysql_num_rows($resultat)) {
30                        $r=pmb_mysql_fetch_object($resultat);           
31                        $this->info['id']= $r->id_instrument;           
32                        $this->info['code']= $r->instrument_code;
33                        $this->info['name']= $r->instrument_name;
34                        $this->info['standard']= $r->instrument_standard;
35                        $this->info['musicstand_num']= $r->instrument_musicstand_num;
36                        $this->info['musicstand']=array();
37                       
38                        $req="select * from nomenclature_families,nomenclature_musicstands where musicstand_famille_num=id_family and id_musicstand=".$this->info['musicstand_num'];
39                        $res_musicstands=pmb_mysql_query($req,$dbh);
40                        if (pmb_mysql_num_rows($res_musicstands)) {
41                                if($r_musicstand=pmb_mysql_fetch_object($res_musicstands)){
42                                        $this->info['musicstand']['id']=$r_musicstand->id_musicstand;
43                                        $this->info['musicstand']['name']=$r_musicstand->musicstand_name;
44                                        $this->info['musicstand']['division']=$r_musicstand->musicstand_division;       
45                                        $this->info['musicstand']['display']="<a href='./admin.php?categ=family&sub=family&action=musicstand_form&id=".$r_musicstand->id_family."&id_musicstand=".$r_musicstand->id_musicstand."'>".$r_musicstand->musicstand_name."</a>";
46                                                                                                       
47                                        $req="select * from nomenclature_families where id_family=". $r_musicstand->id_family;
48                                        $res_family=pmb_mysql_query($req,$dbh);
49                                        if (pmb_mysql_num_rows($res_family)) {
50                                                $r_family=pmb_mysql_fetch_object($res_family);
51                                                $this->info['musicstand']['family']['id']= $r_family->id_family;
52                                                $this->info['musicstand']['family']['name']= $r_family->family_name;
53                                                $this->info['musicstand']['family']['display']= "<a href='./admin.php?categ=family&sub=family&action=form&id=".$r_musicstand->id_family."'>".$r_family->family_name."</a>";     
54                                        }                                       
55                                }
56                        }
57                }
58        }
59 
60        public function get_form() {
61                global $nomenclature_instrument_form_tpl,$msg,$charset;         
62                global $msg;
63               
64                $tpl=$nomenclature_instrument_form_tpl;
65                if($this->id){
66                        $tpl=str_replace('!!msg_title!!',$msg['admin_nomenclature_instrument_form_edit'],$tpl);
67                        $tpl=str_replace('!!delete!!',"<input type='button' class='bouton' value='".$msg['admin_nomenclature_instrument_form_del']."'  onclick=\"document.getElementById('action').value='delete';this.form.submit();\"  />", $tpl);
68                        $name=$this->info['name'];
69                        $code=$this->info['code'];     
70                        if($this->info['standard'])$checked="checked"; else $checked="";
71                }else{ 
72                        $tpl=str_replace('!!msg_title!!',$msg['admin_nomenclature_instrument_form_add'],$tpl);
73                        $tpl_objet="";
74                        $tpl=str_replace('!!delete!!',"",$tpl);
75                        $name="";
76                        $code="";
77                        $checked="";
78                }
79                $tpl=str_replace('!!name!!',htmlentities($name, ENT_QUOTES, $charset),$tpl);
80                $tpl=str_replace('!!code!!',htmlentities($code, ENT_QUOTES, $charset),$tpl);           
81                $tpl=str_replace('!!checked!!',$checked, $tpl);
82
83                $req="select id_musicstand, concat(musicstand_name,' ( ',family_name,' )')as label from nomenclature_musicstands,nomenclature_families where musicstand_famille_num=id_family order by musicstand_name";
84                $musicstand=gen_liste($req, "id_musicstand", "label", "id_musicstand", "", $this->info['musicstand']['id'], 
85                                0,$msg["admin_nomenclature_instrument_form_musicstand_no"], 0, $msg["admin_nomenclature_instrument_form_musicstand_no_sel"]);           
86                $tpl=str_replace('!!musicstand!!',$musicstand,$tpl);
87                $tpl=str_replace('!!id!!',$this->id,$tpl);
88                 
89                return $tpl;
90        }
91       
92        public function save_form() {
93               
94        }
95       
96        public function save() {
97                global $dbh;
98                global $msg;
99                global $name;
100                global $code;
101                global $id_musicstand;
102                global $standard;
103                global $force;
104               
105                if($id_musicstand && $standard){
106                        if($this->id) $restrict=" and id_instrument!=".$this->id;
107                        $req="select * from nomenclature_instruments where instrument_musicstand_num=$id_musicstand and instrument_standard=1 $restrict ";
108                        $res_instruments=pmb_mysql_query($req,$dbh);
109                        $count_instrument=0;
110                        if (pmb_mysql_num_rows($res_instruments)) {
111                                if($r_instrument=pmb_mysql_fetch_object($res_instruments)){             
112                                        if($force){
113                                                $req="UPDATE nomenclature_instruments SET instrument_standard=0 where id_instrument=".$r_instrument->id_instrument;
114                                                pmb_mysql_query($req, $dbh);
115                                        }else return "
116                                        <br />
117                                        <div class='erreur'>$msg[540]</div>
118                                        <div class='row'>
119                                                <div class='colonne10'>
120                                                        <img src='./images/error.gif' align='left'>
121                                                </div>
122                                                <div class='colonne80'>
123                                                        <strong>".$msg["admin_nomenclature_instrument_form_musicstand_standard_error"].$r_instrument->instrument_code." ( ".$r_instrument->instrument_name ." )</strong>
124                                                </div>
125                                        </div>                                 
126                                        <div class='row'>
127                                                <form class='form-$current_module' name='dummy' method=\"post\" action='./admin.php?categ=instrument&sub=instrument&action=save&force=1'>                               
128                                                        <input type='hidden' name='code' value='$code'/>
129                                                        <input type='hidden' name='name' value='$name'/>
130                                                        <input type='hidden' name='standard' value='$standard'/>
131                                                        <input type='hidden' name='id_musicstand' value='$id_musicstand'/>     
132                                                        <input type='hidden' name='id' value='".$this->id."'/>         
133                                                        <input type='submit' name='ok' class='bouton' value='". $msg["admin_nomenclature_instrument_form_musicstand_standard_force"] ."' >
134                                                        <input type='button' name='retour' class='bouton' value=' $msg[76] ' onClick=\"history.go(-1); return false;\"'>
135                                                </form>                                                         
136                                                <script type='text/javascript'>
137                                                        document.forms['dummy'].elements['ok'].focus();
138                                                </script>
139                                        </div>
140                                        ";     
141                                }
142                        }
143                }
144                $fields="
145                        instrument_code='".$code."',
146                        instrument_name='".$name."',
147                        instrument_musicstand_num='".$id_musicstand."',
148                        instrument_standard='".$standard."'
149                ";             
150                if(!$this->id){ // Ajout
151                        $req="INSERT INTO nomenclature_instruments SET $fields ";       
152                        pmb_mysql_query($req, $dbh);
153                        $this->id = pmb_mysql_insert_id($dbh);
154                } else {
155                        $req="UPDATE nomenclature_instruments SET $fields where id_instrument=".$this->id;     
156                        pmb_mysql_query($req, $dbh);                           
157                }       
158                $this->fetch_data();
159        }       
160       
161        public function delete() {
162                global $dbh;
163                $req="DELETE from nomenclature_instruments WHERE id_instrument=".$this->id;
164                pmb_mysql_query($req, $dbh);   
165                $this->id=0;           
166                $this->fetch_data();   
167        }       
168
169} //nomenclature_instrument_admin class end
170
171
172
173class nomenclature_instrument_admins { 
174        public $info=array();
175       
176        public function __construct() {
177                $this->fetch_data();
178        }
179       
180        function fetch_data() {
181                global $dbh;
182                $this->info=array();
183                $i=0;
184                $req="select * from nomenclature_instruments order by instrument_code";
185                $resultat=pmb_mysql_query($req,$dbh);   
186                if (pmb_mysql_num_rows($resultat)) {
187                        while($r=pmb_mysql_fetch_object($resultat)){   
188                                $this->info[$i]= $instrument=new nomenclature_instrument_admin($r->id_instrument);                                     
189                                $i++;
190                        }
191                }
192        }
193                               
194        public function get_list() {
195                global $nomenclature_instrument_list_tpl,$nomenclature_instrument_list_line_tpl,$msg;
196               
197                $tpl=$nomenclature_instrument_list_tpl;
198                $tpl_list="";
199                $odd_even="odd";
200                foreach($this->info as $elt){
201                        $tpl_elt=$nomenclature_instrument_list_line_tpl;
202                        if($odd_even=='odd')$odd_even="even"; else $odd_even="odd";             
203                       
204                        $tpl_elt=str_replace('!!odd_even!!',$odd_even, $tpl_elt);       
205                        $tpl_elt=str_replace('!!name!!',$elt->info['name'], $tpl_elt);
206                        $tpl_elt=str_replace('!!code!!',$elt->info['code'], $tpl_elt);
207                        $musicstand="";         
208                        $family="";
209                        if($elt->info['musicstand']['display']){
210                                $musicstand=$elt->info['musicstand']['display'];
211                                $family=$elt->info['musicstand']['family']['display'];
212                        }
213                        $tpl_elt=str_replace('!!musicstand!!',$musicstand, $tpl_elt);   
214                        $tpl_elt=str_replace('!!family!!',$family, $tpl_elt);                   
215                        if($elt->info['standard'])$standard="x"; else $standard="";
216                        $tpl_elt=str_replace('!!standard!!',$standard, $tpl_elt);
217                        $tpl_elt=str_replace('!!id!!',$elt->info['id'], $tpl_elt);     
218                        $tpl_list.=$tpl_elt;   
219                }
220                $tpl=str_replace('!!list!!',$tpl_list, $tpl);
221                return $tpl;
222        }       
223
224       
225} // nomenclature_instrument_admins class end
226       
Note: See TracBrowser for help on using the repository browser.