public static function getNew() { $file = explode('/', dirname(__FILE__)); array_pop($file); $response = false; if (debug_backtrace()[0]['file'] === implode('/', $file) . '/cron.php') { $db = \lib\Db::getInstance(); $date = \model\Date::max(false); if (\model\Date::nextCheck($date, 0) <= 0) { $dateTime = new \DateTime($date); $req = $db->prepare('INSERT INTO dow VALUES (:date, :dow)'); while (true) { $url = "http://geo.crox.net/djia/" . str_replace("-", "/", $date); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, true); $dow = curl_exec($ch); curl_close($ch); if ($dow > 0) { $req->execute([':date' => $date, ':dow' => $dow]); $response = true; $dateTime->add(new \DateInterval('P1D')); $date = $dateTime->format('Y-m-d'); } else { break; } } } } return $response; }
public function view() { $maxDate = \model\Date::max(); $nextCheck = \model\Date::nextCheck($maxDate); $output = array('maxDate' => $maxDate, 'nextCheck' => $nextCheck); header('Content-Type: application/json'); echo json_encode($output); }
public static function tillDow() { $maxDate = \model\Date::max(); $nextCheck = \model\Date::nextCheck($maxDate); header('Cache-Control: public, max-age=' . $nextCheck); }
minZoom: 1, maxZoom: 19, minDate: '<?php echo \model\Date::min(); ?> ', maxDate: '<?php echo $this->maxDate; ?> ', date: '<?php echo $this->date; ?> ', refreshMaxDate: '<?php echo \model\Date::nextCheck($this->maxDate); ?> ', bingKey: '<?php echo \config::$keys['bing']; ?> ', showDisclaimer: <?php echo $this->showDisclaimer ? 'true' : 'false'; ?> }, user: { home: <?php echo $this->settings['home']; ?> ,