/**
  * @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;
 }