From: ewinslow Date: Tue, 22 Feb 2011 00:12:17 +0000 (+0000) Subject: Refs #2950: Cleanup of plugin-related view structure X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=00ea6e1ddd446c61c6ccd956989b4b9a1cd60119;p=lorea%2Felgg.git Refs #2950: Cleanup of plugin-related view structure git-svn-id: http://code.elgg.org/elgg/trunk@8394 36083f99-b078-4883-b0ff-0f9b5a30f544 --- diff --git a/engine/lib/admin.php b/engine/lib/admin.php index f53001b71..564c1225b 100644 --- a/engine/lib/admin.php +++ b/engine/lib/admin.php @@ -303,9 +303,11 @@ function admin_settings_page_handler($page) { if ($page[0] == 'plugin_settings' && isset($page[1]) && elgg_view_exists("settings/{$page[1]}/edit")) { - $view = '/admin/components/plugin_settings'; + $view = 'admin/plugin_settings'; $plugin = elgg_get_plugin_from_id($page[1]); $vars['plugin'] = $plugin; + + // @todo ??? $title = elgg_echo("admin:plugin_settings:{$page[1]}"); $title = elgg_echo("admin:{$page[0]}"); } else { diff --git a/views/default/admin/components/plugin_settings.php b/views/default/admin/plugin_settings.php similarity index 100% rename from views/default/admin/components/plugin_settings.php rename to views/default/admin/plugin_settings.php diff --git a/views/default/admin/plugins/advanced.php b/views/default/admin/plugins/advanced.php index 6b32035f3..8b12cd899 100644 --- a/views/default/admin/plugins/advanced.php +++ b/views/default/admin/plugins/advanced.php @@ -82,12 +82,7 @@ $buttons .= $category_form;
isValid()) ? 'admin/components/plugin' : 'admin/components/invalid_plugin'; - echo elgg_view($view, array( - 'plugin' => $plugin - )); -} + echo elgg_view_entity_list($installed_plugins, 0, 0, 0, true, false, false); + ?>
\ No newline at end of file diff --git a/views/default/core/settings/tools.php b/views/default/core/settings/tools.php index 73af8d738..3836b7ef1 100644 --- a/views/default/core/settings/tools.php +++ b/views/default/core/settings/tools.php @@ -9,9 +9,10 @@ */ // Description of what's going on -echo "
" - . elgg_view('output/longtext', array('value' => elgg_echo("usersettings:plugins:description"))) - . "
"; +echo elgg_view('output/longtext', array( + 'value' => elgg_echo("usersettings:plugins:description"), + 'class' => 'user-settings mtm', +)); $limit = get_input('limit', 10); $offset = get_input('offset', 0); @@ -20,10 +21,13 @@ $offset = get_input('offset', 0); $installed_plugins = $vars['installed_plugins']; $count = count($installed_plugins); -// Display list of plugins -$n = 0; + +// Display all plugins' usersettings forms foreach ($installed_plugins as $plugin) { - if ($plugin->isActive()) { - echo elgg_view("core/settings/tools/plugin", array('plugin' => $plugin)); + $plugin_id = $plugin->getID(); + if ($plugin->isActive() && elgg_view_exists("usersettings/$plugin_id/edit")) { + $title = $plugin->manifest->getName(); + $body = elgg_view_form('plugins/usersettings/save', array(), array('entity' => $plugin)); + echo elgg_view_module('info', $title, $body); } } \ No newline at end of file diff --git a/views/default/core/settings/tools/plugin.php b/views/default/core/settings/tools/plugin.php deleted file mode 100644 index 88d366a8a..000000000 --- a/views/default/core/settings/tools/plugin.php +++ /dev/null @@ -1,39 +0,0 @@ -getID(); -$user_guid = $vars['user_guid']; - -if (!$user_guid) { - $user_guid = elgg_get_logged_in_user_guid(); -} - -if (elgg_view("usersettings/$plugin_id/edit")) { -?> - -
-
-

manifest->getName(); ?>

