\n"; $data.=" ".htmlspecialchars($tete,ENT_QUOTES,$charset)."\n"; $data.=" ".htmlspecialchars($d[$i],ENT_QUOTES,$charset)."\n"; $data.=" \n"; } } } return $data; } public static function convert_data($notice, $s, $islast, $isfirst, $param_path) { global $cols; global $ty; global $intitules; global $base_path,$origine; global $tab_functions; global $charset; if (!$tab_functions) $tab_functions=new marc_list('function'); if (!$cols) { //On lit les intitulés dans le fichier temporaire $fcols=fopen("$base_path/temp/".$origine."_cols.txt","r"); if ($fcols) { $cols=fread($fcols,filesize("$base_path/temp/".$origine."_cols.txt")); fclose($fcols); $cols=unserialize($cols); } } if (!$ty) { $ty=array("ARTICLE"=>"v","REVUE"=>"v","LIVRE"=>"a","MEMOIRE"=>"b","DOCUMENT AUDIOVISUEL"=>"g","CDROM"=>"m","CD-ROM"=>"m","DOCUMENT EN LIGNE"=>"l"); } //if (!$cols) { // for ($i=0; $i\n"; $data.="".$bl."\n"; $data.="*\n1\ni\n"; //Numéro d'enregistrement $data.=" ".$ntable["REF"]."\n"; //Titre $titres=explode(":",$ntable["TI"]); $data.=" \n"; //Titre principal $data.=" ".htmlspecialchars($titres[0],ENT_QUOTES,$charset)."\n"; //Titre parallèle if ($ntable["COL"]) { $data.=" ".htmlspecialchars($ntable["COL"],ENT_QUOTES,$charset)."\n"; } else if ($ntable["ND"]) { $diplome=explode(":",$ntable["ND"]); if ($diplome[0]) { $data.=" ".htmlspecialchars($diplome[0],ENT_QUOTES,$charset)."\n"; } } //Titre complémentaire if ($titres[1]) $data.=" ".htmlspecialchars($titres[1],ENT_QUOTES,$charset)."\n"; $data.=" \n"; //Traitement des Auteurs principaux if ($ntable["AU"]) { $auteurs=explode(",",$ntable["AU"]); if (count($auteurs)>1) { $f_a="701"; } else { $f_a="700"; } $data_auteurs=""; for ($i=0; $i\n"; if ($rejete) { $data_auteurs.=" ".htmlspecialchars($rejete,ENT_QUOTES,$charset)."\n"; } $as=array_search($fonction,$tab_functions->table); if (($as!==false)&&($as!==null)) $fonction=$as; else $fonction="070"; $data_auteurs.=" ".$fonction."\n"; } } if ($data_auteurs) { $data.=" \n"; $data.=$data_auteurs; $data.=" \n"; } } //Traitement des auteurs secondaires if ($ntable["AS"]) { $auteurs=explode(",",$ntable["AS"]); $f_a="702"; $data_auteurs=""; for ($i=0; $i\n"; if ($rejete) { $data_auteurs.=" ".htmlspecialchars($rejete,ENT_QUOTES,$charset)."\n"; } //Recherche de la fonction $as=array_search($fonction,$tab_functions->table); if (($as!==false)&&($as!==null)) $fonction=$as; else $fonction="070"; $data_auteurs.=" ".$fonction."\n"; } } if ($data_auteurs) { $data.=" \n"; $data.=$data_auteurs; $data.=" \n"; } } //Traitement des Auteurs collectif if ($ntable["AUCO"]) { $auteurs=explode(",",$ntable["AUCO"]); $f_a="702"; $data_auteurs=""; for ($i=0; $i\n"; if ($rejete) { $data_auteurs.=" ".htmlspecialchars($rejete,ENT_QUOTES,$charset)."\n"; } $as=array_search($fonction,$tab_functions->table); if (($as!==false)&&($as!==null)) $fonction=$as; else $fonction="070"; $data_auteurs.=" ".$fonction."\n"; } } if ($data_auteurs) { $data.=" \n"; $data.=$data_auteurs; $data.=" \n"; } } //Editeurs / collection if ($ntable["ED"]) { $editeur=explode(":",$ntable["ED"]); $lieu=$editeur[0]; $nom=$editeur[1]; preg_match_all("/([^\(]*)(\((.*)\))*?/",trim($editeur[2]),$matches); $annee=$matches[1][0]; $collection=$matches[3][2]; $collection=str_replace("COLL.","",$collection); } else if ($diplome[2]) { $lieu=$diplome[1]; $nom=$diplome[2]; $annee=$diplome[3]; } $data_editeur=""; if ($nom) { $data_editeur.=" ".htmlspecialchars($nom,ENT_QUOTES,$charset)."\n"; if ($lieu) $data_editeur.=" ".htmlspecialchars($lieu,ENT_QUOTES,$charset)."\n"; if ($annee) $ann=$annee; else $ann=$ntable["DP"]; $data_editeur.=" ".htmlspecialchars($ann,ENT_QUOTES,$charset)."\n"; } $editeur_present=false; if ($data_editeur) { $data.=" \n"; $data.=$data_editeur; $data.=" \n"; $editeur_present=true; } //Date de publication $dp=false; if ($ntable["DP"]) { if (!$editeur_present) { $data.=" \n"; $data.=" ".htmlspecialchars($ntable["DP"],ENT_QUOTES,$charset)."\n"; $data.=" \n"; $dp=true; } } //Distributeur if ($ntable["DIST"]) { if ((!$dp)&&(!$editeur_present)) { $data.=" \n"; $data.=" \n"; $data.=" \n"; } $distributeur=explode(":",$ntable["DIST"]); if ($distributeur[1]) { $nom=$dsitributeur[1]; $lieu=$distributeur[0]; } else { $nom=$ntable["DIST"]; $lieu=""; } $data_editeur=" ".htmlspecialchars($nom,ENT_QUOTES,$charset)."\n"; if ($lieu) $data_editeur.=" ".htmlspecialchars($lieu,ENT_QUOTES,$charset)."\n"; $data.=" \n"; $data.=$data_editeur; $data.=" \n"; } if ($collection) { $data.=" \n"; $data.=" ".htmlspecialchars($collection,ENT_QUOTES,$charset)."\n"; $data.=" \n"; } //Notes if (($ntable["NO"])&&($ntable["TY"]!="REVUE")) { $data.=" \n"; $data.=" ".htmlspecialchars($ntable["NO"],ENT_QUOTES,$charset)."\n"; $data.=" \n"; } //Résumé if ($ntable["RESU"]) { $data.=" \n"; $data.=" ".htmlspecialchars($ntable["RESU"],ENT_QUOTES,$charset)."\n"; $data.=" \n"; } //Périodiques if ($ntable["TP"]) { $data.=" \n"; $data.=" ".htmlspecialchars($ntable["TP"],ENT_QUOTES,$charset)."\n"; $data.=" ".htmlspecialchars($ntable["TN"],ENT_QUOTES,$charset)."\n"; $so=explode(",",$ntable["SO"]); $data.=" ".htmlspecialchars($so[count($so)-1],ENT_QUOTES,$charset)."\n"; unset($so[count($so)-1]); $data.=" ".htmlspecialchars(implode(",",$so),ENT_QUOTES,$charset)."\n"; $data.=" ".htmlspecialchars($ntable["NO"],ENT_QUOTES,$charset)."\n"; $data.=" "; } //Indexations if ($ntable["GO"]||$ntable["HI"]||$ntable["DENP"]||$ntable["DE"]||$ntable["CD"]) { $data.=static::make_index($ntable["GO"],"Géo"); $data.=static::make_index($ntable["HI"],"Hist"); $data.=static::make_index($ntable["DENP"],"DENP"); $data.=static::make_index($ntable["DE"],"Mots clés"); $data.=static::make_index($ntable["CD"],"CD"); } //Champs spéciaux $data.=" \n"; $data.=" ".htmlspecialchars($ntable["OP"],ENT_QUOTES,$charset)."\n"; $data.=" \n"; $data.=" \n"; $data.=" ".htmlspecialchars($ntable["GEN"],ENT_QUOTES,$charset)."\n"; $data.=" \n"; $data.=" \n"; $data.=" ".htmlspecialchars($ntable["DS"],ENT_QUOTES,$charset)."\n"; $data.=" \n"; $data.="\n"; } if (!$error) $r['VALID'] = true; else $r['VALID']=false; $r['ERROR'] = $error; $r['DATA'] = $data; return $r; } }