diff --git a/lib/Cake/Core/CakePlugin.php b/lib/Cake/Core/CakePlugin.php index 221b818a0..8551f82d8 100644 --- a/lib/Cake/Core/CakePlugin.php +++ b/lib/Cake/Core/CakePlugin.php @@ -97,8 +97,11 @@ class CakePlugin { public function loadAll($options = array()) { $plugins = App::objects('plugins'); foreach ($plugins as $p) { - $opts = isset($options[$p]) ? $options[$p] : $options; - self::load($p, $opts); + $opts = isset($options[$p]) ? $options[$p] : null; + if ($opts === null && isset($options[0])) { + $opts = $options[0]; + } + self::load($p, (array) $opts); } } diff --git a/lib/Cake/Test/Case/Core/CakePluginTest.php b/lib/Cake/Test/Case/Core/CakePluginTest.php index f006a3020..9864b03cf 100644 --- a/lib/Cake/Test/Case/Core/CakePluginTest.php +++ b/lib/Cake/Test/Case/Core/CakePluginTest.php @@ -216,7 +216,8 @@ class CakePluginTest extends CakeTestCase { * @return void */ public function testLoadAllWithDefaults() { - CakePlugin::loadAll(array('bootstrap' => true)); + $defaults = array('bootstrap' => true); + CakePlugin::loadAll(array($defaults)); $expected = array('PluginJs', 'TestPlugin', 'TestPluginTwo'); $this->assertEquals($expected, CakePlugin::loaded()); $this->assertEquals('loaded js plugin bootstrap', Configure::read('CakePluginTest.js_plugin.bootstrap')); @@ -231,7 +232,7 @@ class CakePluginTest extends CakeTestCase { * @return void */ public function testLoadAllWithDefaultsAndOverride() { - CakePlugin::loadAll(array('bootstrap' => true, 'TestPlugin' => array('routes' => true))); + CakePlugin::loadAll(array(array('bootstrap' => true), 'TestPlugin' => array('routes' => true))); CakePlugin::routes(); $expected = array('PluginJs', 'TestPlugin', 'TestPluginTwo');