/**
  * Constructs absolute URL from Request object.
  *
  * @param Request $appRequest
  * @param Nette\Http\Url $refUrl
  * @return NULL|string
  */
 public function constructUrl(Request $appRequest, Nette\Http\Url $refUrl)
 {
     if ($appRequest->presenterName == "Seo:Meta") {
         $action = $appRequest->parameters["action"];
         if ($action == "sitemap") {
             return "/sitemap.xml";
         } elseif ($action == "robots") {
             return "/robots.txt";
         } elseif ($action == "googleWebmasterTools" and $webmasterToolsName = $this->settingsDao->getWebmasterToolsName()) {
             return "/" . $webmasterToolsName;
         }
     }
     $id = isset($appRequest->parameters["id"]) ? $appRequest->parameters["id"] : NULL;
     $target = new Target($appRequest->presenterName, $appRequest->parameters["action"], $id);
     if ($this->defaultRoute == $target) {
         $slug = "/";
     } else {
         $slug = $this->routeDao->findCurrentSlugByTarget($target);
         if (!$slug) {
             return NULL;
         }
         $slug = "/" . $slug;
     }
     $parameters = $appRequest->parameters;
     unset($parameters["action"], $parameters["id"]);
     $url = clone $refUrl;
     $url->setPath($slug);
     $url->setQuery($parameters);
     return $url;
 }