public function __construct(Identifier $page) { if (!$page->of(WebPage::getIdentifier())) { throw new \InvalidArgumentException(sprintf('RestartRequestOnPageException expects a web page identifier, %s given.', $page->getFullyQualifiedName())); } $this->page = $page; parent::__construct('RestartRequestOnPageException'); }
public function __construct(Identifier $pageIdentifier, Identifier $loginPage) { Args::identifierOf($pageIdentifier, WebPage::getIdentifier(), 'pageIdentifier'); Args::identifierOf($loginPage, WebPage::getIdentifier(), 'loginPage'); $this->pageAuthIdentifier = $pageIdentifier; $this->loginPageIdentifier = $loginPage; PiconApplication::get()->getSecuritySettings()->setComponentNotAuthorisedListener(new DirectToPageComponentNotAuthorisedListener($loginPage)); }
public function mount($path, Identifier $page) { if (!$page->of(WebPage::getIdentifier())) { throw new \InvalidArgumentException('Expected an identifier of a web page'); } if ($this->isMounted($path)) { throw new \InvalidArgumentException(sprintf('The path %s is already mounted', $path)); } $this->addToPath($path, $page->getFullyQualifiedName()); $this->mountedPages[] = $path; }
/** * Set the current page * @param mixed $page An instance of web page or an Identifier for a web page * @todo add page params */ public function setPage($page) { Args::notNull($page, 'page'); if ($page instanceof Identifier) { if ($page->of(WebPage::getIdentifier())) { $target = new PageRequestTarget($page); } else { throw new \InvalidArgumentException("Expected identifier to be for a web page"); } } else { if ($page instanceof WebPage) { PageMap::get()->addOrUpdate($page); $target = new PageInstanceRequestTarget($page); } else { throw new \InvalidArgumentException(sprintf("setPage expects an identifier for a web page or an instance of a web page and not a %s", get_class($page))); } } if ($this->getRequestCycle()->containsTarget(ListenerRequestTarget::getIdentifier())) { $url = $this->getRequestCycle()->generateUrl($target); $this->getRequestCycle()->addTarget(new RedirectRequestTarget($url)); } else { $this->getRequestCycle()->addTarget($target); } }
/** * * @param Identifier $targetPage The page to redirect to */ public function __construct(Identifier $targetPage) { Args::identifierOf($targetPage, WebPage::getIdentifier(), 'targetPage'); $this->targetPage = $targetPage; }