protected function wrapPageVersionStatusByAB($version, $page, $liveVersions) { $startsAt = $version->starts_at; $endsAt = $version->ends_at; $version->starts_at_human = $version->starts_at ? $this->toHumanDateFormat($version->starts_at) : 'never starts'; $version->ends_at_human = $version->ends_at ? $this->toHumanDateFormat($version->ends_at) : 'never ends'; $liveVersionIds = $liveVersions->lists('id')->toArray(); // the current version is live if (in_array($version->id, $liveVersionIds)) { $page->status = 'live'; $version->status = "live"; return $version; } // if version has a starts_at date scheduled if ($startsAt && $startsAt > $this->now) { $version->status = 'scheduled'; return $version; } $version->status = "unpublished"; return $version; }