source: pmb4.1/trunk/fuentes/pmb/ajax_selector.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 22.8 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: ajax_selector.php,v 1.48 2013-09-30 07:59:07 mbertin Exp $
6
7$base_path=".";
8$base_noheader=1;
9$base_nobody=1;
10//$base_nocheck=1;
11
12
13require_once("includes/init.inc.php");
14require_once("$class_path/marc_table.class.php");
15require_once("$class_path/analyse_query.class.php");
16
17header("Content-Type: text/html; charset=$charset");
18$start=stripslashes($datas);
19$start = str_replace("*","%",$start);
20
21switch($completion):
22        case 'categories':
23                /* Pas utilisé en gestion Matthieu 02/08/2012 */
24                $array_selector=array();
25                require_once("$class_path/thesaurus.class.php");
26                require_once("$class_path/categories.class.php");
27                if ($thesaurus_mode_pmb==1) $id_thes=-1;
28                        else $id_thes=$thesaurus_defaut;
29
30                $aq=new analyse_query($start);
31
32                $members_catdef = $aq->get_query_members("catdef", "catdef.libelle_categorie", "catdef.index_categorie", "catdef.num_noeud");
33                $members_catlg = $aq->get_query_members("catlg", "catlg.libelle_categorie", "catlg.index_categorie", "catlg.num_noeud");
34               
35                $requete_langue="select catlg.num_noeud as categ_id, noeuds.num_parent as categ_parent, noeuds.num_renvoi_voir as categ_see, noeuds.num_thesaurus, catlg.langue as langue,
36                catlg.libelle_categorie as categ_libelle,catlg.index_categorie as index_categorie, catlg.note_application as categ_comment,
37                (".$members_catlg["select"].") as pert from thesaurus left join noeuds on  thesaurus.id_thesaurus = noeuds.num_thesaurus left join categories as catlg on noeuds.id_noeud = catlg.num_noeud
38                and catlg.langue = '".$lang."' where catlg.libelle_categorie like '".addslashes($start)."%' and catlg.libelle_categorie not like '~%'";
39               
40                $requete_defaut="select catdef.num_noeud as categ_id, noeuds.num_parent as categ_parent, noeuds.num_renvoi_voir as categ_see, noeuds.num_thesaurus, catdef.langue as langue,
41                catdef.libelle_categorie as categ_libelle,catdef.index_categorie as index_categorie, catdef.note_application as categ_comment,
42                (".$members_catdef["select"].") as pert from thesaurus left join noeuds on  thesaurus.id_thesaurus = noeuds.num_thesaurus left join categories as catdef on noeuds.id_noeud = catdef.num_noeud
43                and catdef.langue = thesaurus.langue_defaut where catdef.libelle_categorie like '".addslashes($start)."%' and catdef.libelle_categorie not like '~%'";
44               
45                $requete="select * from (".$requete_langue." union ".$requete_defaut.") as sub1 group by categ_id order by pert desc,num_thesaurus, categ_libelle limit 20";
46               
47                $res = @mysql_query($requete, $dbh) or die(mysql_error()."<br />$requete");
48                while(($categ=mysql_fetch_object($res))) {
49                        $display_temp = "" ;
50                        $lib_simple="";
51                        $tab_lib_categ="";
52                        $temp = new categories($categ->categ_id, $categ->langue);
53                        if ($id_thes == -1) {
54                                $thes = new thesaurus($categ->num_thesaurus);
55                                $display_temp = htmlentities('['.$thes->libelle_thesaurus.'] ',ENT_QUOTES, $charset);
56                        }
57                        $id_categ_retenue = $categ->categ_id ; 
58                        if($categ->categ_see) {
59                                $id_categ_retenue = $categ->categ_see ;
60                                $temp = new categories($categ->categ_see, $categ->langue);
61                                $display_temp.= $categ->categ_libelle." -> ";
62                                $lib_simple = $temp->libelle_categorie;
63                                if ($thesaurus_categories_show_only_last) $display_temp.= $temp->libelle_categorie;
64                                        else $display_temp.= categories::listAncestorNames($categ->categ_see, $categ->langue);                         
65                                $display_temp.= "@";
66                        } else {
67                                $lib_simple = $categ->categ_libelle;
68                                if ($thesaurus_categories_show_only_last) $display_temp.= $categ->categ_libelle;
69                                else $display_temp.= categories::listAncestorNames($categ->categ_id, $categ->langue);                   
70                        }               
71                       
72                        $tab_lib_categ[$display_temp] = $lib_simple; 
73                        $array_selector[$id_categ_retenue] = $display_temp;
74                } // fin while         
75                $origine = "ARRAY" ;
76                break;
77        case 'categories_mul':
78                $array_selector=array();
79                require_once("$class_path/thesaurus.class.php");
80                require_once("$class_path/categories.class.php");
81                if ($thesaurus_mode_pmb==1){
82                        $id_thes=-1;   
83                }else{
84                        $id_thes=$thesaurus_defaut;
85                }
86                if($att_id_filter!=0){ //forcage sur un thésaurus en particulié
87                        $id_thes=$att_id_filter;
88                        $linkfield=$att_id_filter; 
89                }
90               
91                if(preg_match("#^f_categ_id#",$autfield)){//Permet de savoir si l'on vient du formulaire de notice ou de recherche
92                        $from="notice";//Affichage complet du chemin de la catégorie
93                }else{
94                        $from="search";//Affichage que de la catégorie
95                }
96                $aq=new analyse_query($start);
97                $members_catdef = $aq->get_query_members("catdef", "catdef.libelle_categorie", "catdef.index_categorie", "catdef.num_noeud");
98                $members_catlg = $aq->get_query_members("catlg", "catlg.libelle_categorie", "catlg.index_categorie", "catlg.num_noeud");
99
100                $thesaurus_requette='';
101                $thes_unique=0;
102                if($thesaurus_mode_pmb==0){
103                        $thesaurus_requette= " id_thesaurus='$thesaurus_defaut' and ";
104                        $thes_unique=$thesaurus_defaut;
105                }elseif($linkfield){
106                        if(!preg_match("#,#i",$linkfield)){
107                                $thesaurus_requette= " id_thesaurus='$linkfield' and ";
108                                $thes_unique=$linkfield;
109                        }else{
110                                $thesaurus_requette= " id_thesaurus in ($linkfield) and ";
111                        }
112                }               
113                 
114                $requete_langue="select catlg.num_noeud as categ_id, noeuds.num_parent as categ_parent, noeuds.num_renvoi_voir as categ_see, noeuds.num_thesaurus, catlg.langue as langue,
115                catlg.libelle_categorie as categ_libelle,catlg.index_categorie as index_categorie, catlg.note_application as categ_comment, noeuds.not_use_in_indexation as not_use_in_indexation,
116                (".$members_catlg["select"].") as pert from thesaurus left join noeuds on  thesaurus.id_thesaurus = noeuds.num_thesaurus left join categories as catlg on noeuds.id_noeud = catlg.num_noeud
117                and catlg.langue = '".$lang."' where $thesaurus_requette catlg.libelle_categorie like '".addslashes($start)."%' and catlg.libelle_categorie not like '~%'";
118               
119                $requete_defaut="select catdef.num_noeud as categ_id, noeuds.num_parent as categ_parent, noeuds.num_renvoi_voir as categ_see, noeuds.num_thesaurus, catdef.langue as langue,
120                catdef.libelle_categorie as categ_libelle,catdef.index_categorie as index_categorie, catdef.note_application as categ_comment, noeuds.not_use_in_indexation as not_use_in_indexation,
121                (".$members_catdef["select"].") as pert from thesaurus left join noeuds on  thesaurus.id_thesaurus = noeuds.num_thesaurus left join categories as catdef on noeuds.id_noeud = catdef.num_noeud
122                and catdef.langue = thesaurus.langue_defaut where $thesaurus_requette catdef.libelle_categorie like '".addslashes($start)."%' and catdef.libelle_categorie not like '~%'";
123               
124                $requete="select * from (".$requete_langue." union ".$requete_defaut.") as sub1 group by categ_id order by pert desc,num_thesaurus, index_categorie limit 20";
125               
126                $res = @mysql_query($requete, $dbh) or die(mysql_error()."<br />$requete");
127                while(($categ=mysql_fetch_object($res))) {
128                        $display_temp = "" ;
129                        $lib_simple="";
130                        $tab_lib_categ="";
131                        $temp = new categories($categ->categ_id, $categ->langue);
132                        if ($id_thes == -1) {//Si mode multi-thésaurus
133                                $thes = new thesaurus($categ->num_thesaurus);
134                                if($from == "notice"){//Si saisi de notice
135                                        $lib_simple = htmlentities('['.$thes->libelle_thesaurus.'] ',ENT_QUOTES, $charset);
136                                }
137                        }
138                       
139                        $id_categ_retenue = $categ->categ_id ;
140                        //Catégorie à ne pas utiliser en indexation
141                        $not_use_in_indexation=$categ->not_use_in_indexation;
142                        if($categ->categ_see) {
143                                $id_categ_retenue = $categ->categ_see ;
144                                //Catégorie à ne pas utiliser en indexation
145                                $category=new category($id_categ_retenue);
146                                $not_use_in_indexation=$category->not_use_in_indexation;
147                               
148                                $temp = new categories($categ->categ_see, $categ->langue);
149                                $display_temp= $categ->categ_libelle." -> ";
150                                $chemin=categories::listAncestorNames($categ->categ_see, $categ->langue);
151                                if ($thesaurus_categories_show_only_last){
152                                        $display_temp.= $temp->libelle_categorie;
153                                        $lib_simple.= $temp->libelle_categorie;
154                                }else{
155                                        $display_temp.=$chemin;
156                                        if($from == "notice"){
157                                                $lib_simple.= $chemin;
158                                        }else{
159                                                $lib_simple.= $temp->libelle_categorie;
160                                        }
161                                }
162                                $display_temp.= "@";
163                        } else {
164                                $chemin=categories::listAncestorNames($categ->categ_id, $categ->langue);
165                                if ($thesaurus_categories_show_only_last){
166                                        $display_temp.= $categ->categ_libelle;
167                                        $lib_simple.= $categ->categ_libelle;
168                                }else{
169                                        $display_temp.= $chemin;
170                                        if($from == "notice"){
171                                                $lib_simple.= $chemin;
172                                        }else{
173                                                $lib_simple.= $categ->categ_libelle;
174                                        }
175                                }                       
176                        }
177                       
178                        if(!$not_use_in_indexation && !preg_match("#:~|^~#i",$chemin)){
179                                $tab_lib_categ[$display_temp] = $lib_simple; 
180                                $array_selector[$id_categ_retenue] = $tab_lib_categ;
181                                if(!$thes_unique){
182                                        $array_prefix[$id_categ_retenue] = array(
183                                                'id' => $categ->num_thesaurus,
184                                                'libelle' => htmlentities('['.$thes->libelle_thesaurus.'] ',ENT_QUOTES, $charset)
185                                        );
186                                }else{
187                                        $array_prefix[$id_categ_retenue] = array(
188                                                'id' => $categ->num_thesaurus,
189                                                'libelle' => ""
190                                        );
191                                }
192                               
193                        }
194                } // fin while         
195                $origine = "ARRAY" ;
196                break;
197        case 'authors':
198                if ($autexclude) $restrict = " AND author_id not in ($autexclude) ";
199                $requete="select if(author_date!='',concat(if(author_rejete is not null and author_rejete!='',concat(author_name,', ',author_rejete),author_name),' (',author_date,')'),if(author_rejete is not null and author_rejete!='',concat(author_name,', ',author_rejete),author_name)) as author,author_id from authors where if(author_rejete is not null and author_rejete!='',concat(author_name,', ',author_rejete),author_name) like '".addslashes($start)."%' $restrict order by 1 limit 20";   
200                $origine = "SQL" ;
201                break;
202        case 'authors_person':
203                if ($autexclude) $restrict = " AND author_id not in ($autexclude) ";
204                $requete="select if(author_date!='',concat(if(author_rejete is not null and author_rejete!='',concat(author_name,', ',author_rejete),author_name),' (',author_date,')'),if(author_rejete is not null and author_rejete!='',concat(author_name,', ',author_rejete),author_name)) as author,author_id from authors where author_type='70' and if(author_rejete is not null and author_rejete!='',concat(author_name,', ',author_rejete),author_name) like '".addslashes($start)."%' $restrict order by 1 limit 20";       
205                $origine = "SQL" ;
206                break;
207        case 'congres_name':
208                if ($autexclude) $restrict = " AND author_id not in ($autexclude) ";
209                $requete="select distinct author_name from authors where  author_type='72' and author_name like '".addslashes($start)."%' $restrict order by 1 limit 20";       
210                $origine = "SQL" ;
211                break; 
212        case 'collectivite_name':
213                if ($autexclude) $restrict = " AND author_id not in ($autexclude) ";
214                $requete="select distinct author_name from authors where  author_type='71' and author_name like '".addslashes($start)."%' $restrict order by 1 limit 20";       
215                $origine = "SQL" ;
216                break; 
217        case 'publishers':
218                if ($autexclude) $restrict = " AND ed_id not in ($autexclude) ";
219                $requete="select concat(
220                                        ed_name,
221                                        if((ed_ville is not null and ed_ville!='') or (ed_pays is not null and ed_pays!=''),' (',''),
222                                        if(ed_ville is not null and ed_ville!='',ed_ville,''),
223                                        if(ed_ville is not null and ed_ville!='' and ed_pays is not null and ed_pays!='',' - ',''),
224                                        if(ed_pays is not null and ed_pays!='',ed_pays,''),
225                                        if((ed_ville is not null and ed_ville!='') or (ed_pays is not null and ed_pays!=''),')','')
226                                        ) as ed,ed_id from publishers where concat(
227                                        ed_name,
228                                        if((ed_ville is not null and ed_ville!='') or (ed_pays is not null and ed_pays!=''),' (',''),
229                                        if(ed_ville is not null and ed_ville!='',ed_ville,''),
230                                        if(ed_ville is not null and ed_ville!='' and ed_pays is not null and ed_pays!='',' - ',''),
231                                        if(ed_pays is not null and ed_pays!='',ed_pays,''),
232                                        if((ed_ville is not null and ed_ville!='') or (ed_pays is not null and ed_pays!=''),')','')
233                                        ) like '".addslashes($start)."%' $restrict order by 1 limit 20";       
234                $origine = "SQL" ;
235                break;
236        case 'titre_uniforme':
237                if ($autexclude) $restrict = " AND tu_id not in ($autexclude) ";
238                $requete="select tu_name as titre_uniforme,tu_id from titres_uniformes where tu_name like '".addslashes($start)."%' $restrict order by 1 limit 20";             
239                $origine = "SQL" ;
240                break;         
241        case 'collections':
242                if ($autexclude) $restrict = " AND collection_id not in ($autexclude) ";
243                if ($linkfield) $restrict .= " AND collection_parent ='$linkfield' ";
244                $requete="select if(collection_issn is not null and collection_issn!='',concat(collection_name,', ',collection_issn),collection_name) as coll,collection_id from collections where if(collection_issn is not null and collection_issn!='',concat(collection_name,', ',collection_issn),collection_name) like '".addslashes($start)."%' $restrict order by index_coll limit 20";
245                $origine = "SQL" ;
246                break;
247        case 'subcollections':
248                if ($autexclude) $restrict = " AND sub_coll_id not in ($autexclude) ";
249                if ($linkfield) $restrict .= " AND sub_coll_parent ='$linkfield' ";
250                $requete="select if(sub_coll_issn is not null and sub_coll_issn!='',concat(sub_coll_name,', ',sub_coll_issn),sub_coll_name) as subcoll,sub_coll_id from sub_collections where if(sub_coll_issn is not null and sub_coll_issn!='',concat(sub_coll_name,', ',sub_coll_issn),sub_coll_name) like '".addslashes($start)."%' $restrict order by 1 limit 20"; 
251                $origine = "SQL" ;
252                break;
253        case 'indexint':
254                if ($autexclude) $restrict = " AND indexint_id not in ($autexclude) ";
255                if ($thesaurus_classement_mode_pmb != 0) { //classement indexation décimale autorisé en parametrage
256                        $requete="select if(indexint_comment is not null and indexint_comment!='',concat('[',name_pclass,'] ',indexint_name,' - ',indexint_comment),
257                        concat('[',name_pclass,'] ',indexint_name)) as indexint,indexint_id
258                        from indexint,pclassement
259                        where if(name_pclass is not null and indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) like '".addslashes($start)."%' $restrict
260                        and id_pclass = num_pclass
261                        and typedoc like '%$typdoc%'
262                        order by indexint_name, name_pclass limit 20"; 
263                }
264                else
265                        $requete="select if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) as indexint,indexint_id from indexint
266                        where if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) like '".addslashes($start)."%' $restrict and num_pclass = '$thesaurus_classement_defaut' order by 1 limit 20";       
267                $origine = "SQL" ;
268                break;
269        case 'indexint_mul':
270                if ($autexclude) $restrict = " AND indexint_id not in ($autexclude) ";
271                if ($thesaurus_classement_mode_pmb != 0) { //classement indexation décimale autorisé en parametrage
272                        $requete="select if(indexint_comment is not null and indexint_comment!='',concat('[',name_pclass,'] ',indexint_name,' - ',indexint_comment),
273                        concat('[',name_pclass,'] ',indexint_name)) as indexint,indexint_id, concat( indexint_name,' ',indexint_comment) as indexsimple
274                        from indexint,pclassement
275                        where if(name_pclass is not null and indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) like '".addslashes($start)."%' $restrict
276                        and id_pclass = num_pclass
277                        and typedoc like '%$typdoc%'
278                        order by indexint_name, name_pclass limit 20"; 
279                }
280                else
281                        $requete="select if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) as indexint,indexint_id, concat( indexint_name,' ',indexint_comment) as indexsimple from indexint
282                        where if(indexint_comment is not null and indexint_comment!='',concat(indexint_name,' - ',indexint_comment),indexint_name) like '".addslashes($start)."%' $restrict and num_pclass = '$thesaurus_classement_defaut' order by 1 limit 20";       
283                $origine = "SQL" ;
284                break;
285        case 'notice':
286                require_once('./includes/isbn.inc.php');
287                if ($autexclude) $restrict = " AND notice_id not in ($autexclude) ";
288                $requete = "select if(serie_name is not null,if(tnvol is not null,concat(serie_name,', ',tnvol,'. ',tit1),concat(serie_name,'. ',tit1)),tit1), notice_id from notices left join series on serie_id=tparent_id where (index_sew like ' ".addslashes(strip_empty_words($start))."%' or TRIM(index_wew) like '".addslashes($start)."%' or tit1 like '".addslashes($start)."%' or (code like '".traite_code_isbn(addslashes($start))."'";
289                if (isISBN(traite_code_isbn($start))) {
290                        if (strlen(traite_code_isbn($start))==13)
291                                $requete.=" or code like '".formatISBN(traite_code_isbn($start),13)."'";
292                        else $requete.=" or code like '".formatISBN(traite_code_isbn($start),10)."'";
293                }
294                $requete.=")) $restrict order by index_serie, tnvol, index_sew , code limit 20 ";
295                $origine = "SQL" ;
296                break;
297        case 'serie':
298                if ($autexclude) $restrict = " AND serie_id not in ($autexclude) ";
299                $requete="select serie_name,serie_id from series where serie_name like '".addslashes($start)."%' $restrict order by 1 limit 20";
300                $origine = "SQL" ;
301                break;
302        case 'fonction':
303                // récupération des codes de fonction
304                if (!count($s_func )) {
305                        $s_func = new marc_list('function');
306                }
307                $origine = "TABLEAU" ;
308                break;
309        case 'langue':
310                // récupération des codes de langue
311                if (!count($s_func )) {
312                        $s_func = new marc_list('lang');
313                }
314                $origine = "TABLEAU" ;
315                break;
316        case 'synonyms':
317                $array_selector=array();
318                //recherche des mots
319                $rqt="select id_mot, mot from mots left join linked_mots on (num_mot=id_mot) where mot like '".addslashes($start)."%' and id_mot not in (select num_mot from linked_mots where linked_mots.num_linked_mot=0) group by id_mot";
320                $execute_query=mysql_query($rqt);
321                while ($r=mysql_fetch_object($execute_query)) {
322                        $array_selector[$r->id_mot]=$r->mot;
323                }
324                mysql_free_result($execute_query);
325                if (count($array_selector)) {
326                        //dédoublonnage du tableau final
327                        $array_selector=array_unique($array_selector);
328                        //tri alphanumérique du tableau
329                        asort($array_selector);
330                }
331                $origine = "ARRAY" ;
332                break;
333        case 'tags':
334                require_once("$class_path/tags.class.php");
335                $tags = new tags();
336                $array_selector = $tags->get_array($start,$pos_cursor);
337                $taille_search = $tags->get_taille_search();
338                $origine = "ARRAY";
339                break;
340        case 'perio':
341                $requete = "select tit1, notice_id from notices where niveau_biblio='s' and niveau_hierar='1' and tit1 like '".addslashes($start)."%' order by 1 limit 20";
342                $origine = "SQL";
343                break;
344        case 'bull':
345                $link_bull = " and bulletin_notice ='".$linkfield."'";
346                $requete = "select bulletin_numero, bulletin_id from bulletins where (bulletin_numero like '".addslashes($start)."%' or bulletin_titre like '".addslashes($start)."%')  $link_bull order by 1 limit 20";
347                $origine = "SQL";
348                break;         
349        case 'expl_cote':       
350                if($pmb_prefill_cote_ajax){
351                        include("./catalog/expl/ajax/$pmb_prefill_cote_ajax");
352                        $array_selector = calculer_cote($start);       
353                        $origine = "ARRAY";             
354                }
355                break; 
356        case 'fournisseur':
357                $requete = "select raison_sociale as lib,id_entite as id from entites where type_entite='0' ";
358                if ($linkfield) $requete.= "and num_bibli='".$linkfield."' ";   
359                $requete.= "and raison_sociale like '".addslashes($start)."%' order by 1 limit 20";
360                $origine = "SQL";
361                break;
362        case 'origine':
363                $requete = "select concat(nom,' ',prenom) as lib, concat(userid,',0') as id from users where nom like '".addslashes($start)."%' ";
364                $requete.= "union select concat(empr_nom,' ',empr_prenom), concat(id_empr,',1') from empr where empr_nom like '".addslashes($start)."%' ";
365                $requete.= "order by 1 limit 20";
366                $origine = "SQL";
367                break;
368        case 'rubrique':
369                $requete = "select concat('[',budgets.libelle,']',rubriques.libelle) as lib, id_rubrique as id, rubriques.libelle as lib2 from rubriques join budgets on num_budget=id_budget where autorisations like ' %".SESSuserid."% ' ";
370                if ($linkfield) $requete.= "and num_exercice='".$linkfield."' ";
371                $requete.= "and rubriques.libelle like '".addslashes($start)."%' ";
372                $requete.= "order by lib limit 20";
373                $origine="SQL";
374                break;
375        case 'perso_notices':
376                require_once($class_path.'/parametres_perso.class.php');
377                $p_perso = new parametres_perso('notices');
378                $array_selector=$p_perso->get_ajax_list($persofield,$start);
379                $origine='ARRAY';
380                break;
381        case 'perso_expl':
382                require_once($class_path.'/parametres_perso.class.php');
383                $p_perso = new parametres_perso('notices');
384                $array_selector=$p_perso->get_ajax_list($persofield,$start);
385                $origine='ARRAY';
386                break;
387        case 'perso_empr':
388                require_once($class_path.'/parametres_perso.class.php');
389                $p_perso = new parametres_perso('notices');
390                $array_selector=$p_perso->get_ajax_list($persofield,$start);
391                $origine='ARRAY';
392                break;
393        case 'perso_gestfic0':
394                require_once($class_path.'/parametres_perso.class.php');
395                $p_perso = new parametres_perso('notices');
396                $array_selector=$p_perso->get_ajax_list($persofield,$start);
397                $origine='ARRAY';
398                break;
399        case 'perso_collstate':
400                require_once($class_path.'/parametres_perso.class.php');
401                $p_perso = new parametres_perso('notices');
402                $array_selector=$p_perso->get_ajax_list($persofield,$start);
403                $origine='ARRAY';
404                break;
405        default: 
406                break;
407endswitch;
408
409
410switch ($origine):
411        case 'SQL':
412                $resultat=mysql_query($requete) or die(mysql_error()."<br />$requete") ;
413                $i=1;
414                while($r=@mysql_fetch_array($resultat)) {
415                        if($r[2])
416                                echo "<div id='"."c".$id."_".$i."' style='display:none'>$r[2]</div>";
417                        echo "<div id='l".$id."_".$i."'";
418                        if ($autfield) echo " autid='".$r[1]."'";
419                        echo " style='cursor:default;font-family:arial,helvetica;font-size:10px;width:100%' onClick='if(document.getElementById(\"c".$id."_".$i."\")) ajax_set_datas(\"c".$id."_".$i."\",\"$id\"); else ajax_set_datas(\"l".$id."_".$i."\",\"$id\");'>".$r[0]."</div>";
420                        $i++;
421                }
422                break;
423        case 'TABLEAU':
424                $i=1;
425                while(list($index, $value) = each($s_func->table)) {
426                        if (strtolower(substr($value,0,strlen($start)))==strtolower($start)) {
427                                echo "<div id='l".$id."_".$i."'";
428                                if ($autfield) echo " autid='".$index."'";
429                                echo " style='cursor:default;font-family:arial,helvetica;font-size:10px;width:100%' onClick='ajax_set_datas(\"l".$id."_".$i."\",\"$id\")'>".$value."</div>";
430                                $i++;
431                        }
432                }
433                break;
434        case 'ARRAY':
435                if (is_array($array_selector) && count($array_selector)) {
436                        $i=1;
437                        while(list($index, $value) = each($array_selector)) {                   
438                                $lib_liste="";
439                                $thesaurus_lib = $array_prefix[$index]['libelle'];
440                                $thesaurus_id = $array_prefix[$index]['id'];
441                                if(is_array($value)){
442                                        foreach($value as $k=>$v){
443                                                $lib_liste = $k;
444                                                echo "<div id='"."c".$id."_".$i."' style='display:none' nbcar='$taille_search'>".$v."</div>";
445                                        }
446                                } else $lib_liste=$value;
447                                echo "<div id='l".$id."_".$i."'";
448                                if ($autfield) echo " autid='".$index."'";
449                                if ($thesaurus_id) echo " thesid='".$thesaurus_id."'";
450                                echo " style='cursor:default;font-family:arial,helvetica;font-size:10px;width:100%' onClick='if(document.getElementById(\"c".$id."_".$i."\")) ajax_set_datas(\"c".$id."_".$i."\",\"$id\"); else ajax_set_datas(\"l".$id."_".$i."\",\"$id\");'>".$thesaurus_lib." ".$lib_liste."</div>";
451                                $i++;   
452                        }
453                }
454                break;
455        default:
456                break;
457endswitch;
458
459
Note: See TracBrowser for help on using the repository browser.