Adding is_admin_plugin property to plugin class - refs BT#11636

1.10.x
Angel Fernando Quiroz Campos 9 years ago
parent 90a3831086
commit a716100dd6
  1. 14
      main/admin/index.php
  2. 16
      main/admin/settings.lib.php
  3. 2
      main/inc/lib/plugin.class.php

@ -411,9 +411,21 @@ if (api_is_platform_admin()) {
$plugin_obj = new AppPlugin();
$items = array();
foreach ($_plugins['menu_administrator'] as $plugin_name) {
$itemUrl = '';
$plugin_info = $plugin_obj->getPluginInfo($plugin_name);
if ($plugin_info['is_admin_plugin']) {
$itemUrl = '/admin.php';
} elseif ($plugin_info['is_admin_plugin']) {
$itemUrl = '/start.php';
}
if (!file_exists(api_get_path(SYS_PLUGIN_PATH) . $plugin_name . $itemUrl)) {
continue;
}
$items[] = array(
'url' => api_get_path(WEB_CODE_PATH) . '../plugin/'.$plugin_name.'/start.php',
'url' => api_get_path(WEB_PLUGIN_PATH) . $plugin_name . $itemUrl,
'label' => $plugin_info['title']
);
}

@ -79,10 +79,20 @@ function handle_regions()
echo '</td><td>';
$selected_plugins = $plugin_obj->get_areas_by_plugin($plugin);
if (isset($plugin_info['is_course_plugin']) && $plugin_info['is_course_plugin']) {
$region_list = array('course_tool_plugin' => 'course_tool_plugin');
} else {
$region_list = [];
$isAdminPlugin = isset($plugin_info['is_admin_plugin']) && $plugin_info['is_admin_plugin'];
$isCoursePlugin = isset($plugin_info['is_course_plugin']) && $plugin_info['is_course_plugin'];
if (!$isAdminPlugin && !$isCoursePlugin) {
$region_list = $plugin_region_list;
} else {
if ($isAdminPlugin) {
$region_list['menu_administrator'] = 'menu_administrator';
}
if ($isCoursePlugin) {
$region_list['course_tool_plugin'] = 'course_tool_plugin';
}
}
echo Display::select('plugin_' . $plugin . '[]', $region_list, $selected_plugins,
array('multiple' => 'multiple', 'style' => 'width:500px'), true, get_lang('None'));

@ -24,6 +24,7 @@ class Plugin
// Translation strings.
private $strings = null;
public $isCoursePlugin = false;
public $isAdminPlugin = false;
public $isMailPlugin = false;
/**
@ -76,6 +77,7 @@ class Plugin
$result['author'] = $this->get_author();
$result['plugin_class'] = get_class($this);
$result['is_course_plugin'] = $this->isCoursePlugin;
$result['is_admin_plugin'] = $this->isAdminPlugin;
$result['is_mail_plugin'] = $this->isMailPlugin;
if ($form = $this->get_settings_form()) {

Loading…
Cancel
Save