summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Sowell <robin.sowell@ellislab.com>2009-05-26 23:45:54 +0200
committerRobin Sowell <robin.sowell@ellislab.com>2009-05-26 23:45:54 +0200
commit96dafa84d2c6e1f7792e67d0ea0bc81c69543894 (patch)
tree59cd308b63882be5862ec5cbdb3c67cdb050b160
parent03d783ba0bbee1a5f76b6ad686bbcee59a2e21fb (diff)
Directory helper's directory_map tweaked to allow inclusion of hidden files.
-rw-r--r--system/helpers/directory_helper.php6
-rw-r--r--user_guide/changelog.html1
-rw-r--r--user_guide/helpers/directory_helper.html7
3 files changed, 9 insertions, 5 deletions
diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php
index 5f67b126f..b1c497686 100644
--- a/system/helpers/directory_helper.php
+++ b/system/helpers/directory_helper.php
@@ -41,7 +41,7 @@
*/
if ( ! function_exists('directory_map'))
{
- function directory_map($source_dir, $top_level_only = FALSE)
+ function directory_map($source_dir, $top_level_only = FALSE, $hidden = FALSE)
{
if ($fp = @opendir($source_dir))
{
@@ -50,7 +50,7 @@ if ( ! function_exists('directory_map'))
while (FALSE !== ($file = readdir($fp)))
{
- if (strncmp($file, '.', 1) == 0)
+ if (($hidden == FALSE && strncmp($file, '.', 1) == 0) OR ($file == '.' OR $file == '..'))
{
continue;
}
@@ -59,7 +59,7 @@ if ( ! function_exists('directory_map'))
{
$temp_array = array();
- $temp_array = directory_map($source_dir.$file.DIRECTORY_SEPARATOR);
+ $temp_array = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $top_level_only, $hidden);
$filedata[$file] = $temp_array;
}
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index c423ac6e7..3ae2cb612 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -82,6 +82,7 @@ SVN Revision: </p>
<ul>
<li>Added <kbd>form_multiselect()</kbd> to the <a href="helpers/form_helper.html">Form helper</a>.</li>
<li>Modified <kbd>form_hidden()</kbd> in the <a href="helpers/form_helper.html">Form helper</a> to accept multi-dimensional arrays.</li>
+ <li>Modified <kbd>directory_map()</kbd> in the <a href="helpers/directory_helper.html">Directory helper</a> to allow the inclusion of hidden files.</li>
</ul>
</li>
</ul>
diff --git a/user_guide/helpers/directory_helper.html b/user_guide/helpers/directory_helper.html
index 898b5ac0b..5ebb816f6 100644
--- a/user_guide/helpers/directory_helper.html
+++ b/user_guide/helpers/directory_helper.html
@@ -78,13 +78,16 @@ and builds an array representation of it and all its contained files. Example:</
<p class="important"><strong>Note:</strong> Paths are almost always relative to your main index.php file.</p>
-
-
<p>Sub-folders contained within the directory will be mapped as well. If you wish to map
only the top level directory set the second parameter to <var>true</var> (boolean):</p>
<code>$map = directory_map('./mydirectory/', TRUE);</code>
+<p>By default, hidden files will not be included in the returned array. To override this behavior,
+you may set a third parameter to <var>true</var> (boolean):</p>
+
+<code>$map = directory_map('./mydirectory/', FALSE, TRUE);</code>
+
<p>Each folder name will be an array index, while its contained files will be numerically indexed.
Here is an example of a typical array:</p>