"); if ($i===false) $i=strpos($fcontents,"<".$input_params['NOTICEELEMENT']." "); if ($i!==false) { //on pense à récup le charset du xml if($encoding === ""){ $s=strpos($fcontents,""); if(isset($s) && isset($e)){ $entete = substr($fcontents,$s,$e+2); $rx = "//m"; if (preg_match($rx,$entete, $m)) $encoding = strtoupper($m[1]); } } $i1=strpos($fcontents,""); while ((!feof($fi))&&($i1===false)) { $fcontents.=fread($fi,4096); $i1=strpos($fcontents,""); } // nouvelles versions de BCDI : la notice mere et la notice fille sont dans 1 seule notice => si on a une fille (=notice partie), on extrait la mere (notice generale) pour envoyer le bon nombre de noties à traiter $i_notpartie=strpos($fcontents,""); $i1_notpartie=strpos($fcontents,""); $i_notgenerale=strpos($fcontents,""); $i1_notgenerale=strpos($fcontents,""); if($i_notpartie!==false && $i1_notpartie!==false) { if($i_notgenerale!==false && $i1_notgenerale!==false){ // envoi de la notice mere $notice="<".$input_params['NOTICEELEMENT'].">".substr($fcontents,$i_notgenerale,$i1_notgenerale+strlen("")-$i_notgenerale).""; $requete="insert into import_marc (no_notice, notice, origine, encoding) values($n,'".addslashes($notice)."','$origine','$encoding')"; pmb_mysql_query($requete); $n++; $index[]=$n; // envoi de la notice fille $notice=substr($fcontents,$i,$i1+strlen("")-$i); $requete="insert into import_marc (no_notice, notice, origine, encoding) values($n,'".addslashes($notice)."','$origine','$encoding')"; pmb_mysql_query($requete); $n++; $index[]=$n; $fcontents=substr($fcontents,$i1+strlen("")); $i=false; } } // si pas de fille, on traite la notice de manière standard elseif ($i1!==false) { $notice=substr($fcontents,$i,$i1+strlen("")-$i); $requete="insert into import_marc (no_notice, notice, origine, encoding) values($n,'".addslashes($notice)."','$origine','$encoding')"; pmb_mysql_query($requete); $n++; $index[]=$n; $fcontents=substr($fcontents,$i1+strlen("")); $i=false; } } else { if (!feof($fi)) $fcontents.=fread($fi,4096); else break; } } return $index; } } ?>