id=$id+0; // id de la notice
$this->fetch_data();
}
function fetch_data() {
global $dbh;
$this->onglets_info=array();
$this->onglets_auth_list=array();
$authpersos = new authpersos();
// infos des autorités existantes
$this->onglets_info=$authpersos->get_onglet_list();
if(!$this->id) return;
// pour chaque autorités existantes récupérér les autorités affectés à la notice
$req="select * from authperso, notices_authperso,authperso_authorities where id_authperso=authperso_authority_authperso_num and notice_authperso_authority_num=id_authperso_authority and notice_authperso_notice_num=".$this->id."
order by notice_authperso_order";
$res = pmb_mysql_query($req,$dbh);
while(($r=pmb_mysql_fetch_object($res))) {
// get isbd ...
$this->auth_info[$r->notice_authperso_authority_num]['onglet_num']=$r->authperso_notice_onglet_num;
$this->auth_info[$r->notice_authperso_authority_num]['authperso_name']=$r->authperso_name;
$this->auth_info[$r->notice_authperso_authority_num]['infos_global']=$r->authperso_infos_global;
$this->auth_info[$r->notice_authperso_authority_num]['index_infos_global']=$r->authperso_index_infos_global;
$authperso = new authperso($r->id_authperso);
$isbd=$authperso->get_isbd($r->notice_authperso_authority_num);
$this->onglets_auth_list[$r->authperso_notice_onglet_num][$r->id_authperso][$r->notice_authperso_authority_num]['id']=$r->notice_authperso_authority_num;
$this->onglets_auth_list[$r->authperso_notice_onglet_num][$r->id_authperso][$r->notice_authperso_authority_num]['isbd']=$isbd;
$this->onglets_auth_list[$r->authperso_notice_onglet_num][$r->id_authperso][$r->notice_authperso_authority_num]['authperso_name']=$r->authperso_name;
$info_fields=$authperso->get_info_fields($r->notice_authperso_authority_num);
$this->auth_info[$r->notice_authperso_authority_num]['isbd']=$isbd;
$this->auth_info[$r->notice_authperso_authority_num]['info_fields']=$info_fields;
//printr($info_fields);
}
}
function get_notice_display(){
global $pmb_url_base;
$aff="";
foreach($this->onglets_auth_list as $onglet_num => $onglet){
$authperso_name="";
foreach($onglet as $authperso_num => $auth_perso){
foreach($auth_perso as $auth_num => $auth){
if($authperso_name!=$auth['authperso_name']){
$authperso_name=$auth['authperso_name'];
$aff.="
".$authperso_name." : ";
$new=1;
}
if(!$new) $aff.=", ";
$aff.= ''.$auth['isbd'].'';
$new=0;
}
}
}
return $aff;
}
function get_notice_display_list(){
$aff_list=array();
foreach($this->onglets_auth_list as $onglet_num => $onglet){
$authperso_name="";
foreach($onglet as $authperso_num => $auth_perso){
$aff_list[$authperso_num]['isbd']="";
$aff_list[$authperso_num]['name']="";
foreach($auth_perso as $auth_num => $auth){
$aff_list[$authperso_num]['name']=$auth['authperso_name'];
if($aff_list[$authperso_num]['isbd'])$aff_list[$authperso_num]['isbd'].=", ";
$aff_list[$authperso_num]['isbd'].=$auth['isbd'];
}
}
}
return $aff_list;
}
function get_index_fields(){
$index_fields=array();
foreach($this->auth_info as $auth){
foreach($auth['info_fields'] as $field){
// printr($field);
if($field['search'] ){
$index_fields[$field['code_champ']]['pond']=$field['pond'];
if($field['all_format_values'])
$index_fields[$field['code_champ']]['ss_champ'][][$field['code_ss_champ']].=$field['all_format_values'];
}
}
}
return $index_fields;
}
function get_index_fields_to_delete(){
return authpersos::get_all_index_fields();
}
function get_form(){
global $msg,$charset,$base_path;
$onglet_all_tpl="
";
$authperso_notice_onglet_tpl="