<?php date_default_timezone_set('Pacific/Honolulu'); include "models/dailyseed.php"; $start = isset($_GET['start']) ? $_GET['start'] : null; $length = isset($_GET['length']) ? intval($_GET['length']) : 1000; $start = DateTime::createFromFormat("Ymd", $start); if (!$start) { $start = DateTime::createFromFormat("Ymd", "20151031"); } $length = min(800, max(1, $length)); $today = new DateTime((new DateTime())->format('Y-m-d')); $dailies = array(); for ($i = 0; $i < $length; $i++) { $daily = DailyConfig::GenerateDaily($start); $r = array(); if ($start->compare($today)->isBeforeOrEqual()) { $r['char'] = $daily->CharAsText(); $r['end'] = $daily->EndAsText(); $r['mega'] = $daily->IsMegaSatan; $r['hard'] = $daily->Difficulty; } if ($start < $today) { $r['seed'] = DailyConfig::SeedToString($daily->Seed); } $dailies[$start->format('Ymd')] = $r; $start = $start->add(new DateInterval("P1D")); } echo json_encode($dailies);
function updateDailyObjectives($date = 0) { global $db; if ($date == 0) { $stmt = $db->query("\n SELECT date\n FROM dates\n WHERE done = 1\n ORDER BY date DESC\n LIMIT 1"); } else { $stmt = $db->prepare("\n SELECT date\n FROM dates\n WHERE date = :date"); $stmt->execute(array(':date' => $date)); } $date = new DateTime($stmt->fetch()[0]); $daily = DailyConfig::GenerateDaily($date); $stmt = $db->prepare("\n UPDATE dates\n SET char_id = :char,\n endlevel = :floor,\n megasatan = :mega,\n hard = :hard\n WHERE date = :date"); $stmt->execute(array(':char' => $daily->Character, ':floor' => $daily->EndLevel, ':mega' => $daily->IsMegaSatan, ':hard' => $daily->Difficulty, ':date' => $date->format('Y-m-d'))); return $daily; }