gen_signature(); $requete="select signature, niveau_biblio ,niveau_hierar ,notice_id from notices where signature='$signature'"; $result = pmb_mysql_query($requete); if ($dbls=pmb_mysql_num_rows($result)) { //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($dbls<$nb_per_page_search){ $maxAffiche=$dbls; echo "
".sprintf($msg["gen_signature_erreur_similaire_nb"],$dbls,$dbls)."
"; }else{ $maxAffiche=$nb_per_page_search; echo "
".sprintf($msg["gen_signature_erreur_similaire_nb"],$maxAffiche,$dbls)."
"; } $enCours=1; while($enCours<=$maxAffiche){ $r=pmb_mysql_fetch_object($result); $records = array($r->notice_id); $elements_records_list_ui = new elements_records_list_ui($records, count($records), false); $notice_display = $elements_records_list_ui->get_elements_list(); echo "
$notice_display
"; $enCours++; } 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 ($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 = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)) $recid = pmb_mysql_result($res,0,0); $req= "insert into notices_externes set num_notice = '".$id_notice."', recid = '".$recid."'"; pmb_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 = "
".($notice_id ? $msg["notice_connecteur_remplaced_ok"] : $msg["z3950_integr_not_ok"])." ".$notice_display->result."
"; if($z->bull_id && $z->perio_id) $url_view = analysis::get_permalink($ret[1], $z->bull_id); else $url_view = notice::get_permalink($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 = analysis::get_permalink($ret[1], $z->bull_id); else $url_view = notice::get_permalink($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 ($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 = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)) $recid = pmb_mysql_result($res,0,0); $req = "select num_notice from notices_externes where recid like '$recid'"; $res = pmb_mysql_query($req); if(pmb_mysql_num_rows($res)){ $integrate = true; $id_notice = pmb_mysql_result($res,0,0); $requete = "SELECT * FROM notices where notice_id = '".$id_notice."'"; $result = pmb_mysql_query($requete); if(pmb_mysql_num_rows($result)){ $notice = pmb_mysql_fetch_object($result); $records = array($notice->notice_id); $elements_records_list_ui = new elements_records_list_ui($records, count($records), false); $notice_display = $elements_records_list_ui->get_elements_list(); } }else $integrate = false; if($integrate == false || $force == 1) { $z=new z3950_notice("unimarc",$infos['notice'],$infos['source_id']); $z->libelle_form = $notice_id ? $msg['notice_connecteur_remplace_catal'] : ''; $entity_locking = new entity_locking($notice_id, TYPE_NOTICE); if($z->bibliographic_level == "a" && $z->hierarchic_level=="2"){ if(!$entity_locking->is_locked()){ $form=$z->get_form("catalog.php?categ=search&mode=7&sub=integre&action=record".$notice_id_info."&item=$item",0,'button',true); }else{ $form = $entity_locking->get_locked_form(); } } else{ if(!$entity_locking->is_locked()){ $form=$z->get_form("catalog.php?categ=search&mode=7&sub=integre&action=record".$notice_id_info."&item=$item",0,'button'); }else{ $form = $entity_locking->get_locked_form(); } } if ($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; } ?>