/**
  * @param Application\Request $appRequest
  * @param Nette\Http\Url $refUrl
  * @return NULL|string
  */
 public function constructUrl(Application\Request $appRequest, Nette\Http\Url $refUrl)
 {
     $parameters = $appRequest->getParameters();
     if (isset($parameters['action']) && $parameters['action'] == FALSE) {
         $parameters['action'] = NULL;
     }
     $appRequest->setParameters($parameters);
     return parent::constructUrl($appRequest, $refUrl);
 }
Beispiel #2
0
 /**
  * Constructs absolute URL from Request object
  *
  * @param \Nette\Application\Request $appRequest
  * @param \Nette\Http\Url $refUrl
  * @return string|NULL
  */
 public function constructUrl(Application\Request $appRequest, \Nette\Http\Url $refUrl)
 {
     if ($appRequest->getPresenterName() != $this->getTargetPresenter()) {
         return NULL;
     }
     $params = $appRequest->getParameters();
     if (!isset($params['id']) && isset($params[0])) {
         $params['id'] = $params[0];
         unset($params[0]);
         $appRequest->setParameters($params);
     }
     return parent::constructUrl($appRequest, $refUrl);
 }
Beispiel #3
0
 /**
  * @param \Nette\Application\Request
  * @param array
  * @return \Nette\Application\Request
  */
 private function setRequestParams(\Nette\Application\Request $appRequest, array $params)
 {
     $metadata = $this->getDefaults();
     if (!isset($params[self::PRESENTER_KEY])) {
         throw new \InvalidStateException('Missing presenter in route definition.');
     }
     if (isset($metadata[self::MODULE_KEY])) {
         if (!isset($params[self::MODULE_KEY])) {
             throw new \InvalidStateException('Missing module in route definition.');
         }
         $presenter = $params[self::MODULE_KEY] . ':' . $params[self::PRESENTER_KEY];
         unset($params[self::MODULE_KEY], $params[self::PRESENTER_KEY]);
     } else {
         $presenter = $params[self::PRESENTER_KEY];
         unset($params[self::PRESENTER_KEY]);
     }
     $appRequest->setPresenterName($presenter);
     $appRequest->setParameters($params);
     return $appRequest;
 }
Beispiel #4
0
 /**
  * Modify request by page
  *
  * @param \Nette\Application\Request $request
  * @param RouteEntity $route
  * @param $parameters
  * @param string $domain
  * @return \Nette\Application\Request
  */
 protected function modifyConstructRequest(Request $request, RouteEntity $route, $parameters, $domain)
 {
     $request->setPresenterName(self::DEFAULT_MODULE . ':' . self::DEFAULT_PRESENTER);
     $request->setParameters(array('module' => self::DEFAULT_MODULE, 'presenter' => self::DEFAULT_PRESENTER, 'action' => self::DEFAULT_ACTION, 'lang' => count($this->languages) > 1 ? isset($parameters['lang']) ? $parameters['lang'] : ($route->page->language ? $route->page->language->alias : $this->defaultLanguage) : NULL, 'slug' => $route->getUrl(), 'domain' => $route->domain ? $route->domain->domain : '') + $parameters);
     return $request;
 }