<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**

 * CodeIgniter

 *

 * An open source application development framework for PHP 5.1.6 or newer

 *

 * @package		CodeIgniter

 * @author		ExpressionEngine Dev Team

 * @copyright	Copyright (c) 2008 - 2011, EllisLab, Inc.

 * @license		http://codeigniter.com/user_guide/license.html

 * @link		http://codeigniter.com

 * @since		Version 1.0

 * @filesource

 */



// ------------------------------------------------------------------------



/**

 * CodeIgniter Directory Helpers

 *

 * @package		CodeIgniter

 * @subpackage	Helpers

 * @category	Helpers

 * @author		ExpressionEngine Dev Team

 * @link		http://codeigniter.com/user_guide/helpers/directory_helper.html

 */



// ------------------------------------------------------------------------



/**

 * Create a Directory Map

 *

 * Reads the specified directory and builds an array

 * representation of it.  Sub-folders contained with the

 * directory will be mapped as well.

 *

 * @access	public

 * @param	string	path to source

 * @param	int		depth of directories to traverse (0 = fully recursive, 1 = current dir, etc)

 * @return	array

 */

if ( ! function_exists('directory_map'))

{

	function directory_map($source_dir, $directory_depth = 0, $hidden = FALSE)

	{

		if ($fp = @opendir($source_dir))

		{

			$filedata	= array();

			$new_depth	= $directory_depth - 1;

			$source_dir	= rtrim($source_dir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;



			while (FALSE !== ($file = readdir($fp)))

			{

				// Remove '.', '..', and hidden files [optional]

				if ( ! trim($file, '.') OR ($hidden == FALSE && $file[0] == '.'))

				{

					continue;

				}



				if (($directory_depth < 1 OR $new_depth > 0) && @is_dir($source_dir.$file))

				{

					$filedata[$file] = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $new_depth, $hidden);

				}

				else

				{

					$filedata[] = $file;

				}

			}



			closedir($fp);

			return $filedata;

		}



		return FALSE;

	}

}





/* End of file directory_helper.php */

/* Location: ./system/helpers/directory_helper.php */