pull/2487/head
Angel Fernando Quiroz Campos 9 years ago committed by Yannick Warnier
parent 01246b4eca
commit ee3b4195d1
  1. 18
      main/admin/index.php
  2. 16
      main/admin/settings.lib.php
  3. 2
      main/inc/lib/plugin.class.php

@ -396,12 +396,26 @@ if (api_is_platform_admin()) {
if (isset($_plugins['menu_administrator']) && count($_plugins['menu_administrator']) > 0) {
$menuAdministratorItems = [];
$plugin_obj = new AppPlugin();
$items = array();
foreach ($_plugins['menu_administrator'] as $pluginName) {
if (!file_exists(api_get_path(SYS_PLUGIN_PATH) . $pluginName . '/start.php')) {
$itemUrl = '';
$plugin_info = $plugin_obj->getPluginInfo($pluginName);
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) . $pluginName . $itemUrl)) {
continue;
}
$menuAdministratorItems[] = $pluginName;
$items[] = array(
'url' => api_get_path(WEB_PLUGIN_PATH) . $pluginName . $itemUrl,
'label' => $plugin_info['title']
);
}
if ($menuAdministratorItems) {

@ -80,10 +80,20 @@ function handleRegions()
echo '</td><td>';
$selected_plugins = $plugin_obj->get_areas_by_plugin($pluginName);
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_'.$pluginName.'[]',

@ -24,6 +24,7 @@ class Plugin
// Translation strings.
private $strings = null;
public $isCoursePlugin = false;
public $isAdminPlugin = false;
public $isMailPlugin = false;
/**
@ -77,6 +78,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