Files
Graspa/getdata.php
2018-08-09 18:53:24 +02:00

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;
}
// }
?>