Commit f53ebbf6 by Taylor Otwell

fix glob error in bundle class.

parent d50638cc
...@@ -271,10 +271,6 @@ class Bundle { ...@@ -271,10 +271,6 @@ class Bundle {
/** /**
* 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 @@ class Bundle { ...@@ -283,9 +279,17 @@ class Bundle {
$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;
......
...@@ -71,17 +71,17 @@ class Command { ...@@ -71,17 +71,17 @@ class Command {
{ {
$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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment