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));
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 /**
  * 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;
 }