/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/system/helpers/directory_helper.php

  • Committer: galaxyAbstractor
  • Date: 2013-04-10 15:58:59 UTC
  • mfrom: (20.1.1 lenasys)
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: galaxyabstractor@gmail.com-20130410155859-cih60kaz5es8savt
CodeIgniter implementation of basic CMS system

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 */
 
 
b'\\ No newline at end of file'