Commit f6039629 authored by Robert Lyon's avatar Robert Lyon
Browse files

Bug 1978425: External -> Plugins page to show title / version



- Currently also displaying the old plugin string to help with title
diagnosis

- To change the title on a blocktype you need to add the
'get_plugin_display_name' function to the blocktype,

eg for watchlist you need to add

    public static function get_plugin_display_name() {
        return get_string('pluginname', 'blocktype.watchlist');
    }

Inside the PluginBlocktypeWatchlist class

Change-Id: I33ea544d6cfee22b2e7fecb7fa99a485aea6a8f2
Signed-off-by: default avatarRobert Lyon <robertl@catalyst.net.nz>
parent 84922914
Loading
Loading
Loading
Loading
+22 −5
Original line number Diff line number Diff line
@@ -50,7 +50,8 @@ foreach (array_keys($plugins) as $plugin) {
                    'deprecated' => call_static_method($classname, 'is_deprecated'),
                    'name' => call_static_method($classname, 'get_plugin_display_name'),
                    'dependencies' => call_static_method($classname, 'has_plugin_dependencies'),
                    'enableable' => call_static_method($classname, 'is_usable')
                    'enableable' => call_static_method($classname, 'is_usable'),
                    'version' => $i->version
                );
                if (
                    ($i->active && $plugins[$plugin]['installed'][$key]['disableable'])
@@ -63,22 +64,33 @@ foreach (array_keys($plugins) as $plugin) {
                    safe_require('artefact', $key);
                    if ($types = call_static_method(generate_class_name('artefact', $i->name), 'get_artefact_types')) {
                        foreach ($types as $t) {
                            $hasconfigbuttons = 0;
                            $hasconfigbuttonscollapsed = 0;
                            $classname = generate_artefact_class_name($t);
                            if ($collapseto = call_static_method($classname, 'collapse_config')) {
                                $plugins[$plugin]['installed'][$key]['types'][$collapseto]['config'] = true;
                                $hasconfigbuttonscollapsed = 1;
                            }
                            else {
                                $plugins[$plugin]['installed'][$key]['types'][$t]['config'] =
                                    call_static_method($classname, 'has_config');
                                $hasconfig = call_static_method($classname, 'has_config');
                                $plugins[$plugin]['installed'][$key]['types'][$t]['config'] = $hasconfig;
                                if ($hasconfig) {
                                    $hasconfigbuttons ++;
                                }
                            }
                            if ($collapseto = call_static_method($classname, 'collapse_config_info')) {
                                $plugins[$plugin]['installed'][$key]['types'][$collapseto]['info'] = true;
                                $hasconfigbuttonscollapsed = 1;
                            }
                            else {
                                $plugins[$plugin]['installed'][$key]['types'][$t]['info'] =
                                    call_static_method($classname, 'has_config_info');
                                $hasinfo = call_static_method($classname, 'has_config_info');
                                $plugins[$plugin]['installed'][$key]['types'][$t]['info'] = $hasinfo;
                                if ($hasinfo) {
                                    $hasconfigbuttons ++;
                                }
                            }
                        }
                        $plugins[$plugin]['installed'][$key]['typeswithconfig'] = $hasconfigbuttons + $hasconfigbuttonscollapsed;
                    }
                }
                else {
@@ -218,10 +230,15 @@ var installplugin = (function($) {
JAVASCRIPT;

$plugins['blocktype']['configure'] = true;
$plugintypes = array();
foreach ($plugins as $plugin => $info) {
    $plugintypes[$plugin] = get_string('plugin' . $plugin, 'admin');
}
$smarty = smarty();
setpageicon($smarty, 'icon-plug');

$smarty->assign('INLINEJAVASCRIPT', $javascript);
$smarty->assign('plugins', $plugins);
$smarty->assign('plugintypes', $plugintypes);
$smarty->assign('installlink', 'installplugin');
$smarty->display('admin/extensions/plugins.tpl');
+9 −0
Original line number Diff line number Diff line
@@ -55,6 +55,15 @@ class PluginArtefactAnnotation extends PluginArtefact {
        return 'annotation';
    }

    /**
     * Fetch the human readable name for the plugin
     *
     * @return string
     */
    public static function get_plugin_display_name() {
        return get_string('pluginname', 'artefact.annotation');
    }

    public static function menu_items() {
        return array();
    }
+9 −0
Original line number Diff line number Diff line
@@ -31,6 +31,15 @@ class PluginArtefactBlog extends PluginArtefact {
        return 'blog';
    }

    /**
     * Fetch the human readable name for the plugin
     *
     * @return string
     */
    public static function get_plugin_display_name() {
        return get_string('pluginname', 'artefact.blog');
    }

    public static function admin_menu_items() {
        $map['manageinstitutions/blogs'] = array(
            'path'   => 'manageinstitutions/blogs',
+9 −0
Original line number Diff line number Diff line
@@ -51,6 +51,15 @@ class PluginArtefactComment extends PluginArtefact {
        return 'comment';
    }

    /**
     * Fetch the human readable name for the plugin
     *
     * @return string
     */
    public static function get_plugin_display_name() {
        return get_string('pluginname', 'artefact.comment');
    }

    public static function menu_items() {
        return array();
    }
+9 −0
Original line number Diff line number Diff line
@@ -46,6 +46,15 @@ class PluginArtefactFile extends PluginArtefact {
        return 'file';
    }

    /**
     * Fetch the human readable name for the plugin
     *
     * @return string
     */
    public static function get_plugin_display_name() {
        return get_string('pluginname', 'artefact.file');
    }

    public static function menu_items() {
        return array(
            'create/files' => array(
Loading