private function glueTogether() { $u = (string) $this->baseURl; if (count($this->params)) { $params = array(); foreach ($this->params as $target => $source) { $m = array(); if (preg_match('/^_(\\w+)\\[([^\\]]+)\\]$/', $source, $m)) { $source = $this->rd->get(strtolower($m[1]), $m[2]); } if ($source) { $params[] = sprintf('%s=%s', $target, urlencode($source)); } } if (strpos($u, '?') !== false) { $u .= '&' . implode('&', $params); } else { $u .= '?' . implode('&', $params); } } if ($this->user && $this->pass) { $u = str_replace('://', sprintf('://%s:%s@', $this->user, $this->pass), $u); } $u = str_replace('{urlScheme}', $this->context->getRequest()->getUrlScheme(), $u); $u = str_replace('{urlHost}', $this->context->getRequest()->getUrlHost(), $u); return $u; }