-
-
-
- $plugin, - 'entity' => elgg_get_all_plugin_user_settings($plugin_id, $user_guid), - 'type' => 'user' - )); - ?> -
-
-
- -___END; - -$actions_base = '/action/admin/plugins/'; -$ts = time(); -$token = generate_action_token($ts); - -foreach ($plugin_list as $name => $plugin) { - $plugin_guid = $plugin->guid; - $plugin_id = $plugin->getID(); - $active = $plugin->isActive(); - $can_activate = $plugin->canActivate(); - $author = $plugin->manifest->getAuthor(); - $version = $plugin->manifest->getVersion(); - $website = $plugin->manifest->getWebsite(); - $description = $plugin->manifest->getDescription(); - - if ($active) { - $active_class = 'elgg-state-active'; - $checked = 'checked="checked"'; - } else { - $active_class = 'elgg-state-inactive'; - $checked = ''; - } - - if ($can_activate) { - $disabled = ''; - } else { - $disabled = 'disabled="disabled"'; - $description .= '

' . elgg_echo('admin:plugins:simple:cannot_activate') . '

'; - } - - $description = elgg_view('output/longtext', array('value' => $description)); - - $plugin_footer = '"; - - echo <<<___END -
  • -
    -
    - - -
    -
    - $description - $plugin_footer -
    -
    -
  • -___END; -} - -echo ''; +echo elgg_view_entity_list($plugin_list, 0, 0, 0, false, false, false); echo elgg_view('input/submit', array('value' => elgg_echo('save'))); echo elgg_view('input/reset', array('value' => elgg_echo('reset'))); diff --git a/views/default/forms/plugins/usersettings/save.php b/views/default/forms/plugins/usersettings/save.php index 8532cdfd1..bf243ae6b 100644 --- a/views/default/forms/plugins/usersettings/save.php +++ b/views/default/forms/plugins/usersettings/save.php @@ -1,4 +1,5 @@ - $('a.manifest_details.link').click(function() { - elgg_slide_toggle($(this), '.elgg-plugin', '.manifest_file'); - }); - // plugin screenshot modal $('.elgg-plugin-screenshot a').click(elgg.admin.displayPluginScreenshot); // draggable plugin reordering - $('#elgg-plugin-list').sortable({ - items: 'div.elgg-state-draggable', - handle: 'h3.elgg-head', + $('#elgg-plugin-list > ul').sortable({ + items: 'li:has(> .elgg-state-draggable)', + handle: '.elgg-head', forcePlaceholderSize: true, placeholder: 'elgg-widget-placeholder', opacity: 0.8, diff --git a/views/default/object/plugin.php b/views/default/object/plugin.php index e9cacca35..af1ccd677 100644 --- a/views/default/object/plugin.php +++ b/views/default/object/plugin.php @@ -5,18 +5,14 @@ * @package Elgg.Core * @subpackage Plugins * - * @todo This view really should be used to display visualization on the admin panel, \ - * rather than emitting the settings forms */ -// Do we want to show admin settings or user settings -$type = elgg_extract('type', $vars, ''); +$plugin = $vars['entity']; -if ($type != 'user') { - $type = ''; +if (!$plugin->isValid()) { + echo elgg_view('object/plugin/invalid', $vars); +} elseif ($vars['full']) { + echo elgg_view('object/plugin/advanced', $vars); +} else { + echo elgg_view('object/plugin/simple', $vars); } - -?> -
    - -
    \ No newline at end of file diff --git a/views/default/admin/components/plugin.php b/views/default/object/plugin/advanced.php similarity index 91% rename from views/default/admin/components/plugin.php rename to views/default/object/plugin/advanced.php index 7549ea8ca..f6a760af4 100644 --- a/views/default/admin/components/plugin.php +++ b/views/default/object/plugin/advanced.php @@ -9,7 +9,7 @@ * @subpackage Plugins */ -$plugin = $vars['plugin']; +$plugin = $vars['entity']; $priority = $plugin->getPriority(); $active = $plugin->isActive(); @@ -152,12 +152,12 @@ $license = elgg_view('output/text', array('value' => $plugin->manifest->getLicen ?> -
    +
    - +
    @@ -170,7 +170,9 @@ if (elgg_view_exists($settings_view)) { $settings_link = "[" . elgg_echo('settings') . "]"; } ?> -

    manifest->getName() . " $version $settings_link"; ?>

    +
    +

    manifest->getName(). " $version $settings_link"; ?>

    +
    manifest->getApiVersion() < 1.8) { $reqs = $plugin->manifest->getRequires(); @@ -189,10 +191,10 @@ if (elgg_view_exists($settings_view)) {

    -
    +
    -