2006-03-27 05:37:27 +02:00
|
|
|
<?php
|
2006-07-17 10:17:58 +02:00
|
|
|
|
2009-06-08 20:21:21 +02:00
|
|
|
// Pandora FMS - http://pandorafms.com
|
|
|
|
// ==================================================
|
2011-03-17 21:51:46 +01:00
|
|
|
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
|
2009-06-08 20:21:21 +02:00
|
|
|
// Please see http://pandorafms.org for full contribution list
|
2006-07-17 10:17:58 +02:00
|
|
|
// This program is free software; you can redistribute it and/or
|
2011-03-23 Raul Mateos <raulofpandora@gmail.com>
* extensions/ssh_console.php, extensions/vnc_view.php,
extensions/update_manager.php, extensions/users_connected.php,
extensions/extension_uploader.php, extensions/insert_data.php,
extensions/module_groups.php, extensions/plugin_registration.php,
extensions/agent_modules.php, extensions/resource_registration.php,
extensions/resource_exportation.php, extensions/dbmanager.php,
extensions/pandora_logs.php, general/*.php, ajax.php,
operation/search_*.php, operation/menu.php, operation/extensions.php,
godmode/menu.php, godmode/extensions.php, godmode/admin_access_logs.php:
CReverted unwanted license changes.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4126 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-03-23 17:13:28 +01:00
|
|
|
// modify it under the terms of the GNU General Public License
|
2011-03-17 Raul Mateos <raulofpandora@gmail.com>
* extensions/dbmanager.php, extensions/pandora_logs.php, general/*.php,
index.php, ajax.php, operation/search_*.php, operation/menu.php,
operation/extensions.php, godmode/menu.php, godmode/extensions.php,
admin_access_logs.php: Cleaned code and updated page disclaimers.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4108 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-03-17 23:01:01 +01:00
|
|
|
// as published by the Free Software Foundation; version 2
|
2006-07-17 10:17:58 +02:00
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2011-03-17 Raul Mateos <raulofpandora@gmail.com>
* extensions/dbmanager.php, extensions/pandora_logs.php, general/*.php,
index.php, ajax.php, operation/search_*.php, operation/menu.php,
operation/extensions.php, godmode/menu.php, godmode/extensions.php,
admin_access_logs.php: Cleaned code and updated page disclaimers.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4108 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-03-17 23:01:01 +01:00
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2006-07-17 10:17:58 +02:00
|
|
|
// GNU General Public License for more details.
|
2019-01-30 16:18:44 +01:00
|
|
|
require_once 'include/config.php';
|
2007-06-08 17:55:53 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
check_login();
|
2008-10-22 11:08:03 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
enterprise_include('godmode/menu.php');
|
|
|
|
require_once 'include/functions_menu.php';
|
2006-03-27 05:37:27 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode = [];
|
2012-06-18 17:16:17 +02:00
|
|
|
$menu_godmode['class'] = 'godmode';
|
2009-03-02 Esteban Sanchez <estebans@artica.es>
* include/functions_menu.php: Added to repository. Functions for menu.
* operation/menu.php, godmode/menu.php: Added class to menu due to
changes in print_menu().
* general/main_menu.php: temp_print_menu() moved to functions_menu.php
* include/functions_themes.php: Added to repository. Implement
functions relative to themes (only CSS themes list at this moment).
* include/styles/pandora.css, include/styles/pandora_black.css,
include/styles/pandora_minimal.css, include/styles/pandora_red.css:
Added author, name and description comments to adopt to new
get_themes() interface.
* include/styles/pandora_width.css: Improved and make lighter by
simply rewrite some classes.
* include/functions.php: Added is_ajax().
* godmode/agentes/module_manager_editor.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php, godmode/groups/group_list.php,
godmode/reporting/map_builder.php,
godmode/reporting/reporting_builder.php,
operation/agentes/estado_agente.php, operation/agentes/ver_agente.php,
operation/events/events.php, operation/messages/message.php: Use
is_ajax()
* godmode/setup/setup.php: Use enterprise_include() instead of manual
checking. Use get_css_themes() to show the theme list.
* include/styles/common.css: Added to repository. Minimal styles to
make pandora works and common with all the CSS themes.
* include/functions_ui.php: Added common.css file.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1496 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-02 14:43:15 +01:00
|
|
|
|
2019-10-09 15:45:02 +02:00
|
|
|
if (check_acl($config['id_user'], 0, 'AR')
|
|
|
|
|| check_acl($config['id_user'], 0, 'AW')
|
|
|
|
|| check_acl($config['id_user'], 0, 'RR')
|
|
|
|
|| check_acl($config['id_user'], 0, 'RW')
|
|
|
|
|| check_acl($config['id_user'], 0, 'PM')
|
|
|
|
) {
|
2019-02-20 18:24:32 +01:00
|
|
|
$sub = [];
|
2019-11-21 18:21:46 +01:00
|
|
|
$sub['godmode/servers/discovery&wiz=main']['text'] = __('Start');
|
2019-07-03 11:08:17 +02:00
|
|
|
$sub['godmode/servers/discovery&wiz=main']['id'] = 'Discovery';
|
|
|
|
$sub['godmode/servers/discovery&wiz=tasklist']['text'] = __('Task list');
|
|
|
|
$sub['godmode/servers/discovery&wiz=tasklist']['id'] = 'tasklist';
|
|
|
|
|
2019-10-09 15:45:02 +02:00
|
|
|
if (check_acl($config['id_user'], 0, 'AW')
|
|
|
|
|| check_acl($config['id_user'], 0, 'PM')
|
|
|
|
) {
|
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
$sub2 = [];
|
|
|
|
$sub2['godmode/servers/discovery&wiz=hd&mode=netscan']['text'] = __('Network scan');
|
|
|
|
enterprise_hook('hostdevices_submenu');
|
|
|
|
$sub2['godmode/servers/discovery&wiz=hd&mode=customnetscan']['text'] = __('Custom network scan');
|
|
|
|
}
|
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
$sub2['godmode/servers/discovery&wiz=hd&mode=managenetscanscripts']['text'] = __('Manage scan scripts');
|
|
|
|
}
|
|
|
|
|
|
|
|
$sub['godmode/servers/discovery&wiz=hd']['text'] = __('Host & devices');
|
|
|
|
$sub['godmode/servers/discovery&wiz=hd']['id'] = 'hd';
|
|
|
|
$sub['godmode/servers/discovery&wiz=hd']['sub2'] = $sub2;
|
|
|
|
}
|
2019-07-11 12:32:48 +02:00
|
|
|
|
2019-10-09 15:45:02 +02:00
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
enterprise_hook('applications_menu');
|
|
|
|
enterprise_hook('cloud_menu');
|
|
|
|
enterprise_hook('console_task_menu');
|
|
|
|
}
|
2019-02-20 18:24:32 +01:00
|
|
|
|
|
|
|
// Add to menu.
|
2019-03-06 18:28:00 +01:00
|
|
|
$menu_godmode['discovery']['text'] = __('Discovery');
|
|
|
|
$menu_godmode['discovery']['sec2'] = 'godmode/servers/discovery';
|
|
|
|
$menu_godmode['discovery']['id'] = 'god-discovery';
|
|
|
|
$menu_godmode['discovery']['sub'] = $sub;
|
2019-02-20 18:24:32 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub = [];
|
|
|
|
if (check_acl($config['id_user'], 0, 'AW') || check_acl($config['id_user'], 0, 'AD')) {
|
|
|
|
$sub['godmode/agentes/modificar_agente']['text'] = __('Manage agents');
|
|
|
|
$sub['godmode/agentes/modificar_agente']['id'] = 'Manage agents';
|
|
|
|
$sub['godmode/agentes/modificar_agente']['subsecs'] = ['godmode/agentes/configurar_agente'];
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
$sub['godmode/agentes/fields_manager']['text'] = __('Custom fields');
|
|
|
|
$sub['godmode/agentes/fields_manager']['id'] = 'Custom fields';
|
|
|
|
|
|
|
|
$sub['godmode/modules/manage_nc_groups']['text'] = __('Component groups');
|
|
|
|
$sub['godmode/modules/manage_nc_groups']['id'] = 'Component groups';
|
|
|
|
// Category
|
|
|
|
$sub['godmode/category/category']['text'] = __('Module categories');
|
|
|
|
$sub['godmode/category/category']['id'] = 'Module categories';
|
|
|
|
$sub['godmode/category/category']['subsecs'] = 'godmode/category/edit_category';
|
|
|
|
|
|
|
|
$sub['godmode/modules/module_list']['text'] = __('Module types');
|
|
|
|
$sub['godmode/modules/module_list']['id'] = 'Module types';
|
|
|
|
|
|
|
|
$sub['godmode/groups/modu_group_list']['text'] = __('Module groups');
|
|
|
|
$sub['godmode/groups/modu_group_list']['id'] = 'Module groups';
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
// Netflow
|
|
|
|
if ($config['activate_netflow']) {
|
|
|
|
$sub['godmode/netflow/nf_edit']['text'] = __('Netflow filters');
|
|
|
|
$sub['godmode/netflow/nf_edit']['id'] = 'Netflow filters';
|
|
|
|
}
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if (!empty($sub)) {
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode['gagente']['text'] = __('Resources');
|
|
|
|
$menu_godmode['gagente']['sec2'] = 'godmode/agentes/modificar_agente';
|
|
|
|
$menu_godmode['gagente']['id'] = 'god-resources';
|
|
|
|
$menu_godmode['gagente']['sub'] = $sub;
|
2008-12-19 22:45:20 +01:00
|
|
|
}
|
2009-04-20 16:00:27 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub = [];
|
2019-10-09 15:45:02 +02:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub['godmode/groups/group_list']['text'] = __('Manage agents groups');
|
|
|
|
$sub['godmode/groups/group_list']['id'] = 'Manage agents groups';
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
// Tag
|
|
|
|
$sub['godmode/tag/tag']['text'] = __('Module tags');
|
|
|
|
$sub['godmode/tag/tag']['id'] = 'Module tags';
|
|
|
|
$sub['godmode/tag/tag']['subsecs'] = 'godmode/tag/edit_tag';
|
2016-09-08 16:06:12 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
enterprise_hook('enterprise_acl_submenu');
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'UM')) {
|
|
|
|
$sub['godmode/users/user_list']['text'] = __('Users management');
|
|
|
|
$sub['godmode/users/user_list']['id'] = 'Users management';
|
|
|
|
$sub['godmode/users/profile_list']['text'] = __('Profile management');
|
|
|
|
$sub['godmode/users/profile_list']['id'] = 'Profile management';
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if (!empty($sub)) {
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode['gusuarios']['sub'] = $sub;
|
|
|
|
$menu_godmode['gusuarios']['text'] = __('Profiles');
|
|
|
|
$menu_godmode['gusuarios']['sec2'] = 'godmode/users/user_list';
|
|
|
|
$menu_godmode['gusuarios']['id'] = 'god-users';
|
2010-04-06 18:24:54 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub = [];
|
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
2020-03-30 08:22:07 +02:00
|
|
|
// enterprise_hook('components_submenu');
|
|
|
|
$sub['templates']['text'] = __('Templates');
|
|
|
|
$sub['templates']['id'] = 'Templates';
|
|
|
|
$sub['templates']['type'] = 'direct';
|
|
|
|
$sub['templates']['subtype'] = 'nolink';
|
2020-03-24 07:54:29 +01:00
|
|
|
$sub2 = [];
|
2020-03-30 17:00:48 +02:00
|
|
|
$sub2['godmode/modules/manage_module_templates']['text'] = __('Module templates');
|
|
|
|
$sub2['godmode/modules/manage_module_templates']['id'] = 'Module templates';
|
2020-03-26 09:04:10 +01:00
|
|
|
$sub2['godmode/modules/private_enterprise_numbers']['text'] = __('Private Enterprise Numbers');
|
|
|
|
$sub2['godmode/modules/private_enterprise_numbers']['id'] = 'Private Enterprise Numbers';
|
2020-03-30 08:22:07 +02:00
|
|
|
$sub2['enterprise/godmode/modules/local_components']['text'] = __('Local components');
|
|
|
|
$sub2['enterprise/godmode/modules/local_components']['id'] = 'Local components';
|
|
|
|
$sub2['godmode/modules/manage_network_components']['text'] = __('Remote components');
|
|
|
|
$sub2['godmode/modules/manage_network_components']['id'] = 'Network components';
|
|
|
|
$sub['templates']['sub2'] = $sub2;
|
|
|
|
/*
|
|
|
|
$sub2['godmode/modules/manage_snmp_modules']['text'] = __('SNMP Modules');
|
|
|
|
$sub2['godmode/modules/manage_snmp_modules']['id'] = 'SNMP Modules';
|
|
|
|
$sub2['godmode/modules/manage_wmi_modules']['text'] = __('WMI Modules');
|
|
|
|
$sub2['godmode/modules/manage_wmi_modules']['id'] = 'WMI Modules';
|
|
|
|
$sub['godmode/modules/manage_block_templates']['text'] = __('Module blocks');
|
|
|
|
$sub['godmode/modules/manage_block_templates']['id'] = 'Module blocks';
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
enterprise_hook('inventory_submenu');
|
|
|
|
enterprise_hook('autoconfiguration_menu');
|
2019-07-17 20:37:13 +02:00
|
|
|
enterprise_hook('agent_repository_menu');
|
2015-12-14 14:21:13 +01:00
|
|
|
}
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
enterprise_hook('policies_menu');
|
|
|
|
enterprise_hook('agents_submenu');
|
2015-12-14 14:21:13 +01:00
|
|
|
}
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
$sub['gmassive']['text'] = __('Bulk operations');
|
|
|
|
$sub['gmassive']['id'] = 'Bulk operations';
|
|
|
|
$sub['gmassive']['type'] = 'direct';
|
|
|
|
$sub['gmassive']['subtype'] = 'nolink';
|
|
|
|
$sub2 = [];
|
|
|
|
$sub2['godmode/massive/massive_operations&tab=massive_agents']['text'] = __('Agents operations');
|
|
|
|
$sub2['godmode/massive/massive_operations&tab=massive_modules']['text'] = __('Modules operations');
|
|
|
|
$sub2['godmode/massive/massive_operations&tab=massive_plugins']['text'] = __('Plugins operations');
|
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
$sub2['godmode/massive/massive_operations&tab=massive_users']['text'] = __('Users operations');
|
|
|
|
}
|
|
|
|
|
|
|
|
$sub2['godmode/massive/massive_operations&tab=massive_alerts']['text'] = __('Alerts operations');
|
|
|
|
enterprise_hook('massivepolicies_submenu');
|
|
|
|
enterprise_hook('massivesnmp_submenu');
|
|
|
|
enterprise_hook('massivesatellite_submenu');
|
|
|
|
|
|
|
|
$sub['gmassive']['sub2'] = $sub2;
|
2008-08-04 10:15:16 +02:00
|
|
|
}
|
2008-07-25 20:37:32 +02:00
|
|
|
|
2016-08-29 09:40:43 +02:00
|
|
|
if (!empty($sub)) {
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode['gmodules']['text'] = __('Configuration');
|
|
|
|
$menu_godmode['gmodules']['sec2'] = 'godmode/modules/manage_network_templates';
|
|
|
|
$menu_godmode['gmodules']['id'] = 'god-configuration';
|
|
|
|
$menu_godmode['gmodules']['sub'] = $sub;
|
2016-08-29 09:40:43 +02:00
|
|
|
}
|
2015-12-14 14:21:13 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'LW')
|
|
|
|
|| check_acl($config['id_user'], 0, 'LM')
|
|
|
|
|| check_acl($config['id_user'], 0, 'AD')
|
|
|
|
) {
|
|
|
|
$menu_godmode['galertas']['text'] = __('Alerts');
|
|
|
|
$menu_godmode['galertas']['sec2'] = 'godmode/alerts/alert_list';
|
|
|
|
$menu_godmode['galertas']['id'] = 'god-alerts';
|
|
|
|
|
|
|
|
$sub = [];
|
|
|
|
$sub['godmode/alerts/alert_list']['text'] = __('List of Alerts');
|
|
|
|
$sub['godmode/alerts/alert_list']['id'] = 'List of Alerts';
|
|
|
|
$sub['godmode/alerts/alert_list']['pages'] = ['godmode/alerts/alert_view'];
|
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'LM')) {
|
|
|
|
$sub['godmode/alerts/alert_templates']['text'] = __('Templates');
|
|
|
|
$sub['godmode/alerts/alert_templates']['id'] = 'Templates';
|
|
|
|
$sub['godmode/alerts/alert_templates']['pages'] = ['godmode/alerts/configure_alert_template'];
|
|
|
|
|
|
|
|
$sub['godmode/alerts/alert_actions']['text'] = __('Actions');
|
|
|
|
$sub['godmode/alerts/alert_actions']['id'] = 'Actions';
|
|
|
|
$sub['godmode/alerts/alert_actions']['pages'] = ['godmode/alerts/configure_alert_action'];
|
|
|
|
$sub['godmode/alerts/alert_commands']['text'] = __('Commands');
|
|
|
|
$sub['godmode/alerts/alert_commands']['id'] = 'Commands';
|
|
|
|
$sub['godmode/alerts/alert_commands']['pages'] = ['godmode/alerts/configure_alert_command'];
|
|
|
|
$sub['godmode/alerts/alert_special_days']['text'] = __('Special days list');
|
|
|
|
$sub['godmode/alerts/alert_special_days']['id'] = __('Special days list');
|
|
|
|
$sub['godmode/alerts/alert_special_days']['pages'] = ['godmode/alerts/configure_alert_special_days'];
|
|
|
|
|
|
|
|
enterprise_hook('eventalerts_submenu');
|
|
|
|
$sub['godmode/snmpconsole/snmp_alert']['text'] = __('SNMP alerts');
|
|
|
|
$sub['godmode/snmpconsole/snmp_alert']['id'] = 'SNMP alerts';
|
|
|
|
}
|
|
|
|
|
|
|
|
$menu_godmode['galertas']['sub'] = $sub;
|
2009-12-09 17:20:48 +01:00
|
|
|
}
|
2009-04-02 Sancho Lerena <slerena@artica.es>
* pandoradb.sql: Final DB changes proposed for closing this month the DB
scheme. tagente-> new server_name field to assign server (old fields will
be removed). talert_templates has two new types (warning, critical).
tevento has "user_comment" new field. Tserver has three new fields,
server_type (so some old fields will be deleted), threads and queued_modules
this last two are for statistical options. Tusuario add language type to
override global language.
* update_manager/main.php: Minor changes for correct ACL usage. Non PM
users could see in what revision it the system, but only that.
* pandoradb_migrate_v2.x_to_v3.0.sql: Updated script for new DB changes.
* general/noaccess.php: Added footer and ending div. Page was very ugly
when showing noaccess errors, nobody see it ???.
* godmode/menu.php: A LOT of ACL fixes on several options.
* godmode/agentes/agent_manager.php: Fixed a crazy floating icon.
* godmode/agentes/manage_config_remote.php: A LOT of changes, rewriting
stuff, because was not working. This also adds a lot of ACL checks.
* godmode/agentes/massive_config.php, massive*: ACL changes.
* godmode/agentes/modificar_agente.php: Fixed ACL problems.
* godmode/agentes/module_manager_editor.php: Fixed bad module categories for
some types (data, plugin and prediction).
* godmode/alerts/alert_list.php: Fixed ACL problem.
* godmode/reporting/graph_builder.php: Added ACl restriction for
non-viewable agents for current user. Seems to be a problem with data
with more than 2 sources.
* godmode/reporting/map_builder.php: ACL checks improved.
* godmode/reporting/reporting_builder.php: ACL checks added (was missing),
some code ported from 2.1, other is new. New fields shown in list.
* include/functions.php: Fixed the annoying bug of "bad counters" in
function human_time_description_raw(). Function used,format_numeric() should
not be used never to calculate nothing, only to print formatted strings.
* include/functions_db.php: Added function user_access_to_agent() to know
if a given user has access to a given agent.
* include/functioins_report.php: get_report() should let admin to watch any
report. Fixed.
* agentes/alerts_status.php: Fixed ACL problem for view alert.
* operation/incidents/incident.php: Bad call for pagination() was giving
problems to pagination call. Somebody changes pagination() interface and
make this broken. Please if you change any interface, be sure that is compatible
with old code or make a post in the list about this !
* godmode/users/user_edit.php: Additional ACL check to do not let anybody
to watch non accesible users. Even for see the username or description.
* reporting/pchart_graph.php:Progress bar shown text in white when > 60%.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1594 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-04-02 21:16:59 +02:00
|
|
|
|
2016-09-08 16:06:12 +02:00
|
|
|
// Manage events
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub = [];
|
|
|
|
if (check_acl($config['id_user'], 0, 'EW') || check_acl($config['id_user'], 0, 'EM')) {
|
|
|
|
// Custom event fields
|
|
|
|
$sub['godmode/events/events&section=filter']['text'] = __('Event filters');
|
|
|
|
$sub['godmode/events/events&section=filter']['id'] = 'Event filters';
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
2016-04-26 10:44:52 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
$sub['godmode/events/events&section=fields']['text'] = __('Custom events');
|
|
|
|
$sub['godmode/events/events&section=fields']['id'] = 'Custom events';
|
|
|
|
$sub['godmode/events/events&section=responses']['text'] = __('Event responses');
|
|
|
|
$sub['godmode/events/events&section=responses']['id'] = 'Event responses';
|
2016-09-08 16:06:12 +02:00
|
|
|
}
|
2016-04-26 10:44:52 +02:00
|
|
|
|
2016-09-08 16:06:12 +02:00
|
|
|
if (!empty($sub)) {
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode['geventos']['text'] = __('Events');
|
|
|
|
$menu_godmode['geventos']['sec2'] = 'godmode/events/events&section=filter';
|
|
|
|
$menu_godmode['geventos']['id'] = 'god-events';
|
|
|
|
$menu_godmode['geventos']['sub'] = $sub;
|
2012-02-08 14:04:18 +01:00
|
|
|
}
|
|
|
|
|
2016-09-08 16:06:12 +02:00
|
|
|
|
2019-04-03 11:22:20 +02:00
|
|
|
if (check_acl($config['id_user'], 0, 'AW') || check_acl($config['id_user'], 0, 'PM')) {
|
2019-01-30 16:18:44 +01:00
|
|
|
// Servers
|
|
|
|
$menu_godmode['gservers']['text'] = __('Servers');
|
|
|
|
$menu_godmode['gservers']['sec2'] = 'godmode/servers/modificar_server';
|
|
|
|
$menu_godmode['gservers']['id'] = 'god-servers';
|
|
|
|
|
|
|
|
$sub = [];
|
2019-02-12 14:39:01 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
$sub['godmode/servers/modificar_server']['text'] = __('Manage servers');
|
|
|
|
$sub['godmode/servers/modificar_server']['id'] = 'Manage servers';
|
|
|
|
}
|
|
|
|
|
|
|
|
// This subtabs are only for Pandora Admin
|
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
enterprise_hook('ha_cluster');
|
|
|
|
|
|
|
|
$sub['godmode/servers/plugin']['text'] = __('Plugins');
|
|
|
|
$sub['godmode/servers/plugin']['id'] = 'Plugins';
|
|
|
|
|
|
|
|
enterprise_hook('export_target_submenu');
|
|
|
|
|
|
|
|
enterprise_hook('manage_satellite_submenu');
|
|
|
|
}
|
|
|
|
|
|
|
|
$menu_godmode['gservers']['sub'] = $sub;
|
2009-04-02 Sancho Lerena <slerena@artica.es>
* pandoradb.sql: Final DB changes proposed for closing this month the DB
scheme. tagente-> new server_name field to assign server (old fields will
be removed). talert_templates has two new types (warning, critical).
tevento has "user_comment" new field. Tserver has three new fields,
server_type (so some old fields will be deleted), threads and queued_modules
this last two are for statistical options. Tusuario add language type to
override global language.
* update_manager/main.php: Minor changes for correct ACL usage. Non PM
users could see in what revision it the system, but only that.
* pandoradb_migrate_v2.x_to_v3.0.sql: Updated script for new DB changes.
* general/noaccess.php: Added footer and ending div. Page was very ugly
when showing noaccess errors, nobody see it ???.
* godmode/menu.php: A LOT of ACL fixes on several options.
* godmode/agentes/agent_manager.php: Fixed a crazy floating icon.
* godmode/agentes/manage_config_remote.php: A LOT of changes, rewriting
stuff, because was not working. This also adds a lot of ACL checks.
* godmode/agentes/massive_config.php, massive*: ACL changes.
* godmode/agentes/modificar_agente.php: Fixed ACL problems.
* godmode/agentes/module_manager_editor.php: Fixed bad module categories for
some types (data, plugin and prediction).
* godmode/alerts/alert_list.php: Fixed ACL problem.
* godmode/reporting/graph_builder.php: Added ACl restriction for
non-viewable agents for current user. Seems to be a problem with data
with more than 2 sources.
* godmode/reporting/map_builder.php: ACL checks improved.
* godmode/reporting/reporting_builder.php: ACL checks added (was missing),
some code ported from 2.1, other is new. New fields shown in list.
* include/functions.php: Fixed the annoying bug of "bad counters" in
function human_time_description_raw(). Function used,format_numeric() should
not be used never to calculate nothing, only to print formatted strings.
* include/functions_db.php: Added function user_access_to_agent() to know
if a given user has access to a given agent.
* include/functioins_report.php: get_report() should let admin to watch any
report. Fixed.
* agentes/alerts_status.php: Fixed ACL problem for view alert.
* operation/incidents/incident.php: Bad call for pagination() was giving
problems to pagination call. Somebody changes pagination() interface and
make this broken. Please if you change any interface, be sure that is compatible
with old code or make a post in the list about this !
* godmode/users/user_edit.php: Additional ACL check to do not let anybody
to watch non accesible users. Even for see the username or description.
* reporting/pchart_graph.php:Progress bar shown text in white when > 60%.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1594 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-04-02 21:16:59 +02:00
|
|
|
}
|
2008-10-31 18:08:52 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
|
|
|
// Setup
|
|
|
|
$menu_godmode['gsetup']['text'] = __('Setup');
|
|
|
|
$menu_godmode['gsetup']['sec2'] = 'godmode/setup/setup§ion=general';
|
|
|
|
$menu_godmode['gsetup']['id'] = 'god-setup';
|
|
|
|
|
|
|
|
$sub = [];
|
|
|
|
|
|
|
|
// Options Setup
|
|
|
|
$sub['general']['text'] = __('Setup');
|
|
|
|
$sub['general']['id'] = 'Setup';
|
|
|
|
$sub['general']['type'] = 'direct';
|
|
|
|
$sub['general']['subtype'] = 'nolink';
|
|
|
|
$sub2 = [];
|
|
|
|
|
|
|
|
$sub2['godmode/setup/setup&section=general']['text'] = __('General Setup');
|
|
|
|
$sub2['godmode/setup/setup&section=general']['id'] = 'General Setup';
|
|
|
|
$sub2['godmode/setup/setup&section=general']['refr'] = 0;
|
|
|
|
|
|
|
|
enterprise_hook('password_submenu');
|
|
|
|
enterprise_hook('enterprise_submenu');
|
|
|
|
enterprise_hook('historydb_submenu');
|
|
|
|
enterprise_hook('log_collector_submenu');
|
|
|
|
|
|
|
|
$sub2['godmode/setup/setup&section=auth']['text'] = __('Authentication');
|
|
|
|
$sub2['godmode/setup/setup&section=auth']['refr'] = 0;
|
|
|
|
|
|
|
|
$sub2['godmode/setup/setup&section=perf']['text'] = __('Performance');
|
|
|
|
$sub2['godmode/setup/setup&section=perf']['refr'] = 0;
|
|
|
|
|
|
|
|
$sub2['godmode/setup/setup&section=vis']['text'] = __('Visual styles');
|
|
|
|
$sub2['godmode/setup/setup&section=vis']['refr'] = 0;
|
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
|
|
|
if ($config['activate_netflow']) {
|
|
|
|
$sub2['godmode/setup/setup&section=net']['text'] = __('Netflow');
|
|
|
|
$sub2['godmode/setup/setup&section=net']['refr'] = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$sub2['godmode/setup/setup&section=ehorus']['text'] = __('eHorus');
|
2019-09-02 17:01:41 +02:00
|
|
|
$sub2['godmode/setup/setup&section=ehorus']['refr'] = 0;
|
|
|
|
|
|
|
|
$sub2['godmode/setup/setup&section=integria']['text'] = __('Integria IMS');
|
2019-09-23 14:47:08 +02:00
|
|
|
$sub2['godmode/setup/setup&section=integria']['refr'] = 0;
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2020-02-27 11:20:24 +01:00
|
|
|
enterprise_hook('module_library_submenu');
|
|
|
|
|
2019-02-12 13:29:43 +01:00
|
|
|
$sub2['godmode/setup/setup&section=notifications']['text'] = __('Notifications');
|
|
|
|
$sub2['godmode/setup/setup&section=notifications']['refr'] = 0;
|
|
|
|
|
2019-12-16 15:42:54 +01:00
|
|
|
$sub2['godmode/setup/setup&section=websocket_engine']['text'] = __('Websocket Engine');
|
|
|
|
$sub2['godmode/setup/setup&section=websocket_engine']['refr'] = 0;
|
2019-12-13 11:46:44 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if ($config['activate_gis']) {
|
2019-10-29 13:26:36 +01:00
|
|
|
$sub2['godmode/setup/setup&section=gis']['text'] = __('Map conections GIS');
|
2019-01-30 16:18:44 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
$sub['general']['sub2'] = $sub2;
|
|
|
|
$sub['godmode/setup/os']['text'] = __('Edit OS');
|
|
|
|
$sub['godmode/setup/os']['id'] = 'Edit OS';
|
|
|
|
$sub['godmode/setup/license']['text'] = __('License');
|
|
|
|
$sub['godmode/setup/license']['id'] = 'License';
|
|
|
|
|
|
|
|
enterprise_hook('skins_submenu');
|
|
|
|
|
|
|
|
$menu_godmode['gsetup']['sub'] = $sub;
|
2008-08-04 10:15:16 +02:00
|
|
|
}
|
2008-12-19 22:45:20 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM') || check_acl($config['id_user'], 0, 'DM')) {
|
|
|
|
$menu_godmode['gextensions']['text'] = __('Admin tools');
|
|
|
|
$menu_godmode['gextensions']['sec2'] = 'godmode/extensions';
|
|
|
|
$menu_godmode['gextensions']['id'] = 'god-extensions';
|
|
|
|
|
|
|
|
$sub = [];
|
|
|
|
|
|
|
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
2019-10-11 14:55:20 +02:00
|
|
|
// Audit //meter en extensiones.
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub['godmode/admin_access_logs']['text'] = __('System audit log');
|
|
|
|
$sub['godmode/admin_access_logs']['id'] = 'System audit log';
|
|
|
|
$sub['godmode/setup/links']['text'] = __('Links');
|
|
|
|
$sub['godmode/setup/links']['id'] = 'Links';
|
2019-10-11 14:55:20 +02:00
|
|
|
$sub['tools/diagnostics']['text'] = __('Diagnostic info');
|
|
|
|
$sub['tools/diagnostics']['id'] = 'Diagnostic info';
|
2019-11-21 18:21:46 +01:00
|
|
|
enterprise_hook('omnishell');
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub['godmode/setup/news']['text'] = __('Site news');
|
|
|
|
$sub['godmode/setup/news']['id'] = 'Site news';
|
|
|
|
$sub['godmode/setup/file_manager']['text'] = __('File manager');
|
|
|
|
$sub['godmode/setup/file_manager']['id'] = 'File manager';
|
|
|
|
|
|
|
|
if (is_user_admin($config['id_user'])) {
|
|
|
|
$sub['extensions/db_status']['text'] = __('DB Schema Check');
|
|
|
|
$sub['extensions/db_status']['id'] = 'DB Schema Check';
|
|
|
|
$sub['extensions/db_status']['sec'] = 'gbman';
|
|
|
|
$sub['extensions/dbmanager']['text'] = __('DB Interface');
|
|
|
|
$sub['extensions/dbmanager']['id'] = 'DB Interface';
|
|
|
|
$sub['extensions/dbmanager']['sec'] = 'gbman';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$menu_godmode['gextensions']['sub'] = $sub;
|
2008-08-04 10:15:16 +02:00
|
|
|
}
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
if (is_array($config['extensions'])) {
|
|
|
|
$sub = [];
|
|
|
|
$sub2 = [];
|
|
|
|
|
|
|
|
foreach ($config['extensions'] as $extension) {
|
|
|
|
// If no godmode_menu is a operation extension
|
|
|
|
if ($extension['godmode_menu'] == '') {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($extension['godmode_menu']['name'] == 'System Info') {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($extension['godmode_menu']['name'] != __('DB Schema check') && $extension['godmode_menu']['name'] != __('DB interface')) {
|
|
|
|
$extmenu = $extension['godmode_menu'];
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check the ACL for this user
|
|
|
|
if (! check_acl($config['id_user'], 0, $extmenu['acl'])) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if was displayed inside other menu
|
|
|
|
if ($extension['godmode_menu']['fatherId'] == '') {
|
|
|
|
$sub2[$extmenu['sec2']]['text'] = __($extmenu['name']);
|
|
|
|
$sub2[$extmenu['sec2']]['id'] = $extmenu['name'];
|
|
|
|
$sub2[$extmenu['sec2']]['refr'] = 0;
|
|
|
|
} else {
|
|
|
|
if (is_array($extmenu) && array_key_exists('fatherId', $extmenu)) {
|
|
|
|
if (strlen($extmenu['fatherId']) > 0) {
|
|
|
|
if (array_key_exists('subfatherId', $extmenu)) {
|
|
|
|
if (strlen($extmenu['subfatherId']) > 0) {
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['text'] = __($extmenu['name']);
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['id'] = $extmenu['name'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['refr'] = 0;
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['icon'] = $extmenu['icon'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['sec'] = 'extensions';
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['extension'] = true;
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['subfatherId']]['sub2'][$extmenu['sec2']]['enterprise'] = $extension['enterprise'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['hasExtensions'] = true;
|
|
|
|
} else {
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['text'] = __($extmenu['name']);
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['id'] = $extmenu['name'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['refr'] = 0;
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['icon'] = $extmenu['icon'];
|
|
|
|
if ($extmenu['name'] == 'Cron jobs') {
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['sec'] = 'extensions';
|
|
|
|
} else {
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['sec'] = 'gextensions';
|
|
|
|
}
|
|
|
|
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['extension'] = true;
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['enterprise'] = $extension['enterprise'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['hasExtensions'] = true;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['text'] = __($extmenu['name']);
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['id'] = $extmenu['name'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['refr'] = 0;
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['icon'] = $extmenu['icon'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['sec'] = 'gextensions';
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['extension'] = true;
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['sub'][$extmenu['sec2']]['enterprise'] = $extension['enterprise'];
|
|
|
|
$menu_godmode[$extmenu['fatherId']]['hasExtensions'] = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Complete the submenu
|
|
|
|
$extension_view = [];
|
|
|
|
$extension_view['godmode/extensions']['id'] = 'Extension manager view';
|
|
|
|
$extension_view['godmode/extensions']['text'] = __('Extension manager view');
|
|
|
|
$extension_submenu = array_merge($extension_view, $sub2);
|
|
|
|
|
|
|
|
$sub['godmode/extensions']['sub2'] = $extension_submenu;
|
|
|
|
$sub['godmode/extensions']['text'] = __('Extension manager');
|
|
|
|
$sub['godmode/extensions']['id'] = 'Extension manager';
|
|
|
|
$sub['godmode/extensions']['type'] = 'direct';
|
|
|
|
$sub['godmode/extensions']['subtype'] = 'nolink';
|
|
|
|
|
2019-06-14 13:20:34 +02:00
|
|
|
if (is_array($menu_godmode['gextensions']['sub'])) {
|
|
|
|
$submenu = array_merge($menu_godmode['gextensions']['sub'], $sub);
|
|
|
|
if ($menu_godmode['gextensions']['sub'] != null) {
|
|
|
|
$menu_godmode['gextensions']['sub'] = $submenu;
|
|
|
|
}
|
2019-01-30 16:18:44 +01:00
|
|
|
}
|
2006-03-27 05:37:27 +02:00
|
|
|
}
|
2009-03-03 16:21:13 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode['links']['text'] = __('Links');
|
|
|
|
$menu_godmode['links']['sec2'] = '';
|
|
|
|
$menu_godmode['links']['id'] = 'god-links';
|
2015-11-17 12:20:34 +01:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$sub = [];
|
2015-11-17 12:20:34 +01:00
|
|
|
$rows = db_get_all_rows_in_table('tlink', 'name');
|
|
|
|
foreach ($rows as $row) {
|
2019-01-30 16:18:44 +01:00
|
|
|
// Audit //meter en extensiones
|
|
|
|
$sub[$row['link']]['text'] = $row['name'];
|
|
|
|
$sub[$row['link']]['id'] = $row['name'];
|
|
|
|
$sub[$row['link']]['type'] = 'direct';
|
|
|
|
$sub[$row['link']]['subtype'] = 'new_blank';
|
2015-11-17 12:20:34 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
$menu_godmode['links']['sub'] = $sub;
|
2015-11-17 12:20:34 +01:00
|
|
|
|
2016-06-13 16:30:54 +02:00
|
|
|
// Update Manager
|
2019-01-30 16:18:44 +01:00
|
|
|
if (check_acl($config['id_user'], 0, 'PM') && $config['enable_update_manager']) {
|
|
|
|
$menu_godmode['messages']['text'] = __('Update manager');
|
|
|
|
$menu_godmode['messages']['sec2'] = '';
|
|
|
|
$menu_godmode['messages']['id'] = 'god-um_messages';
|
|
|
|
|
|
|
|
$sub = [];
|
|
|
|
if ($config['enterprise_installed']) {
|
|
|
|
$sub['godmode/update_manager/update_manager&tab=offline']['text'] = __('Update Manager offline');
|
|
|
|
$sub['godmode/update_manager/update_manager&tab=offline']['id'] = 'Offline';
|
|
|
|
}
|
|
|
|
|
|
|
|
$sub['godmode/update_manager/update_manager&tab=online']['text'] = __('Update Manager online');
|
|
|
|
$sub['godmode/update_manager/update_manager&tab=online']['id'] = 'Online';
|
|
|
|
$sub['godmode/update_manager/update_manager&tab=setup']['text'] = __('Update Manager options');
|
|
|
|
$sub['godmode/update_manager/update_manager&tab=setup']['id'] = 'Options';
|
|
|
|
|
|
|
|
$menu_godmode['messages']['sub'] = $sub;
|
2016-06-09 18:54:59 +02:00
|
|
|
}
|
|
|
|
|
2020-02-27 11:20:24 +01:00
|
|
|
// Module library.
|
|
|
|
if (check_acl($config['id_user'], 0, 'AR')) {
|
|
|
|
$menu_godmode['gmodule_library']['text'] = __('Module library');
|
|
|
|
$menu_godmode['gmodule_library']['sec2'] = 'godmode/module_library/module_library_view';
|
|
|
|
$menu_godmode['gmodule_library']['id'] = 'god-module_library';
|
|
|
|
|
|
|
|
$sub = [];
|
|
|
|
$sub['godmode/module_library/module_library_view']['text'] = __('View');
|
|
|
|
$sub['godmode/module_library/module_library_view']['id'] = 'View';
|
|
|
|
|
|
|
|
$sub['godmode/module_library/module_library_view&tab=categories']['text'] = __('Categories');
|
|
|
|
$sub['godmode/module_library/module_library_view&tab=categories']['id'] = 'categories';
|
|
|
|
|
|
|
|
$menu_godmode['gmodule_library']['sub'] = $sub;
|
|
|
|
}
|
2016-06-13 16:30:54 +02:00
|
|
|
|
2013-07-01 13:01:20 +02:00
|
|
|
if (!$config['pure']) {
|
2019-01-30 16:18:44 +01:00
|
|
|
menu_print_menu($menu_godmode);
|
2012-09-27 15:02:16 +02:00
|
|
|
}
|