summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-10-24 22:52:05 +0200
committerAndrey Andreev <narf@bofh.bg>2012-10-24 22:52:05 +0200
commit4a7cc768a836a12c4839e482715b3859e0c16d7d (patch)
tree9b0cf091fc44b604a412bea64eec0d960ec724e4
parent04c50f50ad1f522f9521197f9ee7059da52168e0 (diff)
Fix #1811
-rw-r--r--system/core/URI.php14
-rw-r--r--user_guide_src/source/changelog.rst1
2 files changed, 9 insertions, 6 deletions
diff --git a/system/core/URI.php b/system/core/URI.php
index 15e6a5599..40eaaeb6b 100644
--- a/system/core/URI.php
+++ b/system/core/URI.php
@@ -433,9 +433,9 @@ class CI_URI {
/**
* Generate a key value pair from the URI string or Re-routed URI string
*
- * @param int the starting segment number
- * @param array an array of default values
- * @param string which array we should use
+ * @param int $n = 3 the starting segment number
+ * @param array $default = array() an array of default values
+ * @param string $which = 'segment' which array we should use
* @return array
*/
protected function _uri_to_assoc($n = 3, $default = array(), $which = 'segment')
@@ -445,9 +445,11 @@ class CI_URI {
return $default;
}
- if (isset($this->keyval[$n]))
+ in_array($which, array('segment', 'rsegment'), TRUE) OR $which = 'segment';
+
+ if (isset($this->keyval[$which], $this->keyval[$which][$n]))
{
- return $this->keyval[$n];
+ return $this->keyval[$which][$n];
}
if ($which === 'segment')
@@ -499,7 +501,7 @@ class CI_URI {
}
// Cache the array for reuse
- $this->keyval[$n] = $retval;
+ $this->keyval[$which][$n] = $retval;
return $retval;
}
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 8576dbf19..d3cebc7cc 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -380,6 +380,7 @@ Bug fixes for 3.0
- Fixed a bug (#191) - :doc:`Loader Library <libraries/loader>` ignored attempts for (re)loading databases to ``get_instance()->db`` even when the old database connection is dead.
- Fixed a bug (#1255) - :doc:`User Agent Library <libraries/user_agent>` method ``is_referral()`` only checked if ``$_SERVER['HTTP_REFERER']`` exists.
- Fixed a bug (#1146) - :doc:`Download Helper <helpers/download_helper>` function ``force_download()`` incorrectly sent *Cache-Control* directives *pre-check* and *post-check* to Internet Explorer.
+- Fixed a bug (#1811) - :doc:`URI Library <libraries/uri>` didn't properly cache segments for ``uri_to_assoc()`` and ``ruri_to_assoc()``.
Version 2.1.3
=============