diff --git a/api/app/Http/Controllers/ProgramController.php b/api/app/Http/Controllers/ProgramController.php index c5d6802..1c95611 100644 --- a/api/app/Http/Controllers/ProgramController.php +++ b/api/app/Http/Controllers/ProgramController.php @@ -203,6 +203,20 @@ QUERY; $program->hosts[] = new \Model\ProgramHost($host); } + $now = new \DateTimeImmutable('now'); + $past = $this->createSchedule($now->add(\DateInterval::createFromDateString('-3 weeks')), $now->add(\DateInterval::createFromDateString('+1 week'))); + $program->recent = []; + $program->next = []; + foreach($past['schedule'] as $item) { + if($item['program']->id == $id) { + if(($item['start'] > $now) && !($program->next)) { + $program->next = $item['start']; + } else if(($item['start'] < $now) && count($program->recent) < 2) { + $program->recent[] = $item['start']; + } + } + } + return response()->json($program); } diff --git a/common/classes/Program.php b/common/classes/Program.php index 3878af3..5c2b8da 100644 --- a/common/classes/Program.php +++ b/common/classes/Program.php @@ -10,7 +10,8 @@ class Program extends Model { public $priority; public $hosts; - public $schedule; + public $recent; + public $next; public function __construct($data) { parent::__construct($data); @@ -19,13 +20,10 @@ class Program extends Model { $this->name .= ' ' . $data->suffix; } - if($this->schedule && $this->schedule->next && $this->schedule->next->time) { - parent::ConvertToDateTime($this->schedule->next->time); - } - - if($this->schedule && $this->schedule->recent) { - foreach($this->schedule->recent as &$recent) { - parent::ConvertToDateTime($recent->time); + parent::ConvertToDateTime($this->next); + if($this->recent && $this->recent) { + foreach($this->recent as &$recent) { + parent::ConvertToDateTime($recent); } }