From 3f9abf384029bf3fc899be2eead4e3121d20e331 Mon Sep 17 00:00:00 2001 From: Brett Profitt Date: Sun, 30 Oct 2011 12:00:12 -0700 Subject: Fixes #2821. Plugins that are active and cannot be started emit an admin notice. --- engine/lib/plugins.php | 2 +- languages/en.php | 8 ++++---- views/default/admin/plugins.php | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index 86070a2aa..fac52b152 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -324,7 +324,7 @@ function elgg_load_plugins() { $plugin->deactivate(); $msg = elgg_echo('PluginException:CannotStart', array($plugin->getID(), $plugin->guid, $e->getMessage())); - register_error($msg); + elgg_add_admin_notice('cannot_start' . $plugin->getID(), $msg); $return = false; continue; diff --git a/languages/en.php b/languages/en.php index 5af005814..6aa292e5a 100644 --- a/languages/en.php +++ b/languages/en.php @@ -63,7 +63,7 @@ $english = array( 'InvalidClassException:NotValidElggStar' => "GUID:%d is not a valid %s", 'PluginException:MisconfiguredPlugin' => "%s (guid: %s) is a misconfigured plugin. It has been disabled. Please search the Elgg wiki for possible causes (http://docs.elgg.org/wiki/).", - 'PluginException:CannotStart' => '%s (guid: %s) cannot start. Reason: %s', + 'PluginException:CannotStart' => '%s (guid: %s) cannot start and has been deactivated. Reason: %s', 'PluginException:InvalidID' => "%s is an invalid plugin ID.", 'PluginException:InvalidPath' => "%s is an invalid plugin path.", 'PluginException:InvalidManifest' => 'Invalid manifest file for plugin %s', @@ -79,9 +79,9 @@ $english = array( 'ElggPluginPackage:InvalidPlugin:InvalidProvides' => 'Invalid provides type "%s"', 'ElggPluginPackage:InvalidPlugin:CircularDep' => 'Invalid %s dependency "%s" in plugin %s. Plugins cannot conflict with or require something they provide!', - 'ElggPlugin:Exception:CannotIncludeFile' => 'Cannot include %s for plugin %s (guid: %s) at %s. Check permissions!', - 'ElggPlugin:Exception:CannotRegisterViews' => 'Cannot open views dir for plugin %s (guid: %s) at %s. Check permissions!', - 'ElggPlugin:Exception:CannotRegisterLanguages' => 'Cannot register languages for plugin %s (guid: %s) at %s. Check permissions!', + 'ElggPlugin:Exception:CannotIncludeFile' => 'Cannot include %s for plugin %s (guid: %s) at %s.', + 'ElggPlugin:Exception:CannotRegisterViews' => 'Cannot open views dir for plugin %s (guid: %s) at %s.', + 'ElggPlugin:Exception:CannotRegisterLanguages' => 'Cannot register languages for plugin %s (guid: %s) at %s.', 'ElggPlugin:Exception:NoID' => 'No ID for plugin guid %s!', 'PluginException:ParserError' => 'Error parsing manifest with API version %s in plugin %s.', diff --git a/views/default/admin/plugins.php b/views/default/admin/plugins.php index 5bd0dd55d..c3e7e3ab0 100644 --- a/views/default/admin/plugins.php +++ b/views/default/admin/plugins.php @@ -22,7 +22,8 @@ foreach ($installed_plugins as $id => $plugin) { if (!$plugin->isValid()) { if ($plugin->isActive()) { // force disable and warn - register_error(elgg_echo('ElggPlugin:InvalidAndDeactivated', array($plugin->getId()))); + elgg_add_admin_notice('invalid_and_deactivated_' . $plugin->getID(), + elgg_echo('ElggPlugin:InvalidAndDeactivated', array($plugin->getId()))); $plugin->deactivate(); } continue; -- cgit v1.2.3