userid = $userid+0; $this->fetch_data(); } public static function get_field_selector($field, $selector) { global $msg; //TODO : Tester les deux points finaux du $msg return "
".$msg[$field]." : 
".$selector."
\n"; } public static function get_field_radio($field, $selected) { global $msg; return "
".$msg[$field]."
\n
".$msg[39]." ".$msg[40]."
\n"; } public static function get_field_checkbox($field, $checked) { global $msg; return "
".$msg[$field]."
\n
\n"; } public static function get_form($id=0, $caller='') { global $msg, $charset; global $base_path, $class_path, $include_path; global $deflt_concept_scheme; global $pmb_droits_explr_localises; global $deflt_docs_location; global $cms_active; global $pmb_scan_request_activate; global $pmb_printer_name; //A verifier : si ce sont bien des globales global $explr_invisible; global $explr_visible_unmod; global $explr_visible_mod; global $user_lang; $requete = "SELECT username, nom, prenom, rights, userid, user_lang, "; $requete .="nb_per_page_search, nb_per_page_select, nb_per_page_gestion, "; $requete .="param_popup_ticket, param_sounds, "; $requete .="user_email, user_alert_resamail, user_alert_demandesmail, user_alert_subscribemail, user_alert_serialcircmail, user_alert_suggmail, explr_invisible, explr_visible_mod, explr_visible_unmod, grp_num FROM users WHERE userid='$id' LIMIT 1 "; $res = pmb_mysql_query($requete); $nbr = pmb_mysql_num_rows($res); if ($nbr) { $usr=pmb_mysql_fetch_object($res); } else die ('Unknown user'); $requete_param = "SELECT * FROM users WHERE userid='$id' LIMIT 1 "; $res_param = pmb_mysql_query($requete_param); $field_values = pmb_mysql_fetch_row( $res_param ); $param_user="
".$msg["1500"]."
\n"; $deflt_user="
".$msg["1501"]."
\n"; $speci_user=""; $deflt3user=""; $value_user=""; $i = 0; while ($i < pmb_mysql_num_fields($res_param)) { $field = pmb_mysql_field_name($res_param, $i) ; $field_deb = substr($field,0,6); switch ($field_deb) { case "deflt_" : if ($field=="deflt_styles") { $deflt_user_style=static::get_field_selector($field, make_user_style_combo($field_values[$i])); } elseif ($field=="deflt_docs_location") { //visibilité des exemplaires if ($pmb_droits_explr_localises && $usr->explr_visible_mod) $where_clause_explr = "idlocation in (".$usr->explr_visible_mod.") and"; else $where_clause_explr = ""; $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); $deflt_user .= static::get_field_selector($field, $selector); //localisation de l'utilisateur pour le calcul de la section $location_user_section = $field_values[$i]; } elseif ($field=="deflt_collstate_location") { $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); $deflt_user .= static::get_field_selector($field, $selector); } elseif ($field=="deflt_resas_location") { $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); $deflt_user .= static::get_field_selector($field, $selector); } elseif ($field=="deflt_docs_section") { // calcul des sections $selector=""; if (!$location_user_section) $location_user_section = $deflt_docs_location; if ($pmb_droits_explr_localises && $usr->explr_visible_mod) $where_clause_explr = "where idlocation in (".$usr->explr_visible_mod.")"; else $where_clause_explr = ""; $rqtloc = "SELECT idlocation FROM docs_location $where_clause_explr order by location_libelle"; $resloc = pmb_mysql_query($rqtloc); while ($loc=pmb_mysql_fetch_object($resloc)) { $requete = "SELECT idsection, section_libelle FROM docs_section, docsloc_section where idsection=num_section and num_location='$loc->idlocation' order by section_libelle"; $result = pmb_mysql_query($requete); $nbr_lignes = pmb_mysql_num_rows($result); if ($nbr_lignes) { if ($loc->idlocation==$location_user_section ) $selector .= "
idlocation."\" style=\"display:block\">\r\n"; else $selector .= "
idlocation."\" style=\"display:none\">\r\n"; $selector .= "
'; } } $deflt_user .= static::get_field_selector($field, $selector); } elseif ($field=="deflt_upload_repertoire") { $selector = ""; $requpload = "select repertoire_id, repertoire_nom from upload_repertoire"; $resupload = pmb_mysql_query($requpload); $selector .= "
"; $selector .= "
"; $deflt_user .= static::get_field_selector($field, $selector); } elseif($field=="deflt_import_thesaurus"){ $requete="select * from thesaurus order by 2"; $resultat_liste=pmb_mysql_query($requete); $nb_liste=pmb_mysql_num_rows($resultat_liste); if($nb_liste) { $selector = " " ; $deflt_user .= static::get_field_selector($field, $selector); } } elseif ($field=="deflt_short_loan_activate") { $deflt_user.=static::get_field_checkbox($field, $field_values[$i]); } elseif ($field=="deflt_camera_empr") { $deflt_user.=static::get_field_checkbox($field, $field_values[$i]); } elseif ($field=="deflt_cashdesk"){ $requete="select * from cashdesk order by cashdesk_name"; $resultat_liste=pmb_mysql_query($requete); $nb_liste=pmb_mysql_num_rows($resultat_liste); if ($nb_liste) { $selector= ""; $deflt_user .= static::get_field_selector($field, $selector); } } elseif(($field=="deflt_concept_scheme")){ $deflt_user.="
".$msg[$field]."
\n"; $deflt_user.="
"; $onto_store_config = array( /* db */ 'db_name' => DATA_BASE, 'db_user' => USER_NAME, 'db_pwd' => USER_PASS, 'db_host' => SQL_SERVER, /* store */ 'store_name' => 'ontology', /* stop after 100 errors */ 'max_errors' => 100, 'store_strip_mb_comp_str' => 0 ); $data_store_config = array( /* db */ 'db_name' => DATA_BASE, 'db_user' => USER_NAME, 'db_pwd' => USER_PASS, 'db_host' => SQL_SERVER, /* store */ 'store_name' => 'rdfstore', /* stop after 100 errors */ 'max_errors' => 100, 'store_strip_mb_comp_str' => 0 ); $tab_namespaces=array( "skos" => "http://www.w3.org/2004/02/skos/core#", "dc" => "http://purl.org/dc/elements/1.1", "dct" => "http://purl.org/dc/terms/", "owl" => "http://www.w3.org/2002/07/owl#", "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs" => "http://www.w3.org/2000/01/rdf-schema#", "xsd" => "http://www.w3.org/2001/XMLSchema#", "pmb" => "http://www.pmbservices.fr/ontology#" ); $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'); $params=new onto_param(); $params->concept_scheme=$deflt_concept_scheme; $onto_controler=new onto_skos_controler($onto_handler, $params); $deflt_user.=onto_skos_concept_ui::get_scheme_list_selector($onto_controler, $params,true,'','form_deflt_concept_scheme'); $deflt_user.="
\n" ; } elseif ($field=="deflt_notice_replace_keep_categories") { $deflt_user.=static::get_field_radio($field, $field_values[$i]); } elseif ($field=="deflt_notice_is_new") { $deflt_user.=static::get_field_radio($field, $field_values[$i]); } elseif ($field=="deflt_bulletinage_location") { $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); $deflt_user.=static::get_field_selector($field, $selector); } elseif ($field=="deflt_agnostic_warehouse") { $conn=new agnostic($base_path.'/admin/connecteurs/in/agnostic'); $conn->get_sources(); $selector = ""; $deflt_user.=static::get_field_selector($field, $selector); } elseif ($field=="deflt_cms_article_statut") { if($cms_active && (SESSrights & CMS_AUTH)){ $publications_states = new cms_editorial_publications_states(); $selector = " "; $deflt_user.=static::get_field_selector($field, $selector); } } elseif ($field=="deflt_cms_article_type") { if($cms_active && (SESSrights & CMS_AUTH)){ $types = new cms_editorial_types('article'); $types->get_types(); $selector = " "; $deflt_user.=static::get_field_selector($field, $selector); } } elseif ($field=="deflt_cms_section_type") { if($cms_active && (SESSrights & CMS_AUTH)){ $types = new cms_editorial_types('section'); $types->get_types(); $selector = " "; $deflt_user.=static::get_field_selector($field, $selector); } }elseif ($field=="deflt_scan_request_status") { if($pmb_scan_request_activate){ $request_status_instance = new scan_request_admin_status(); $selector = " "; $deflt_user.=static::get_field_selector($field, $selector); } } elseif ($field=="deflt_catalog_expanded_caddies") { $deflt_user.=static::get_field_radio($field, $field_values[$i]); } elseif ($field=="deflt_notice_replace_links") { $selector = " ".$msg['notice_replace_links_option_keep_all']."
".$msg['notice_replace_links_option_keep_replacing']."
".$msg['notice_replace_links_option_keep_replaced']; $deflt_user.=static::get_field_selector($field, $selector); }elseif ($field=="deflt_printer") { if (substr($pmb_printer_name,0,9) == 'raspberry') { $selector = " "; $deflt_user.=static::get_field_selector($field, $selector); } } else { $deflt_table = substr($field,6); if($deflt_table == "integration_notice_statut") $deflt_table= "notice_statut"; switch($field) { case "deflt_entites": $requete="select id_entite, raison_sociale from ".$deflt_table." where type_entite='1' order by 2 "; break; case "deflt_exercices": $requete="select id_exercice, libelle from ".$deflt_table." order by 2 "; break; case "deflt_rubriques": $requete="select id_rubrique, concat(budgets.libelle,':', rubriques.libelle) from ".$deflt_table." join budgets on num_budget=id_budget order by 2 "; break; default : $requete="select * from ".$deflt_table." order by 2"; break; } $resultat_liste=pmb_mysql_query($requete); $nb_liste=pmb_mysql_num_rows($resultat_liste); if ($nb_liste) { $selector=" "; $deflt_user.=static::get_field_selector($field, $selector); } } break; case "param_" : if ($field=="param_allloc") { $param_user_allloc="
".$msg[$field]."
\n
')) $param_user .= "
"; $param_user.="table[$field_values[$i]]; $value_user.="
$msg[$field] : 
\n

"; break; case "value_deflt_lang" : $llist=new marc_list('lang'); $l=$llist->table[$field_values[$i]]; $value_user.="
$msg[$field] : 
\n

"; break; case "value_deflt_relation" : case "value_deflt_relation_serial" : case "value_deflt_relation_bulletin" : case "value_deflt_relation_analysis" : $selector = notice_relations::get_selector('form_'.$field, $field_values[$i]); $value_user.=static::get_field_selector($field, $selector); break; case "value_deflt_module" : $arrayModules = array( 'dashboard'=>$msg['dashboard'], 'circu'=>$msg['5'], 'catal'=>$msg['93'], 'autor'=>$msg['132'], 'edit'=>$msg['1100'], 'dsi'=>$msg['dsi_droit'], 'acquis'=>$msg['acquisition_droit'], 'admin'=>$msg['7'], 'cms'=>$msg['cms_onglet_title'], 'account'=>$msg['933'], 'fiches'=>$msg['onglet_fichier'] ); $selector = ""; $value_user.=static::get_field_selector($field, $selector); break; default : $value_user.="
$msg[$field] : 
\n

"; break; } break ; case "deflt2" : if ($field=="deflt2docs_location") { // localisation des lecteurs $deflt_table = substr($field,6); $requete="select * from ".$deflt_table." order by 2"; $resultat_liste=pmb_mysql_query($requete); $nb_liste=pmb_mysql_num_rows($resultat_liste); if ($nb_liste==0) { $deflt_user.="" ; } else { $deflt_user.="
". $msg[$field]." : 
\n"; $deflt_user.= "
!!param_allloc!!
\n" ; } } else { $deflt_table = substr($field,6); $requete="select * from ".$deflt_table." order by 2 "; $resultat_liste=pmb_mysql_query($requete); $nb_liste=pmb_mysql_num_rows($resultat_liste); if ($nb_liste==0) { $deflt_user.="" ; } else { $deflt_user.="
". $msg[$field]." : 
\n"; $deflt_user.= "
\n" ; } } break; case "xmlta_" : switch($field) { case "xmlta_indexation_lang" : $langues = new XMLlist("$include_path/messages/languages.xml"); $langues->analyser(); $clang = $langues->table; $combo = ""; $deflt_user.=static::get_field_selector($field, $combo); break; case "xmlta_doctype_serial" : $select_doc = new marc_select("doctype", "form_".$field, $field_values[$i], ""); $deflt_user.=static::get_field_selector($field, $select_doc->display); break; case "xmlta_doctype_bulletin" : case "xmlta_doctype_analysis" : $select_doc = new marc_select("doctype", "form_".$field, $field_values[$i], "","0",$msg[$field."_parent"]); $deflt_user.=static::get_field_selector($field, $select_doc->display); break; case "xmlta_doctype_scan_request_folder_record" : if($pmb_scan_request_activate){ $select_doc = new marc_select("doctype", "form_".$field, $field_values[$i], ""); $deflt_user.=static::get_field_selector($field, $select_doc->display); } break; default : $deflt_table = substr($field,6); $select_doc = new marc_select("$deflt_table", "form_".$field, $field_values[$i], ""); $deflt_user.=static::get_field_selector($field, $select_doc->display); break; } case "deflt3" : $q=''; $t=array(); switch($field) { case "deflt3bibli": $q="select 0,'".addslashes($msg['deflt3none'])."' union "; $q.="select id_entite, raison_sociale from entites where type_entite='1' order by 2 "; break; case "deflt3exercice": $q="select 0,'".addslashes($msg['deflt3none'])."' union "; $q.="select id_exercice, libelle from exercices order by 2 "; break; case "deflt3rubrique": $q="select 0,'".addslashes($msg['deflt3none'])."' union "; $q.="select id_rubrique, concat(budgets.libelle,':', rubriques.libelle) from rubriques join budgets on num_budget=id_budget order by 2 "; break; case "deflt3dev_statut": $t=actes::getStatelist(TYP_ACT_DEV); break; case "deflt3cde_statut": $t=actes::getStatelist(TYP_ACT_CDE); break; case "deflt3liv_statut": $t=actes::getStatelist(TYP_ACT_LIV); break; case "deflt3fac_statut": $t=actes::getStatelist(TYP_ACT_FAC); break; case "deflt3sug_statut": $m=new suggestions_map(); $t=$m->getStateList(); break; case 'deflt3lgstatcde': case 'deflt3lgstatdev': $q=lgstat::getList('QUERY'); break; case 'deflt3receptsugstat': $m=new suggestions_map(); $t=$m->getStateList('ORDERED',TRUE); break; } if($q) { $r=pmb_mysql_query($q); $nb=pmb_mysql_num_rows($r); while($row=pmb_mysql_fetch_row($r)) { $t[$row[0]]=$row[1]; } } if (count($t)) { $deflt3user.="
".$msg[$field]." : 
\n"; $deflt3user.= "

\n"; } break; case "speci_" : $speci_func = substr($field, 6); eval('$speci_user.= get_'.$speci_func.'($id, $field_values, $i, \''.$caller.'\');'); break; case "explr_" : ${$field}=$field_values[$i]; break; default : break ; } $i++; } if($caller == 'userform') { //visibilité des exemplaires if ($pmb_droits_explr_localises) { $explr_tab_invis=explode(",",$explr_invisible); $explr_tab_unmod=explode(",",$explr_visible_unmod); $explr_tab_modif=explode(",",$explr_visible_mod); $visibilite_expl_user="

".$msg["expl_visibilite"]." : 
 
\n"; $requete_droits_expl="select idlocation, location_libelle from docs_location order by location_libelle"; $resultat_droits_expl=pmb_mysql_query($requete_droits_expl); $temp=""; while ($j=pmb_mysql_fetch_array($resultat_droits_expl)) { $temp.=$j["idlocation"].","; $visibilite_expl_user.= "
".$j["location_libelle"]." :
 
\n" ; } pmb_mysql_free_result($resultat_droits_expl); if ((!$explr_invisible)&&(!$explr_visible_unmod)&&(!$explr_visible_mod)) { $rqt="UPDATE users SET explr_invisible=0,explr_visible_mod=0,explr_visible_unmod='".substr($temp,0,strlen($temp)-1)."' WHERE userid=$id"; @pmb_mysql_query($rqt); } $deflt_user .=$visibilite_expl_user; } //fin visibilité des exemplaires } $param_default="

".$param_user."

".str_replace("!!param_allloc!!",$param_user_allloc,$deflt_user)."

".$value_user. ($caller == 'userform' ? "

$deflt_user_style
" : ""); if ($speci_user || $deflt3user) { $param_default.= "

"; $param_default.=$deflt3user; $param_default.=$speci_user; $param_default.= "
"; } return $param_default; } public static function get_param($id, $field) { $id += 0; $param = ''; if($id) { $query = "SELECT ".$field." FROM users WHERE userid='".$id."' "; $result = pmb_mysql_query($query); $param = pmb_mysql_result($result, 0, 0); } return $param; } } // fin de déclaration de la classe user