Devise\Calendar\PageVersionSource::fetchEvents PHP Method

fetchEvents() public method

A Source must be able to fetch events. On this source we treat page versions as events with start and end dates.
public fetchEvents ( string $start, string $end ) : array(StdClass)
$start string
$end string
return array(StdClass)
    public function fetchEvents($start, $end)
    {
        $events = [];
        $pageVersions = $this->PageVersion->with('page')->join('dvs_pages', 'dvs_pages.id', '=', 'dvs_page_versions.page_id')->where('dvs_pages.dvs_admin', '!=', '1')->where('starts_at', '>', $start)->where('starts_at', '<', $end)->select('dvs_page_versions.*')->get();
        foreach ($pageVersions as $pageVersion) {
            $events[] = $this->fetchEvent($pageVersion);
        }
        return $events;
    }

Usage Example

 /**
  * Requests the json for a given start and stop date for a given page source
  *
  * @param  array $input
  * @return Response
  */
 public function requestPageVersionEventSource($input)
 {
     $start = array_get($input, 'start');
     $end = array_get($input, 'end');
     return $this->Response->json($this->PageVersionSource->fetchEvents($start, $end));
 }