Skip to content

Commit

Permalink
config->site_url() optimizations
Browse files Browse the repository at this point in the history
- direct access to config array, instead of item() calls
- the string cast is just in case 'url_suffix' would be set to false or null; the function produces the same results without this cast, but it leads to a robuster code, as false and null are sanitized and skip the suffix insertion code
- altered conditional structure: if no suffix, skip the appending of an empty string to $uri
  • Loading branch information
vlakoff committed Dec 3, 2012
1 parent e1d6c46 commit 66cb413
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions system/core/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -245,15 +245,18 @@ public function site_url($uri = '')

if ($this->item('enable_query_strings') === FALSE)
{
$suffix = ($this->item('url_suffix') === FALSE) ? '' : $this->item('url_suffix');
$suffix = isset($this->config['url_suffix']) ? (string) $this->config['url_suffix'] : '';

if ($suffix !== '' && ($offset = strpos($uri, '?')) !== FALSE)
if ($suffix !== '')
{
$uri = substr($uri, 0, $offset).$suffix.substr($uri, $offset);
}
else
{
$uri .= $suffix;
if (($offset = strpos($uri, '?')) !== FALSE)
{
$uri = substr($uri, 0, $offset).$suffix.substr($uri, $offset);
}
else
{
$uri .= $suffix;
}
}

return $this->slash_item('base_url').$this->slash_item('index_page').$uri;
Expand Down

0 comments on commit 66cb413

Please sign in to comment.