Example #1
0
 /**
  * Checks if the container has the given page
  *
  * @param \App\Navigation\Page|\App\Navigation\Page\AbstractPage $page      page to look for
  * @param  bool                                                  $recursive [optional] whether to search recursively.
  *                                                                          Default is false.
  * @return bool whether page is in container
  */
 public function hasPage(Page $page, $recursive = false)
 {
     $hash = $page->getHashCode();
     if (isset($this[$hash])) {
         return true;
     } elseif ($recursive) {
         /** @var $this Page[] */
         foreach ($this as $childPage) {
             if ($childPage->hasPage($page, true)) {
                 return true;
             }
         }
     }
     return false;
 }