aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/plugins.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/plugins.php')
-rw-r--r--engine/lib/plugins.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php
index 0c8af5497..76692b447 100644
--- a/engine/lib/plugins.php
+++ b/engine/lib/plugins.php
@@ -228,7 +228,14 @@ function load_plugins() {
if (is_plugin_enabled($mod)) {
if (file_exists($CONFIG->pluginspath . $mod)) {
if (!include($CONFIG->pluginspath . $mod . "/start.php")) {
- throw new PluginException(sprintf(elgg_echo('PluginException:MisconfiguredPlugin'), $mod));
+ // automatically disable the bad plugin
+ disable_plugin($mod);
+
+ // register error rather than rendering the site unusable with exception
+ register_error(sprintf(elgg_echo('PluginException:MisconfiguredPlugin'), $mod));
+
+ // continue loading remaining plugins
+ continue;
}
if (!$cached_view_paths) {