Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 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;
 }