60 lines
1.7 KiB
PHP
Executable File
60 lines
1.7 KiB
PHP
Executable File
<?php
|
|
set_time_limit( 0 );
|
|
ini_set('auto_detect_line_endings', 1);
|
|
ini_set('mysql.connect_timeout','7200');
|
|
ini_set('max_execution_time', '0');
|
|
|
|
date_default_timezone_set( 'Europe/Oslo' );
|
|
ob_end_clean();
|
|
gc_enable();
|
|
|
|
header('Content-Type: text/event-stream');
|
|
header('Cache-Control: no-cache');
|
|
header('Access-Control-Allow-Credentials: true');
|
|
header('Access-Control-Allow-Methods: GET');
|
|
header('Access-Control-Expose-Headers: X-Events');
|
|
|
|
include 'lastSavedChange.php';
|
|
|
|
$resultFile = "resultater/results.xml";
|
|
//load variable from last check
|
|
$lastChange = filemtime($resultFile);
|
|
$time = date('r');
|
|
|
|
if ($lastSavedChange == NULL){
|
|
$lastSavedChange = $lastChange;
|
|
}
|
|
//check if file has been updated
|
|
if ($lastSavedChange<$lastChange){
|
|
//update deteceted
|
|
$ischanged = "yes :)";
|
|
$var_str = var_export($lastChange, true);
|
|
$var = "<?php\n\n\$lastSavedChange = $var_str;\n\n?>";
|
|
file_put_contents('lastSavedChange.php', $var, LOCK_EX);
|
|
$objXmlDocument = simplexml_load_file("resultater/results.xml");
|
|
|
|
//xml to json
|
|
if ($objXmlDocument === FALSE) {
|
|
foreach(libxml_get_errors() as $error) {
|
|
//error :(
|
|
}
|
|
exit;
|
|
}
|
|
$objJsonDocument = json_encode($objXmlDocument);
|
|
$arrOutput = json_decode($objJsonDocument, TRUE);
|
|
|
|
//csv format: change boolian , last time the xml was changed, current server time, json from xml
|
|
$response = "1,". $lastChange. "," . time() . "," . $objJsonDocument;
|
|
echo "data: $response\n\n";
|
|
}
|
|
elseif ($lastSavedChange==NULL){
|
|
//file does not exist
|
|
}
|
|
else {
|
|
//no update deteceted
|
|
$response = "0,". $lastChange. "," . time() . "," ;
|
|
echo "data: $response\n\n";
|
|
}
|
|
flush();
|
|
?>
|