PageRenderTime 21ms CodeModel.GetById 14ms app.highlight 3ms RepoModel.GetById 2ms app.codeStats 0ms

/halogy/helpers/directory_helper.php

https://bitbucket.org/haloweb/halogy-1.0/
PHP | 84 lines | 35 code | 11 blank | 38 comment | 13 complexity | b47a61f5cdeb793859aefd9e9e0a256b MD5 | raw file
 1<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 2/**
 3 * CodeIgniter
 4 *
 5 * An open source application development framework for PHP 4.3.2 or newer
 6 *
 7 * @package		CodeIgniter
 8 * @author		ExpressionEngine Dev Team
 9 * @copyright	Copyright (c) 2008 - 2009, 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	bool	whether to limit the result to the top level only
40 * @return	array
41 */	
42if ( ! function_exists('directory_map'))
43{
44	function directory_map($source_dir, $top_level_only = FALSE, $hidden = FALSE)
45	{	
46		if ($fp = @opendir($source_dir))
47		{
48			$source_dir = rtrim($source_dir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;		
49			$filedata = array();
50			
51			while (FALSE !== ($file = readdir($fp)))
52			{
53				if (($hidden == FALSE && strncmp($file, '.', 1) == 0) OR ($file == '.' OR $file == '..'))
54				{
55					continue;
56				}
57				
58				if ($top_level_only == FALSE && @is_dir($source_dir.$file))
59				{
60					$temp_array = array();
61				
62					$temp_array = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $top_level_only, $hidden);
63				
64					$filedata[$file] = $temp_array;
65				}
66				else
67				{
68					$filedata[] = $file;
69				}
70			}
71			
72			closedir($fp);
73			return $filedata;
74		}
75		else
76		{
77			return FALSE;
78		}
79	}
80}
81
82
83/* End of file directory_helper.php */
84/* Location: ./system/helpers/directory_helper.php */