$v){ $dato[$v]=""; $ss=preg_replace("/$v:/","|$v::",$ss); } // explode fields sutrs in $dato (array) $aX = preg_split ("/\|/", $ss); foreach ($aX as $dummykey=>$vv) { $v=preg_split ("/::/", $vv); if ($dato[$v[0]]=='') $sep=''; else $sep='|'; $dato[$v[0]] .= $sep.$v[1]; } // copy $dato values to associative array $campi which keys are standard and in english reset($campo); foreach ($campo as $k => $v) { $campi[$k]=$dato[$v]; } //* DEBUG // $fp = fopen ("../../temp/raw".rand().".unimarc","wb"); // fwrite ($fp,$lista[3]); // fclose ($fp); // text record construction in $notice $sep='|'; $notice=""; //isbn $notice.=sut_numbers(); // col. 1 $notice.=del_more_garbage(sut_authors()); // col. 2..28 (1 author = 3 col) $notice.=del_more_garbage(sut_title()) ; // col.29..32 $notice.=sut_edition(); // col.33 $notice.=del_more_garbage(sut_editor()); // col.34..36 $notice.=del_more_garbage(sut_collection()); // col.37..40 // serie $notice.=sut_dummy(2); // col.41..42 $notice.=sut_decimalindex(); // col.43 $notice.=sut_freeindex(); // col.44 $notice.=sut_lang(); // col.45 // orig.lang $notice.=sut_dummy(1); // col.46 $notice.=sut_collation(); // col.47..50 $notice.=sut_notes(); // col.51..53 // DEBUG: in z_progression_main expand size frame3 to 50% //print "

"; //printr($campo,'','CAMPO'); //printr($campi,'','CAMPI'); //print "$ss

