From 42ca2a1a5caf35bc620f87ece03a938e140b3bdf Mon Sep 17 00:00:00 2001 From: Ben Roberts Date: Sat, 17 Dec 2011 12:41:23 +0000 Subject: [PATCH] Add caching to site incident retrieval. Add site status function. --- source/lib/StatusBoard/Site.class.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/source/lib/StatusBoard/Site.class.php b/source/lib/StatusBoard/Site.class.php index 2d5f0c9..666e1cf 100644 --- a/source/lib/StatusBoard/Site.class.php +++ b/source/lib/StatusBoard/Site.class.php @@ -7,6 +7,9 @@ class StatusBoard_Site { protected $name; protected $description; + protected $incidents; + protected $incidents_open; + protected function __construct($id, $service, $name, $description) { $this->id = $id; $this->service = $service; @@ -94,8 +97,16 @@ class StatusBoard_Site { $this->id = null; } - public function incidents_open() { - return StatusBoard_Incident::open_for_site($this); + public function openIncidents() { + if ($this->incidents_open === null || $ignore_cache) { + $this->incidents_open = StatusBoard_Incident::open_for_site($this); + } + + return $this->incidents_open; + } + + public function status() { + return StatusBoard_Incident::highestSeverityStatus($this->openIncidents()); } public function id() {