source: pmb4.2/trunk/fuentes/pmb/account.php @ 828

Last change on this file since 828 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 30.6 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: account.php,v 1.57.2.2 2015-12-10 15:20:28 dgoron Exp $
6
7// définition du minimum nécéssaire
8$base_path=".";                           
9$base_auth = "PREF_AUTH|ADMINISTRATION_AUTH"; 
10$base_title = "\$msg[933]";   
11require_once ("$base_path/includes/init.inc.php"); 
12
13// modules propres à account.php ou à ses sous-modules
14include("$include_path/account.inc.php");
15include("$include_path/templates/account.tpl.php");
16require_once("$include_path/user_error.inc.php");
17require_once("$class_path/thesaurus.class.php");
18require_once("$base_path/admin/users/users_func.inc.php");
19require_once("$class_path/actes.class.php");
20require_once("$class_path/suggestions_map.class.php");
21require_once("$class_path/lignes_actes_statuts.class.php");
22require_once($base_path."/admin/connecteurs/in/agnostic/agnostic.class.php");
23
24require_once("$class_path/onto/common/onto_common_uri.class.php");
25require_once("$class_path/onto/onto_store_arc2.class.php");
26require_once("$class_path/onto/onto_handler.class.php");
27require_once("$class_path/onto/onto_root_ui.class.php");
28require_once("$class_path/onto/common/onto_common_ui.class.php");
29require_once("$class_path/onto/common/onto_common_controler.class.php");
30require_once("$class_path/onto/skos/onto_skos_concept_ui.class.php");
31require_once("$class_path/onto/skos/onto_skos_controler.class.php");
32require_once("$class_path/onto/onto_param.class.php");
33
34print $menu_bar;
35print $extra2;
36print $account_layout;
37
38if($use_shortcuts) {
39        include("$include_path/shortcuts/circ.sht");
40}
41
42if(!$modified) {
43        $user_params = get_account_info(SESSlogin);
44        // constitution des paramètres utilisateurs
45        $requete_param = "SELECT * FROM users WHERE userid='$PMBuserid' LIMIT 1 ";
46        $res_param = pmb_mysql_query($requete_param, $dbh);
47        $field_values = pmb_mysql_fetch_row( $res_param );
48       
49        $param_user="<div class='row'><b>".$msg["1500"]."</b></div>\n";
50        $deflt_user="<div class='row'><b>".$msg["1501"]."</b></div>\n";
51
52        $i = 0;
53        while ($i < pmb_mysql_num_fields($res_param)) {
54                $field = pmb_mysql_field_name($res_param, $i) ;
55                $field_deb = substr($field,0,6);
56                switch ($field_deb) {
57
58                        case "deflt_" :
59                                if ($field=="deflt_styles") {
60                                        $deflt_user_style="
61                                                <div class='colonne60'><div class='row'>".
62                                                $msg[$field]."&nbsp;:&nbsp;</div></div>\n
63                                                <div class='colonne_suite'><div_class='row'>"                   
64                                                .make_user_style_combo($field_values[$i]).
65                                                "</div></div>\n";
66                                } elseif ($field=="deflt_docs_location") {
67                                        //visibilité des exemplaires
68                                        if ($pmb_droits_explr_localises && $explr_visible_mod) $where_clause_explr = "idlocation in (".$explr_visible_mod.") and";
69                                        else $where_clause_explr = "";
70                                        $selector = gen_liste ("select distinct idlocation, location_libelle from docs_location, docsloc_section where $where_clause_explr num_location=idlocation order by 2 ", "idlocation", "location_libelle", 'form_'.$field, "account_calcule_section(this);", $field_values[$i], "", "","","",0);
71                                        $deflt_user.="
72                                                <div class='row'><div class='colonne60'>".
73                                                $msg[$field]."&nbsp;:&nbsp;</div>\n
74                                                <div class='colonne_suite'>"                   
75                                                .$selector.
76                                                "</div></div>\n";
77                                } elseif ($field=="deflt_collstate_location") {
78                                        $selector = gen_liste ("select distinct idlocation, location_libelle from docs_location order by 2 ", "idlocation", "location_libelle", 'form_'.$field, "", $field_values[$i], "", "","0",$msg["all_location"],0);
79                                        $deflt_user.="
80                                                <div class='row'><div class='colonne60'>".
81                                                $msg[$field]."&nbsp;:&nbsp;</div>\n
82                                                <div class='colonne_suite'>"                   
83                                                .$selector.
84                                                "</div></div>\n";
85                                } elseif ($field=="deflt_resas_location") {
86                                        $selector = gen_liste ("select distinct idlocation, location_libelle from docs_location order by 2 ", "idlocation", "location_libelle", 'form_'.$field, "", $field_values[$i], "", "","0",$msg["all_location"],0);
87                                        $deflt_user.="
88                                                <div class='row'><div class='colonne60'>".
89                                                $msg[$field]."&nbsp;:&nbsp;</div>\n
90                                                <div class='colonne_suite'>"                   
91                                                .$selector.
92                                                "</div></div>\n";
93                                } elseif ($field=="deflt_docs_section") {
94                                        // calcul des sections
95                                        $selector="";
96                                        if ($pmb_droits_explr_localises && $explr_visible_mod) $where_clause_explr = "where idlocation in (".$explr_visible_mod.")";
97                                        else $where_clause_explr = "";
98                                        $rqtloc = "SELECT idlocation FROM docs_location $where_clause_explr order by location_libelle";
99                                        $resloc = pmb_mysql_query($rqtloc, $dbh);
100                                        while ($loc=pmb_mysql_fetch_object($resloc)) {
101                                                $requete = "SELECT idsection, section_libelle FROM docs_section, docsloc_section where idsection=num_section and num_location='$loc->idlocation' order by section_libelle";
102                                                $result = pmb_mysql_query($requete, $dbh);
103                                                $nbr_lignes = pmb_mysql_num_rows($result);
104                                                if ($nbr_lignes) {                     
105                                                        if ($loc->idlocation==$deflt_docs_location ) $selector .= "<div id=\"docloc_section".$loc->idlocation."\" style=\"display:block\">\r\n";
106                                                        else $selector .= "<div id=\"docloc_section".$loc->idlocation."\" style=\"display:none\">\r\n";
107                                                        $selector .= "<select name='f_ex_section".$loc->idlocation."' id='f_ex_section".$loc->idlocation."'>\r\n";
108                                                        while($line = pmb_mysql_fetch_row($result)) {
109                                                                $selector .= "<option value='$line[0]'";
110                                                                $line[0] == $deflt_docs_section ? $selector .= ' SELECTED>' : $selector .= '>';
111                                                                $selector .= htmlentities($line[1],ENT_QUOTES, $charset).'</option>\r\n';
112                                                                }                                         
113                                                        $selector .= '</select></div>';
114                                                        }                 
115                                                }
116                                        $deflt_user.="
117                                                <div class='row'><div class='colonne60'>".
118                                                $msg[$field]."&nbsp;:&nbsp;</div>\n
119                                                <div class='colonne_suite'>"                   
120                                                .$selector.
121                                                "</div></div>\n";
122                                } elseif ($field=="deflt_upload_repertoire") { 
123                                        $selector = "";
124                                        $req = "select repertoire_id, repertoire_nom from upload_repertoire";
125                                        $res = pmb_mysql_query($req, $dbh);
126                                        $selector .=  "<div id='upload_section'>";
127                                        $selector .= "<select name='form_deflt_upload_repertoire'>";
128                                        $selector .= "<option value='0'>".$msg[upload_repertoire_sql]."</option>";
129                                        while(($rep = pmb_mysql_fetch_object($res))){
130                                                $selector .= "<option value='".$rep->repertoire_id."'";
131                                                $selector .= (($deflt_upload_repertoire == $rep->repertoire_id) ? 'SELECTED' : '') . ">";
132                                                $selector .= htmlentities($rep->repertoire_nom,ENT_QUOTES,$charset)."</option>";
133                                        }
134                                        $selector .=  "</select></div>";
135                                        $deflt_user.="
136                                                <div class='row'>
137                                                        <div class='colonne60'>".$msg[$field]."&nbsp;:&nbsp;
138                                                        </div>
139                                                        <div class='colonne_suite'>".$selector."
140                                                        </div>
141                                                </div>";               
142                                } elseif($field=="deflt_import_thesaurus"){
143                                        $requete="select * from thesaurus order by 2";
144                                        $resultat_liste=pmb_mysql_query($requete,$dbh);
145                                        $nb_liste=pmb_mysql_num_rows($resultat_liste);
146                                        if ($nb_liste==0) {
147                                                $deflt_user.="" ;
148                                        } else {
149                                                $deflt_user.="
150                                                        <div class='row'>
151                                                                <div class='colonne60'>".$msg[$field]."&nbsp;:&nbsp;
152                                                                </div>\n
153                                                                <div class='colonne_suite'>
154                                                                        <select class='saisie-30em' name=\"form_".$field."\">";
155                                                $j=0;
156                                                while ($j<$nb_liste) {
157                                                        $liste_values = pmb_mysql_fetch_row( $resultat_liste );
158                                                        $deflt_user.="<option value=\"".$liste_values[0]."\" " ;
159                                                        if ($field_values[$i]==$liste_values[0]) {
160                                                                $deflt_user.="selected" ;
161                                                        }
162                                                        $deflt_user.=">".$liste_values[1]."</option>\n" ;
163                                                        $j++;
164                                                }
165                                                $deflt_user.="</select>
166                                                                </div>
167                                                        </div>\n" ;
168                                        } 
169                                } elseif ($field=="deflt_short_loan_activate") {
170                                        $deflt_user.="<div class='row'><div class='colonne60'>".$msg[$field]."</div>\n
171                                                <div class='colonne_suite'>
172                                                <input type='checkbox' class='checkbox'";
173                                        if ($field_values[$i]==1) $deflt_user.=" checked"; 
174                                        $deflt_user.=" value='1' name='form_$field'></div></div>\n" ;
175                                } elseif ($field=="deflt_cashdesk"){
176                                        $requete="select * from cashdesk order by cashdesk_name";
177                                        $resultat_liste=pmb_mysql_query($requete,$dbh);
178                                        $nb_liste=pmb_mysql_num_rows($resultat_liste);
179                                        if ($nb_liste==0) {
180                                                $deflt_user.="" ;
181                                        } else {
182                                                $deflt_user.="
183                                                        <div class='row'>
184                                                                <div class='colonne60'>".$msg[$field]."&nbsp;:&nbsp;
185                                                                </div>\n
186                                                                <div class='colonne_suite'>
187                                                                        <select class='saisie-30em' name=\"form_".$field."\">";
188                                                $j=0;
189                                                while ($j<$nb_liste) {
190                                                        $liste_values = pmb_mysql_fetch_object( $resultat_liste );
191                                                        $deflt_user.="<option value=\"".$liste_values->cashdesk_id."\" " ;
192                                                        if ($field_values[$i]==$liste_values->cashdesk_id) {
193                                                                $deflt_user.="selected" ;
194                                                        }
195                                                        $deflt_user.=">".htmlentities($liste_values->cashdesk_name,ENT_QUOTES,$charset)."</option>\n" ;
196                                                        $j++;
197                                                }
198                                                $deflt_user.="</select>
199                                                                </div>
200                                                        </div>\n" ;
201                                        }
202                                }elseif(($field=="deflt_concept_scheme")){
203                                        $deflt_user.="<div class='row'><div class='colonne60'>".$msg[$field]."</div>\n";
204                                        $deflt_user.="<div class='colonne_suite'>";
205                                       
206                                       
207                                        $onto_store_config = array(
208                                                        /* db */
209                                                        'db_name' => DATA_BASE,
210                                                        'db_user' => USER_NAME,
211                                                        'db_pwd' => USER_PASS,
212                                                        'db_host' => SQL_SERVER,
213                                                        /* store */
214                                                        'store_name' => 'ontology',
215                                                        /* stop after 100 errors */
216                                                        'max_errors' => 100,
217                                                        'store_strip_mb_comp_str' => 0
218                                        );
219                                        $data_store_config = array(
220                                                        /* db */
221                                                        'db_name' => DATA_BASE,
222                                                        'db_user' => USER_NAME,
223                                                        'db_pwd' => USER_PASS,
224                                                        'db_host' => SQL_SERVER,
225                                                        /* store */
226                                                        'store_name' => 'rdfstore',
227                                                        /* stop after 100 errors */
228                                                        'max_errors' => 100,
229                                                        'store_strip_mb_comp_str' => 0
230                                        );
231                                       
232                                        $tab_namespaces=array(
233                                                        "skos"  => "http://www.w3.org/2004/02/skos/core#",
234                                                        "dc"    => "http://purl.org/dc/elements/1.1",
235                                                        "dct"   => "http://purl.org/dc/terms/",
236                                                        "owl"   => "http://www.w3.org/2002/07/owl#",
237                                                        "rdf"   => "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
238                                                        "rdfs"  => "http://www.w3.org/2000/01/rdf-schema#",
239                                                        "xsd"   => "http://www.w3.org/2001/XMLSchema#",
240                                                        "pmb"   => "http://www.pmbservices.fr/ontology#"
241                                        );
242                                       
243                                       
244                                        $onto_handler = new onto_handler($class_path."/rdf/skos_pmb.rdf", "arc2", $onto_store_config, "arc2", $data_store_config,$tab_namespaces,'http://www.w3.org/2004/02/skos/core#prefLabel','http://www.w3.org/2004/02/skos/core#ConceptScheme');
245                                       
246                                        $params=new onto_param();
247                                        $params->concept_scheme=$deflt_concept_scheme;
248                                        $onto_controler=new onto_skos_controler($onto_handler, $params);
249                                       
250                                        $deflt_user.=onto_skos_concept_ui::get_scheme_list_selector($onto_controler, $params,true,'','form_deflt_concept_scheme');
251                                        $deflt_user.="</div></div>\n" ;
252                                       
253                                } elseif ($field=="deflt_notice_replace_keep_categories") {
254                                        $deflt_user.="<div class='row'><div class='colonne60'>".$msg[$field]."</div>\n
255                                                <div class='colonne_suite'>
256                                                        ".$msg[39]." <input type='radio' name='form_$field' value='0' ".(!$field_values[$i] ? "checked='checked'" : "")." />
257                                                        ".$msg[40]." <input type='radio' name='form_$field' value='1' ".($field_values[$i] ? "checked='checked'" : "")." />
258                                                </div></div>\n" ;
259                                } elseif ($field=="deflt_notice_is_new") {
260                                        $deflt_user.="<div class='row'><div class='colonne60'>".$msg[$field]."</div>\n
261                                                <div class='colonne_suite'>
262                                                        ".$msg[39]." <input type='radio' name='form_$field' value='0' ".(!$field_values[$i] ? "checked='checked'" : "")." />
263                                                        ".$msg[40]." <input type='radio' name='form_$field' value='1' ".($field_values[$i] ? "checked='checked'" : "")." />
264                                                </div></div>\n" ;
265                                } elseif ($field=="deflt_bulletinage_location") {
266                                        $selector = gen_liste ("select distinct idlocation, location_libelle from docs_location order by 2 ", "idlocation", "location_libelle", 'form_'.$field, "", $field_values[$i], "", "","0",$msg["all_location"],0);
267                                        $deflt_user.="
268                                                <div class='row'><div class='colonne60'>".
269                                                $msg[$field]."&nbsp;:&nbsp;</div>\n
270                                                <div class='colonne_suite'>"                   
271                                                .$selector.
272                                                "</div></div>\n";
273                                } elseif ($field=="deflt_agnostic_warehouse") {
274                                        $conn=new agnostic($base_path.'/admin/connecteurs/in/agnostic');
275                                        $conn->get_sources();
276                                        $selector = "<select name=\"form_".$field."\">
277                                                <option value='0' ".(!$field_values[$i] ? "selected='selected'" : "").">".$msg['caddie_save_to_warehouse_none']."</option>";
278                                        if(is_array($conn->sources)) {
279                                                foreach($conn->sources as $key_source=>$source) {
280                                                        $selector .= "<option value='".$key_source."' ".($field_values[$i] == $key_source ? "selected='selected'" : "").">".htmlentities($source['NAME'],ENT_QUOTES,$charset)."</option>";
281                                                }
282                                        }
283                                        $selector .= "</select>";
284                                        $deflt_user.="
285                                                <div class='row'><div class='colonne60'>".
286                                                $msg[$field]."&nbsp;:&nbsp;</div>\n
287                                                <div class='colonne_suite'>"                   
288                                                .$selector.
289                                                "</div></div>\n";
290                                } else {
291                                        $deflt_table = substr($field,6);
292                                        if($deflt_table == "integration_notice_statut") $deflt_table= "notice_statut";
293                                        $requete="select * from ".$deflt_table." order by 2";
294                                        $resultat_liste=pmb_mysql_query($requete,$dbh);
295                                        $nb_liste=pmb_mysql_num_rows($resultat_liste);
296                                        if ($nb_liste==0) {
297                                                $deflt_user.="" ;
298                                        } else {
299                                                $deflt_user.="
300                                                        <div class='row'><div class='colonne60'>".
301                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
302                                                $deflt_user.= "
303                                                        <div class='colonne_suite'>                                             
304                                                        <select class='saisie-30em' name=\"form_".$field."\">";
305                                                                       
306                                                $j=0;
307                                                while ($j<$nb_liste) {
308                                                        $liste_values = pmb_mysql_fetch_row( $resultat_liste );
309                                                        $deflt_user.="<option value=\"".$liste_values[0]."\" " ;
310                                                        if ($field_values[$i]==$liste_values[0]) {
311                                                                $deflt_user.="selected" ;
312                                                        }
313                                                        $deflt_user.=">".$liste_values[1]."</option>\n" ;
314                                                        $j++;
315                                                }
316                                                $deflt_user.="</select></div></div><br />\n" ;
317                                        }
318                                } // fin else
319                                break;
320                        case "param_" :
321                                if ($field=="param_allloc") {
322                                        $param_user_allloc="<div class='row'><div class='colonne60'>".$msg[$field]."</div>\n
323                                                <div class='colonne_suite'>
324                                                <input type='checkbox' class='checkbox'";
325                                        if ($field_values[$i]==1) $param_user_allloc.=" checked"; 
326                                        $param_user_allloc.=" value='1' name='form_$field'></div></div>\n" ;
327                                } else {
328                                        $param_user.="<div class='row'><input type='checkbox' class='checkbox'";
329                                        if ($field_values[$i]==1) $param_user.=" checked"; 
330                                        $param_user.=" value='1' name='form_$field'>" ;
331                                        $param_user.="&nbsp; $msg[$field]</div>" ;
332                                }
333                                break ;
334                        case "value_" :
335                                switch ($field) {
336                                        case "value_deflt_fonction" :
337                                                $flist=new marc_list('function');
338                                                $f=$flist->table[$field_values[$i]];
339                                                $value_user.="<div class='row'><div class='colonne60'>                                 
340                                                $msg[$field]&nbsp;:&nbsp;</div>\n
341                                                <div class='colonne_suite'>
342                                                <input type='text' class='saisie-30emr' id='form_value_deflt_fonction_libelle' name='form_value_deflt_fonction_libelle' value='".htmlentities($f,ENT_QUOTES, $charset)."' />
343                                                <input type='button' class='bouton_small' value='".$msg['parcourir']."' onclick=\"openPopUp('./select.php?what=function&caller=account_form&p1=form_value_deflt_fonction&p2=form_value_deflt_fonction_libelle', 'select_func0', 400, 400, -2, -2, 'scrollbars=yes, toolbar=no, dependent=yes, resizable=yes')\" />
344                                                <input type='button' class='bouton_small' value='X' onclick=\"this.form.elements['form_value_deflt_fonction'].value='';this.form.elements['form_value_deflt_fonction_libelle'].value='';return false;\" />
345                                                <input type='hidden' name='form_value_deflt_fonction' id='form_value_deflt_fonction' value=\"$field_values[$i]\" />
346                                                </div></div><br />";
347                                                break;
348                                        case "value_deflt_lang" :
349                                                $llist=new marc_list('lang');
350                                                $l=$llist->table[$field_values[$i]];
351                                                $value_user.="<div class='row'><div class='colonne60'>                                 
352                                                $msg[$field]&nbsp;:&nbsp;</div>\n
353                                                <div class='colonne_suite'>
354                                                <input type='text' class='saisie-30emr' id='form_value_deflt_lang_libelle' name='form_value_deflt_lang_libelle' value='".htmlentities($l,ENT_QUOTES, $charset)."' />
355                                                <input type='button' class='bouton_small' value='".$msg['parcourir']."' onclick=\"openPopUp('./select.php?what=lang&caller=account_form&p1=form_value_deflt_lang&p2=form_value_deflt_lang_libelle', 'select_lang', 400, 400, -2, -2, 'scrollbars=yes, toolbar=no, dependent=yes, resizable=yes')\" />
356                                                <input type='button' class='bouton_small' value='X' onclick=\"this.form.elements['form_value_deflt_lang'].value='';this.form.elements['form_value_deflt_lang_libelle'].value='';return false;\" />
357                                                <input type='hidden' name='form_value_deflt_lang' id='form_form_value_deflt_lang' value=\"$field_values[$i]\" />
358                                                </div></div><br />";
359                                                break;
360                                        case "value_deflt_relation" :
361                                        case "value_deflt_relation_serial" :
362                                        case "value_deflt_relation_bulletin" :
363                                        case "value_deflt_relation_analysis" :
364                                                $value_user.="<div class='row'><div class='colonne60'>                                 
365                                                $msg[$field]&nbsp;:&nbsp;</div>\n
366                                                <div class='colonne_suite'>";
367                                               
368                                                $liste_type_relation_down=new marc_list("relationtypedown");
369                                                $liste_type_relation_up=new marc_list("relationtypeup");
370                                                $liste_type_relation_both=array();
371                                               
372                                                foreach($liste_type_relation_up->table as $key_up=>$val_up){
373                                                        foreach($liste_type_relation_down->table as $key_down=>$val_down){
374                                                                if($val_up==$val_down){
375                                                                        $liste_type_relation_both[$key_down]=$val_down;
376                                                                        unset($liste_type_relation_down->table[$key_down]);
377                                                                        unset($liste_type_relation_up->table[$key_up]);
378                                                                }
379                                                        }
380                                                }
381                                       
382                                                $value_user.="<select onchange='' name='form_".$field."' size='1'>
383                                                <optgroup class='erreur' label='$msg[notice_lien_montant]'>";
384                                               
385                                                foreach($liste_type_relation_up->table as $key=>$val){
386                                                        if($key.'-up'==$field_values[$i]){
387                                                                $value_user.='<option  style="color:#000000" value="'.$key.'-up" selected="selected">'.$val.'</option>';
388                                                        }else{
389                                                                $value_user.='<option  style="color:#000000" value="'.$key.'-up">'.$val.'</option>';
390                                                        }
391                                                }
392                                                $value_user.="</optgroup>
393                                                <optgroup class='erreur' label='$msg[notice_lien_descendant]'>";
394                                               
395                                                foreach($liste_type_relation_down->table as $key=>$val){
396                                                        if($key.'-down'==$field_values[$i]){
397                                                                $value_user.='<option  style="color:#000000" value="'.$key.'-down" selected="selected" >'.$val.'</option>';
398                                                        }else{
399                                                                $value_user.='<option  style="color:#000000" value="'.$key.'-down">'.$val.'</option>';
400                                                        }
401                                                }
402                                                $value_user.="</optgroup>
403                                                <optgroup class='erreur' label='$msg[notice_lien_symetrique]'>";
404                                               
405                                                foreach($liste_type_relation_both as $key=>$val){
406                                                        if($key.'-down'==$field_values[$i]){
407                                                                $value_user.='<option  style="color:#000000" value="'.$key.'-down" selected="selected" >'.$val.'</option>';
408                                                        }else{
409                                                                $value_user.='<option  style="color:#000000" value="'.$key.'-down">'.$val.'</option>';
410                                                        }
411                                                }
412                                                $value_user.="</optgroup>
413                                                </select>";
414                                                $value_user.="</div></div><br />";
415                                                break;
416                                        default :
417                                                $value_user.="<div class='row'><div class='colonne60'>                                 
418                                                $msg[$field]&nbsp;:&nbsp;</div>\n
419                                                <div class='colonne_suite'>
420                                                <input type='text' class='saisie-20em' name='form_$field' value='".htmlentities($field_values[$i],ENT_QUOTES, $charset)."' />
421                                                </div></div><br />";
422                                                break;
423                                }
424                                break ;
425                        case "deflt2" :
426                                if ($field=="deflt2docs_location") {
427                                        // localisation des lecteurs
428                                        $deflt_table = substr($field,6);
429                                        $requete="select * from ".$deflt_table." order by 2";
430                                        $resultat_liste=pmb_mysql_query($requete,$dbh);
431                                        $nb_liste=pmb_mysql_num_rows($resultat_liste);
432                                        if ($nb_liste==0) {
433                                                $deflt_user.="" ;
434                                        } else {
435                                                $deflt_user.="
436                                                        <div class='row'><div class='colonne60'>".
437                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
438                                                $deflt_user.= "
439                                                        <div class='colonne_suite'>                                             
440                                                        <select class='saisie-30em' name=\"form_".$field."\">";
441                                                                       
442                                                $j=0;
443                                                while ($j<$nb_liste) {
444                                                        $liste_values = pmb_mysql_fetch_row( $resultat_liste );
445                                                        $deflt_user.="<option value=\"".$liste_values[0]."\" " ;
446                                                        if ($field_values[$i]==$liste_values[0]) {
447                                                                $deflt_user.="selected" ;
448                                                        }
449                                                        $deflt_user.=">".$liste_values[1]."</option>\n" ;
450                                                        $j++;
451                                                }
452                                                $deflt_user.="</select></div></div>!!param_allloc!!<br />\n" ;
453                                        }
454                                } else {
455                                        $deflt_table = substr($field,6);
456                                        $requete="select * from ".$deflt_table."  order by 2 ";
457                                        $resultat_liste=pmb_mysql_query($requete,$dbh);
458                                        $nb_liste=pmb_mysql_num_rows($resultat_liste);
459                                        if ($nb_liste==0) {
460                                                $deflt_user.="" ;
461                                        } else {
462                                                $deflt_user.="
463                                                        <div class='row'><div class='colonne60'>".
464                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
465                                                $deflt_user.= "
466                                                        <div class='colonne_suite'>                                             
467                                                        <select class='saisie-30em' name=\"form_".$field."\">";
468                                                                       
469                                                $j=0;
470                                                while ($j<$nb_liste) {
471                                                        $liste_values = pmb_mysql_fetch_row( $resultat_liste );
472                                                        $deflt_user.="<option value=\"".$liste_values[0]."\" " ;
473                                                        if ($field_values[$i]==$liste_values[0]) {
474                                                                $deflt_user.="selected" ;
475                                                        }
476                                                        $deflt_user.=">".$liste_values[1]."</option>\n" ;
477                                                        $j++;
478                                                }
479                                                $deflt_user.="</select></div></div>\n" ;
480                                        }
481                                }
482                                break;
483                        case "xmlta_" :
484                                switch($field) {
485                                        case "xmlta_indexation_lang" :
486                                                $langues = new XMLlist("$include_path/messages/languages.xml");
487                                                $langues->analyser();
488                                                $clang = $langues->table;
489                                               
490                                                $combo = "<select name='form_".$field."' id='form_".$field."' class='saisie-20em' >";
491                                                if(!$field_values[$i]) $combo .= "<option value='' selected>--</option>";
492                                                else $combo .= "<option value='' >--</option>";
493                                                while(list($cle, $value) = each($clang)) {
494                                                        // arabe seulement si on est en utf-8
495                                                        if (($charset != 'utf-8' and $user_lang != 'ar') or ($charset == 'utf-8')) {
496                                                                if(strcmp($cle, $field_values[$i]) != 0) $combo .= "<option value='$cle'>$value ($cle)</option>";
497                                                                else $combo .= "<option value='$cle' selected>$value ($cle)</option>";
498                                                        }
499                                                }
500                                                $combo .= "</select>";
501                                                $deflt_user.="
502                                                        <div class='row'><div class='colonne60'>".
503                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
504                                                $deflt_user.= "
505                                                        <div class='colonne_suite'>$combo</div></div>\n" ;
506                                                break;
507                                        case "xmlta_doctype_serial" :
508                                                $deflt_user.="
509                                                        <div class='row'><div class='colonne60'>".
510                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
511                                                $deflt_user.= "
512                                                        <div class='colonne_suite'>";
513                                                $select_doc = new marc_select("doctype", "form_".$field, $field_values[$i], "");
514                                                $deflt_user.= $select_doc->display ;
515                                                $deflt_user.="</div></div>\n" ;
516                                                break;
517                                        case "xmlta_doctype_bulletin" :
518                                        case "xmlta_doctype_analysis" :
519                                                $deflt_user.="
520                                                        <div class='row'><div class='colonne60'>".
521                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
522                                                $deflt_user.= "
523                                                        <div class='colonne_suite'>";
524                                                $select_doc = new marc_select("doctype", "form_".$field, $field_values[$i], "","0",$msg[$field."_parent"]);
525                                                $deflt_user.= $select_doc->display ;
526                                                $deflt_user.="</div></div>\n" ;
527                                                break;
528                                        default :
529                                                $deflt_table = substr($field,6);
530                                                $deflt_user.="
531                                                        <div class='row'><div class='colonne60'>".
532                                                        $msg[$field]."&nbsp;:&nbsp;</div>\n";
533                                                $deflt_user.= "
534                                                        <div class='colonne_suite'>";
535                                                $select_doc = new marc_select("$deflt_table", "form_".$field, $field_values[$i], "");
536                                                $deflt_user.= $select_doc->display ;
537                                                $deflt_user.="</div></div>\n" ;
538                                                break;
539                                }
540                        case "deflt3" :
541                                $q='';
542                                $t=array();
543                                switch($field) {
544                                        case "deflt3bibli":
545                                                $q="select 0,'".addslashes($msg['deflt3none'])."' union ";
546                                                $q.="select id_entite, raison_sociale from entites where type_entite='1' order by 2 ";
547                                                break;
548                                        case "deflt3exercice":
549                                                $q="select 0,'".addslashes($msg['deflt3none'])."' union ";
550                                                $q.="select id_exercice, libelle from exercices order by 2 ";
551                                                break;
552                                        case "deflt3rubrique":
553                                                $q="select 0,'".addslashes($msg['deflt3none'])."' union ";
554                                                $q.="select id_rubrique, concat(budgets.libelle,':',rubriques.libelle) from rubriques join budgets on num_budget=id_budget order by 2 ";
555                                                break;
556                                        case "deflt3dev_statut":
557                                                $t=actes::getStatelist(TYP_ACT_DEV);
558                                                break;
559                                        case "deflt3cde_statut":
560                                                $t=actes::getStatelist(TYP_ACT_CDE);
561                                                break;
562                                        case "deflt3liv_statut":
563                                                $t=actes::getStatelist(TYP_ACT_LIV);
564                                                break;
565                                        case "deflt3fac_statut":
566                                                $t=actes::getStatelist(TYP_ACT_FAC);
567                                                break;
568                                        case "deflt3sug_statut":
569                                                $m=new suggestions_map();
570                                                $t=$m->getStateList();
571                                                break;
572                                        case 'deflt3lgstatcde':
573                                        case 'deflt3lgstatdev': 
574                                                $q=lgstat::getList('QUERY');
575                                                break;
576                                        case 'deflt3receptsugstat':
577                                                $m=new suggestions_map();
578                                                $t=$m->getStateList('ORDERED',TRUE);
579                                                break;
580                                }
581                                if($q) {
582                                        $r=pmb_mysql_query($q, $dbh) or die ("<br />".pmb_mysql_error()."<br />".$q."<br />");
583                                        $nb=pmb_mysql_num_rows($r);
584                                        while($row=pmb_mysql_fetch_row($r)) {
585                                                $t[$row[0]]=$row[1];
586                                        }
587                                }
588                                if (count($t)) {
589                                        $deflt3user.="<div class='row'><div class='colonne60'>".$msg[$field]."&nbsp;:&nbsp;</div>\n";
590                                        $deflt3user.= "<div class='colonne_suite'><select class='saisie-30em' name=\"form_".$field."\">";
591                                        foreach($t as $k=>$v) {
592                                                $deflt3user.="<option value=\"".$k."\" " ;
593                                                if ($field_values[$i]==$k) {
594                                                        $deflt3user.="selected" ;
595                                                }
596                                                $deflt3user.=">".htmlentities($v, ENT_QUOTES, $charset)."</option>\n" ;
597                                        }
598                                        $deflt3user.="</select></div></div><br />\n";
599                                }
600                                break;
601                        case "speci_" :
602                                $speci_func = substr($field, 6);
603                                eval('$speci_user.= get_'.$speci_func.'($PMBuserid, $field_values, $i, \'account_form\');'); 
604                                break;
605                        default :
606                                break ;
607                }
608                       
609                $i++;
610        }
611
612        $param_default="
613                <div class='row'><hr /></div>
614                        $param_user
615                <div class='row'><hr /></div>
616                        ".str_replace("!!param_allloc!!",$param_user_allloc,$deflt_user)."
617                <br />
618                <div class='row'><hr /></div>
619                        $value_user";
620        if ($speci_user || $deflt3user) {
621                $param_default.= "<div class='row'><hr /></div>";
622                $param_default.=$deflt3user;
623                $param_default.=$speci_user;
624                $param_default.= "<div class='row'></div>";     
625        }
626        $account_form = str_replace('!!all_user_param!!', $param_default, $account_form);
627        // fin gestion des paramètres personalisés du user
628       
629        $account_form = str_replace('!!combo_user_style!!', make_user_style_combo($stylesheet), $account_form);
630        $account_form = str_replace('!!combo_user_lang!!', make_user_lang_combo($user_params->user_lang), $account_form);
631        $account_form = str_replace('!!nb_per_page_search!!', $user_params->nb_per_page_search, $account_form);
632        $account_form = str_replace('!!nb_per_page_select!!', $user_params->nb_per_page_select, $account_form);
633        $account_form = str_replace('!!nb_per_page_gestion!!', $user_params->nb_per_page_gestion, $account_form);
634        print $account_form;
635
636} else {
637               
638        // code de mise à jour
639        // constitution des variables MySQL
640        // mise à jour de la date d'update
641       
642        $names[] = 'last_updated_dt';
643        $values[] = "'".today()."'";
644       
645        $names[] = 'user_lang';
646        $values[] = "'$user_lang'";
647       
648        if ($form_pwd) {
649                $names[] = 'pwd';
650                $values[] = "password('$form_pwd')";
651                $names[] = 'user_digest';
652                $values[]= "'".md5(SESSlogin.":".md5($pmb_url_base).":".$form_pwd)."'";
653        }
654       
655        if($form_nb_per_page_search >= 1) {
656                $names[] = 'nb_per_page_search';
657                $values[] = "'$form_nb_per_page_search'";
658        }
659       
660        if($form_nb_per_page_select >= 1) {
661                $names[] = 'nb_per_page_select';
662                $values[] = "'$form_nb_per_page_select'";
663        }
664       
665        if($form_nb_per_page_gestion >= 1) {
666                $names[] = 'nb_per_page_gestion';
667                $values[] = "'$form_nb_per_page_gestion'";
668        }
669       
670        if(strcmp($form_style, $stylesheet)) {
671                $names[] .= 'deflt_styles';
672                $values[] .= "'$form_style'";
673        }
674       
675                       
676        /* insérer ici la maj des param et deflt */
677       
678        //maj thesaurus par defaut en session
679        if ($form_deflt_thesaurus) thesaurus::setSessionThesaurusId($form_deflt_thesaurus);
680                       
681        $requete_param = "SELECT * FROM users WHERE userid='$PMBuserid' LIMIT 1 ";
682        $res_param = pmb_mysql_query($requete_param, $dbh);
683        $field_values = pmb_mysql_fetch_row( $res_param );
684        $i = 0;
685        while ($i < pmb_mysql_num_fields($res_param)) {
686                $field = pmb_mysql_field_name($res_param, $i) ;
687                $field_deb = substr($field,0,6);
688                switch ($field_deb) {
689                        case "deflt_" :
690                                if ($field == "deflt_styles") {
691                                        $dummy[$i+8]=$field."='".$form_style."'";
692                                } elseif ($field == "deflt_docs_section") {
693                                        $formlocid="f_ex_section".$form_deflt_docs_location ;
694                                        $dummy[$i+8]=$field."='".$$formlocid."'";
695                                } else {
696                                        $var_form = "form_".$field;
697                                        $dummy[$i+8]=$field."='".$$var_form."'";
698                                }
699                                break;
700                        case "deflt2" :
701                                $var_form = "form_".$field;
702                                $dummy[$i+8]=$field."='".$$var_form."'";
703                                break ;
704                        case "param_" :
705                                $var_form = "form_".$field;
706                                $dummy[$i+8]=$field."='".$$var_form."'";
707                                break ;
708                        case "value_" :
709                                $var_form = "form_".$field;
710                                $dummy[$i+8]=$field."='".$$var_form."'";
711                                break ;
712                        case "xmlta_" :
713                                $var_form = "form_".$field;
714                                $dummy[$i+8]=$field."='".$$var_form."'";
715                                break ;
716                        case "deflt3" :
717                                $var_form = "form_".$field;
718                                $dummy[$i+8]=$field."='".$$var_form."'";
719                                break ;
720                        case "speci_" :
721                                $speci_func = substr($field, 6);
722                                eval('$dummy[$i+8].= set_'.$speci_func.'();');
723                                break;
724                        default :
725                                break ;
726                }
727                $i++;
728        }
729
730        if(!empty($dummy)) {
731                $set = join($dummy, ", ");
732                $set = " , ".$set ;
733        } else $set = "" ;
734               
735        if(sizeof($names) == sizeof($values)) {
736                while(list($cle, $valeur) = each($names)) {
737                        $n_values ? $n_values .= ", $valeur=${values[$cle]}" : $n_values = "$valeur=${values[$cle]}";
738            }
739                $requete = "UPDATE users SET $n_values $set , last_updated_dt=curdate() WHERE username='".SESSlogin."' ";
740                $result = @pmb_mysql_query($requete, $dbh);
741                if($result) {
742                        $loc = "index.php" ;
743                        if (SESSrights & ADMINISTRATION_AUTH) 
744                                $loc="admin.php";
745                        if (SESSrights & EDIT_AUTH) 
746                                $loc="edit.php";
747                        if (SESSrights & AUTORITES_AUTH) 
748                                $loc="autorites.php";
749                        if (SESSrights & CATALOGAGE_AUTH) 
750                                $loc="catalog.php";
751                        if (SESSrights & CIRCULATION_AUTH) 
752                                $loc="circ.php";
753                        print $msg["937"]." <!-- back to main page --> <script type=\"text/javascript\"> document.location=\"./".$loc."\"; </script>";
754                } else {
755                        // c'est parti en vrac : erreur MySQL
756                        warning($msg["281"], $msg["936"]);
757                }
758        }
759}
760       
761print "</div></div>";
762print $account_layout_end;
763print $extra;
764print $extra_info;
765print $footer;
766
767pmb_mysql_close($dbh);
Note: See TracBrowser for help on using the repository browser.