/** * @see sfWebController */ public function genUrl($parameters = array(), $absolute = false) { if (!defined('SID') || !SID) { return parent::genUrl($parameters, $absolute); } $isSid = false; if (is_string($parameters) && false !== ($sidPos = strpos($parameters, SID))) { $isSid = true; $paramHead = substr($parameters, 0, $sidPos); $paramFoot = substr($parameters, $sidPos + strlen(SID) + 1); $parameters = $paramHead . $paramFoot; } elseif (is_array($parameters) && in_array(session_name(), $parameters, true)) { $isSid = true; unset($parameters[session_name()]); } $url = parent::genUrl($parameters, $absolute); if ($isSid) { $fragment = ''; if (false !== ($fragPos = strpos($url, '#'))) { $fragment = substr($url, $fragPos); $url = substr($url, 0, $fragPos); } if (strpos($url, '?') === false) { $url .= '?'; } $url .= SID . $fragment; } return $url; }