aut_array) ; $i++ ){
$aut['name']=clean_string($this->aut_array[$i]['entree']);
$aut['rejete']=clean_string($this->aut_array[$i]['rejete']);
$aut['date']=clean_string($this->aut_array[$i]['date']);
$aut['type']=$this->aut_array[$i]['type_auteur'];
$aut['subdivision']=clean_string($this->aut_array[$i]['subdivision']);
$aut['numero']=clean_string($this->aut_array[$i]['numero']);
$aut['lieu']=clean_string($this->aut_array[$i]['lieu']);
$aut['ville']=clean_string($this->aut_array[$i]['ville']);
$aut['pays']=clean_string($this->aut_array[$i]['pays']);
$aut['web']=clean_string($this->aut_array[$i]['web']);
$aut['author_comment']=clean_string($this->aut_array[$i]['author_comment']);
if (!$this->aut_array[$i]["id"])
$this->aut_array[$i]["id"] = auteur::import($aut);
if ($this->aut_array[$i]["id"]) {
$rqt = $rqt_ins . " (".$this->aut_array[$i]["id"].",".$notice_retour.",'".$this->aut_array[$i]['fonction']."',".$this->aut_array[$i]['responsabilite']."," . $i . ") " ;
$res_ins = mysql_query($rqt, $dbh);
}
}
// traitement des titres uniformes
global $pmb_use_uniform_title;
if ($pmb_use_uniform_title) {
if(count($this->titres_uniformes)) {
$ntu=new tu_notice($notice_retour);
$ntu->update($this->titres_uniformes);
}
}
// traitement des langues
// langues de la publication
$rqt_del = "delete from notices_langues where num_notice='$notice_retour' ";
$res_del = mysql_query($rqt_del, $dbh);
if (is_array($this->language_code) && count($this->language_code)) {
$rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
foreach($this->language_code as $ordre_lang=>$code_lang) {
if ($code_lang) {
$rqt = $rqt_ins . " ('$notice_retour',0, '$code_lang', $ordre_lang) " ;
$res_ins = @mysql_query($rqt, $dbh);
}
}
}
// langues originales
if (is_array($this->original_language_code) && count($this->original_language_code)) {
$rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
foreach($this->original_language_code as $ordre_lang=>$code_lang) {
if ($code_lang) {
$rqt = $rqt_ins . " ('$notice_retour',1, '$code_lang', $ordre_lang) " ;
$res_ins = @mysql_query($rqt, $dbh);
}
}
}
// traitement des categories
if ($this->categorisation_type == "categorisation_auto") {
traite_categories_enreg($notice_retour,$this->categories);
} else {
$rqt_del = "delete from notices_categories where notcateg_notice='$notice_retour' ";
$res_del = @mysql_query($rqt_del, $dbh);
$rqt_ins = "insert into notices_categories (notcateg_notice, num_noeud, ordre_categorie) VALUES ";
$rqt_ins_values = array();
foreach ($this->categories as $i=>$category) {
$id_categ=$category['categ_id'];
if ($id_categ) {
$rqt_ins_values[] = " ('$notice_retour','$id_categ', $i) " ;
}
}
$rqt_ins .= implode(",", $rqt_ins_values);
$res_ins = @mysql_query($rqt_ins, $dbh);
}
//Traitement des champs personnalis�s (du formulaire !!!)
$p_perso=new parametres_perso("notices");
$nberrors=$p_perso->check_submited_fields();
$p_perso->rec_fields_perso($notice_retour);
//Traitement import perso
global $notice_id,$notice_org,$notice_type_org;
if (function_exists('z_recup_noticeunimarc_suite') && function_exists('z_import_new_notice_suite')) {
$notice_id=$notice_retour;
if(!$notice_org)
$notice_tmp = $this->notice;
z_recup_noticeunimarc_suite($notice_tmp ? $notice_tmp : $notice_org);
z_import_new_notice_suite();
$notice_tmp="";
}
// Mise � jour des index de la notice
notice::majNotices($notice_retour);
// Mise � jour de la table notices_global_index
notice::majNoticesGlobalIndex($notice_retour);
// Mise � jour de la table notices_mots_global_index
notice::majNoticesMotsGlobalIndex($notice_retour);
//Calcule de la signature
$sign= new notice_doublon();
$val= $sign->gen_signature($notice_retour);
mysql_query("update notices set signature='$val' where notice_id=".$notice_retour, $dbh);
//Documents num�riques
foreach($this->doc_nums as $doc_num) {
if (!$doc_num['a'])
continue;
if ($doc_num['__nodownload__']) {
explnum_add_url($notice_retour, $doc_num['b'], $doc_num['a']);
} else {
explnum_add_from_url($notice_retour, $doc_num['b'], $doc_num['a'], true, $this->source_id, $doc_num['f'], $doc_num['p']);
}
}
//Si on catalog un article on recr�e l'arborescence
global $biblio_notice;
if($biblio_notice == 'art'){
//Perios
if(!$this->perio_id){
$new_perio = new serial();
$values=array();
$values['tit1'] = $this->perio_titre;
$values['code'] = $this->perio_issn;
$values['niveau_biblio'] = "s";
$values['niveau_hierar'] = "1";
$this->perio_id = $new_perio->update($values);
}
//Bulletin
if($this->bull_id){
$req_art = "insert into analysis set analysis_bulletin='".$this->bull_id."',
analysis_notice='".$notice_retour."'";
mysql_query($req_art,$dbh);
$req = "update bulletins set bulletin_notice='".$this->perio_id."' where bulletin_id='".$this->bull_id."'";
mysql_query($req,$dbh);
} else {
$new_bull = new bulletinage(0,$this->perio_id);
$values = array();
$values['bul_no'] = $this->bull_num;
$values['bul_date'] = $this->bull_mention;
$values['date_date'] = $this->bull_date;
$values['bul_titre'] = $this->bull_titre;
$new_bull->update($values);
$this->bull_id =$new_bull->bulletin_id;
$req_art = "insert into analysis set analysis_bulletin='".$this->bull_id."',
analysis_notice='".$notice_retour."'";
mysql_query($req_art,$dbh);
}
}
$retour = array ($new_notice, $notice_retour);
return $retour;
}
function update_in_database ($id_notice=0) {
global $dbh ;
$new_notice = 2;
$notice_retour = $id_notice;
if (!$id_notice) {
$retour = array (2, 0);
return $retour;
}
// traitement des titres uniformes
global $pmb_use_uniform_title;
if ($pmb_use_uniform_title) {
if(count($this->titres_uniformes)) {
$ntu=new tu_notice($id_notice);
$ntu->update($this->titres_uniformes);
}
}
for ($i = 0; $i < 2; $i++) {
if ($this->editors[$i]['id'])
$editor_ids[$i] = $this->editors[$i]['id'];
else
$editor_ids[$i] = editeur::import ($this->editors[$i]);
}
if ($this->collection["id"])
$collection_id = $this->collection["id"];
else {
$this->collection['parent'] = $editor_ids[0];
$collection_id = collection::import ($this->collection);
}
if ($this->subcollection["id"]) {
$subcollection_id = $this->subcollection["id"];
}
else {
$this->subcollection['coll_parent'] = $collection_id;
$subcollection_id = subcollection::import ($this->subcollection);
$serie_id = serie::import(stripslashes($this->serie));
}
/* traitement de Dewey */
if (!$this->internal_index) {
if (!$this->dewey["new_comment"])
$this->dewey["new_comment"] = "";
if (!$this->dewey["new_pclass"])
$this->dewey["new_pclass"] = "";
$this->internal_index = indexint::import(clean_string($this->dewey[0]), clean_string($this->dewey["new_comment"]), clean_string($this->dewey["new_pclass"]));
}
$date_parution_z3950 = notice::get_date_parution($this->year);
/* Origine de la notice */
$this->orinot_id = origine_notice::import($this->origine_notice);
if ($this->orinot_id==0) $this->orinot_id=1 ;
$sql_ins = "update notices set
typdoc ='".$this->document_type."',
code ='".$this->isbn."',
tit1 ='".$this->titles[0]."',
tit2 ='".$this->titles[1]."',
tit3 ='".$this->titles[2]."',
tit4 ='".$this->titles[3]."',
tparent_id ='".$serie_id."',
tnvol ='".$this->nbr_in_serie."',
ed1_id =".$editor_ids[0]." ,
ed2_id =".$editor_ids[1]." ,
year ='".$this->year."',
npages ='".$this->page_nbr."',
ill ='".$this->illustration."',
size ='".$this->size."',
accomp ='".$this->accompagnement."',
coll_id =".$collection_id." ,
subcoll_id =".$subcollection_id." ,
nocoll ='".$this->nbr_in_collection."',
mention_edition ='".$this->mention_edition."',
n_gen ='".$this->general_note."',
n_contenu ='".$this->content_note."',
n_resume ='".$this->abstract_note."',
indexint ='".$this->internal_index."',
statut ='".$this->statut."',
commentaire_gestion ='".$this->commentaire_gestion."',
thumbnail_url ='".$this->thumbnail_url."',
index_l ='".clean_tags($this->free_index)."',
niveau_biblio ='".$this->bibliographic_level."',
niveau_hierar ='".$this->hierarchic_level."',
lien ='".$this->link_url."',
eformat ='".$this->link_format."',
origine_catalogage ='".$this->orinot_id."',
prix ='".$this->prix."',
date_parution ='".$date_parution_z3950."'
where notice_id='$id_notice' ";
//echo "";
//print_r($this->aut_array);
//echo "
";
//echo $sql_ins."
";
//echo "";
//print_r($this->categories);
//echo "
";
//exit;
$sql_result_ins = mysql_query($sql_ins) or die ("Couldn't update notices : ".$sql_ins);
$notice_retour = $id_notice ;
audit::insert_modif (AUDIT_NOTICE, $id_notice) ;
// purge de la base des responsabilit�s de la notice int�gr�e...
if ($notice_retour) {
$rqt_del = "delete from responsability where responsability_notice='$notice_retour'" ;
$sql_result_del = mysql_query($rqt_del) or die ("Couldn't purge table responsability : ".$rqt_del);
}
$rqt_ins = "insert into responsability (responsability_author, responsability_notice, responsability_fonction, responsability_type, responsability_ordre) VALUES ";
for ($i=0 ; $iaut_array) ; $i++ ){
$aut['name']=clean_string($this->aut_array[$i]['entree']);
$aut['rejete']=clean_string($this->aut_array[$i]['rejete']);
$aut['date']=clean_string($this->aut_array[$i]['date']);
$aut['type']=$this->aut_array[$i]['type_auteur'];
$aut['subdivision']=clean_string($this->aut_array[$i]['subdivision']);
$aut['numero']=clean_string($this->aut_array[$i]['numero']);
$aut['lieu']=clean_string($this->aut_array[$i]['lieu']);
$aut['ville']=clean_string($this->aut_array[$i]['ville']);
$aut['pays']=clean_string($this->aut_array[$i]['pays']);
$aut['web']=clean_string($this->aut_array[$i]['web']);
$aut['author_comment']=clean_string($this->aut_array[$i]['author_comment']);
if (!$this->aut_array[$i]["id"])
$this->aut_array[$i]["id"] = auteur::import($aut);
if ($this->aut_array[$i]["id"]) {
$rqt = $rqt_ins . " (".$this->aut_array[$i]["id"].",".$notice_retour.",'".$this->aut_array[$i]['fonction']."',".$this->aut_array[$i]['responsabilite'].",".$i.") " ;
$res_ins = mysql_query($rqt, $dbh);
}
}
// traitement des categories
if ($this->categorisation_type == "categorisation_auto") {
traite_categories_enreg($notice_retour,$this->categories);
}
else {
$rqt_del = "delete from notices_categories where notcateg_notice='$notice_retour' ";
$res_del = @mysql_query($rqt_del, $dbh);
$rqt_ins = "insert into notices_categories (notcateg_notice, num_noeud, ordre_categorie) VALUES ";
$rqt_ins_values = array();
foreach ($this->categories as $i=>$category) {
$id_categ=$category['categ_id'];
if ($id_categ) {
$rqt_ins_values[] = " ('$notice_retour','$id_categ', $i) " ;
}
}
$rqt_ins .= implode(",", $rqt_ins_values);
$res_ins = @mysql_query($rqt_ins, $dbh);
}
// traitement des langues
// langues de la publication
$rqt_del = "delete from notices_langues where num_notice='$notice_retour' ";
$res_del = mysql_query($rqt_del, $dbh);
if (is_array($this->language_code) && count($this->language_code)) {
$rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
foreach($this->language_code as $ordre_lang=>$code_lang) {
if ($code_lang) {
$rqt = $rqt_ins . " ('$notice_retour',0, '$code_lang', $ordre_lang) " ;
$res_ins = @mysql_query($rqt, $dbh);
}
}
}
// langues originales
if (is_array($this->original_language_code) && count($this->original_language_code)) {
$rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
foreach($this->original_language_code as $ordre_lang=>$code_lang) {
if ($code_lang) {
$rqt = $rqt_ins . " ('$notice_retour',1, '$code_lang', $ordre_lang) " ;
$res_ins = @mysql_query($rqt, $dbh);
}
}
}
//Traitement des champs personnalis�s (du formulaire !!!)
$p_perso=new parametres_perso("notices");
$nberrors=$p_perso->check_submited_fields();
$p_perso->rec_fields_perso($notice_retour);
//Traitement import perso
global $notice_id,$notice_org,$notice_type_org;
if (function_exists('z_recup_noticeunimarc_suite') && function_exists('recup_noticeunimarc_suite')) {
//Suppression des champs persos
$requete="delete from notices_custom_values where notices_custom_origine=".$notice_retour;
@mysql_query($requete);
$notice_id=$notice_retour;
z_recup_noticeunimarc_suite($notice_org);
z_import_new_notice_suite();
}
// Mise � jour des index de la notice
notice::majNotices($notice_retour);
// Mise � jour de la table notices_global_index
notice::majNoticesGlobalIndex($notice_retour);
// Mise � jour de la table notices_mots_global_index
notice::majNoticesMotsGlobalIndex($notice_retour);
//Documents num�riques
foreach($this->doc_nums as $doc_num) {
if (!$doc_num["a"])
continue;
explnum_add_from_url($notice_retour, $doc_num["b"], $doc_num["a"], false,$this->source_id, $doc_num["f"]);
}
$retour = array ($new_notice, $notice_retour);
return $retour;
}
function get_form ($action, $id_notice=0,$retour='link',$article=false) {
// construit le formulaire de catalogage pr�-rempli
global $msg, $dbh, $charset, $current_module ;
global $include_path;
global $base_path;
global $znotices_id;
global $item;
$fonction = new marc_list('function');
$this->action = $action;
include("$include_path/templates/z3950_form.tpl.php");
global $bt_undo;
// mise � jour de l'ent�te du formulaire
$form_notice = str_replace('!!libelle_form!!', $this->libelle_form, $form_notice);
// mise � jour des flags de niveau hi�rarchique
$form_notice = str_replace('!!b_level!!', $this->bibliographic_level, $form_notice);
$form_notice = str_replace('!!h_level!!', $this->hierarchic_level, $form_notice);
for ($i = 0; $i < 4; $i++) {
$this->substitute ("title_$i", $this->titles[$i], $ptab[0]);
}
$this->substitute ("serie", $this->serie, $ptab[0]);
$this->substitute ("nbr_in_serie", $this->nbr_in_serie, $ptab[0]);
$form_notice = str_replace('!!tab0!!', $ptab[0], $form_notice);
// mise � jour de l'onglet 1
// constitution de la mention de responsabilit�
$nb_autres_auteurs = 0 ;
$nb_auteurs_secondaires = 0 ;//print "";print_r($this->aut_array);print "
";
for ($as = 0 ; $as < sizeof($this->aut_array) ; $as++ ){
if ($this->aut_array[$as]["responsabilite"]===0) {
$numrows = 0;
if ($this->aut_array[$as]["author_date"]) {
$sql_author_find = "SELECT author_id, author_name, author_rejete, author_date FROM authors WHERE author_name = '".addslashes($this->aut_array[$as]["entree"])."' AND author_rejete = '".addslashes($this->aut_array[$as]["rejete"])."' AND author_type = '".$this->aut_array[$as]["type_auteur"]."' AND author_date ='".addslashes($this->aut_array[$as]["author_date"])."'";
$res = mysql_query($sql_author_find);
$numrows = mysql_num_rows($res);
}
if (!$numrows) {
$sql_author_find = "SELECT author_id, author_name, author_rejete, author_date FROM authors WHERE author_name = '".addslashes($this->aut_array[$as]["entree"])."' AND author_rejete = '".addslashes($this->aut_array[$as]["rejete"])."' AND author_type = '".$this->aut_array[$as]["type_auteur"]."'";
$res = mysql_query($sql_author_find);
$numrows = mysql_num_rows($res);
}
if ($numrows == 1) {
$existing_author = mysql_fetch_array($res);
$existing_author_id = $existing_author["author_id"];
}
else $existing_author_id = 0;
$this->substitute ("author0_type_use_existing", $existing_author_id ? "checked" : "", $ptab[1]);
$this->substitute ("author0_type_insert_new", $existing_author_id ? "" : "checked", $ptab[1]);
if ($existing_author_id) {
$this->substitute ("f_author_name_0_existing", $existing_author["author_name"].", ".$existing_author["author_rejete"].($existing_author["author_date"] ? " (".$existing_author["author_date"].")" : ""), $ptab[1]);
$this->substitute ("f_aut0_existing_id", $existing_author_id, $ptab[1]);
}
else {
$this->substitute ("f_author_name_0_existing", '', $ptab[1]);
$this->substitute ("f_aut0_existing_id", 0, $ptab[1]);
}
$this->substitute ("author_name_0", $this->aut_array[$as]["entree"], $ptab[1]);
$this->substitute ("author_rejete_0", $this->aut_array[$as]["rejete"], $ptab[1]);
$this->substitute ("author_date_0", $this->aut_array[$as]["date"], $ptab[1]);
$this->substitute ("author_function_0", $this->aut_array[$as]["fonction"], $ptab[1]);
$this->substitute ("author_function_label_0", $fonction->table[$this->aut_array[$as]["fonction"]], $ptab[1]);
$this->substitute ("author_lieu_0", $this->aut_array[$as]["lieu"], $ptab[1]);
$this->substitute ("author_pays_0", $this->aut_array[$as]["pays"], $ptab[1]);
$this->substitute ("author_comment_0", $this->aut_array[$as]["author_comment"], $ptab[1]);
$this->substitute ("author_ville_0", $this->aut_array[$as]["ville"], $ptab[1]);
$this->substitute ("author_subdivision_0", $this->aut_array[$as]["subdivision"], $ptab[1]);
$this->substitute ("author_numero_0", $this->aut_array[$as]["numero"], $ptab[1]);
$this->substitute ("author_web_0", $this->aut_array[$as]["web"], $ptab[1]);
for ($type = 70; $type <= 72; $type++) {
if ($this->aut_array[$as]["type_auteur"] == $type)
$sel = " selected";
else $sel = "";
$this->substitute ("author_type_".$type."_0", $sel, $ptab[1]);
if($this->aut_array[$as]["type_auteur"] == '70')
$this->substitute ('display_0','none', $ptab[1]);
else
$this->substitute ('display_0','', $ptab[1]);
}
}
if ($this->aut_array[$as]["responsabilite"]==1) {
if ($this->aut_array[$as]["entree"] == "") continue;
$ptab_aut_autres = str_replace('!!iaut!!', $nb_autres_auteurs, $ptab[11]) ;
$numrows = 0;
if ($this->aut_array[$as]["author_date"]) {
$sql_author_find = "SELECT author_id, author_name, author_rejete, author_date FROM authors WHERE author_name = '".addslashes($this->aut_array[$as]["entree"])."' AND author_rejete = '".addslashes($this->aut_array[$as]["rejete"])."' AND author_type = '".$this->aut_array[$as]["type_auteur"]."' AND author_date ='".addslashes($this->aut_array[$as]["author_date"])."'";
$res = mysql_query($sql_author_find);
$numrows = mysql_num_rows($res);
}
if (!$numrows) {
$sql_author_find = "SELECT author_id, author_name, author_rejete, author_date FROM authors WHERE author_name = '".addslashes($this->aut_array[$as]["entree"])."' AND author_rejete = '".addslashes($this->aut_array[$as]["rejete"])."' AND author_type = '".$this->aut_array[$as]["type_auteur"]."'";
$res = mysql_query($sql_author_find);
$numrows = mysql_num_rows($res);
}
if ($numrows == 1) {
$existing_author = mysql_fetch_array($res);
$existing_author_id = $existing_author["author_id"];
}
else $existing_author_id = 0;
$this->substitute ("author1_type_use_existing_", $existing_author_id ? "checked" : "", $ptab_aut_autres);
$this->substitute ("author1_type_insert_new_", $existing_author_id ? "" : "checked", $ptab_aut_autres);
if ($existing_author_id) {
$this->substitute ("f_aut1", $existing_author["author_name"].", ".$existing_author["author_rejete"].($existing_author["author_date"] ? " (".$existing_author["author_date"].")" : ""), $ptab_aut_autres);
$this->substitute ("f_aut1_id", $existing_author_id, $ptab_aut_autres);
}
else {
$this->substitute ("f_aut1", '', $ptab_aut_autres);
$this->substitute ("f_aut1_id", '', $ptab_aut_autres);
}
$this->substitute ("author_name_1", $this->aut_array[$as]["entree"], $ptab_aut_autres);
$this->substitute ("author_rejete_1", $this->aut_array[$as]["rejete"], $ptab_aut_autres);
$this->substitute ("author_date_1", $this->aut_array[$as]["date"], $ptab_aut_autres);
$this->substitute ("author_function_1", $this->aut_array[$as]["fonction"], $ptab_aut_autres);
$this->substitute ("author_function_label_1", $fonction->table[$this->aut_array[$as]["fonction"]], $ptab_aut_autres);
$this->substitute ("author_lieu_1", $this->aut_array[$as]["lieu"], $ptab_aut_autres);
$this->substitute ("author_pays_1", $this->aut_array[$as]["pays"], $ptab_aut_autres);
$this->substitute ("author_comment_1", $this->aut_array[$as]["author_comment"], $ptab_aut_autres);
$this->substitute ("author_ville_1", $this->aut_array[$as]["ville"], $ptab_aut_autres);
$this->substitute ("author_subdivision_1", $this->aut_array[$as]["subdivision"], $ptab_aut_autres);
$this->substitute ("author_numero_1", $this->aut_array[$as]["numero"], $ptab_aut_autres);
$this->substitute ("author_web_1", $this->aut_array[$as]["web"], $ptab_aut_autres);
for ($type = 70; $type <= 72; $type++) {
if ($this->aut_array[$as]["type_auteur"] == $type) $sel = " selected";
else $sel = "";
$this->substitute ("author_type_".$type."_1", $sel, $ptab_aut_autres);
if($this->aut_array[$as]["type_auteur"] == '70')
$this->substitute ('display_1'.$nb_autres_auteurs,'none', $ptab_aut_autres);
else
$this->substitute ('display_1'.$nb_autres_auteurs,'', $ptab_aut_autres);
}
$autres_auteurs .= $ptab_aut_autres ;
$nb_autres_auteurs++ ;
}
if ($this->aut_array[$as]["responsabilite"]==2) {
if ($this->aut_array[$as]["entree"] == "") continue;
$ptab_aut_autres = str_replace('!!iaut!!', $nb_auteurs_secondaires, $ptab[12]) ;
$numrows = 0;
if ($this->aut_array[$as]["author_date"]) {
$sql_author_find = "SELECT author_id, author_name, author_rejete, author_date FROM authors WHERE author_name = '".addslashes($this->aut_array[$as]["entree"])."' AND author_rejete = '".addslashes($this->aut_array[$as]["rejete"])."' AND author_type = '".$this->aut_array[$as]["type_auteur"]."' AND author_date ='".addslashes($this->aut_array[$as]["author_date"])."'";
$res = mysql_query($sql_author_find);
$numrows = mysql_num_rows($res);
}
if (!$numrows) {
$sql_author_find = "SELECT author_id, author_name, author_rejete, author_date FROM authors WHERE author_name = '".addslashes($this->aut_array[$as]["entree"])."' AND author_rejete = '".addslashes($this->aut_array[$as]["rejete"])."' AND author_type = '".$this->aut_array[$as]["type_auteur"]."'";
$res = mysql_query($sql_author_find);
$numrows = mysql_num_rows($res);
}
if ($numrows == 1) {
$existing_author = mysql_fetch_array($res);
$existing_author_id = $existing_author["author_id"];
}
else $existing_author_id = 0;
$this->substitute ("author2_type_use_existing_", $existing_author_id ? "checked" : "", $ptab_aut_autres);
$this->substitute ("author2_type_insert_new_", $existing_author_id ? "" : "checked", $ptab_aut_autres);
if ($existing_author_id) {
$this->substitute ("f_aut2", $existing_author["author_name"].", ".$existing_author["author_rejete"].($existing_author["author_date"] ? " (".$existing_author["author_date"].")" : ""), $ptab_aut_autres);
$this->substitute ("f_aut2_id", $existing_author_id, $ptab_aut_autres);
}
else {
$this->substitute ("f_aut2", '', $ptab_aut_autres);
$this->substitute ("f_aut2_id", 0, $ptab_aut_autres);
}
$this->substitute ("author_name_2", $this->aut_array[$as]["entree"], $ptab_aut_autres);
$this->substitute ("author_rejete_2", $this->aut_array[$as]["rejete"], $ptab_aut_autres);
$this->substitute ("author_date_2", $this->aut_array[$as]["date"], $ptab_aut_autres);
$this->substitute ("author_function_2", $this->aut_array[$as]["fonction"], $ptab_aut_autres);
$this->substitute ("author_function_label_2", $fonction->table[$this->aut_array[$as]["fonction"]], $ptab_aut_autres);
$this->substitute ("author_lieu_2", $this->aut_array[$as]["lieu"], $ptab_aut_autres);
$this->substitute ("author_pays_2", $this->aut_array[$as]["pays"], $ptab_aut_autres);
$this->substitute ("author_comment_2", $this->aut_array[$as]["author_comment"], $ptab_aut_autres);
$this->substitute ("author_ville_2", $this->aut_array[$as]["ville"], $ptab_aut_autres);
$this->substitute ("author_subdivision_2", $this->aut_array[$as]["subdivision"], $ptab_aut_autres);
$this->substitute ("author_numero_2", $this->aut_array[$as]["numero"], $ptab_aut_autres);
$this->substitute ("author_web_2", $this->aut_array[$as]["web"], $ptab_aut_autres);
for ($type = 70; $type <= 72; $type++) {
if ($this->aut_array[$as]["type_auteur"] == $type)
$sel = " selected";
else $sel = "";
$this->substitute ("author_type_".$type."_2", $sel, $ptab_aut_autres);
if($this->aut_array[$as]["type_auteur"] == '70')
$this->substitute ('display_2'.$nb_auteurs_secondaires,'none', $ptab_aut_autres);
else
$this->substitute ('display_2'.$nb_auteurs_secondaires,'', $ptab_aut_autres);
}
$auteurs_secondaires .= $ptab_aut_autres ;
$nb_auteurs_secondaires++ ;
}
}
// au cas ou pas d'auteur principal : on fait le m�nage dans le formulaire
$this->substitute ("author_name_0", "", $ptab[1]);
$this->substitute ("author_rejete_0", "", $ptab[1]);
$this->substitute ("author_date_0", "", $ptab[1]);
$this->substitute ("author_function_0", "", $ptab[1]);
$this->substitute ("author_function_label_0", "", $ptab[1]);
$this->substitute ("f_author_name_0_existing", "", $ptab[1]);
$this->substitute ("f_aut0_existing_id", "", $ptab[1]);
$this->substitute ("author0_type_use_existing", "", $ptab[1]);
$this->substitute ("author0_type_insert_new", "checked", $ptab[1]);
$this->substitute ("author_lieu_0", "", $ptab[1]);
$this->substitute ("author_pays_0", "", $ptab[1]);
$this->substitute ("author_comment_0", "", $ptab[1]);
$this->substitute ("author_ville_0", "", $ptab[1]);
$this->substitute ("author_subdivision_0", "", $ptab[1]);
$this->substitute ("author_numero_0", "", $ptab[1]);
$this->substitute ("author_web_0", "", $ptab[1]);
$this->substitute ('display_0','none', $ptab[1]);
$ptab[1] = str_replace('!!max_aut1!!', $nb_autres_auteurs+1, $ptab[1]);
$ptab[1] = str_replace('!!iaut_added1!!', $nb_autres_auteurs, $ptab[1]);
$ptab[1] = str_replace('!!max_aut2!!', $nb_auteurs_secondaires+1, $ptab[1]);
$ptab[1] = str_replace('!!iaut_added2!!', $nb_auteurs_secondaires, $ptab[1]);
$ptab[1] = str_replace('!!autres_auteurs!!', $autres_auteurs, $ptab[1]);
$ptab[1] = str_replace('!!auteurs_secondaires!!', $auteurs_secondaires, $ptab[1]);
$form_notice = str_replace('!!tab1!!', $ptab[1], $form_notice);
//Editeur 1
//On tente avec toutes les infos
if ($this->editors[0]['name'] && $this->editors[0]['ville']) {
$sql_find_publisher = "SELECT ed_id,ed_ville,ed_name FROM publishers WHERE ed_name = '".addslashes($this->editors[0]['name'])."' AND ed_ville = '".addslashes($this->editors[0]['ville'])."'";
$res = mysql_query($sql_find_publisher);
if (mysql_num_rows($res) == 1) {
$existing_publisher = mysql_fetch_array($res);
$existing_publisher_id = $existing_publisher["ed_id"];
}
}
//Non? Le nom sans ville peut �tre alors?
if (!$existing_publisher_id && $this->editors[0]['name'] && $this->editors[0]['ville']){
$sql_find_publisher = "SELECT ed_id,ed_ville,ed_name FROM publishers WHERE ed_name = '".addslashes($this->editors[0]['name'])."' AND ed_ville = ''";
$res = mysql_query($sql_find_publisher);
if (mysql_num_rows($res) == 1) {
$existing_publisher = mysql_fetch_array($res);
$existing_publisher_id = $existing_publisher["ed_id"];
}
}
//Juste le nom alors?
if (!$existing_publisher_id && $this->editors[0]['name'] && !$this->editors[0]['ville']){
$sql_find_publisher = "SELECT ed_id,ed_ville,ed_name FROM publishers WHERE ed_name = '".addslashes($this->editors[0]['name'])."'";
$res = mysql_query($sql_find_publisher);
if (mysql_num_rows($res) == 1) {
$existing_publisher = mysql_fetch_array($res);
$existing_publisher_id = $existing_publisher["ed_id"];
}
}
if (!$existing_publisher_id)
$existing_publisher_id = 0;
$this->substitute ("editor_type_use_existing", $existing_publisher_id ? 'checked' : '', $ptab[2]);
$this->substitute ("editor_type_insert_new", $existing_publisher_id ? '' : 'checked', $ptab[2]);
if ($existing_publisher_id) {
$editor = new editeur($existing_publisher_id);
$editor_display = $editor->display;
if (!$editor_display) {
$info_ville = $existing_publisher["ed_ville"] ? ' ('.$existing_publisher["ed_ville"].')' : "";
$editor_display = $existing_publisher["ed_name"].$info_ville;
}
$this->substitute ("f_ed1", $editor_display, $ptab[2]);
$this->substitute ("f_ed1_id", $existing_publisher_id, $ptab[2]);
}
else {
$this->substitute ("f_ed1", '', $ptab[2]);
$this->substitute ("f_ed1_id", '', $ptab[2]);
}
$this->substitute ("editor_name_0", $this->editors[0]['name'], $ptab[2]);
$this->substitute ("editor_ville_0", $this->editors[0]['ville'], $ptab[2]);
//Editeur 2
//On tente avec toutes les infos
if ($this->editors[1]['name'] && $this->editors[1]['ville']) {
$sql_find_publisher2 = "SELECT ed_id,ed_ville,ed_name FROM publishers WHERE ed_name = '".addslashes($this->editors[1]['name'])."' AND ed_ville = '".addslashes($this->editors[1]['ville'])."'";
$res = mysql_query($sql_find_publisher2);
if (mysql_num_rows($res) == 1) {
$existing_publisher2 = mysql_fetch_array($res);
$existing_publisher_id2 = $existing_publisher2["ed_id"];
}
}
//Non? Le nom sans ville peut �tre alors?
if (!$existing_publisher_id2 && $this->editors[1]['name'] && $this->editors[1]['ville']){
$sql_find_publisher2 = "SELECT ed_id,ed_ville,ed_name FROM publishers WHERE ed_name = '".addslashes($this->editors[1]['name'])."' AND ed_ville = ''";
$res = mysql_query($sql_find_publisher2);
if (mysql_num_rows($res) == 1) {
$existing_publisher2 = mysql_fetch_array($res);
$existing_publisher_id2 = $existing_publisher2["ed_id"];
}
}
//Juste le nom alors?
if (!$existing_publisher_id2 && $this->editors[1]['name'] && !$this->editors[1]['ville']){
$sql_find_publisher2 = "SELECT ed_id,ed_ville,ed_name FROM publishers WHERE ed_name = '".addslashes($this->editors[1]['name'])."'";
$res = mysql_query($sql_find_publisher2);
if (mysql_num_rows($res) == 1) {
$existing_publisher2 = mysql_fetch_array($res);
$existing_publisher_id2 = $existing_publisher2["ed_id"];
}
}
if (!$existing_publisher_id2)
$existing_publisher_id2 = 0;
$this->substitute ("editor1_type_use_existing", $existing_publisher_id2 ? 'checked' : '', $ptab[2]);
$this->substitute ("editor1_type_insert_new", $existing_publisher_id2 ? '' : 'checked', $ptab[2]);
if ($existing_publisher_id2) {
$editor = new editeur($existing_publisher_id2);
$editor_display = $editor->display;
if (!$editor_display) {
$info_ville = $existing_publisher2["ed_ville"] ? ' ('.$existing_publisher2["ed_ville"].')' : "";
$editor_display = $existing_publisher2["ed_name"].$info_ville;
}
$this->substitute ("f_ed11", $editor_display, $ptab[2]);
$this->substitute ("f_ed11_id", $existing_publisher_id2, $ptab[2]);
}
else {
$this->substitute ("f_ed11", '', $ptab[2]);
$this->substitute ("f_ed11_id", '', $ptab[2]);
}
$this->substitute ("editor_name_1", $this->editors[1]['name'], $ptab[2]);
$this->substitute ("editor_ville_1", $this->editors[1]['ville'], $ptab[2]);
//Collection
if ($existing_publisher_id && $this->collection['name']) {
$sql_collection_find = "SELECT collection_id, collection_name FROM collections WHERE collection_name = '".addslashes($this->collection['name'])."' AND collection_parent = '".$existing_publisher_id."'";
$res = mysql_query($sql_collection_find);
if (mysql_num_rows($res) == 1) {
$existing_collection = mysql_fetch_array($res);
$existing_collection_id = $existing_collection["collection_id"];
}
else $existing_collection_id = 0;
}
else $existing_collection_id = 0;
$this->substitute ("collection_type_use_existing", $existing_collection_id ? 'checked' : '', $ptab[2]);
$this->substitute ("collection_type_insert_new", $existing_collection_id ? '' : 'checked', $ptab[2]);
if ($existing_collection_id) {
$this->substitute ("f_coll_existing", $existing_collection["collection_name"], $ptab[2]);
$this->substitute ("f_coll_existing_id", $existing_collection_id ? '' : 'checked', $ptab[2]);
}
else {
$this->substitute ("f_coll_existing", '', $ptab[2]);
$this->substitute ("f_coll_existing_id", '0', $ptab[2]);
}
$this->substitute ("collection_name", $this->collection['name'], $ptab[2]);
$this->substitute ("collection_issn", $this->collection['issn'], $ptab[2]);
//Sous Collection
if ($existing_collection_id && $this->subcollection['name']) {
$sql_subcollection_find = "SELECT sub_coll_id, sub_coll_name FROM sub_collections WHERE sub_coll_name = '".addslashes($this->subcollection['name'])."' AND sub_coll_parent = '".$existing_collection_id."'";
$res = mysql_query($sql_subcollection_find) or die(mysql_error()."
$sql_subcollection_find");
if (mysql_num_rows($res) == 1) {
$existing_subcollection = mysql_fetch_array($res);
$existing_subcollection_id = $existing_subcollection["sub_coll_id"];
}
else $existing_subcollection_id = 0;
}
else $existing_subcollection_id = 0;
$this->substitute ("subcollection_type_use_existing", $existing_subcollection_id ? 'checked' : '', $ptab[2]);
$this->substitute ("subcollection_type_insert_new", $existing_subcollection_id ? '' : 'checked', $ptab[2]);
if ($existing_subcollection_id) {
$this->substitute ("f_subcoll_existing", $existing_subcollection["sub_coll_name"], $ptab[2]);
$this->substitute ("f_subcoll_existing_id", $existing_subcollection_id ? '' : 'checked', $ptab[2]);
}
else {
$this->substitute ("f_subcoll_existing", '', $ptab[2]);
$this->substitute ("f_subcoll_existing_id", '0', $ptab[2]);
}
$this->substitute ("subcollection_name", $this->subcollection['name'], $ptab[2]);
$this->substitute ("subcollection_issn", $this->subcollection['issn'], $ptab[2]);
$this->substitute ("nbr_in_collection", $this->nbr_in_collection, $ptab[2]);
$this->substitute ("year", $this->year, $ptab[2]);
$this->substitute ("mention_edition", $this->mention_edition, $ptab[2]);
$form_notice = str_replace('!!tab2!!', $ptab[2], $form_notice);
$this->substitute ("isbn", $this->isbn, $ptab[3]);
$form_notice = str_replace('!!tab3!!', $ptab[3], $form_notice);
$this->substitute ("page_nbr", $this->page_nbr, $ptab[4]);
$this->substitute ("illustration", $this->illustration, $ptab[4]);
$this->substitute ("prix", $this->prix, $ptab[4]);
$this->substitute ("accompagnement", $this->accompagnement, $ptab[4]);
$this->substitute ("size", $this->size, $ptab[4]);
$form_notice = str_replace('!!tab4!!', $ptab[4], $form_notice);
$this->substitute ("general_note", $this->general_note, $ptab[5]);
$this->substitute ("content_note", $this->content_note, $ptab[5]);
$this->substitute ("abstract_note", $this->abstract_note, $ptab[5]);
$form_notice = str_replace('!!tab5!!', $ptab[5], $form_notice);
// indexation interne
$pclassement_sql = "SELECT * FROM pclassement";
$res = mysql_query($pclassement_sql);
$pclassement_count = mysql_num_rows($res);
if (!$pclassement_count)
$pclassement_count = 1;
if ($pclassement_count > 1) {
$pclassements = array();
while ($row = mysql_fetch_assoc($res)) {
$pclassements[] = array("id" => $row["id_pclass"], "name" => $row["name_pclass"]);
}
$pclassement_combobox = '';
}
else
$pclassement_combobox = "";
$ptab[6] = str_replace("!!multiple_pclass_combo_box!!", $pclassement_combobox, $ptab[6]);
$index_int_sql = "SELECT indexint_name, indexint_comment, indexint_id, name_pclass FROM indexint LEFT JOIN pclassement ON (pclassement.id_pclass = indexint.num_pclass) WHERE indexint_name = '".addslashes($this->dewey[0])."'";
$res = mysql_query($index_int_sql, $dbh);
$num_rows = mysql_num_rows($res);
if ($num_rows == 1) {
$the_row = mysql_fetch_assoc($res);
$this->substitute ("indexint", $the_row["indexint_name"].': '.$the_row["indexint_comment"], $ptab[6]);
$this->substitute ("indexint_id", $the_row["indexint_id"], $ptab[6]);
$this->substitute ("indexint_type_use_existing", 'checked', $ptab[6]);
$this->substitute ("indexint_type_insert_new", '', $ptab[6]);
$this->substitute ("multiple_index_int_propositions", '', $ptab[6]);
}
else if ($num_rows > 1) {
$index_ints = array();
while($row = mysql_fetch_assoc($res)) {
$index_ints[] = array("id" => $row["indexint_id"], "name" => $row["indexint_name"], "comment" => $row["indexint_comment"], "pclass" => $row["name_pclass"]);
}
$form_indexint_proposition = "";
$ptab[6] = str_replace("!!multiple_index_int_propositions!!", $form_indexint_proposition, $ptab[6]);
$this->substitute ("indexint", "", $ptab[6]);
$this->substitute ("indexint_id", "", $ptab[6]);
$this->substitute ("indexint_type_use_existing", 'checked', $ptab[6]);
$this->substitute ("indexint_type_insert_new", '', $ptab[6]);
}
else {
$this->substitute ("indexint", "", $ptab[6]);
$this->substitute ("indexint_id", "", $ptab[6]);
$this->substitute ("indexint_type_use_existing", '', $ptab[6]);
$this->substitute ("indexint_type_insert_new", 'checked', $ptab[6]);
$this->substitute ("multiple_index_int_propositions", '', $ptab[6]);
}
$this->substitute ("indexint_new_name", $this->dewey[0], $ptab[6]);
$this->substitute ("indexint_new_comment", "", $ptab[6]);
// indexation libre
$this->substitute ("f_free_index", $this->free_index, $ptab[6]);
global $pmb_keyword_sep ;
$sep="'$pmb_keyword_sep'";
if (!$pmb_keyword_sep) $sep="' '";
if(ord($pmb_keyword_sep)==0xa || ord($pmb_keyword_sep)==0xd) $sep=$msg['catalogue_saut_de_ligne'];
$ptab[6]= str_replace("!!sep!!", htmlentities($sep,ENT_QUOTES, $charset), $ptab[6]);
$form_notice = str_replace('!!tab6!!', $ptab[6], $form_notice);
// Gestion des titres uniformes
$nb_tu=sizeof($this->tu_500);
for ($i=0 ; $i<$nb_tu ; $i++ ) {
$value_tu[$i]['name'] = $this->tu_500[$i]['a'];
$ntu_data[$i]->tu->name = $this->tu_500[$i]['a'];
$value_tu[$i]['tonalite'] = $this->tu_500[$i]['u'];
for($j=0;$jtu_500_r[$i]);$j++) {
$value_tu[$i]['distrib'][$j]= $this->tu_500_r[$i][$j];
}
for($j=0;$jtu_500_s[$i]);$j++) {
$value_tu[$i]['ref'][$j]= $this->tu_500_s[$i][$j];
}
if(($tu_id=titre_uniforme::import_tu_exist($value_tu,1))){
// le titre uniforme est d�j� existant
$ntu_data[$i]->num_tu= $tu_id;
} else {
// le titre uniforme n'est pas existant
for($j=0;$jtu_500_n[$i]);$j++) {
$value_tu[$i]['comment'].= $this->tu_500_r[$i][$j];
if(($j+1)tu_500_n[$i]))$value_tu[$i]['comment'].="\n";
}
for($j=0;$jtu_500_j[$i]);$j++) {
$value_tu[$i]['subdiv'][$j]= $this->tu_500_j[$i][$j];
}
}
// memorisation du niveau biblio de ce titre uniforme
for($j=0;$jtu_500_i[$i]);$j++) {
$ntu_data[$i]->titre.= $this->tu_500_i[$i][$j];
if(($j+1)tu_500_i[$i]))$ntu_data[$i]->titre.="; ";
}
$ntu_data[$i]->date=$this->tu_500[$i]['k'];
for($j=0;$jtu_500_l[$i]);$j++) {
$ntu_data[$i]->sous_vedette.= $this->tu_500_l[$i][$j];
if(($j+1)tu_500_l[$i]))$ntu_data[$i]->sous_vedette.="; ";
}
$ntu_data[$i]->langue=$this->tu_500[$i]['m'];
$ntu_data[$i]->version=$this->tu_500[$i]['q'];
$ntu_data[$i]->mention=$this->tu_500[$i]['w'];
}
// serialisation des champs de l'autorit� titre uniforme
global $pmb_use_uniform_title;
if ($pmb_use_uniform_title) {
$memo_value_tu="";
$ptab[230] = str_replace("!!titres_uniformes!!", $memo_value_tu.tu_notice::get_form_import("notice",$ntu_data), $ptab[230]);
$form_notice = str_replace('!!tab230!!', $ptab[230], $form_notice);
}
// mise � jour de l'onglet 7 : langues
// langues r�p�tables
$lang = new marc_list('lang');
if (sizeof($this->language_code)==0) $max_lang = 1 ;
else $max_lang = sizeof($this->language_code) ;
for ($i = 0 ; $i < $max_lang ; $i++) {
if ($i) $ptab_lang = str_replace('!!ilang!!', $i, $ptab[701]) ;
else $ptab_lang = str_replace('!!ilang!!', $i, $ptab[70]) ;
if ( sizeof($this->language_code)==0 ) {
$ptab_lang = str_replace('!!lang_code!!', '', $ptab_lang);
$ptab_lang = str_replace('!!lang!!', '', $ptab_lang);
} else {
$ptab_lang = str_replace('!!lang_code!!', $this->language_code[$i], $ptab_lang);
$ptab_lang = str_replace('!!lang!!',htmlentities($lang->table[$this->language_code[$i]],ENT_QUOTES, $charset), $ptab_lang);
}
$lang_repetables .= $ptab_lang ;
}
$ptab[7] = str_replace('!!max_lang!!', $max_lang, $ptab[7]);
$ptab[7] = str_replace('!!langues_repetables!!', $lang_repetables, $ptab[7]);
// langues originales r�p�tables
if (sizeof($this->original_language_code)==0) $max_langorg = 1 ;
else $max_langorg = sizeof($this->original_language_code) ;
for ($i = 0 ; $i < $max_langorg ; $i++) {
if ($i) $ptab_lang = str_replace('!!ilangorg!!', $i, $ptab[711]) ;
else $ptab_lang = str_replace('!!ilangorg!!', $i, $ptab[71]) ;
if ( sizeof($this->original_language_code)==0 ) {
$ptab_lang = str_replace('!!langorg_code!!', '', $ptab_lang);
$ptab_lang = str_replace('!!langorg!!', '', $ptab_lang);
} else {
$ptab_lang = str_replace('!!langorg_code!!', $this->original_language_code[$i], $ptab_lang);
$ptab_lang = str_replace('!!langorg!!',htmlentities($lang->table[$this->original_language_code[$i]],ENT_QUOTES, $charset), $ptab_lang);
}
$langorg_repetables .= $ptab_lang ;
}
$ptab[7] = str_replace('!!max_langorg!!', $max_langorg, $ptab[7]);
$ptab[7] = str_replace('!!languesorg_repetables!!', $langorg_repetables, $ptab[7]);
$form_notice = str_replace('!!tab7!!', $ptab[7], $form_notice);
$this->substitute ("link_url", $this->link_url, $ptab[8]);
$this->substitute ("link_format", $this->link_format, $ptab[8]);
$form_notice = str_replace('!!tab8!!', $ptab[8], $form_notice);
// d�finition de la page cible du form
$form_notice = str_replace('!!action!!', $this->action, $form_notice);
// ajout des selecteurs
$select_doc = new marc_select('doctype', 'typdoc', $this->document_type);
$form_notice = str_replace('!!document_type!!', $select_doc->display, $form_notice);
if($article){
$form_notice = str_replace('!!checked_mono!!', "", $form_notice);
$form_notice = str_replace('!!checked_perio!!', "", $form_notice);
$form_notice = str_replace('!!checked_art!!', "selected=\"selected\"", $form_notice);
} else {
if($this->bibliographic_level == 's'){
$form_notice = str_replace('!!checked_mono!!', "", $form_notice);
$form_notice = str_replace('!!checked_perio!!', "selected=\"selected\"", $form_notice);
$form_notice = str_replace('!!checked_art!!', "", $form_notice);
} else {
$form_notice = str_replace('!!checked_mono!!', "selected=\"selected\"", $form_notice);
$form_notice = str_replace('!!checked_perio!!', "", $form_notice);
$form_notice = str_replace('!!checked_art!!', "", $form_notice);
}
}
//Zone des perios et des bulletins pour les articles
$zone_article_form = str_replace("!!perio_titre!!",$this->perio_titre[0],$zone_article_form );
$zone_article_form = str_replace("!!perio_issn!!",$this->perio_issn[0],$zone_article_form );
$zone_article_form = str_replace("!!bull_date!!",$this->bull_mention[0],$zone_article_form );
$zone_article_form = str_replace("!!bull_titre!!",$this->bull_titre[0],$zone_article_form );
$zone_article_form = str_replace("!!bull_num!!",$this->bull_num[0],$zone_article_form );
if($this->bull_date[0]) {
$date_date_formatee = formatdate($this->bull_date[0]);
$date_date_hid = $this->bull_date[0];
} else {
$date_date_formatee = '';
$date_date_hid = '';
}
$date_clic = "onClick=\"openPopUp('./select.php?what=calendrier&caller=notice&date_caller=¶m1=f_bull_new_date¶m2=date_date_lib&auto_submit=NO&date_anterieure=YES', 'date_date', 250, 300, -2, -2, 'toolbar=no, dependent=yes, resizable=yes')\" ";
$date_date = "
";
$zone_article_form = str_replace("!!date_date!!",$date_date,$zone_article_form);
//On cherche si le perio existe
if($this->perio_titre[0] && $this->perio_issn[0]){
$req="select notice_id, tit1 from notices where niveau_biblio='s' and niveau_hierar='1'
and tit1='".addslashes($this->perio_titre[0])."'
and code='".addslashes($this->perio_issn[0])."' limit 1";
$res_perio = mysql_query($req,$dbh);
$num_rows_perio = mysql_num_rows($res_perio);
}
if (!$num_rows_perio){
if($this->perio_titre[0]){
$req="select notice_id, tit1 from notices where niveau_biblio='s' and niveau_hierar='1'
and tit1='".addslashes($this->perio_titre[0])."'
limit 1";
$res_perio = mysql_query($req,$dbh);
$num_rows_perio = mysql_num_rows($res_perio);
}
}
if (!$num_rows_perio){
if($this->perio_issn[0]){
$req="select notice_id, tit1 from notices where niveau_biblio='s' and niveau_hierar='1'
and code='".addslashes($this->perio_issn[0])."' limit 1";
$res_perio = mysql_query($req,$dbh);
$num_rows_perio = mysql_num_rows($res_perio);
}
}
if ($num_rows_perio == 1) {
$perio_found = mysql_fetch_object($res_perio);
$idperio = $perio_found->notice_id;
$zone_article_form = str_replace("!!f_perio_existing!!",htmlentities($perio_found->tit1,ENT_QUOTES,$charset),$zone_article_form );
$zone_article_form = str_replace("!!f_perio_existing_id!!",$perio_found->notice_id,$zone_article_form );
$zone_article_form = str_replace("!!perio_type_new!!","",$zone_article_form );
$zone_article_form = str_replace("!!perio_type_use_existing!!","checked",$zone_article_form );
} else {
$idperio = 0;
$zone_article_form = str_replace("!!f_perio_existing!!","",$zone_article_form );
$zone_article_form = str_replace("!!f_perio_existing_id!!","",$zone_article_form );
$zone_article_form = str_replace("!!perio_type_new!!","checked",$zone_article_form );
$zone_article_form = str_replace("!!perio_type_use_existing!!","",$zone_article_form );
}
//On cherche si le bulletin existe
if($this->bull_num[0] && $idperio){
$req="select bulletin_id, bulletin_numero from bulletins where bulletin_notice='".$idperio."' and bulletin_numero like'".addslashes($this->bull_num[0])."%' limit 1";
$res_bull = mysql_query($req,$dbh);
$num_rows_bull = mysql_num_rows($res_bull);
}
if(!$num_rows_bull){
if($this->bull_date[0] && $idperio){
$req="select bulletin_id, bulletin_numero from bulletins where bulletin_notice='".$idperio."' and date_date='".addslashes($this->bull_date[0])."' limit 1";
$res_bull = mysql_query($req,$dbh);
$num_rows_bull = mysql_num_rows($res_bull);
}
}
if(!$num_rows_bull){
if($this->bull_mention[0] && $idperio ){
$req="select bulletin_id, bulletin_numero from bulletins where bulletin_notice='".$idperio."' and mention_date='".addslashes($this->bull_mention[0])."' limit 1";
$res_bull = mysql_query($req,$dbh);
$num_rows_bull = mysql_num_rows($res_bull);
}
}
if ($num_rows_bull == 1) {
$bull_found = mysql_fetch_object($res_bull);
$zone_article_form = str_replace("!!f_bull_existing!!",htmlentities($bull_found->bulletin_numero,ENT_QUOTES,$charset),$zone_article_form );
$zone_article_form = str_replace("!!f_bull_existing_id!!",$bull_found->bulletin_id,$zone_article_form );
$zone_article_form = str_replace("!!bull_type_new!!","",$zone_article_form );
$zone_article_form = str_replace("!!bull_type_use_existing!!","checked",$zone_article_form );
} else {
$zone_article_form = str_replace("!!f_bull_existing!!","",$zone_article_form );
$zone_article_form = str_replace("!!f_bull_existing_id!!","",$zone_article_form );
$zone_article_form = str_replace("!!bull_type_new!!","checked",$zone_article_form );
$zone_article_form = str_replace("!!bull_type_use_existing!!","",$zone_article_form );
}
$form_notice = str_replace("!!zone_article!!",$zone_article_form,$form_notice);
if($article)
$form_notice = str_replace("!!display_zone_article!!","",$form_notice);
else $form_notice = str_replace("!!display_zone_article!!","none",$form_notice);
if($item){
$form_notice = str_replace('!!notice_entrepot!!', "", $form_notice);
} else $form_notice = str_replace('!!notice_entrepot!!', "", $form_notice);
$form_notice = str_replace('!!orinot_nom!!', $this->origine_notice[nom], $form_notice);
$form_notice = str_replace('!!orinot_pays!!', $this->origine_notice[pays], $form_notice);
//Traitement du 503 "titre de forme" pour le Mus�e des beaux arts de Nantes
global $tableau_503;
$tableau_503 = array( "info_503" => $this->info_503,
"info_503_d" => $this->info_503_d,
"info_503_j" => $this->info_503_j);
// traitement des cat�gories : affichage dans le formulaire
$tableau_600 = array(
"info_600_3" => $this->info_600_3,
"info_600_a" => $this->info_600_a,
"info_600_b" => $this->info_600_b,
"info_600_c" => $this->info_600_c,
"info_600_d" => $this->info_600_d,
"info_600_f" => $this->info_600_f,
"info_600_g" => $this->info_600_g,
"info_600_j" => $this->info_600_j,
"info_600_p" => $this->info_600_p,
"info_600_t" => $this->info_600_t,
"info_600_x" => $this->info_600_x,
"info_600_y" => $this->info_600_y,
"info_600_z" => $this->info_600_z);
$tableau_601 = array(
"info_601_3" => $this->info_601_3,
"info_601_a" => $this->info_601_a,
"info_601_b" => $this->info_601_b,
"info_601_c" => $this->info_601_c,
"info_601_d" => $this->info_601_d,
"info_601_e" => $this->info_601_e,
"info_601_f" => $this->info_601_f,
"info_601_g" => $this->info_601_g,
"info_601_h" => $this->info_601_h,
"info_601_j" => $this->info_601_j,
"info_601_t" => $this->info_601_t,
"info_601_x" => $this->info_601_x,
"info_601_y" => $this->info_601_y,
"info_601_z" => $this->info_601_z);
$tableau_602 = array(
"info_602_3" => $this->info_602_3,
"info_602_a" => $this->info_602_a,
"info_602_f" => $this->info_602_f,
"info_602_j" => $this->info_602_j,
"info_602_t" => $this->info_602_t,
"info_602_x" => $this->info_602_x,
"info_602_y" => $this->info_602_y,
"info_602_z" => $this->info_602_z);
$tableau_604 = array(
"info_604_3" => $this->info_604_3,
"info_604_a" => $this->info_604_a,
"info_604_h" => $this->info_604_h,
"info_604_i" => $this->info_604_i,
"info_604_j" => $this->info_604_j,
"info_604_k" => $this->info_604_k,
"info_604_l" => $this->info_604_l,
"info_604_x" => $this->info_604_x,
"info_604_y" => $this->info_604_y,
"info_604_z" => $this->info_604_z);
$tableau_605 = array(
"info_605_3" => $this->info_605_3,
"info_605_a" => $this->info_605_a,
"info_605_h" => $this->info_605_h,
"info_605_i" => $this->info_605_i,
"info_605_k" => $this->info_605_k,
"info_605_l" => $this->info_605_l,
"info_605_m" => $this->info_605_m,
"info_605_n" => $this->info_605_n,
"info_605_q" => $this->info_605_q,
"info_605_r" => $this->info_605_r,
"info_605_s" => $this->info_605_s,
"info_605_u" => $this->info_605_u,
"info_605_w" => $this->info_605_w,
"info_605_j" => $this->info_605_j,
"info_605_x" => $this->info_605_x,
"info_605_y" => $this->info_605_y,
"info_605_z" => $this->info_605_z);
$tableau_606 = array(
"info_606_3" => $this->info_606_3,
"info_606_a" => $this->info_606_a,
"info_606_j" => $this->info_606_j,
"info_606_x" => $this->info_606_x,
"info_606_y" => $this->info_606_y,
"info_606_z" => $this->info_606_z);
$tableau_607 = array(
"info_607_3" => $this->info_607_3,
"info_607_a" => $this->info_607_a,
"info_607_j" => $this->info_607_j,
"info_607_x" => $this->info_607_x,
"info_607_y" => $this->info_607_y,
"info_607_z" => $this->info_607_z);
$tableau_608 = array(
"info_608_3" => $this->info_608_3,
"info_608_a" => $this->info_608_a,
"info_608_j" => $this->info_608_j,
"info_608_x" => $this->info_608_x,
"info_608_y" => $this->info_608_y,
"info_608_z" => $this->info_608_z);
// cat�gories
$max_categ = 1;
$ptab_categ = str_replace('!!icateg!!', 0, $ptab[60]) ;
$ptab_categ = str_replace('!!categ_id!!', 0, $ptab_categ);
$ptab_categ = str_replace('!!categ_libelle!!', '', $ptab_categ);
$ptab[6] = str_replace("!!categories_repetables!!", $ptab_categ, $ptab[6]);
$ptab[6] = str_replace('!!tab_categ_order!!', "", $ptab[6]);
$traitement_rameau=traite_categories_for_form($tableau_600,$tableau_601,$tableau_602,$tableau_605,$tableau_606,$tableau_607,$tableau_608);
if (!is_array($traitement_rameau)) {
$traitement_rameau = array("form" => $traitement_rameau, "message" => "");
}
$form_notice = str_replace('!!message_rameau!!', $traitement_rameau["message"], $form_notice);
$form_notice = str_replace('!!traitement_rameau!!', $traitement_rameau["form"], $form_notice);
$manual_categorisation_form = get_manual_categorisation_form($tableau_600,$tableau_601,$tableau_602,$tableau_604,$tableau_605,$tableau_606,$tableau_607,$tableau_608);
$form_notice = str_replace('!!manual_categorisation!!', $manual_categorisation_form, $form_notice);
//Mise � jour de l'onglet 9
$p_perso=new parametres_perso("notices");
if(function_exists("param_perso_form")) {
param_perso_form($p_perso);
}
//pour Pubmed et DOI, on regarde si on peut remplir un champ r�solveur...
if(count($this->others_ids)>0){
foreach($p_perso->t_fields as $key => $t_field){
if($t_field['TYPE'] =="resolve"){
$field_options = _parser_text_no_function_("\n".$t_field['OPTIONS'], "OPTIONS");
foreach($field_options['RESOLVE'] as $resolve){
//pubmed = 1 | DOI = 2
foreach($this->others_ids as $other_id){
if($other_id['b'] == "PMID" && $resolve['ID']=="1"){
//on a le champ perso r�solveur PubMed
$p_perso->values[$key][]=$other_id['a']."|1";
}else if($other_id['b'] == "DOI" && $resolve['ID']=="2"){
//on a le champ perso r�solveur DOI
$p_perso->values[$key][]=$other_id['a']."|2";
}
}
}
}
}
}
if (!$p_perso->no_special_fields) {
$perso_=$p_perso->show_editable_fields($id_notice,true);
$perso="";
for ($i=0; $i