source: pmb4.2/trunk/fuentes/pmb/classes/tu_notice.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: 24.7 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: tu_notice.class.php,v 1.15 2015-06-22 13:34:19 arenou Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9require_once($class_path."/titre_uniforme.class.php");
10
11class 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 = pmb_mysql_query($requete, $dbh);
47                        $nb_result=0;
48                        if(pmb_mysql_num_rows($result)) {
49                                while(($res_tu = pmb_mysql_fetch_object($result))) {
50                                        $this->ntu_data[$nb_result] = new stdClass();
51                                        $this->ntu_data[$nb_result]->num_tu=    $res_tu->ntu_num_tu;
52                                        $this->ntu_data[$nb_result]->titre=     $res_tu->ntu_titre;
53                                        $this->ntu_data[$nb_result]->date=      $res_tu->ntu_date;
54                                        $this->ntu_data[$nb_result]->sous_vedette=      $res_tu->ntu_sous_vedette;
55                                        $this->ntu_data[$nb_result]->langue=    $res_tu->ntu_langue;
56                                        $this->ntu_data[$nb_result]->version=   $res_tu->ntu_version;
57                                        $this->ntu_data[$nb_result]->mention=   $res_tu->ntu_mention; 
58                                        $this->ntu_data[$nb_result]->tu= new titre_uniforme($this->ntu_data[$nb_result]->num_tu);       
59                                        /*  Champs récupérés du titre uniforme:
60                                                name                   
61                                                tonalite
62                                                comment
63                                                distrib (array)
64                                                ref (array)
65                                                subdiv (array)
66                                        */
67                                        $nb_result++;
68                                }                               
69                        } else {
70                                // pas trouvé avec cette clé
71                                               
72                               
73                        }
74                }
75        }
76
77        function get_print_type($type=0) {
78                global $msg;
79                switch($type) {
80                       
81                        default:
82                                if(!$this->ntu_data) return'';
83                                $display="<b>".$msg["catal_onglet_titre_uniforme"]."</b>&nbsp;:";
84                                $flag_first=0;
85                                foreach ($this->ntu_data as $tu) {
86                                        if($flag_first)$display.="<br />";
87                                        $flag_first=1;
88                                        $link="<a href='./autorites.php?categ=titres_uniformes&sub=titre_uniforme_form&id=".$tu->num_tu."' class='lien_gestion'>
89                                        ".$tu->tu->display."
90                                        </a>";
91                                        $biblio_fields=array(); 
92                                        if($tu->titre)$biblio_fields[]=$tu->titre;     
93                                        if($tu->date)$biblio_fields[]=$tu->date;       
94                                        if($tu->sous_vedette)$biblio_fields[]=$tu->sous_vedette;                       
95                                        if($tu->langue)$biblio_fields[]=$tu->langue;                   
96                                        if($tu->version)$biblio_fields[]=$tu->version;                 
97                                        if($tu->mention)$biblio_fields[]=$tu->mention;                 
98                                        $biblio_print=implode("; ",$biblio_fields);             
99                                        if($biblio_print)       $biblio_print=": ".$biblio_print;
100                                        $display.=" ".$link.$biblio_print;
101                                }
102                        break; 
103                }
104                return $display;
105               
106        }
107       
108        function get_form($form_name) {
109                global $msg;
110
111                $i=0;
112                do {   
113                        $values[$i]["id"]= $this->ntu_data[$i]->num_tu;
114                        $values[$i]["label"]= $this->ntu_data[$i]->tu->display;
115                        $j=0;
116                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_titre_section"];
117                        $values[$i]["objets"][$j]["name"]="ntu_titre";
118                        $values[$i]["objets"][$j]["class"]="saisie-80em";
119                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->titre;
120                        $j++;
121                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_date"];
122                        $values[$i]["objets"][$j]["name"]="ntu_date";
123                        $values[$i]["objets"][$j]["class"]="saisie-80em";
124                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->date;
125                        $j++;
126                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_sous_vedette"];
127                        $values[$i]["objets"][$j]["name"]="ntu_sous_vedette";
128                        $values[$i]["objets"][$j]["class"]="saisie-80em";
129                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->sous_vedette;
130                        $j++;
131                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_langue"];
132                        $values[$i]["objets"][$j]["name"]="ntu_langue";
133                        $values[$i]["objets"][$j]["class"]="saisie-80em";
134                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->langue;
135                        $j++;
136                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_version"];
137                        $values[$i]["objets"][$j]["name"]="ntu_version";
138                        $values[$i]["objets"][$j]["class"]="saisie-80em";
139                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->version;
140                        $j++;
141                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_mention"];
142                        $values[$i]["objets"][$j]["name"]="ntu_mention";
143                        $values[$i]["objets"][$j]["class"]="saisie-80em";
144                        $values[$i]["objets"][$j]["value"]=$this->ntu_data[$i]->mention;
145                } while (++$i<count($this->ntu_data));
146                $this->ntu_form=$this->gen_input_selection($msg["catal_onglet_titre_uniforme"],$form_name,"titre_uniforme",$values,"titre_uniforme","saisie-80emr");
147                return $this->ntu_form;
148        }
149               
150        static function get_form_import($form_name,$ntu_data) {
151                global $msg;
152
153                $i=0;
154                do {   
155                        $values[$i]["id"]= $ntu_data[$i]->num_tu;
156                        $values[$i]["label"]= $ntu_data[$i]->tu->name;
157                        $j=0;
158                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_titre_section"];
159                        $values[$i]["objets"][$j]["name"]="ntu_titre";
160                        $values[$i]["objets"][$j]["class"]="saisie-80em";
161                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->titre;
162                        $j++;
163                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_date"];
164                        $values[$i]["objets"][$j]["name"]="ntu_date";
165                        $values[$i]["objets"][$j]["class"]="saisie-80em";
166                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->date;
167                        $j++;
168                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_sous_vedette"];
169                        $values[$i]["objets"][$j]["name"]="ntu_sous_vedette";
170                        $values[$i]["objets"][$j]["class"]="saisie-80em";
171                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->sous_vedette;
172                        $j++;
173                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_langue"];
174                        $values[$i]["objets"][$j]["name"]="ntu_langue";
175                        $values[$i]["objets"][$j]["class"]="saisie-80em";
176                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->langue;
177                        $j++;
178                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_version"];
179                        $values[$i]["objets"][$j]["name"]="ntu_version";
180                        $values[$i]["objets"][$j]["class"]="saisie-80em";
181                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->version;
182                        $j++;
183                        $values[$i]["objets"][$j]["label"]=$msg["catal_titre_uniforme_mention"];
184                        $values[$i]["objets"][$j]["name"]="ntu_mention";
185                        $values[$i]["objets"][$j]["class"]="saisie-80em";
186                        $values[$i]["objets"][$j]["value"]=$ntu_data[$i]->mention;
187                } while (++$i<count($ntu_data));
188                $ntu_form=tu_notice::gen_input_selection($msg["catal_onglet_titre_uniforme"],$form_name,"titre_uniforme",$values,"titre_uniforme","saisie-80emr");
189                return $ntu_form;
190        }       
191       
192        function gen_input_selection($label,$form_name,$item,$values,$what_sel,$class='saisie-80em' ) { 
193       
194                global $msg, $charset;
195                $select_prop = "scrollbars=yes, toolbar=no, dependent=yes, resizable=yes";
196                $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'";
197                $size_item=strlen($item)+2;
198                               
199                $script_js="
200                <script>
201                var memo_id='';
202                               
203                function tu_add_callback(field,tu_id){
204                        if(typeof(tu_callback_perso) != 'undefined'){
205                                var tu_id = document.getElementById(document.getElementById(field).getAttribute('autfield')).value;
206                                tu_callback_perso(tu_id);
207                        }
208                }               
209                               
210                function fonction_selecteur_".$item."() {
211                        var nom='f_".$item."';
212                        if(memo_id) name=memo_id.substring(4); 
213                        else name=this.getAttribute('id').substring(4);
214                        memo_id='';         
215                        name_id = name.substr(0,nom.length)+'_code'+name.substr(nom.length);
216                        openPopUp('./select.php?what=$what_sel&caller=$form_name&param1='+name_id+'&param2='+name+'&callback=tu_add_callback', '$what_sel', 400, 400, -2, -2, '$select_prop');         
217            }
218            function fonction_raz_".$item."() {
219                name=this.getAttribute('id').substring(4);
220                        name_id = name.substr(0,$size_item)+'_code'+name.substr($size_item);
221                document.getElementById(name).value='';
222                        document.getElementById(name_id).value='';
223            }
224            function add_".$item."() {
225                template = document.getElementById('add".$item."');
226                suffixe=document.getElementById('max_".$item."').value;
227         
228                ".$item."=document.createElement('div');
229                ".$item.".className='parent';
230                ".$item.".setAttribute('id','tu'+suffixe);
231                ".$item.".style.display='block';
232                               
233                img_".$item."= document.createElement('img');
234                        img_".$item.".setAttribute('src','./images/plus.gif'); 
235                        img_".$item.".setAttribute('class','img_plus');
236                        img_".$item.".setAttribute('name','imEx');
237                        img_".$item.".setAttribute('id','tu'+suffixe+'Img');
238                        img_".$item.".setAttribute('onclick',\"expandBase(this.id.substring(0,this.id.length - 3), true); return false;\");
239                        img_".$item.".setAttribute('border','0');       
240               
241                nom_id = 'f_".$item."'+suffixe;
242                f_".$item." = document.createElement('input');
243                f_".$item.".setAttribute('name',nom_id);
244                f_".$item.".setAttribute('id',nom_id);
245                f_".$item.".setAttribute('type','text');
246                f_".$item.".className='$class';
247                f_".$item.".setAttribute('value','');
248                f_".$item.".setAttribute('callback','tu_add_callback');
249                        f_".$item.".setAttribute('completion','".$item."');
250                        f_".$item.".setAttribute('autfield','f_".$item."_code'+suffixe);
251               
252                        id = 'f_".$item."_code'+suffixe;
253                        f_".$item."_code = document.createElement('input');
254                        f_".$item."_code.setAttribute('name',id);
255                f_".$item."_code.setAttribute('id',id);
256                f_".$item."_code.setAttribute('type','hidden');
257                        f_".$item."_code.setAttribute('value','');
258         
259                del_f_".$item." = document.createElement('input');
260                del_f_".$item.".setAttribute('id','del_f_".$item."'+suffixe);
261                del_f_".$item.".onclick=fonction_raz_".$item.";
262                del_f_".$item.".setAttribute('type','button');
263                del_f_".$item.".className='bouton';
264                del_f_".$item.".setAttribute('readonly','');
265                del_f_".$item.".setAttribute('value','".$msg["raz"]."');
266       
267                sel_f_".$item." = document.createElement('input');
268                sel_f_".$item.".setAttribute('id','sel_f_".$item."'+suffixe);
269                sel_f_".$item.".setAttribute('type','button');
270                sel_f_".$item.".className='bouton';
271                sel_f_".$item.".setAttribute('readonly','');
272                sel_f_".$item.".setAttribute('value','".$msg["parcourir"]."');
273                sel_f_".$item.".onclick=fonction_selecteur_".$item.";
274       
275                ".$item.".appendChild(img_".$item.");
276                space=document.createTextNode(' ');
277                ".$item.".appendChild(space);
278                ".$item.".appendChild(f_".$item.");
279                        ".$item.".appendChild(f_".$item."_code);
280                space=document.createTextNode(' ');
281                ".$item.".appendChild(space);
282                if('$what_sel')".$item.".appendChild(sel_f_".$item.");
283                ".$item.".appendChild(space.cloneNode(false));
284                ".$item.".appendChild(del_f_".$item.");         
285                template.appendChild(".$item.");
286               
287                child_".$item."= document.createElement('div');
288                child_".$item.".className='child';
289                child_".$item.".setAttribute('id','tu'+suffixe+'Child');
290                child_".$item.".setAttribute('etirable','yes');
291                child_".$item.".setAttribute('invert','');
292                child_".$item.".setAttribute('hide','');
293                child_".$item.".style.display='none';
294                template.appendChild(child_".$item.");
295                        //!!add_option!!       
296                        document.getElementById('max_".$item."').value=(suffixe*1)+(1*1) ;
297                ajax_pack_element(f_".$item.");         
298            }
299                </script>";
300                $script_js_option="
301                        div_label_!!num!!=document.createElement('div');
302                        div_label_!!num!!.className='row';
303                        label_!!num!!=document.createElement('label');
304                        texte_!!num!!=document.createTextNode('!!label!!');
305                        label_!!num!!.appendChild(texte_!!num!!);
306                        div_label_!!num!!.appendChild(label_!!num!!);
307                                       
308                div_!!num!!=document.createElement('div');
309                div_!!num!!.className='row';
310                op_!!num!! = document.createElement('input');
311                op_!!num!!.setAttribute('name','!!name!!'+suffixe);
312                op_!!num!!.setAttribute('id','!!name!!'+suffixe);
313                op_!!num!!.setAttribute('type','text');
314                op_!!num!!.className='!!class!!';
315                op_!!num!!.setAttribute('value','');
316                div_!!num!!.appendChild(op_!!num!!);
317               
318                child_".$item.".appendChild(div_label_!!num!!);
319                child_".$item.".appendChild(div_!!num!!);
320            ";
321               
322                //template de zone de texte pour chaque valeur                         
323                $aff="
324                <div style='display: block;' id='tu!!num!!Parent' class='parent'>
325                        <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'>
326                        <input type='text' class='$class' id='f_".$item."!!num!!' name='f_".$item."!!num!!' value='!!label_element!!' autfield='f_".$item."_code!!num!!' completion=\"".$item."\" callback=\"tu_add_callback\"/>
327                        <input type='hidden' id='f_".$item."_code!!num!!' name='f_".$item."_code!!num!!' value='!!id_element!!'>
328                        !!bouton_parcourir!!
329                        <input type='button' class='bouton' value='".$msg["raz"]."' onclick=\"this.form.f_".$item."!!num!!.value='';this.form.f_".$item."_code!!num!!.value='';\" />
330                        !!bouton_ajouter!!
331                </div>         
332                <div hide='' style='display: none;' invert='' id='tu!!num!!Child' class='child' title=''>       
333                \n";
334                       
335                $aff_option="
336                <div class='row'>
337                        <label for='!!name!!!!num!!' class='etiquette'>!!label!!</label></div>
338                <div class='row'>
339                        <input type='text' class='!!class!!' id='!!name!!!!num!!' name='!!name!!!!num!!' value=\"!!value!!\" />
340                </div>";       
341
342                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."();\" />";
343                else $bouton_parcourir="";
344                $aff= str_replace('!!bouton_parcourir!!', $bouton_parcourir, $aff);     
345
346                $template=$script_js."<div id=add".$item."' class='row'>";
347                $template.="<div class='row'><label for='f_".$item."' class='etiquette'>".$label."</label></div>";
348                $num=0;
349                if(!$values[0])$values[0]="";
350                foreach($values as $value) {                   
351                        $label_element=$value["label"];
352                        $id_element=$value["id"];                       
353                        $temp= str_replace('!!id_element!!', $id_element, $aff);       
354                        $temp= str_replace('!!label_element!!', htmlentities($label_element,ENT_QUOTES,$charset), $temp);       
355                        $temp= str_replace('!!num!!', $num, $temp);     
356                       
357                        if(!$num) $temp= str_replace('!!bouton_ajouter!!', " <input class='bouton' value='".$msg["req_bt_add_line"]."' onclick='add_".$item."();' type='button'>", $temp);     
358                        else $temp= str_replace('!!bouton_ajouter!!', "", $temp);       
359                        $template.=$temp;                       
360                        // option
361                        foreach($value["objets"] as $objet) {
362                               
363                                $option = str_replace('!!label!!', $objet["label"], $aff_option);               
364                                $option = str_replace('!!name!!', $objet["name"], $option);             
365                                $option = str_replace('!!class!!', $objet["class"], $option);           
366                                $option = str_replace('!!num!!', $num, $option);               
367                                $option = str_replace('!!value!!', htmlentities($objet["value"],ENT_QUOTES,$charset), $option); 
368                                $template.=$option;     
369                        }
370                        $template.="</div>";                           
371                        if(!$num) {                             
372                                $j=0;
373                                foreach($value["objets"] as $objet) {
374                                        // Ajout des javascript qui permet la répétabilité des champs option                   
375                                        $option_js = str_replace('!!label!!', addslashes($objet["label"]), $script_js_option);         
376                                        $option_js = str_replace('!!name!!', $objet["name"], $option_js);               
377                                        $option_js = str_replace('!!class!!', $objet["class"], $option_js);             
378                                        $option_js = str_replace('!!num!!', $j, $option_js);           
379                                        $option_js = str_replace('!!value!!', $objet["value"], $option_js);
380                                        $script_option_js.=$option_js; 
381                                        $j++;   
382                                }                               
383                                $template=str_replace('!!add_option!!',$script_option_js, $template);           
384                        }       
385                        $num++;
386                }       
387                $template.="<input type='hidden' name='max_".$item."' id='max_".$item."' value='$num'>";                                       
388                $template.="</div><div id='add".$item."'/>
389                </div>";
390                return $template;               
391        }       
392        // ---------------------------------------------------------------
393        //              show_form : affichage du formulaire de saisie
394        // ---------------------------------------------------------------
395        function show_form() {
396       
397                global $msg;
398                global $titre_uniforme_form;
399                global $charset;
400                global $user_input, $nbr_lignes, $page ;
401               
402                if($this->id) {
403                        $action = "./autorites.php?categ=titres_uniformes&sub=update&id=$this->id";
404                        $libelle = $msg["aut_titre_uniforme_modifier"];
405                        $button_remplace = "<input type='button' class='bouton' value='$msg[158]' ";
406                        $button_remplace .= "onclick='unload_off();document.location=\"./autorites.php?categ=titres_uniformes&sub=replace&id=$this->id\"'>";
407                       
408                        $button_voir = "<input type='button' class='bouton' value='$msg[voir_notices_assoc]' ";
409                        $button_voir .= "onclick='unload_off();document.location=\"./catalog.php?categ=search&mode=0&etat=tu_search&tu_id=$this->id\"'>";
410                       
411                        $button_delete = "<input type='button' class='bouton' value='$msg[63]' ";
412                        $button_delete .= "onClick=\"confirm_delete();\">";
413                       
414                } else {
415                        $action = './autorites.php?categ=titres_uniformes&sub=update&id=';
416                        $libelle = $msg["aut_titre_uniforme_ajouter"];
417                        $button_remplace = '';
418                        $button_delete ='';
419                }
420                               
421                $titre_uniforme_form = str_replace('!!id!!',                            $this->id,              $titre_uniforme_form);
422                $titre_uniforme_form = str_replace('!!action!!',                        $action,                $titre_uniforme_form);
423                $titre_uniforme_form = str_replace('!!libelle!!',                       $libelle,               $titre_uniforme_form);
424               
425                $titre_uniforme_form = str_replace('!!nom!!',                           htmlentities($this->name,ENT_QUOTES, $charset), $titre_uniforme_form);
426                               
427                $distribution_form=$this->gen_input_selection($msg["aut_titre_uniforme_form_distribution"],"saisie_titre_uniforme","distrib",$this->distrib,"","saisie-80em");
428                $titre_uniforme_form = str_replace("<!--        Distribution instrumentale et vocale (pour la musique)  -->",$distribution_form, $titre_uniforme_form);
429
430                $ref_num_form=$this->gen_input_selection($msg["aut_titre_uniforme_form_ref_numerique"],"saisie_titre_uniforme","ref",$this->ref,"","saisie-80em");
431                $titre_uniforme_form = str_replace("<!--        Référence numérique (pour la musique)   -->",$ref_num_form, $titre_uniforme_form);
432               
433                $titre_uniforme_form = str_replace('!!tonalite!!',                      htmlentities($this->tonalite,ENT_QUOTES, $charset),     $titre_uniforme_form);                         
434                $titre_uniforme_form = str_replace('!!comment!!',                       htmlentities($this->comment,ENT_QUOTES, $charset),      $titre_uniforme_form);
435
436                $sub_form=$this->gen_input_selection($msg["aut_titre_uniforme_form_subdivision_forme"],"saisie_titre_uniforme","subdiv",$this->subdiv,"","saisie-80em");
437                $titre_uniforme_form = str_replace('<!-- Subdivision de forme -->',     $sub_form, $titre_uniforme_form);
438               
439                $titre_uniforme_form = str_replace('!!remplace!!',                      $button_remplace,       $titre_uniforme_form);
440                $titre_uniforme_form = str_replace('!!voir_notices!!',          $button_voir,           $titre_uniforme_form);
441                $titre_uniforme_form = str_replace('!!delete!!',                        $button_delete,         $titre_uniforme_form);
442                       
443                $titre_uniforme_form = str_replace('!!user_input_url!!',        rawurlencode(stripslashes($user_input)),                                                        $titre_uniforme_form);
444                $titre_uniforme_form = str_replace('!!user_input!!',            htmlentities($user_input,ENT_QUOTES, $charset),                                         $titre_uniforme_form);
445                $titre_uniforme_form = str_replace('!!nbr_lignes!!',            $nbr_lignes,                                                                                                            $titre_uniforme_form);
446                $titre_uniforme_form = str_replace('!!page!!',                          $page,                                                                                                                          $titre_uniforme_form);
447                print $titre_uniforme_form;
448        }
449       
450        // ---------------------------------------------------------------
451        //              replace_form : affichage du formulaire de remplacement
452        // ---------------------------------------------------------------
453        function replace_form() {
454                global $titre_uniforme_replace;
455                global $msg;
456                global $include_path;
457       
458                if(!$this->id || !$this->name) {
459                        require_once("$include_path/user_error.inc.php");
460                        error_message($msg[161], $msg[162], 1, './autorites.php?categ=titres_uniformes&sub=&id=');
461                        return false;
462                }       
463                $titre_uniforme_replace=str_replace('!!old_titre_uniforme_libelle!!', $this->display, $titre_uniforme_replace);
464                $titre_uniforme_replace=str_replace('!!id!!', $this->id, $titre_uniforme_replace);
465                print $titre_uniforme_replace;
466                return true;
467        }
468       
469       
470        // ---------------------------------------------------------------
471        //              delete() : suppression
472        // ---------------------------------------------------------------
473        function delete() {
474                global $dbh;
475                global $msg;
476               
477                if(!$this->id) return false;
478                $requete = "DELETE FROM notices_titres_uniformes WHERE ntu_num_notice='$this->id' ";
479                pmb_mysql_query($requete, $dbh);
480                $this->id=0;
481                $this->ntu_data=array();
482        }
483       
484       
485        // ---------------------------------------------------------------
486        //              replace($by) : remplacement
487        // ---------------------------------------------------------------
488        function replace($by) {
489       
490                global $msg;
491                global $dbh;
492       
493                if (($this->id == $by) || (!$this->id))  {
494                        return $msg[223];
495                }
496               
497
498//              titre_uniforme::update_index($by);
499               
500                return FALSE;
501        }
502       
503        // ---------------------------------------------------------------
504        //              update($value) : mise à jour
505        // ---------------------------------------------------------------
506        function update($values) {
507       
508                global $dbh;
509                global $msg;
510                global $include_path;
511
512                if(!$this->id) return false;
513                $requete = "DELETE FROM notices_titres_uniformes WHERE ntu_num_notice=".$this->id;
514                pmb_mysql_query($requete, $dbh);
515                // nettoyage des chaînes en entrée             
516                $ordre=0;
517                foreach($values as $value) {                   
518                        if($value['num_tu']) {
519                                $requete = "INSERT INTO notices_titres_uniformes SET
520                                ntu_num_notice='$this->id',
521                                ntu_num_tu='".$value['num_tu']."',
522                                ntu_titre='".clean_string($value['ntu_titre'])."',
523                                ntu_date='".clean_string($value['ntu_date'])."',
524                                ntu_sous_vedette='".clean_string($value['ntu_sous_vedette'])."',
525                                ntu_langue='".clean_string($value['ntu_langue'])."',
526                                ntu_version='".clean_string($value['ntu_version'])."',
527                                ntu_mention='".clean_string($value['ntu_mention'])."',
528                                ntu_ordre=$ordre                               
529                                ";
530                                pmb_mysql_query($requete, $dbh);
531                        }
532                        $ordre++;
533                }
534                return TRUE;
535        }
536               
537        // ---------------------------------------------------------------
538        //              import() : import d'un titre_uniforme
539        // ---------------------------------------------------------------
540        // fonction d'import de notice titre_uniforme
541        function import($data) {
542        // To do
543       
544        }
545               
546        // ---------------------------------------------------------------
547        //              search_form() : affichage du form de recherche
548        // ---------------------------------------------------------------
549        function search_form() {
550                global $user_query, $user_input;
551                global $msg, $charset;
552               
553                $user_query = str_replace ('!!user_query_title!!', $msg[357]." : ".$msg["aut_menu_titre_uniforme"] , $user_query);
554                $user_query = str_replace ('!!action!!', './autorites.php?categ=titres_uniformes&sub=reach&id=', $user_query);
555                $user_query = str_replace ('!!add_auth_msg!!', $msg["aut_titre_uniforme_ajouter"] , $user_query);
556                $user_query = str_replace ('!!add_auth_act!!', './autorites.php?categ=titres_uniformes&sub=titre_uniforme_form', $user_query);
557                $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);
558                $user_query = str_replace("!!user_input!!",htmlentities(stripslashes($user_input),ENT_QUOTES, $charset),$user_query);
559                       
560                print pmb_bidi($user_query) ;
561        }
562       
563        //---------------------------------------------------------------
564        // update_index($id) : maj des n-uplets la table notice_global_index en rapport avec cet author
565        //---------------------------------------------------------------
566        static function update_index($id) {
567                global $dbh;
568                // On cherche tous les n-uplet de la table notice correspondant à ce titre_uniforme.
569                $found = pmb_mysql_query("select ntu_num_notice from notices_titres_uniformes where ntu_num_tu = ".$id,$dbh);
570                // Pour chaque n-uplet trouvés on met a jour la table notice_global_index avec l'auteur modifié :
571                while(($mesNotices = pmb_mysql_fetch_object($found))) {
572                        $notice_id = $mesNotices->ntu_num_notice;
573                        notice::majNoticesGlobalIndex($notice_id);
574                        notice::majNoticesMotsGlobalIndex($notice_id);
575                }
576        }
577       
578} // class auteur
579
580
Note: See TracBrowser for help on using the repository browser.