gen_signature(); $requete="select signature, niveau_biblio ,niveau_hierar ,notice_id from notices where signature='$signature' limit 1"; $res = mysql_query($requete); if(mysql_num_rows($res)){ if (($r=mysql_fetch_object($res))) { //affichage de l'erreur, en passant tous les param postes (serialise) pour l'eventuel forcage $tab=new stdClass(); $tab->POST = $_POST; $tab->GET = $_GET; $force_url= htmlentities(serialize($tab), ENT_QUOTES,$charset); require_once("$class_path/mono_display.class.php"); print "
$msg[540]
".$msg["gen_signature_erreur_similaire"]."
"; if (($notice->niveau_biblio =='s' || $r->niveau_biblio =='a') && ($r->niveau_hierar== 1 || $r->niveau_hierar== 2)) { $link_serial = './catalog.php?categ=serials&sub=view&serial_id=!!id!!'; $link_analysis = './catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!'; $link_bulletin = './catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!id!!'; $link_explnum = "./catalog.php?categ=serials&sub=analysis&action=explnum_form&bul_id=!!bul_id!!&analysis_id=!!analysis_id!!&explnum_id=!!explnum_id!!"; $serial = new serial_display($r->notice_id, 6, $link_serial, $link_analysis, $link_bulletin, "", $link_explnum, 0, 0,1, 1); $notice_display = pmb_bidi($serial->result); } elseif ($r->niveau_biblio=='m' && $r->niveau_hierar== 0) { $link = './catalog.php?categ=isbd&id=!!id!!'; $link_expl = './catalog.php?categ=edit_expl&id=!!notice_id!!&cb=!!expl_cb!!&expl_id=!!expl_id!!'; $link_explnum = './catalog.php?categ=edit_explnum&id=!!notice_id!!&explnum_id=!!explnum_id!!'; $display = new mono_display($r->notice_id, 6, $link, 1, $link_expl, '', $link_explnum,1, 0, 1, 1,"", 1, false, true); $notice_display = pmb_bidi($display->result); } elseif ($r->niveau_biblio=='b' && $r->niveau_hierar==2) { // on est face à une notice de bulletin $requete_suite = "SELECT bulletin_id, bulletin_notice FROM bulletins where num_notice='".$r->notice_id."'"; $result_suite = mysql_query($requete_suite, $dbh) or die("

".mysql_error()."

"); $notice_suite = mysql_fetch_object($result_suite); $r->bulletin_id=$notice_suite->bulletin_id; $r->bulletin_notice=$notice_suite->bulletin_notice; $link_bulletin = './catalog.php?categ=serials&sub=bulletinage&action=view&bul_id='.$r->bulletin_id; $display = new mono_display($r->notice_id, 6, $link_bulletin, 1, $link_expl, '', $link_explnum,1, 0, 1, 1, "", 1); $notice_display = $display->result; } echo "
$notice_display
"; exit(); } } } }else{ $tab= unserialize(stripslashes($force_url)); foreach($tab->GET as $key => $val){ if (get_magic_quotes_gpc()) $GLOBALS[$key] = $val; else { add_sl($val); $GLOBALS[$key] = $val; } } foreach($tab->POST as $key => $val){ if (get_magic_quotes_gpc()) $GLOBALS[$key] = $val; else { add_sl($val); $GLOBALS[$key] = $val; } } } //on intègre... $z=new z3950_notice("form"); //on reporte la signature de la notice calculée ou non... $z->signature = $signature; if($infos['notice']) $z->notice = $infos['notice']; if($infos['source_id']) $z->source_id = $infos['source_id']; if (isset($notice_id)) $ret=$z->update_in_database($notice_id); else $ret=$z->insert_in_database(); //on conserve la trace de l'origine de la notice... $id_notice = $ret[1]; $rqt = "select recid from external_count where rid = '$item'"; $res = mysql_query($rqt); if(mysql_num_rows($res)) $recid = mysql_result($res,0,0); $req= "insert into notices_externes set num_notice = '".$id_notice."', recid = '".$recid."'"; mysql_query($req); if ($ret[0]) { if($z->bull_id && $z->perio_id){ $notice_display=new serial_display($ret[1],6); } else $notice_display=new mono_display($ret[1],6); $retour = "
".(isset($notice_id) ? $msg["notice_connecteur_remplaced_ok"] : $msg["z3950_integr_not_ok"])." ".$notice_display->result."
"; if($z->bull_id && $z->perio_id) $url_view = "./catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=$z->bull_id&art_to_show=$ret[1]"; else $url_view = "./catalog.php?categ=isbd&id=".$ret[1]; $retour .= "
 
"; print $retour; } else if ($ret[1]){ if($z->bull_id && $z->perio_id){ $notice_display=new serial_display($ret[1],6); } else $notice_display=new mono_display($ret[1],6); $retour = "
$msg[540]
".($msg["z3950_integr_not_existait"])."

".$notice_display->result."
"; if($z->bull_id && $z->perio_id) $url_view = "./catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=$z->bull_id&art_to_show=$ret[1]"; else $url_view = "./catalog.php?categ=isbd&id=".$ret[1]; $retour .= "
 
"; print $retour; } else { $retour = ""; $retour .= form_error_message($msg["connecteurs_cant_integrate_title"], ($ret[1]?$msg["z3950_integr_not_existait"]:$msg["z3950_integr_not_newrate"]), $msg["connecteurs_back_to_list"], "catalog.php?categ=search&mode=7&sub=launch",array("serialized_search"=>$sc->serialize_search())); print $retour; } break; default: if (isset($notice_id)) $notice_id_info = "¬ice_id=".$notice_id; else $notice_id_info = ""; //Construction de la notice UNIMARC $infos=entrepot_to_unimarc($item); if ($infos['notice']) { //regardons si on ne l'a pas déjà traité $rqt = "select recid from external_count where rid = '$item'"; $res = mysql_query($rqt); if(mysql_num_rows($res)) $recid = mysql_result($res,0,0); $req = "select num_notice from notices_externes where recid like '$recid'"; $res = mysql_query($req); if(mysql_num_rows($res)){ $integrate = true; $id_notice = mysql_result($res,0,0); $requete = "SELECT * FROM notices where notice_id = '".$id_notice."'"; $result = mysql_query($requete, $dbh); if(mysql_num_rows($result)){ $notice = mysql_fetch_object($result); if (($notice->niveau_biblio =='s' || $notice->niveau_biblio =='a') && ($notice->niveau_hierar== 1 || $notice->niveau_hierar== 2)) { $link_serial = './catalog.php?categ=serials&sub=view&serial_id=!!id!!'; $link_analysis = './catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!bul_id!!&art_to_show=!!id!!'; $link_bulletin = './catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=!!id!!'; $link_explnum = "./catalog.php?categ=serials&sub=analysis&action=explnum_form&bul_id=!!bul_id!!&analysis_id=!!analysis_id!!&explnum_id=!!explnum_id!!"; $serial = new serial_display($notice, 6, $link_serial, $link_analysis, $link_bulletin, "", $link_explnum, 0, 0,1, 1); $notice_display = pmb_bidi($serial->result); } elseif ($notice->niveau_biblio=='m' && $notice->niveau_hierar== 0) { $link = './catalog.php?categ=isbd&id=!!id!!'; $link_expl = './catalog.php?categ=edit_expl&id=!!notice_id!!&cb=!!expl_cb!!&expl_id=!!expl_id!!'; $link_explnum = './catalog.php?categ=edit_explnum&id=!!notice_id!!&explnum_id=!!explnum_id!!'; // function mono_display($id, $level=1, $action='', $expl=1, $expl_link='', $lien_suppr_cart="", $explnum_link='', $show_resa=0, $print=0, $show_explnum=1, $show_statut=0, $anti_loop='', $draggable=0, $no_link=false, $show_opac_hidden_fields=true ) { $display = new mono_display($notice, 6, $link, 1, $link_expl, '', $link_explnum,1, 0, 1, 1,"", 1, false, true); $notice_display = pmb_bidi($display->result); } elseif ($notice->niveau_biblio=='b' && $notice->niveau_hierar==2) { // on est face à une notice de bulletin $requete_suite = "SELECT bulletin_id, bulletin_notice FROM bulletins where num_notice='".$notice->notice_id."'"; $result_suite = mysql_query($requete_suite, $dbh) or die("

".mysql_error()."

"); $notice_suite = mysql_fetch_object($result_suite); $notice->bulletin_id=$notice_suite->bulletin_id; $notice->bulletin_notice=$notice_suite->bulletin_notice; $link_bulletin = './catalog.php?categ=serials&sub=bulletinage&action=view&bul_id='.$notice->bulletin_id; $display = new mono_display($notice, 6, $link_bulletin, 1, $link_expl, '', $link_explnum,1, 0, 1, 1, "", 1); $notice_display = $display->result; } } }else $integrate = false; if($integrate == false || $force==1){ $z=new z3950_notice("unimarc",$infos['notice'],$infos['source_id']); $z->libelle_form = isset($notice_id) ? $msg[notice_connecteur_remplace_catal] : ''; if($z->bibliographic_level == "a" && $z->hierarchic_level=="2"){ $form=$z->get_form("catalog.php?categ=search&mode=7&sub=integre&action=record".$notice_id_info."&item=$item",0,'button',true); } else{ $form=$z->get_form("catalog.php?categ=search&mode=7&sub=integre&action=record".$notice_id_info."&item=$item",0,'button'); } if (isset($notice_id)) { $form=str_replace("","

".sprintf($msg["notice_replace_external_action"],$notice_id, $item)."

",$form); } else $form=str_replace("","

".sprintf($msg["connecteurs_integrate"],$item)."

",$form); $form=str_replace("","",$form); print $form; }else{ $tab=new stdClass(); $tab->POST = $_POST; $tab->GET = $_GET; $force_url= htmlentities(serialize($tab), ENT_QUOTES,$charset); print "

$msg[540]
".$msg['external_notice_already_integrate']."
$notice_display
"; } } else { error_message_history($msg["connecteurs_unable_to_convert_title"], $msg["connecteurs_unable_to_convert"], 1); } break; } ?>