/** * Constructs URL path from PresenterRequest object. * @param Nette\Web\IHttpRequest * @param PresenterRequest * @return string|NULL */ public function constructUrl(NPresenterRequest $request, IHttpRequest $context) { // overime ze presenter je jeden ze podporovanych a existuje parameter 'id' static $presenters = array('Front:Eshop' => TRUE, 'Front:List' => TRUE); if (!isset($presenters[$request->getPresenterName()])) { return NULL; } $params = $request->getParams(); $uri = ''; $query = http_build_query($params, '', '&'); if ($query !== '') { $uri .= '?' . $query; } return $uri; }
function constructUrl(NPresenterRequest $appRequest, NUri $refUri) { $params = $appRequest->getParams(); $presenter = $appRequest->getPresenterName(); if (strncasecmp($presenter, $this->module, strlen($this->module)) === 0) { $params[self::PRESENTER_KEY] = substr($presenter, strlen($this->module)); } else { return NULL; } foreach ($this->defaults as $key => $value) { if (isset($params[$key]) && $params[$key] == $value) { unset($params[$key]); } } $uri = ($this->flags & self::SECURED ? 'https://' : 'http://') . $refUri->getAuthority() . $refUri->getPath(); $sep = ini_get('arg_separator.input'); $query = http_build_query($params, '', $sep ? $sep[0] : '&'); if ($query != '') { $uri .= '?' . $query; } return $uri; }