Projet

Général

Profil

tu_notice.class.php

Alexandre Boucher, 11/09/2013 13:51

 
1
<?php
2
// +-------------------------------------------------+
3
// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4
// +-------------------------------------------------+
5
// $Id: tu_notice.class.php,v 1.7 2013-04-11 08:12:09 mbertin Exp $
6

    
7
if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8

    
9
require_once($class_path."/titre_uniforme.class.php");
10

    
11
class tu_notice {
12
        
13
        // ---------------------------------------------------------------
14
        //                propriétés de la classe
15
        // ---------------------------------------------------------------        
16
        var $id;                // MySQL id notice
17
        var $ntu_data;        //données des titres uniformes lié a la notice 
18
        var $ntu_form;
19
        
20
        // ---------------------------------------------------------------
21
        //                tu_notice($id) : constructeur
22
        // ---------------------------------------------------------------
23
        function tu_notice($id=0,$recursif=0) {
24
                if($id) {
25
                        // on cherche à atteindre une notice existante
26
                        $this->recursif=$recursif;
27
                        $this->id = $id;
28
                        $this->getData();
29
                } else {
30
                        // la notice n'existe pas
31
                        $this->id = 0;
32
                        $this->getData();
33
                }
34
        }
35
        
36
        // ---------------------------------------------------------------
37
        //                getData() : récupération infos auteur
38
        // ---------------------------------------------------------------
39
        function getData() {
40
                global $dbh,$msg;
41

    
42
                $this->ntu_data=array();
43
                if($this->id) {                                
44
                        $requete = "SELECT * FROM notices_titres_uniformes WHERE ntu_num_notice=$this->id order by ntu_ordre";
45
                
46
                        $result = mysql_query($requete, $dbh);
47
                        $nb_result=0;
48
                        if(mysql_num_rows($result)) {
49
                                while(($res_tu = mysql_fetch_object($result))) {
50
                                        $this->ntu_data[$nb_result]->num_tu=        $res_tu->ntu_num_tu;
51
                                        $this->ntu_data[$nb_result]->titre=        $res_tu->ntu_titre;
52
                                        $this->ntu_data[$nb_result]->date=        $res_tu->ntu_date;
53
                                        $this->ntu_data[$nb_result]->sous_vedette=        $res_tu->ntu_sous_vedette;
54
                                        $this->ntu_data[$nb_result]->langue=        $res_tu->ntu_langue;
55
                                        $this->ntu_data[$nb_result]->version=        $res_tu->ntu_version;
56
                                        $this->ntu_data[$nb_result]->mention=        $res_tu->ntu_mention;  
57
                                        $this->ntu_data[$nb_result]->tu= new titre_uniforme($this->ntu_data[$nb_result]->num_tu);        
58
                                        /*  Champs récupérés du titre uniforme:
59
                                                 name                         
60
                                                tonalite
61
                                                comment
62
                                                distrib (array)
63
                                                ref (array)
64
                                                subdiv (array)
65
                                        */
66
                                        $nb_result++;
67
                                }                                
68
                        } else {
69
                                // pas trouvé avec cette clé
70
                                                
71
                                
72
                        }
73
                }
74
        }
75

    
76
        function get_print_type($type=0) {
77
                global $msg;
78
                switch($type) {
79
                        
80
                        default:
81
                                if(!$this->ntu_data) return'';
82
                                $display="<b>".$msg["catal_onglet_titre_uniforme"]."</b>&nbsp;:";
83
                                foreach ($this->ntu_data as $tu) {
84
                                        $link="<a href='./autorites.php?categ=titres_uniformes&sub=titre_uniforme_form&id=".$tu->num_tu."' class='lien_gestion'>
85
                                        ".$tu->tu->name."
86
                                        </a>";
87
                                        $biblio_fields=array(); 
88
                                        if($tu->titre)$biblio_fields[]=$tu->titre;        
89
                                        if($tu->date)$biblio_fields[]=$tu->date;        
90
                                        if($tu->sous_vedette)$biblio_fields[]=$tu->sous_vedette;                        
91
                                        if($tu->langue)$biblio_fields[]=$tu->langue;                        
92
                                        if($tu->version)$biblio_fields[]=$tu->version;                        
93
                                        if($tu->mention)$biblio_fields[]=$tu->mention;                        
94
                                        $biblio_print=implode("; ",$biblio_fields);                
95
                                        if($biblio_print)        $biblio_print=": ".$biblio_print;
96
                                        $display.=" ".$link.$biblio_print."<br />";
97
                                }
98
                        break;        
99
                }
100
                return $display;
101
                
102
        }
103
        
104
        function get_form($form_name) {
105
                global $msg;
106

    
107
                $i=0;
108
                do {        
109
                        $values[$i]["id"]= $this->ntu_data[$i]->num_tu;
110
                        $values[$i]["label"]= $this->ntu_data[$i]->tu->name;
111
                        $j=0;
112
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_titre_section"];
113
                        $values[$i]["objets"][$j]["name"]="ntu_titre";
114
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
115
                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->titre;
116
                        $j++;
117
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_date"];
118
                        $values[$i]["objets"][$j]["name"]="ntu_date";
119
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
120
                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->date;
121
                        $j++;
122
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_sous_vedette"];
123
                        $values[$i]["objets"][$j]["name"]="ntu_sous_vedette";
124
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
125
                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->sous_vedette;
126
                        $j++;
127
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_langue"];
128
                        $values[$i]["objets"][$j]["name"]="ntu_langue";
129
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
130
                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->langue;
131
                        $j++;
132
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_version"];
133
                        $values[$i]["objets"][$j]["name"]="ntu_version";
134
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
135
                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->version;
136
                        $j++;
137
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_mention"];
138
                        $values[$i]["objets"][$j]["name"]="ntu_mention";
139
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
140
                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->mention;
141
                } while        (++$i<count($this->ntu_data));
142
                $this->ntu_form=$this->gen_input_selection($msg["catal_onglet_titre_uniforme"],$form_name,"titre_uniforme",$values,"titre_uniforme","saisie-80emr");
143
                return $this->ntu_form;
144
        }
145
                
146
        function get_form_import($form_name,$ntu_data) {
147
                global $msg;
148

    
149
                $i=0;
150
                do {        
151
                        $values[$i]["id"]= $ntu_data[$i]->num_tu;
152
                        $values[$i]["label"]= $ntu_data[$i]->tu->name;
153
                        $j=0;
154
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_titre_section"];
155
                        $values[$i]["objets"][$j]["name"]="ntu_titre";
156
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
157
                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->titre;
158
                        $j++;
159
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_date"];
160
                        $values[$i]["objets"][$j]["name"]="ntu_date";
161
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
162
                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->date;
163
                        $j++;
164
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_sous_vedette"];
165
                        $values[$i]["objets"][$j]["name"]="ntu_sous_vedette";
166
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
167
                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->sous_vedette;
168
                        $j++;
169
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_langue"];
170
                        $values[$i]["objets"][$j]["name"]="ntu_langue";
171
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
172
                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->langue;
173
                        $j++;
174
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_version"];
175
                        $values[$i]["objets"][$j]["name"]="ntu_version";
176
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
177
                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->version;
178
                        $j++;
179
                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_mention"];
180
                        $values[$i]["objets"][$j]["name"]="ntu_mention";
181
                        $values[$i]["objets"][$j]["class"]="saisie-80em";
182
                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->mention;
183
                } while        (++$i<count($ntu_data));
184
                $ntu_form=tu_notice::gen_input_selection($msg["catal_onglet_titre_uniforme"],$form_name,"titre_uniforme",$values,"titre_uniforme","saisie-80emr");
185
                return $ntu_form;
186
        }        
187
        
188
        function gen_input_selection($label,$form_name,$item,$values,$what_sel,$class='saisie-80em' ) {  
189
        
190
                global $msg;
191
                $select_prop = "scrollbars=yes, toolbar=no, dependent=yes, resizable=yes";
192
                $link="'./select.php?what=$what_sel&caller=$form_name&param1=f_".$item."_code!!num!!&param2=f_".$item."!!num!!&deb_rech='+".pmb_escape()."(this.form.f_".$item."!!num!!.value), '$what_sel', 400, 400, -2, -2, '$select_prop'";
193
                $size_item=strlen($item)+2;
194
                                
195
                $script_js="
196
                <script>
197
                var memo_id='';
198
                function fonction_selecteur_".$item."() {
199
                        var nom='f_".$item."';
200
                        if(memo_id) name=memo_id.substring(4);  
201
                        else name=this.getAttribute('id').substring(4);
202
                        memo_id='';            
203
                        name_id = name.substr(0,nom.length)+'_code'+name.substr(nom.length);
204
                        openPopUp('./select.php?what=$what_sel&caller=$form_name&param1='+name_id+'&param2='+name, '$what_sel', 400, 400, -2, -2, '$select_prop');                
205
            }
206
            function fonction_raz_".$item."() {
207
                name=this.getAttribute('id').substring(4);
208
                        name_id = name.substr(0,$size_item)+'_code'+name.substr($size_item);
209
                document.getElementById(name).value='';
210
                        document.getElementById(name_id).value='';
211
            }
212
            function add_".$item."() {
213
                template = document.getElementById('add".$item."');
214
                suffixe=document.getElementById('max_".$item."').value;
215
          
216
                ".$item."=document.createElement('div');
217
                ".$item.".className='parent';
218
                ".$item.".setAttribute('id','tu'+suffixe);
219
                      ".$item.".style.display='block';
220
                                            
221
                      img_".$item."= document.createElement('img');
222
                        img_".$item.".setAttribute('src','./images/plus.gif');  
223
                        img_".$item.".setAttribute('class','img_plus');
224
                        img_".$item.".setAttribute('name','imEx');
225
                        img_".$item.".setAttribute('id','tu'+suffixe+'Img');
226
                        img_".$item.".setAttribute('onclick',\"expandBase(this.id.substring(0,this.id.length - 3), true); return false;\");
227
                        img_".$item.".setAttribute('border','0');        
228
                
229
                nom_id = 'f_".$item."'+suffixe;
230
                f_".$item." = document.createElement('input');
231
                f_".$item.".setAttribute('name',nom_id);
232
                f_".$item.".setAttribute('id',nom_id);
233
                f_".$item.".setAttribute('type','text');
234
                f_".$item.".className='$class';
235
                f_".$item.".setAttribute('value','');
236
                        f_".$item.".setAttribute('completion','".$item."');
237
                        f_".$item.".setAttribute('autfield','f_".$item."_code'+suffixe);
238
                
239
                        id = 'f_".$item."_code'+suffixe;
240
                        f_".$item."_code = document.createElement('input');
241
                        f_".$item."_code.setAttribute('name',id);
242
                f_".$item."_code.setAttribute('id',id);
243
                f_".$item."_code.setAttribute('type','hidden');
244
                        f_".$item."_code.setAttribute('value','');
245
         
246
                del_f_".$item." = document.createElement('input');
247
                del_f_".$item.".setAttribute('id','del_f_".$item."'+suffixe);
248
                del_f_".$item.".onclick=fonction_raz_".$item.";
249
                del_f_".$item.".setAttribute('type','button');
250
                del_f_".$item.".className='bouton';
251
                del_f_".$item.".setAttribute('readonly','');
252
                del_f_".$item.".setAttribute('value','".$msg["raz"]."');
253
        
254
                sel_f_".$item." = document.createElement('input');
255
                sel_f_".$item.".setAttribute('id','sel_f_".$item."'+suffixe);
256
                sel_f_".$item.".setAttribute('type','button');
257
                sel_f_".$item.".className='bouton';
258
                sel_f_".$item.".setAttribute('readonly','');
259
                sel_f_".$item.".setAttribute('value','".$msg["parcourir"]."');
260
                sel_f_".$item.".onclick=fonction_selecteur_".$item.";
261
        
262
                ".$item.".appendChild(img_".$item.");
263
                space=document.createTextNode(' ');
264
                ".$item.".appendChild(space);
265
                ".$item.".appendChild(f_".$item.");
266
                        ".$item.".appendChild(f_".$item."_code);
267
                space=document.createTextNode(' ');
268
                ".$item.".appendChild(space);
269
                if('$what_sel')".$item.".appendChild(sel_f_".$item.");
270
                ".$item.".appendChild(space.cloneNode(false));
271
                ".$item.".appendChild(del_f_".$item.");                
272
                template.appendChild(".$item.");
273
                
274
                child_".$item."= document.createElement('div');
275
                child_".$item.".className='child';
276
                child_".$item.".setAttribute('id','tu'+suffixe+'Child');
277
                child_".$item.".setAttribute('etirable','yes');
278
                child_".$item.".setAttribute('invert','');
279
                child_".$item.".setAttribute('hide','');
280
                      child_".$item.".style.display='none';
281
                      template.appendChild(child_".$item.");
282
                        //!!add_option!!        
283
                        document.getElementById('max_".$item."').value=(suffixe*1)+(1*1) ;
284
                ajax_pack_element(f_".$item.");                
285
            }
286
                </script>";
287
                $script_js_option="
288
                        div_label_!!num!!=document.createElement('div');
289
                        div_label_!!num!!.className='row';
290
                        label_!!num!!=document.createElement('label');
291
                        texte_!!num!!=document.createTextNode('!!label!!');
292
                          label_!!num!!.appendChild(texte_!!num!!);
293
                        div_label_!!num!!.appendChild(label_!!num!!);
294
                                        
295
                div_!!num!!=document.createElement('div');
296
                div_!!num!!.className='row';
297
                op_!!num!! = document.createElement('input');
298
                op_!!num!!.setAttribute('name','!!name!!'+suffixe);
299
                op_!!num!!.setAttribute('id','!!name!!'+suffixe);
300
                op_!!num!!.setAttribute('type','text');
301
                op_!!num!!.className='!!class!!';
302
                op_!!num!!.setAttribute('value','');
303
                div_!!num!!.appendChild(op_!!num!!);
304
                
305
                    child_".$item.".appendChild(div_label_!!num!!);
306
                    child_".$item.".appendChild(div_!!num!!);
307
            ";
308
                
309
                //template de zone de texte pour chaque valeur                                
310
                $aff="                
311
                <div style='display: block;' id='tu!!num!!Parent' class='parent'>
312
                        <img src='./images/plus.gif' class='img_plus' name='imEx' id='tu!!num!!Img' title='Zone des notes' onclick=\"expandBase('tu!!num!!', true); return false;\" border='0'>
313
                        <input type='text' class='$class' id='f_".$item."!!num!!' name='f_".$item."!!num!!' value='!!label_element!!' autfield='f_".$item."_code!!num!!' completion=\"".$item."\" />
314
                        <input type='hidden' id='f_".$item."_code!!num!!' name='f_".$item."_code!!num!!' value='!!id_element!!'>
315
                        !!bouton_parcourir!!
316
                        <input type='button' class='bouton' value='".$msg["raz"]."' onclick=\"this.form.f_".$item."!!num!!.value='';this.form.f_".$item."_code!!num!!.value=''; \" />
317
                        !!bouton_ajouter!!
318
                </div>                
319
                <div hide='' style='display: none;' invert='' id='tu!!num!!Child' class='child' title=''>        
320
                \n";
321
                        
322
                $aff_option="
323
                <div class='row'>
324
                        <label for='!!name!!!!num!!' class='etiquette'>!!label!!</label></div>
325
                <div class='row'>
326
                        <input type='text' class='!!class!!' id='!!name!!!!num!!' name='!!name!!!!num!!' value=\"!!value!!\" />
327
                </div>";        
328

    
329
                if($what_sel)$bouton_parcourir="<input type='button' id='sel_f_".$item."!!num!!' class='bouton' value='".$msg["parcourir"]."' onclick=\"memo_id=this.getAttribute('id');fonction_selecteur_".$item."();\" />";
330
                else $bouton_parcourir="";
331
                $aff= str_replace('!!bouton_parcourir!!', $bouton_parcourir, $aff);        
332

    
333
                $template=$script_js."<div id=add".$item."' class='row'>";
334
                $template.="<div class='row'><label for='f_".$item."' class='etiquette'>".$label."</label></div>";
335
                $num=0;
336
                if(!$values[0])$values[0]="";
337
                foreach($values as $value) {                        
338
                        $label_element=$value["label"];
339
                        $id_element=$value["id"];                        
340
                        $temp= str_replace('!!id_element!!', $id_element, $aff);        
341
                        $temp= str_replace('!!label_element!!', $label_element, $temp);        
342
                        $temp= str_replace('!!num!!', $num, $temp);        
343
                        
344
                        if(!$num) $temp= str_replace('!!bouton_ajouter!!', " <input class='bouton' value='".$msg["req_bt_add_line"]."' onclick='add_".$item."();' type='button'>", $temp);        
345
                        else $temp= str_replace('!!bouton_ajouter!!', "", $temp);        
346
                        $template.=$temp;                        
347
                        // option
348
                        foreach($value["objets"] as $objet) {
349
                                
350
                                $option = str_replace('!!label!!', $objet["label"], $aff_option);                
351
                                $option = str_replace('!!name!!', $objet["name"], $option);                
352
                                $option = str_replace('!!class!!', $objet["class"], $option);                
353
                                $option = str_replace('!!num!!', $num, $option);                
354
                                $option = str_replace('!!value!!', $objet["value"], $option);        
355
                                $template.=$option;        
356
                        }
357
                        $template.="</div>";                                
358
                        if(!$num) {                                
359
                                $j=0;
360
                                foreach($value["objets"] as $objet) {
361
                                        // Ajout des javascript qui permet la répétabilité des champs option                         
362
                                        $option_js = str_replace('!!label!!', addslashes($objet["label"]), $script_js_option);                
363
                                        $option_js = str_replace('!!name!!', $objet["name"], $option_js);                
364
                                        $option_js = str_replace('!!class!!', $objet["class"], $option_js);                
365
                                        $option_js = str_replace('!!num!!', $j, $option_js);                
366
                                        $option_js = str_replace('!!value!!', $objet["value"], $option_js);
367
                                        $script_option_js.=$option_js; 
368
                                        $j++;        
369
                                }                                
370
                                $template=str_replace('!!add_option!!',$script_option_js, $template);                
371
                        }        
372
                        $num++;
373
                }        
374
                $template.="<input type='hidden' name='max_".$item."' id='max_".$item."' value='$num'>";                                        
375
                $template.="</div><div id='add".$item."'/>
376
                </div>";
377
                return $template;                
378
        }        
379
        // ---------------------------------------------------------------
380
        //                show_form : affichage du formulaire de saisie
381
        // ---------------------------------------------------------------
382
        function show_form() {
383
        
384
                global $msg;
385
                global $titre_uniforme_form;
386
                global $charset;
387
                global $user_input, $nbr_lignes, $page ;
388
                
389
                if($this->id) {
390
                        $action = "./autorites.php?categ=titres_uniformes&sub=update&id=$this->id";
391
                        $libelle = $msg["aut_titre_uniforme_modifier"];
392
                        $button_remplace = "<input type='button' class='bouton' value='$msg[158]' ";
393
                        $button_remplace .= "onclick='unload_off();document.location=\"./autorites.php?categ=titres_uniformes&sub=replace&id=$this->id\"'>";
394
                        
395
                        $button_voir = "<input type='button' class='bouton' value='$msg[voir_notices_assoc]' ";
396
                        $button_voir .= "onclick='unload_off();document.location=\"./catalog.php?categ=search&mode=0&etat=tu_search&tu_id=$this->id\"'>";
397
                        
398
                        $button_delete = "<input type='button' class='bouton' value='$msg[63]' ";
399
                        $button_delete .= "onClick=\"confirm_delete();\">";
400
                        
401
                } else {
402
                        $action = './autorites.php?categ=titres_uniformes&sub=update&id=';
403
                        $libelle = $msg["aut_titre_uniforme_ajouter"];
404
                        $button_remplace = '';
405
                        $button_delete ='';
406
                }
407
                                
408
                $titre_uniforme_form = str_replace('!!id!!',                                $this->id,                $titre_uniforme_form);
409
                $titre_uniforme_form = str_replace('!!action!!',                        $action,                $titre_uniforme_form);
410
                $titre_uniforme_form = str_replace('!!libelle!!',                        $libelle,                $titre_uniforme_form);
411
                
412
                $titre_uniforme_form = str_replace('!!nom!!',                                htmlentities($this->name,ENT_QUOTES, $charset), $titre_uniforme_form);
413
                                
414
                $distribution_form=$this->gen_input_selection($msg["aut_titre_uniforme_form_distribution"],"saisie_titre_uniforme","distrib",$this->distrib,"","saisie-80em");
415
                $titre_uniforme_form = str_replace("<!--        Distribution instrumentale et vocale (pour la musique)        -->",$distribution_form, $titre_uniforme_form);
416

    
417
                $ref_num_form=$this->gen_input_selection($msg["aut_titre_uniforme_form_ref_numerique"],"saisie_titre_uniforme","ref",$this->ref,"","saisie-80em");
418
                $titre_uniforme_form = str_replace("<!--        Référence numérique (pour la musique)        -->",$ref_num_form, $titre_uniforme_form);
419
                
420
                $titre_uniforme_form = str_replace('!!tonalite!!',                        htmlentities($this->tonalite,ENT_QUOTES, $charset),        $titre_uniforme_form);                                
421
                $titre_uniforme_form = str_replace('!!comment!!',                        htmlentities($this->comment,ENT_QUOTES, $charset),        $titre_uniforme_form);
422

    
423
                $sub_form=$this->gen_input_selection($msg["aut_titre_uniforme_form_subdivision_forme"],"saisie_titre_uniforme","subdiv",$this->subdiv,"","saisie-80em");
424
                $titre_uniforme_form = str_replace('<!-- Subdivision de forme -->',        $sub_form, $titre_uniforme_form);
425
                
426
                $titre_uniforme_form = str_replace('!!remplace!!',                        $button_remplace,        $titre_uniforme_form);
427
                $titre_uniforme_form = str_replace('!!voir_notices!!',                $button_voir,                $titre_uniforme_form);
428
                $titre_uniforme_form = str_replace('!!delete!!',                        $button_delete,                $titre_uniforme_form);
429
                        
430
                $titre_uniforme_form = str_replace('!!user_input_url!!',        rawurlencode(stripslashes($user_input)),                                                        $titre_uniforme_form);
431
                $titre_uniforme_form = str_replace('!!user_input!!',                htmlentities($user_input,ENT_QUOTES, $charset),                                                $titre_uniforme_form);
432
                $titre_uniforme_form = str_replace('!!nbr_lignes!!',                $nbr_lignes,                                                                                                                $titre_uniforme_form);
433
                $titre_uniforme_form = str_replace('!!page!!',                                $page,                                                                                                                                $titre_uniforme_form);
434
                print $titre_uniforme_form;
435
        }
436
        
437
        // ---------------------------------------------------------------
438
        //                replace_form : affichage du formulaire de remplacement
439
        // ---------------------------------------------------------------
440
        function replace_form() {
441
                global $titre_uniforme_replace;
442
                global $msg;
443
                global $include_path;
444
        
445
                if(!$this->id || !$this->name) {
446
                        require_once("$include_path/user_error.inc.php");
447
                        error_message($msg[161], $msg[162], 1, './autorites.php?categ=titres_uniformes&sub=&id=');
448
                        return false;
449
                }        
450
                $titre_uniforme_replace=str_replace('!!old_titre_uniforme_libelle!!', $this->display, $titre_uniforme_replace);
451
                $titre_uniforme_replace=str_replace('!!id!!', $this->id, $titre_uniforme_replace);
452
                print $titre_uniforme_replace;
453
                return true;
454
        }
455
        
456
        
457
        // ---------------------------------------------------------------
458
        //                delete() : suppression 
459
        // ---------------------------------------------------------------
460
        function delete() {
461
                global $dbh;
462
                global $msg;
463
                
464
                if(!$this->id) return false;
465
                $requete = "DELETE FROM notices_titres_uniformes WHERE ntu_num_notice='$this->id' ";
466
                mysql_query($requete, $dbh);
467
                $this->id=0;
468
                $this->ntu_data=array();
469
        }
470
        
471
        
472
        // ---------------------------------------------------------------
473
        //                replace($by) : remplacement 
474
        // ---------------------------------------------------------------
475
        function replace($by) {
476
        
477
                global $msg;
478
                global $dbh;
479
        
480
                if (($this->id == $by) || (!$this->id))  {
481
                        return $msg[223];
482
                }
483
                
484

    
485
//                titre_uniforme::update_index($by);
486
                
487
                return FALSE;
488
        }
489
        
490
        // ---------------------------------------------------------------
491
        //                update($value) : mise à jour 
492
        // ---------------------------------------------------------------
493
        function update($values) {
494
        
495
                global $dbh;
496
                global $msg;
497
                global $include_path;
498

    
499
                if(!$this->id) return false;
500
                $requete = "DELETE FROM notices_titres_uniformes WHERE ntu_num_notice=".$this->id;
501
                mysql_query($requete, $dbh);
502
                // nettoyage des chaînes en entrée                
503
                $ordre=0;
504
                foreach($values as $value) {                        
505
                        if($value['num_tu']) {
506
                                $requete = "INSERT INTO notices_titres_uniformes SET 
507
                                ntu_num_notice='$this->id', 
508
                                ntu_num_tu='".$value['num_tu']."', 
509
                                ntu_titre='".clean_string($value['ntu_titre'])."', 
510
                                ntu_date='".clean_string($value['ntu_date'])."', 
511
                                ntu_sous_vedette='".clean_string($value['ntu_sous_vedette'])."', 
512
                                ntu_langue='".clean_string($value['ntu_langue'])."', 
513
                                ntu_version='".clean_string($value['ntu_version'])."', 
514
                                ntu_mention='".clean_string($value['ntu_mention'])."',
515
                                ntu_ordre=$ordre                                 
516
                                ";
517
                                mysql_query($requete, $dbh);
518
                        }
519
                        $ordre++;
520
                }
521
                return TRUE;
522
        }
523
                
524
        // ---------------------------------------------------------------
525
        //                import() : import d'un titre_uniforme
526
        // ---------------------------------------------------------------
527
        // fonction d'import de notice titre_uniforme 
528
        function import($data) {
529
        // To do
530
        
531
        }
532
                
533
        // ---------------------------------------------------------------
534
        //                search_form() : affichage du form de recherche
535
        // ---------------------------------------------------------------
536
        function search_form() {
537
                global $user_query, $user_input;
538
                global $msg, $charset;
539
                
540
                $user_query = str_replace ('!!user_query_title!!', $msg[357]." : ".$msg["aut_menu_titre_uniforme"] , $user_query);
541
                $user_query = str_replace ('!!action!!', './autorites.php?categ=titres_uniformes&sub=reach&id=', $user_query);
542
                $user_query = str_replace ('!!add_auth_msg!!', $msg["aut_titre_uniforme_ajouter"] , $user_query);
543
                $user_query = str_replace ('!!add_auth_act!!', './autorites.php?categ=titres_uniformes&sub=titre_uniforme_form', $user_query);
544
                $user_query = str_replace ('<!-- lien_derniers -->', "<a href='./autorites.php?categ=titres_uniformes&sub=titre_uniforme_last'>".$msg["aut_titre_uniforme_derniers_crees"]."</a>", $user_query);
545
                $user_query = str_replace("!!user_input!!",htmlentities(stripslashes($user_input),ENT_QUOTES, $charset),$user_query);
546
                        
547
                print pmb_bidi($user_query) ;
548
        }
549
        
550
        //---------------------------------------------------------------
551
        // update_index($id) : maj des n-uplets la table notice_global_index en rapport avec cet author        
552
        //---------------------------------------------------------------
553
        function update_index($id) {
554
                global $dbh;
555
                // On cherche tous les n-uplet de la table notice correspondant à ce titre_uniforme.
556
                $found = mysql_query("select ntu_num_notice from notices_titres_uniformes where ntu_num_tu = ".$id,$dbh);
557
                // Pour chaque n-uplet trouvés on met a jour la table notice_global_index avec l'auteur modifié :
558
                while(($mesNotices = mysql_fetch_object($found))) {
559
                        $notice_id = $mesNotices->ntu_num_notice;
560
                        notice::majNoticesGlobalIndex($notice_id);
561
                        notice::majNoticesMotsGlobalIndex($notice_id);
562
                }
563
        }
564
        
565
} // class auteur
566

    
567