summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--system/database/DB_cache.php2
-rw-r--r--system/database/DB_driver.php1
-rw-r--r--system/helpers/file_helper.php7
3 files changed, 6 insertions, 4 deletions
diff --git a/system/database/DB_cache.php b/system/database/DB_cache.php
index 86493e77c..aee5ce6fa 100644
--- a/system/database/DB_cache.php
+++ b/system/database/DB_cache.php
@@ -171,7 +171,7 @@ class CI_DB_Cache {
$segment_two = ($this->CI->uri->segment(2) == FALSE) ? 'index' : $this->CI->uri->segment(2);
}
- $dir_path = $this->CI->db->cachedir.md5($segment_one.'+'.$segment_two).'/';
+ $dir_path = $this->CI->db->cachedir.$segment_one.'+'.$segment_two.'/';
delete_files($dir_path, TRUE);
}
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 848d4f1c6..a24bd20d8 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -236,6 +236,7 @@ class CI_DB_driver {
{
if (FALSE !== ($cache = $this->CACHE->read($sql)))
{
+ $this->load_rdriver();
return $cache;
}
}
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index c0f525688..635ef1ba0 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -110,7 +110,7 @@ function write_file($path, $data, $mode = 'wb')
* @param bool whether to delete any directories found in the path
* @return bool
*/
-function delete_files($path, $del_dir = FALSE)
+function delete_files($path, $del_dir = FALSE, $level = 0)
{
// Trim the trailing slash
$path = preg_replace("|^(.+?)/*$|", "\\1", $path);
@@ -124,7 +124,8 @@ function delete_files($path, $del_dir = FALSE)
{
if (is_dir($path.'/'.$filename))
{
- delete_files($path.'/'.$filename, $del_dir);
+ $level++;
+ delete_files($path.'/'.$filename, $del_dir, $level);
}
else
{
@@ -134,7 +135,7 @@ function delete_files($path, $del_dir = FALSE)
}
@closedir($current_dir);
- if ($del_dir == TRUE)
+ if ($del_dir == TRUE AND $level > 0)
{
@rmdir($path);
}