diff options
author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-05-24 17:59:51 +0000 |
---|---|---|
committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-05-24 17:59:51 +0000 |
commit | 9a68be3c337ed98475535ab6b0483f53073678e1 (patch) | |
tree | 78f0da0350b8c5635f571ae0938cd1830dfc3fe7 /views | |
parent | 22fd09fa332ed11118e8cc81e82dd2497b874ac5 (diff) | |
download | elgg-9a68be3c337ed98475535ab6b0483f53073678e1.tar.gz elgg-9a68be3c337ed98475535ab6b0483f53073678e1.tar.bz2 |
Fixes #3467. Fixed bugs in priority deps. Can now disable active plugins with unmet dependencies.
git-svn-id: http://code.elgg.org/elgg/trunk@9111 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views')
-rw-r--r-- | views/default/css/admin.php | 9 | ||||
-rw-r--r-- | views/default/object/plugin/advanced.php | 61 |
2 files changed, 45 insertions, 25 deletions
diff --git a/views/default/css/admin.php b/views/default/css/admin.php index c4dacad91..744211a20 100644 --- a/views/default/css/admin.php +++ b/views/default/css/admin.php @@ -1179,12 +1179,19 @@ ul.admin_plugins { .elgg-plugin.elgg-state-inactive { background: #dedede; } -.elgg-dependency.elgg-state-error { + +.elgg-state-error { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; font-weight: bold; } +.elgg-state-warning { + background: #fbedb5; + color: #000000; + border-color: #fbe58b; + font-weight: bold; +} .admin_notices { padding-bottom: 15px; diff --git a/views/default/object/plugin/advanced.php b/views/default/object/plugin/advanced.php index 9aed4163c..56e680ad5 100644 --- a/views/default/object/plugin/advanced.php +++ b/views/default/object/plugin/advanced.php @@ -20,7 +20,6 @@ $actions_base = '/action/admin/plugins/'; $ts = time(); $token = generate_action_token($ts); -$active_class = ($active && $can_activate) ? 'elgg-state-active' : 'elgg-state-inactive'; // build reordering links $links = ''; @@ -80,33 +79,42 @@ if ($priority < $max_priority) { } // activate / deactivate links -if ($can_activate) { - if ($active) { - $action = 'deactivate'; - $class = 'elgg-button-cancel'; - } else { - $action = 'activate'; - $class = 'elgg-button-submit'; + +// always let them deactivate +$options = array( + 'is_action' => true +); +if ($active) { + $active_class = 'elgg-state-active'; + $action = 'deactivate'; + $options['text'] = elgg_echo('deactivate'); + $options['class'] = "elgg-button elgg-button-cancel"; + + if (!$can_activate) { + $active_class = 'elgg-state-active'; + $options['class'] = 'elgg-button elgg-state-warning'; } +} else if ($can_activate) { + $active_class = 'elgg-state-inactive'; + $action = 'activate'; + $options['text'] = elgg_echo('activate'); + $options['class'] = "elgg-button elgg-button-submit"; +} else { + $active_class = 'elgg-state-inactive'; + $action = ''; + $options['text'] = elgg_echo('admin:plugins:cannot_activate'); + $options['class'] = "elgg-button elgg-button-disabled"; + $options['disabled'] = 'disabled'; +} +if ($action) { $url = elgg_http_add_url_query_elements($actions_base . $action, array( - 'plugin_guids[]' => $plugin->guid, - 'is_action' => true + 'plugin_guids[]' => $plugin->guid )); - $action_button = elgg_view('output/url', array( - 'href' => $url, - 'text' => elgg_echo($action), - 'is_action' => true, - 'class' => "elgg-button $class" - )); -} else { - $action_button = elgg_view('output/url', array( - 'text' => elgg_echo('admin:plugins:cannot_activate'), - 'disabled' => 'disabled', - 'class' => "elgg-button elgg-button-action elgg-state-disabled" - )); + $options['href'] = $url; } +$action_button = elgg_view('output/url', $options); // Display categories $categories_html = ''; @@ -202,8 +210,13 @@ if (elgg_view_exists($settings_view_old) || elgg_view_exists($settings_view_new) } if (!$can_activate) { - $message = elgg_echo('admin:plugins:warning:unmet_dependencies'); - echo "<p class=\"elgg-state-error\">$message</p>"; + if ($active) { + $message = elgg_echo('admin:plugins:warning:unmet_dependencies_active'); + echo "<p class=\"elgg-state-warning\">$message</p>"; + } else { + $message = elgg_echo('admin:plugins:warning:unmet_dependencies'); + echo "<p class=\"elgg-state-error\">$message</p>"; + } } ?> |