Airship\Cabin\Bridge\Blueprint\CustomPages::getPageInfo PHP Method

getPageInfo() public method

Get information about only the page
public getPageInfo ( string $cabin, string $path = '', string $page ) : array
$cabin string
$path string
$page string
return array
    public function getPageInfo(string $cabin, string $path = '', string $page) : array
    {
        if ($path === '') {
            $directory = 0;
        } else {
            $directory = $this->getParentDirFromStr($path, $cabin);
        }
        return $this->getPage($page, $directory, $cabin);
    }

Usage Example

Example #1
0
 /**
  * We're going to view a page's history
  *
  * @route pages/{string}/history
  * @param string $cabin
  */
 public function pageHistory(string $cabin = '')
 {
     $page = [];
     $history = [];
     $path = $this->determinePath($cabin);
     if (!\is1DArray($_GET)) {
         \Airship\redirect($this->airship_cabin_prefix . '/pages/' . \trim($cabin, '/'));
     }
     $cabins = $this->getCabinNamespaces();
     if (!\in_array($cabin, $cabins)) {
         \Airship\redirect($this->airship_cabin_prefix);
     }
     $this->setTemplateExtraData($cabin);
     if (!$this->can('read')) {
         \Airship\redirect($this->airship_cabin_prefix);
     }
     try {
         $page = $this->pg->getPageInfo($cabin, $path, (string) ($_GET['page'] ?? ''));
         $history = $this->pg->getHistory((int) $page['pageid']);
     } catch (CustomPageNotFoundException $ex) {
         \Airship\redirect($this->airship_cabin_prefix . '/pages/' . \trim($cabin, '/'));
     }
     $this->lens('pages/page_history', ['cabins' => $cabins, 'pageinfo' => $page, 'history' => $history, 'dir' => $path, 'cabin' => $cabin, 'pathinfo' => \Airship\chunk($path)]);
 }