CodeIgniter installed
[living-lab-site.git] / system / helpers / directory_helper.php
1 <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2 /**
3  * CodeIgniter
4  *
5  * An open source application development framework for PHP 5.1.6 or newer
6  *
7  * @package             CodeIgniter
8  * @author              ExpressionEngine Dev Team
9  * @copyright   Copyright (c) 2008 - 2011, EllisLab, Inc.
10  * @license             http://codeigniter.com/user_guide/license.html
11  * @link                http://codeigniter.com
12  * @since               Version 1.0
13  * @filesource
14  */
15
16 // ------------------------------------------------------------------------
17
18 /**
19  * CodeIgniter Directory Helpers
20  *
21  * @package             CodeIgniter
22  * @subpackage  Helpers
23  * @category    Helpers
24  * @author              ExpressionEngine Dev Team
25  * @link                http://codeigniter.com/user_guide/helpers/directory_helper.html
26  */
27
28 // ------------------------------------------------------------------------
29
30 /**
31  * Create a Directory Map
32  *
33  * Reads the specified directory and builds an array
34  * representation of it.  Sub-folders contained with the
35  * directory will be mapped as well.
36  *
37  * @access      public
38  * @param       string  path to source
39  * @param       int             depth of directories to traverse (0 = fully recursive, 1 = current dir, etc)
40  * @return      array
41  */
42 if ( ! function_exists('directory_map'))
43 {
44         function directory_map($source_dir, $directory_depth = 0, $hidden = FALSE)
45         {
46                 if ($fp = @opendir($source_dir))
47                 {
48                         $filedata       = array();
49                         $new_depth      = $directory_depth - 1;
50                         $source_dir     = rtrim($source_dir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
51
52                         while (FALSE !== ($file = readdir($fp)))
53                         {
54                                 // Remove '.', '..', and hidden files [optional]
55                                 if ( ! trim($file, '.') OR ($hidden == FALSE && $file[0] == '.'))
56                                 {
57                                         continue;
58                                 }
59
60                                 if (($directory_depth < 1 OR $new_depth > 0) && @is_dir($source_dir.$file))
61                                 {
62                                         $filedata[$file] = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $new_depth, $hidden);
63                                 }
64                                 else
65                                 {
66                                         $filedata[] = $file;
67                                 }
68                         }
69
70                         closedir($fp);
71                         return $filedata;
72                 }
73
74                 return FALSE;
75         }
76 }
77
78
79 /* End of file directory_helper.php */
80 /* Location: ./system/helpers/directory_helper.php */