fix glob error in bundle class.

This commit is contained in:
Taylor Otwell 2012-01-17 09:14:56 -06:00
parent d50638cc75
commit f53ebbf672
2 changed files with 16 additions and 12 deletions

View File

@ -271,10 +271,6 @@ public static function parse($identifier)
/** /**
* Detect all of the existing bundles in the application. * Detect all of the existing bundles in the application.
* *
* The names of the bundles are cached so this operation will be only be
* performed once and then the same array will be returned on each later
* request for the bundle names.
*
* @return array * @return array
*/ */
public static function all() public static function all()
@ -283,9 +279,17 @@ public static function all()
$bundles = array(); $bundles = array();
foreach (array_filter(glob(BUNDLE_PATH.'*'), 'is_dir') as $bundle) $files = glob(BUNDLE_PATH.'*');
// When open_basedir is enabled the glob function returns false on
// an empty array. We'll check for this and return an empty array
// if the bundle directory doesn't have any bundles.
if ($files !== false)
{ {
$bundles[] = basename($bundle); foreach (array_filter($files, 'is_dir') as $bundle)
{
$bundles[] = basename($bundle);
}
} }
return static::$bundles = $bundles; return static::$bundles = $bundles;

View File

@ -71,17 +71,17 @@ public static function resolve($bundle, $task)
{ {
$identifier = Bundle::identifier($bundle, $task); $identifier = Bundle::identifier($bundle, $task);
// First we'll check to see if the task has been registered in // First we'll check to see if the task has been registered in the
// the application IoC container. This allows dependencies to // application IoC container. This allows all dependencies to be
// be injected into tasks for more testability. // injected into tasks for more testability.
if (IoC::registered("task: {$identifier}")) if (IoC::registered("task: {$identifier}"))
{ {
return IoC::resolve("task: {$identifier}"); return IoC::resolve("task: {$identifier}");
} }
// If the task file exists, we'll format the bundle and task // If the task file exists, we'll format the bundle and task name
// name into a task class name and resolve an instance of // into a task class name and resolve an instance of the so that
// the so that the requested method may be executed. // the requested method may be executed.
if (file_exists($path = Bundle::path($bundle).'tasks/'.$task.EXT)) if (file_exists($path = Bundle::path($bundle).'tasks/'.$task.EXT))
{ {
require $path; require $path;