$notice"; //Lecture des paramètres d'import $param_path = "sutrs2unimarciso"; //Lecture des paramètres _parser_("$base_path/admin/convert/imports/".$param_path."/params.xml", array("IMPORTNAME" => "_import_name_", "NPERPASS" => "_n_per_pass_", "INPUT" => "_input_", "STEP" => "_step_", "OUTPUT" => "_output_"), "PARAMS"); require_once ("$base_path/admin/convert/xmltransform.php"); //En fonction du type de fichier d'entrée, inclusion du script de gestion des entrées require_once("$base_path/admin/convert/imports/input_text.inc.php"); //En fonction du type de fichier de sortie, inclusion du script de gestion des sorties require_once("$base_path/admin/convert/imports/output_iso_2709.inc.php"); $n_current = 0; $n_errors = 0; $n_per_pass = 1; $notice_ = convert_notice($notice); return $notice_; } function sut_dummy($nc){ global $sep; $ret=""; for ($k=0;$k<$nc;$k++) $ret .= '|'; return $ret; } function sut_bibliolevel(){ global $campi, $sep; return ''; } function sut_typedoc(){ global $campi, $sep; return $sep; } // AUTHORS: max 9 authors // if n.authors > 3 all in 702 function sut_authors(){ global $campi, $sep; $max_n_aut=9; //numero massimo di autori $first_sec_aut=3; //ndx del primo autore secondario $xaa=array('','','','','','','','',''); //lista vuota campi autore (9) $ret=""; $aax=$xaa; $xx=explode('/',$campi['Title']); $at=explode(';',$xx[1]); $x=$campi['Authors']; if (strpos($x,$sep)>0) $ax=explode($sep,$x); else $ax=array($x); if (count($ax)>$first_sec_aut) $i=$first_sec_aut; else $i=0; for ($k=0;$k $ff) { $ff=str_replace('/','\/',$ff); for ($k=0;$k0) // multifunc desc $aff=explode('|',$ff); else $aff=array($ff); foreach ($aff as $dummykey=>$fx){ $patt="/$fx/i" ; if (preg_match($patt,$af[$k])){ //cerca funzione if (strpos($af[$k],$a[0])){ //cerca cognome $ret=$cf; //funzione identificata !!! //$k=9999 ; //break 3; $end = true; break; } } } } if($end) break; } if($end) break; } return $ret; } function sut_title(){ global $campi, $sep; $ret=""; $x=explode('/',$campi['Title']); $x[0]=str_replace('*','',$x[0]); $x[0]=str_replace('<<','',$x[0]); $x[0]=str_replace('>>','',$x[0]); $x[0]=str_replace('<','',$x[0]); $x[0]=str_replace('>','',$x[0]); $x[0]=preg_replace('/([1-9])\:/','vv $1 ',$x[0]); $t=explode(':',$x[0],2); // titolo e complemento del titolo preg_match('/(vv\s[1-9]\s)/',$t[0],$vol); if ($vol[0]) $t[0]=str_replace($vol[0],'',$t[0])." ".str_replace('vv','',$vol[0]); $ret=$t[0].$sep.$sep.$sep.str_replace(' :',' ',$t[1]).$sep; return $ret; } function sut_edition(){ global $campi, $sep; $ret=sut_dummy(1); return $ret; } function sut_editor(){ global $campi, $sep; $ret=""; $t=explode(' - ',$campi['Title']); $x=""; for ($k=1;$k0) { $x=$t[$k]; break; } } // data edithors in $t[1] format = city : name , year //preg_match('/^(.*)\:(.*)\,(.*)$/',$t[1],$xx); $xx=array('','',''); $i=strpos($x,':'); if ($i>0) { $xx[0]=trim(substr($x,0,$i)); $x=substr($x,$i+1); } $i=strpos($x,','); if ($i>0) { $xx[1]=trim(substr($x,0,$i)); $x=substr($x,$i+1); }else{ $xx[1]=$x; $x=""; } $xx[2]=trim(str_replace('.','',$x)); $ret=$xx[0].$sep.$xx[1].$sep.$xx[2].$sep; //printr($t,'','TITOLO'); //printr($xx,'','EDITORE'); return $ret; } function sut_collation(){ global $campi, $sep; $ret=""; $t=explode(' - ',$campi['Title']); // data edithors in $t[1] format = pages : ill. ; dim // preg_match('/^(.*):(.*);(.*)$/',$t[2],$xx); $x=""; for ($k=1;$k0 or strpos($t[$k],'ill')>0 or strpos($t[$k],'cm')>0) { $x=$t[$k]; break; } } $xx=array('','',''); $i=strpos($x,'p.'); if ($i>0) { $xx[0]=trim(substr($x,0,$i+2)); $x=str_replace(':',' ',substr($x,$i+2)); } $i=strpos($x,';'); if ($i>0) { $xx[1]=trim(substr($x,0,$i)); $x=substr($x,$i+1); }else{ $xx[1]=""; } $x=trim($x); $i=strpos($x,'cm'); if ($i>0) $x=substr($x,0,$i+3); $xx[2]=$x; $ret=$xx[0].$sep.$xx[1].$sep.$xx[2].$sep; //printr($xx,'','COLLAZIONE'); return $ret; } function sut_collection(){ global $campi, $sep; $ret=trim($Campi['Collection']).$sep.$sep.$sep.$sep; return $ret; } function sut_notes(){ global $campi, $sep; $ret=sut_dummy(3); return $ret; } function sut_numbers(){ global $campi, $sep; $x=explode(' ',trim($campi['Numbers'])); $s=array() ; $n=array() ; $i=0 ;$j=0; $l=-1; for ($k=0;$k-1) $ret=$n[$l].$sep; else $ret=$n[0].$sep; return $ret; } function sut_names(){ global $campi, $sep; return $sep; } function sut_freeindex(){ global $campi, $sep; $ret=str_replace('|',' ',$campi['FreeIndex']); $ret=trim(preg_replace('/\b.\s|\s\-\s/',' ',$ret)); $ret .= $sep; return $ret; } function sut_decimalindex(){ global $campi, $sep; $ret=''; if (strpos($campi['DecimalIndex'],'|')) $x=explode('|',$campi['DecimalIndex']); else $x=array($campi['DecimalIndex']); foreach ($x as $dummykey=>$d){ $dd=explode(' ',trim($d)); if ($dd[0]=='D') { $ret=$dd[1]; break; } } $ret.=$sep; return $ret; } function sut_country(){ global $campi, $sep; $ret=trim($campi['Country']).$sep; return $ret; } function sut_lang(){ global $campi, $sep; global $codelang; $cl=array_search(strtolower(trim($campi['Lang'])),$codelang); $ret=$cl.$sep; return $ret; } function sut_Linked_notices(){ global $campi, $sep; $ret=dummy(1); return $ret; } function sut_Places(){ global $campi, $sep; $ret=dummy(1); return $ret; } function sut_Series(){ global $campi, $sep; $ret=dummy(1); return $ret; } ?>