101 lines
3.5 KiB
PHP
101 lines
3.5 KiB
PHP
<?php
|
|
$username="graspa";
|
|
$password="7ZRAf2#pa8";
|
|
$hostname = "localhost";
|
|
//connection string with database
|
|
$dbhandle = mysqli_connect($hostname, $username, $password)
|
|
or die("Unable to connect to MySQL");
|
|
|
|
// connect with database
|
|
$selected = mysqli_select_db($dbhandle, "graspa")
|
|
or die("Could not select examples");
|
|
|
|
$queryTrun = " TRUNCATE TABLE IZU92ap5P_rawdata ";
|
|
mysqli_query($dbhandle,$queryTrun);
|
|
|
|
$queryurl = "SELECT url,email FROM IZU92ap5P_autori2url";
|
|
$result = mysqli_query($dbhandle,$queryurl);
|
|
|
|
$url = '';
|
|
while($row = mysqli_fetch_object($result)){
|
|
$url = $row->url;
|
|
$email = $row->email;
|
|
$xml = file_get_contents($url);
|
|
$newxml = str_replace('arxiv:','arxiv_',$xml);
|
|
//$xml = simplexml_load_file($url); //retrieve URL and parse XML content
|
|
//echo $xml->getName(); // output name of root element
|
|
$xmlparse = simplexml_load_string($newxml);
|
|
//$xmlparse = simplexml_load_string(html_entity_decode($xml), 'SimpleXMLElement', LIBXML_NOCDATA);
|
|
|
|
|
|
foreach($xmlparse->entry as $item)
|
|
{
|
|
$date_format = "j-n-Y"; // 7-7-2008
|
|
|
|
//echo '<style type="text/css">.style1 { direction: rtl;</style><p class="style1">';
|
|
//echo $item->published;
|
|
//echo '<br><a href="'.$item->id.'" target="_blank">'.$item->title.'</a><br>';
|
|
//echo '<div>' . $item->summary . '</div><br><br><br><hr><br>';
|
|
$autori = '';
|
|
foreach($item->author as $autore){
|
|
$autori = $autori.$autore->name. ', ';
|
|
}
|
|
|
|
//echo $autori .'<br>';
|
|
|
|
$categorie = '';
|
|
foreach($item->category as $categoria){
|
|
$categorie = $categorie.$categoria['term']. ', ';
|
|
}
|
|
|
|
//echo $categorie .'<br>';
|
|
//echo '<div>' . $item->xpath('link')->title . '</div><br><br><br><hr><br>';
|
|
//echo '<div>' . $item->content . '</div><br><br><br>';
|
|
// echo '</p>';
|
|
|
|
$item->published = date("Y-m-d",strtotime($item->published));
|
|
|
|
$query = "INSERT INTO IZU92ap5P_rawdata ( email, doi, published, title, summary, authors, ajournal, categories)";
|
|
|
|
VALUES (
|
|
'$email',
|
|
'$item->id',
|
|
STR_TO_DATE('$item->published', '%Y-%m-%d'),
|
|
'$item->title',
|
|
'$item->summary',
|
|
'$autori',
|
|
'$item->arxiv_journal_ref',
|
|
'$categorie'
|
|
)";
|
|
//echo $query;
|
|
mysqli_query($dbhandle,$query);
|
|
|
|
}
|
|
//inserimento nuovi articoli
|
|
$query = "INSERT INTO IZU92ap5P_articoli (doi, published, title, summary, authors, ajournal, categories)
|
|
SELECT DISTINCT doi, published, title, summary, authors, ajournal, categories FROM IZU92ap5P_rawdata
|
|
WHERE doi NOT IN ( SELECT DISTINCT doi FROM IZU92ap5P_articoli)";
|
|
mysqli_query($dbhandle,$query);
|
|
//inserimento nuovi link articoli autori
|
|
$query = "INSERT INTO IZU92ap5P_articoli2autori (email,doi)
|
|
SELECT DISTINCT rd.email,rd.doi FROM IZU92ap5P_rawdata rd LEFT OUTER JOIN IZU92ap5P_articoli2autori a2a ON rd.doi = a2a.doi AND rd.email = a2a.email
|
|
WHERE a2a.email IS NULL";
|
|
mysqli_query($dbhandle,$query);
|
|
//update articoli se ci sono modifiche lato data pubblicazione o rivista
|
|
$query = "UPDATE IZU92ap5P_rawdata rd
|
|
LEFT OUTER JOIN IZU92ap5P_articoli art ON rd.doi = art.doi
|
|
SET art.published = rd.published
|
|
,art.ajournal = rd.ajournal
|
|
,art.title = rd.title
|
|
,art.summary = rd.summary
|
|
,art.authors = rd.authors
|
|
,art.appr = 0
|
|
,art.veto = 0
|
|
WHERE rd.published <> art.published
|
|
OR rd.ajournal <> art.ajournal";
|
|
mysqli_query($dbhandle,$query);
|
|
//echo "<br><hr>";
|
|
//echo $query;
|
|
}
|
|
// }
|
|
?>
|