ssl = isset($_SERVER['HTTPS']) ? TRUE : FALSE; } function site_url($uri = '') { if (is_array($uri)) { $uri = implode('/', $uri); } // ------- Added section - determine between HTTP and HTTPS ------- $matches = array(); preg_match(sprintf('#^(%s|%s|%s)#Us', $this->item('https_ssl_trigger'), $this->item('https_nossl_trigger'), $this->item('https_auto_trigger')), $uri, $matches); $mode = isset($matches[1]) ? $matches[1] : null; if ( is_null($mode) ) $mode = $this->item('https_default_trigger'); else $uri = substr($uri, strlen($mode)); $base = ''; switch ( $mode ) { case $this->item('https_ssl_trigger'): $base = $this->slash_item('https_base_url'); break; case $this->item('https_nossl_trigger'): $base = $this->slash_item('base_url'); break; case $this->item('https_auto_trigger'): $base = $this->ssl ? $this->slash_item('https_base_url') : $this->slash_item('base_url'); } // ---------------------------------------------------------------- if ($uri == '') { return $base.$this->item('index_page'); } else { $suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix'); return $base.$this->slash_item('index_page').preg_replace("|^/*(.+?)/*$|", "\\1", $uri).$suffix; } } } ?>