From 5cd9f30ea2a751e47e7a2da88f7f89fb3f3729b3 Mon Sep 17 00:00:00 2001 From: Sam Georges Date: Fri, 19 Sep 2014 17:22:11 +1000 Subject: [PATCH] Exception handling when plugins/ dir missing --- modules/system/classes/PluginManager.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/system/classes/PluginManager.php b/modules/system/classes/PluginManager.php index 147c19ed9..9c6a5ad7b 100644 --- a/modules/system/classes/PluginManager.php +++ b/modules/system/classes/PluginManager.php @@ -297,11 +297,14 @@ class PluginManager $plugins = []; $dirPath = $this->getPath(); + if (!File::isDirectory($dirPath)) + return $plugins; + $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dirPath)); $it->setMaxDepth(2); $it->rewind(); - while($it->valid()) { + while ($it->valid()) { if (($it->getDepth() > 1) && $it->isFile() && (strtolower($it->getFilename()) == "plugin.php")) { $filePath = dirname($it->getPathname()); $pluginName = basename($filePath);