Advertisement
Guest User

PegleTask

a guest
Nov 5th, 2015
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.99 KB | None | 0 0
  1.  <?php
  2.  
  3. $db = new mysqli();
  4.  
  5. if ($db->connect_error) {
  6.     die("Connection failed: " . $db->connect_error);
  7. }
  8.  /*============Usuwanie przestarzałych rekordów==============*/
  9. $timeNow = time();
  10. $yearEarlier = $timeNow - 60*60*24*365; //data rok wcześniej
  11. $dateYearBefore = date("Y-m-d H:i:s", $yearEarlier);
  12. $today = date("Y-m-d H:i:s", $timeNow);
  13.  
  14. $file = fopen("logs/" . $today . ".log","w");
  15. fwrite($file, "Start time: " . $today . "\n");
  16. $old = "DELETE FROM `wrotka_wydarzenia`.`pegle_przeplyw`
  17. WHERE `date` < '$dateYearBefore'";
  18.  
  19. if($db->query($old)->num_rows > 0){
  20.     fwrite($file, "Usunieto stare rekordy\n");
  21. } else {
  22.     fwrite($file, $db->error);
  23. }
  24.  
  25. $old = "DELETE FROM `wrotka_wydarzenia`.`pegle_level`
  26. WHERE `date` < '$dateYearBefore'";
  27.  
  28. if($db->query($old)->num_rows > 0){
  29.     fwrite($file, "Usunieto przestarzale rekordy\n");
  30. } else {
  31.     fwrite($file, $db->error);
  32. }
  33.  
  34.  /*=========================================================*/
  35. $base_url = 'http://monitor.pogodynka.pl/api/';
  36.  
  37. if (function_exists('curl_init')) {
  38.     $stationList = json_decode(load_curl($base_url . 'map/?category=hydro'));
  39. }
  40.  
  41. $stations = array();
  42.  
  43. $i = 0;
  44. foreach ($stationList as &$stationListObject) {
  45.     $stations[$i] = $stationListObject->i;
  46.     $i++;
  47. }
  48.  
  49. $iterator = 0;
  50. foreach ($stations as &$s) {
  51.     $obj = json_decode(load_curl($base_url . 'station/hydro/?id=' . $s));
  52.    
  53.    
  54.     $station_id = $s;
  55.     fwrite($file, $obj->name . " (" . $obj->id . ")\n");
  56.     foreach ($obj->waterStateRecords as &$record) {
  57.         if ($record->value != null) {
  58.             $date_level  = $record->date;
  59.             $date_level = strtotime($date_level);
  60.             $date = date('Y-m-d H:i:s', $date_level);
  61.             $level_value = $record->value;
  62.             $check       = "SELECT *
  63.                             FROM `wrotka_wydarzenia`.`pegle_level`
  64.                             WHERE `station_id` LIKE '$station_id'
  65.                             AND `date` LIKE '$date'
  66.                             LIMIT 0 , 30";
  67.            
  68.             if ($db->query($check)->num_rows == 0) {
  69.                
  70.                 $zap = "INSERT INTO `wrotka_wydarzenia`.`pegle_level`(`station_id` ,`date` ,`value`)VALUES('$station_id','$date','$level_value')";
  71.                 if ($db->query($zap) === TRUE) {
  72.                     fwrite($file, "Nowy rekord poziomu " . $date . " dodany\n");
  73.                 } else {
  74.                     fwrite($file, $db->error . "\n");
  75.                 }
  76.             } else {
  77.                  fwrite($file, "Rekord poziomu " . $date . " juz istnieje. Pominieto\n");
  78.             }
  79.         }
  80.     }
  81.     foreach ($obj->dischargeRecords as &$record) {
  82.         if ($record->value != null) {
  83.             $date_przeplyw  = $record->date;
  84.             $date_przeplyw = strtotime($date_przeplyw);
  85.             $date = date('Y-m-d H:i:s', $date_przeplyw);
  86.             $przeplyw_value = $record->value;
  87.             $check          =   "SELECT *
  88.                                 FROM `wrotka_wydarzenia`.`pegle_przeplyw`
  89.                                 WHERE `station_id` LIKE '$station_id'
  90.                                 AND `date` LIKE '$date'
  91.                                 LIMIT 0 , 30";
  92.            
  93.             if ($db->query($check)->num_rows == 0) {
  94.                 $zap = "INSERT INTO `wrotka_wydarzenia`.`pegle_przeplyw`(`station_id` ,`date` ,`value`)VALUES('$station_id','$date','$przeplyw_value')";
  95.                
  96.                 if ($db->query($zap) === TRUE) {
  97.                     fwrite($file, "Nowy rekord przeplywu " . $date . " dodany\n");
  98.                 } else {
  99.                     fwrite($file, $db->error . "\n");
  100.                 }
  101.             } else {
  102.                 fwrite($file, "Rekord przeplywu " . $date . " juz istnieje. Pominieto\n");
  103.             }
  104.         }
  105.     }
  106.     $iterator++;
  107.     fwrite($file, $iterator . "/" . count($stations) . " completed\n");
  108. }
  109. fwrite($file, "all stations saved\n");
  110. $timeNow = time();
  111. $today = date("Y-m-d H:i:s", $timeNow);
  112. fwrite($file, "Stop time: " . $today);
  113. fclose($file);
  114.  
  115. $db->close();
  116.  
  117. function load_curl($url)
  118. {
  119.     $curl = curl_init($url);
  120.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  121.     $result = curl_exec($curl);
  122.     curl_close($curl);
  123.     return $result;
  124. }
  125. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement