Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $db = new mysqli();
- if ($db->connect_error) {
- die("Connection failed: " . $db->connect_error);
- }
- /*============Usuwanie przestarzałych rekordów==============*/
- $timeNow = time();
- $yearEarlier = $timeNow - 60*60*24*365; //data rok wcześniej
- $dateYearBefore = date("Y-m-d H:i:s", $yearEarlier);
- $today = date("Y-m-d H:i:s", $timeNow);
- $file = fopen("logs/" . $today . ".log","w");
- fwrite($file, "Start time: " . $today . "\n");
- $old = "DELETE FROM `wrotka_wydarzenia`.`pegle_przeplyw`
- WHERE `date` < '$dateYearBefore'";
- if($db->query($old)->num_rows > 0){
- fwrite($file, "Usunieto stare rekordy\n");
- } else {
- fwrite($file, $db->error);
- }
- $old = "DELETE FROM `wrotka_wydarzenia`.`pegle_level`
- WHERE `date` < '$dateYearBefore'";
- if($db->query($old)->num_rows > 0){
- fwrite($file, "Usunieto przestarzale rekordy\n");
- } else {
- fwrite($file, $db->error);
- }
- /*=========================================================*/
- $base_url = 'http://monitor.pogodynka.pl/api/';
- if (function_exists('curl_init')) {
- $stationList = json_decode(load_curl($base_url . 'map/?category=hydro'));
- }
- $stations = array();
- $i = 0;
- foreach ($stationList as &$stationListObject) {
- $stations[$i] = $stationListObject->i;
- $i++;
- }
- $iterator = 0;
- foreach ($stations as &$s) {
- $obj = json_decode(load_curl($base_url . 'station/hydro/?id=' . $s));
- $station_id = $s;
- fwrite($file, $obj->name . " (" . $obj->id . ")\n");
- foreach ($obj->waterStateRecords as &$record) {
- if ($record->value != null) {
- $date_level = $record->date;
- $date_level = strtotime($date_level);
- $date = date('Y-m-d H:i:s', $date_level);
- $level_value = $record->value;
- $check = "SELECT *
- FROM `wrotka_wydarzenia`.`pegle_level`
- WHERE `station_id` LIKE '$station_id'
- AND `date` LIKE '$date'
- LIMIT 0 , 30";
- if ($db->query($check)->num_rows == 0) {
- $zap = "INSERT INTO `wrotka_wydarzenia`.`pegle_level`(`station_id` ,`date` ,`value`)VALUES('$station_id','$date','$level_value')";
- if ($db->query($zap) === TRUE) {
- fwrite($file, "Nowy rekord poziomu " . $date . " dodany\n");
- } else {
- fwrite($file, $db->error . "\n");
- }
- } else {
- fwrite($file, "Rekord poziomu " . $date . " juz istnieje. Pominieto\n");
- }
- }
- }
- foreach ($obj->dischargeRecords as &$record) {
- if ($record->value != null) {
- $date_przeplyw = $record->date;
- $date_przeplyw = strtotime($date_przeplyw);
- $date = date('Y-m-d H:i:s', $date_przeplyw);
- $przeplyw_value = $record->value;
- $check = "SELECT *
- FROM `wrotka_wydarzenia`.`pegle_przeplyw`
- WHERE `station_id` LIKE '$station_id'
- AND `date` LIKE '$date'
- LIMIT 0 , 30";
- if ($db->query($check)->num_rows == 0) {
- $zap = "INSERT INTO `wrotka_wydarzenia`.`pegle_przeplyw`(`station_id` ,`date` ,`value`)VALUES('$station_id','$date','$przeplyw_value')";
- if ($db->query($zap) === TRUE) {
- fwrite($file, "Nowy rekord przeplywu " . $date . " dodany\n");
- } else {
- fwrite($file, $db->error . "\n");
- }
- } else {
- fwrite($file, "Rekord przeplywu " . $date . " juz istnieje. Pominieto\n");
- }
- }
- }
- $iterator++;
- fwrite($file, $iterator . "/" . count($stations) . " completed\n");
- }
- fwrite($file, "all stations saved\n");
- $timeNow = time();
- $today = date("Y-m-d H:i:s", $timeNow);
- fwrite($file, "Stop time: " . $today);
- fclose($file);
- $db->close();
- function load_curl($url)
- {
- $curl = curl_init($url);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- $result = curl_exec($curl);
- curl_close($curl);
- return $result;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement