From cf26293a33ec75cc4a30ace62bc5eca74e718775 Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Mon, 6 Jul 2020 19:35:31 +0200 Subject: [PATCH 1/7] WIP massive services --- .../godmode/massive/massive_operations.php | 18 ++++++++++++++++++ pandora_console/godmode/menu.php | 1 + 2 files changed, 19 insertions(+) diff --git a/pandora_console/godmode/massive/massive_operations.php b/pandora_console/godmode/massive/massive_operations.php index 6b9ee73f5a..8431bd7973 100755 --- a/pandora_console/godmode/massive/massive_operations.php +++ b/pandora_console/godmode/massive/massive_operations.php @@ -92,6 +92,12 @@ if ($satellite_options != ENTERPRISE_NOT_HOOK) { $options_satellite = array_merge($options_satellite, $satellite_options); } +$options_services = enterprise_hook('massive_services_options'); +if ($options_services === ENTERPRISE_NOT_HOOK) { + $options_services = []; +} + + if (in_array($option, array_keys($options_alerts))) { $tab = 'massive_alerts'; } else if (in_array($option, array_keys($options_agents))) { @@ -108,6 +114,8 @@ if (in_array($option, array_keys($options_alerts))) { $tab = 'massive_satellite'; } else if (in_array($option, array_keys($options_plugins))) { $tab = 'massive_plugins'; +} else if (in_array($option, array_keys($options_services))) { + $tab = 'massive_services'; } if ($tab == 'massive_agents' && $option == '') { @@ -173,6 +181,10 @@ switch ($tab) { $options = $options_plugins; break; + case 'massive_services': + $options = $options_services; + break; + default: // Default. break; @@ -241,6 +253,11 @@ if ($satellitetab == ENTERPRISE_NOT_HOOK) { $satellitetab = ''; } +$servicestab = enterprise_hook('massive_services_tab'); + +if ($servicestab == ENTERPRISE_NOT_HOOK) { + $servicestab = ''; +} $onheader = []; $onheader['massive_agents'] = $agentstab; @@ -254,6 +271,7 @@ $onheader['massive_alerts'] = $alertstab; $onheader['policies'] = $policiestab; $onheader['snmp'] = $snmptab; $onheader['satellite'] = $satellitetab; +$onheader['services'] = $servicestab; /* Hello there! :) diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index dce8b584da..21584a5fd4 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -189,6 +189,7 @@ if (check_acl($config['id_user'], 0, 'AW')) { enterprise_hook('massivepolicies_submenu'); enterprise_hook('massivesnmp_submenu'); enterprise_hook('massivesatellite_submenu'); + enterprise_hook('massiveservices_submenu'); $sub['gmassive']['sub2'] = $sub2; } From 0b42d1b61f3c905bceb4006eed3d8c23653dcc8c Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Tue, 7 Jul 2020 10:19:49 +0200 Subject: [PATCH 2/7] smart services API adjustments --- pandora_console/include/api.php | 2 +- pandora_console/include/functions_api.php | 115 +++++++++++++++------- 2 files changed, 78 insertions(+), 39 deletions(-) diff --git a/pandora_console/include/api.php b/pandora_console/include/api.php index ed366f64c6..1161786e97 100644 --- a/pandora_console/include/api.php +++ b/pandora_console/include/api.php @@ -29,7 +29,7 @@ // Begin. require_once 'config.php'; require_once 'functions_api.php'; - +require '../vendor/autoload.php'; global $config; define('DEBUG', 0); diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php index bd25a0b555..f99fa02ddd 100644 --- a/pandora_console/include/functions_api.php +++ b/pandora_console/include/functions_api.php @@ -13123,6 +13123,9 @@ function api_set_create_service($thrash1, $thrash2, $other, $thrash3) $quiet = $other['data'][11]; $cascade_protection = $other['data'][12]; $evaluate_sla = $other['data'][13]; + $is_favourite = $other['data'][14]; + $unknown_as_critical = $other['data'][15]; + $server_name = $other['data'][16]; if (empty($name)) { returnError('error_create_service', __('Error in creation service. No name')); @@ -13189,24 +13192,39 @@ function api_set_create_service($thrash1, $thrash2, $other, $thrash3) $evaluate_sla = 0; } - $result = services_create_service( - $name, - $description, - $id_group, - $critical, - $warning, - SECONDS_5MINUTES, - $mode, - $id_agent, - $sla_interval, - $sla_limit, - $id_warning_module_template, - $id_critical_module_template, - $id_unknown_module_template, - $id_critical_module_sla, - $quiet, - $cascade_protection, - $evaluate_sla + if (empty($is_favourite)) { + $is_favourite = false; + } + + if (empty($unknown_as_critical)) { + $unknown_as_critical = false; + } + + if (empty($server_name)) { + $server_name = null; + } + + $result = enterprise_hook( + 'services_create_service', + [ + $name, + $description, + $id_group, + $critical, + $warning, + SECONDS_5MINUTES, + $mode, + $id_agent, + $sla_interval, + $sla_limit, + $id_warning_module_template, + $id_critical_module_template, + $id_unknown_module_template, + $id_critical_module_sla, + $quiet, + $cascade_protection, + $evaluate_sla, + ] ); if ($result) { @@ -13225,7 +13243,7 @@ function api_set_create_service($thrash1, $thrash2, $other, $thrash3) * @param array $other it's array, $other as param is ;;;; * ;;;;; * ;;; - * ;; + * ;;;;; * in this order and separator char (after text ; ) and separator * (pass in param othermode as othermode=url_encode_separator_) * @param $thrash3 Don't use @@ -13342,25 +13360,46 @@ function api_set_update_service($thrash1, $thrash2, $other, $thrash3) $evaluate_sla = $service['evaluate_sla']; } - $result = services_update_service( - $id_service, - $name, - $description, - $id_group, - $critical, - $warning, - SECONDS_5MINUTES, - $mode, - $id_agent, - $sla_interval, - $sla_limit, - $id_warning_module_template, - $id_critical_module_template, - $id_unknown_module_template, - $id_critical_module_sla, - $quiet, - $cascade_protection, - $evaluate_sla + $is_favourite = $other['data'][14]; + if (empty($is_favourite)) { + $is_favourite = $service['is_favourite']; + } + + $unknown_as_critical = $other['data'][15]; + if (empty($unknown_as_critical)) { + $unknown_as_critical = $service['unknown_as_critical']; + } + + $server_name = $other['data'][16]; + if (empty($server_name)) { + $server_name = $service['server_name']; + } + + $result = enterprise_hook( + 'services_update_service', + [ + $id_service, + $name, + $description, + $id_group, + $critical, + $warning, + SECONDS_5MINUTES, + $mode, + $id_agent, + $sla_interval, + $sla_limit, + $id_warning_module_template, + $id_critical_module_template, + $id_unknown_module_template, + $id_critical_module_sla, + $quiet, + $cascade_protection, + $evaluate_sla, + $is_favourite, + $unknown_as_critical, + $server_name, + ] ); if ($result) { From 1944b644a1729c46521735a86b02ea301a6ad8f0 Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Tue, 7 Jul 2020 17:19:02 +0200 Subject: [PATCH 3/7] fix recursion while searching group children perl --- pandora_server/lib/PandoraFMS/DB.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/DB.pm b/pandora_server/lib/PandoraFMS/DB.pm index 2ed7d25088..030ff682d4 100644 --- a/pandora_server/lib/PandoraFMS/DB.pm +++ b/pandora_server/lib/PandoraFMS/DB.pm @@ -303,10 +303,11 @@ sub get_group_children ($$$;$) { if (is_empty($href_groups)) { my @groups = get_db_rows($dbh, 'SELECT * FROM tgrupo'); - my $href_groups = map { + my %groups = map { $_->{'id_grupo'} => $_ - } @groups + } @groups; + $href_groups = \%groups; } my $return = {}; From 3d493f14da4c6bc3924d5a5e5ca347116de932ed Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Tue, 7 Jul 2020 19:10:24 +0200 Subject: [PATCH 4/7] massive services --- pandora_console/include/functions_html.php | 155 +++++++++++++++++- .../javascript/multiselect_filtered.js | 71 +++++++- pandora_console/include/lib/Module.php | 5 + pandora_console/include/styles/pandora.css | 17 ++ 4 files changed, 244 insertions(+), 4 deletions(-) diff --git a/pandora_console/include/functions_html.php b/pandora_console/include/functions_html.php index 1fb7da5e21..24c9a6863b 100644 --- a/pandora_console/include/functions_html.php +++ b/pandora_console/include/functions_html.php @@ -794,7 +794,7 @@ function html_print_select_multiple_filtered( } // Main container. - $output .= '
'; + $output = '
'; // Left box. $output .= '
'; @@ -941,7 +941,7 @@ function html_print_select_multiple_filtered( $output .= '
'; - // Left box. + // Right box. $output .= '
'; // Filtering. @@ -1062,6 +1062,151 @@ function html_print_select_multiple_filtered( } +/** + * Form multiple inputs for slect groups. + * + * @param array $data Data inputs. + * + * @return string Html output. + */ +function html_print_select_multiple_modules_filtered(array $data):string +{ + if (is_ajax() === true) { + ui_require_javascript_file( + 'multiselect_filtered', + 'include/javascript/', + true + ); + } else { + ui_require_javascript_file('multiselect_filtered'); + } + + $uniqId = $data['uniqId']; + + // Group. + $output = '
'; + $output .= html_print_input( + [ + 'label' => __('Group'), + 'name' => 'filtered-module-group-'.$uniqId, + 'returnAllGroup' => true, + 'privilege' => 'AR', + 'type' => 'select_groups', + 'return' => true, + 'script' => 'fmAgentChange(\''.$uniqId.'\')', + 'selected' => $data['mGroup'], + ] + ); + + // Recursion. + $output .= html_print_input( + [ + 'label' => __('Recursion'), + 'type' => 'switch', + 'name' => 'filtered-module-recursion-'.$uniqId, + 'value' => (empty($data['mRecursion']) === true) ? false : true, + 'checked' => (empty($data['mRecursion']) === true) ? false : true, + 'return' => true, + 'id' => 'filtered-module-recursion-'.$uniqId, + 'onchange' => 'fmAgentChange(\''.$uniqId.'\')', + ] + ); + + // Groups module. + $module_groups = db_get_all_rows_sql( + 'SELECT * FROM tmodule_group ORDER BY name' + ); + $module_groups = array_reduce( + $module_groups, + function ($carry, $item) { + $carry[$item['id_mg']] = $item['name']; + return $carry; + } + ); + + $output .= html_print_input( + [ + 'label' => __('Module group'), + 'type' => 'select', + 'fields' => $module_groups, + 'name' => 'filtered-module-module-group-'.$uniqId, + 'selected' => $data['mModuleGroup'], + 'return' => true, + 'nothing' => __('All'), + 'nothing_value' => 0, + 'script' => 'fmModuleChange(\''.$uniqId.'\')', + ] + ); + $output .= '
'; + + $output .= '
'; + // Agent. + $agents = agents_get_group_agents($data['mGroup']); + if ((empty($agents)) === true || $agents == -1) { + $agents = []; + } + + $output .= html_print_input( + [ + 'label' => __('Agents'), + 'type' => 'select', + 'fields' => $agents, + 'name' => 'filtered-module-agents-'.$uniqId, + 'selected' => explode(',', $data['mAgents']), + 'return' => true, + 'multiple' => true, + 'style' => 'min-width: 200px;max-width:200px;', + 'script' => 'fmModuleChange(\''.$uniqId.'\')', + ] + ); + + // Show common modules. + $selection = [ + 0 => __('Show common modules'), + 1 => __('Show all modules'), + ]; + $output .= html_print_input( + [ + 'label' => __('Show common modules'), + 'type' => 'select', + 'fields' => $selection, + 'name' => 'filtered-module-show-common-modules-'.$uniqId, + 'selected' => $data['mShowCommonModules'], + 'return' => true, + 'script' => 'fmModuleChange(\''.$uniqId.'\')', + ] + ); + + $all_modules = select_modules_for_agent_group( + $data['mModuleGroup'], + explode(',', $data['mAgents']), + $data['mShowCommonModules'], + false + ); + + $output .= html_print_input( + [ + 'label' => __('Modules'), + 'type' => 'select', + 'fields' => $all_modules, + 'name' => 'filtered-module-modules-'.$uniqId, + 'selected' => explode(',', $data['mModules']), + 'return' => true, + 'multiple' => true, + 'style' => 'min-width: 200px;max-width:200px;', + ] + ); + + $output .= '
'; + + if ($data['return'] === false) { + echo $output; + } + + return $output; +} + + /** * Prints an array of fields in a popup menu of a form based on a SQL query. * The first and second columns of the query will be used. @@ -4339,7 +4484,7 @@ function html_print_input($data, $wrapper='div', $input_only=false) 0 => __('Select an Agent first'), ]; } else { - $string_filter .= ''; + $string_filter = ''; if ($data['get_only_string_modules'] === true) { $string_filter = 'AND id_tipo_modulo IN (17,23,3,10,33,36)'; } @@ -4425,6 +4570,10 @@ function html_print_input($data, $wrapper='div', $input_only=false) ); break; + case 'select_multiple_modules_filtered': + $output .= html_print_select_multiple_modules_filtered($data); + break; + default: // Ignore. break; diff --git a/pandora_console/include/javascript/multiselect_filtered.js b/pandora_console/include/javascript/multiselect_filtered.js index 0366f870a4..27135c6843 100644 --- a/pandora_console/include/javascript/multiselect_filtered.js +++ b/pandora_console/include/javascript/multiselect_filtered.js @@ -1,8 +1,9 @@ -/* global $ */ +/* global $, jQuery*/ /** * Add modules from available to selected. */ +// eslint-disable-next-line no-unused-vars function addItems(id, noneStr) { $("#available-select-" + id + " :selected") .toArray() @@ -17,6 +18,7 @@ function addItems(id, noneStr) { /** * Mark all options for given id. */ +// eslint-disable-next-line no-unused-vars function markAll(id) { $("#" + id + " option").prop("selected", true); } @@ -24,6 +26,7 @@ function markAll(id) { /** * Remove modules from selected back to available. */ +// eslint-disable-next-line no-unused-vars function removeItems(id, noneStr) { $("#selected-select-" + id + " :selected") .toArray() @@ -69,16 +72,19 @@ function filterItems(id, str) { }); } +// eslint-disable-next-line no-unused-vars function filterAvailableItems(txt, id, noneStr) { filterItems("available-select-" + id, txt); keepSelectClean("available-select-" + id, noneStr); } +// eslint-disable-next-line no-unused-vars function filterSelectedItems(txt, id, noneStr) { filterItems("selected-select-" + id, txt); keepSelectClean("selected-select-" + id, noneStr); } +// eslint-disable-next-line no-unused-vars function disableFilters(id) { $("#id-group-selected-select-" + id).prop("disabled", true); $("#checkbox-id-group-recursion-selected-select-" + id).prop( @@ -87,6 +93,7 @@ function disableFilters(id) { ); } +// eslint-disable-next-line no-unused-vars function reloadContent(id, url, options, side, noneStr) { var current; var opposite; @@ -155,3 +162,65 @@ $(document).submit(function() { .keyup(); $("[id^=selected-select-] option").prop("selected", true); }); + +// eslint-disable-next-line no-unused-vars +function fmAgentChange(uniqId) { + var idGroup = $("#filtered-module-group-" + uniqId).val(); + var recursion = $("#filtered-module-recursion-" + uniqId).is(":checked"); + jQuery.post( + "ajax.php", + { + page: "operation/agentes/ver_agente", + get_agents_group_json: 1, + id_group: idGroup, + privilege: "AW", + keys_prefix: "_", + recursion: recursion + }, + function(data) { + $("#filtered-module-agents-" + uniqId).html(""); + $("#filtered-module-modules-" + uniqId).html(""); + jQuery.each(data, function(id, value) { + // Remove keys_prefix from the index + id = id.substring(1); + + var option = $("") + .attr("value", value["id_agente"]) + .html(value["alias"]); + $("#filtered-module-agents-" + uniqId).append(option); + }); + }, + "json" + ); +} + +// eslint-disable-next-line no-unused-vars +function fmModuleChange(uniqId) { + var idModuleGroup = $("#filtered-module-module-group-" + uniqId).val(); + var idAgents = $("#filtered-module-agents-" + uniqId).val(); + var showCommonModules = $( + "#filtered-module-show-common-modules-" + uniqId + ).val(); + jQuery.post( + "ajax.php", + { + page: "operation/agentes/ver_agente", + get_modules_group_json: 1, + id_module_group: idModuleGroup, + id_agents: idAgents, + selection: showCommonModules + }, + function(data) { + $("#filtered-module-modules-" + uniqId).html(""); + if (data) { + jQuery.each(data, function(id, value) { + var option = $("") + .attr("value", value["id_agente_modulo"]) + .html(value["nombre"]); + $("#filtered-module-modules-" + uniqId).append(option); + }); + } + }, + "json" + ); +} diff --git a/pandora_console/include/lib/Module.php b/pandora_console/include/lib/Module.php index 48240ca288..000d71b0c2 100644 --- a/pandora_console/include/lib/Module.php +++ b/pandora_console/include/lib/Module.php @@ -285,6 +285,11 @@ class Module extends Entity return $this->{$methodName}($params); } + if (is_array($this->fields) === false) { + // Element deleted. + return null; + } + if (array_key_exists($methodName, $this->fields) === true) { if (empty($params) === false) { if ($this->is_local() === true) { diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index ec0c0cc519..b2da05d05f 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -716,6 +716,23 @@ p.center { text-align: center; } +.center { + text-align: center; +} + +.margin-top-10 { + margin-top: 10px; +} + +.margin-bottom-10 { + margin-bottom: 10px; +} + +.margin-tb-10 { + margin-top: 10px; + margin-bottom: 10px; +} + .img_help { cursor: help; } From 865c2eb2082859bab39b6431f91e16cc9c839fc3 Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Thu, 9 Jul 2020 11:35:04 +0200 Subject: [PATCH 5/7] allowed service create propagate exceptions --- pandora_console/include/functions_api.php | 1 + 1 file changed, 1 insertion(+) diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php index f99fa02ddd..0d7cd8ef44 100644 --- a/pandora_console/include/functions_api.php +++ b/pandora_console/include/functions_api.php @@ -13212,6 +13212,7 @@ function api_set_create_service($thrash1, $thrash2, $other, $thrash3) $id_group, $critical, $warning, + false, SECONDS_5MINUTES, $mode, $id_agent, From 231ba795dde6ff311bc73389d7b2ea543e1de575 Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Thu, 9 Jul 2020 16:53:03 +0200 Subject: [PATCH 6/7] MR update --- pandora_console/extras/mr/39.sql | 10 ---------- pandora_console/extras/mr/40.sql | 12 ++++++++++++ 2 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 pandora_console/extras/mr/40.sql diff --git a/pandora_console/extras/mr/39.sql b/pandora_console/extras/mr/39.sql index bda3a9f6b3..a8d8d2e3dd 100644 --- a/pandora_console/extras/mr/39.sql +++ b/pandora_console/extras/mr/39.sql @@ -1,15 +1,5 @@ START TRANSACTION; - -ALTER TABLE `tservice_element` ADD COLUMN `rules` text; -ALTER TABLE `tservice` ADD COLUMN `unknown_as_critical` tinyint(1) NOT NULL default 0 AFTER `warning`; - -UPDATE `tservice` SET `auto_calculate`=0; - -UPDATE `tservice` SET `cps`= `cps` - 1 WHERE `cps` > 0; -UPDATE `tagente` SET `cps`= `cps` - 1 WHERE `cps` > 0; -UPDATE `tagente_modulo` SET `cps`= `cps` - 1 WHERE `cps` > 0; - ALTER TABLE `tnetwork_component` ADD COLUMN `manufacturer_id` varchar(200) NOT NULL; ALTER TABLE `tnetwork_component` ADD COLUMN `protocol` tinytext NOT NULL; ALTER TABLE `tnetwork_component` ADD COLUMN `module_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1; diff --git a/pandora_console/extras/mr/40.sql b/pandora_console/extras/mr/40.sql new file mode 100644 index 0000000000..7ee43f98ed --- /dev/null +++ b/pandora_console/extras/mr/40.sql @@ -0,0 +1,12 @@ +START TRANSACTION; + +ALTER TABLE `tservice_element` ADD COLUMN `rules` text; +ALTER TABLE `tservice` ADD COLUMN `unknown_as_critical` tinyint(1) NOT NULL default 0 AFTER `warning`; + +UPDATE `tservice` SET `auto_calculate`=0; + +UPDATE `tservice` SET `cps`= `cps` - 1 WHERE `cps` > 0; +UPDATE `tagente` SET `cps`= `cps` - 1 WHERE `cps` > 0; +UPDATE `tagente_modulo` SET `cps`= `cps` - 1 WHERE `cps` > 0; + +COMMIT; From 5df418d226be0c8d29f83e857e25b15a1db0e77a Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Thu, 9 Jul 2020 16:56:51 +0200 Subject: [PATCH 7/7] MR changes --- pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql | 4 ++-- pandora_console/pandoradb_data.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index a20f6fdfec..666fdea9d4 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1342,13 +1342,13 @@ ALTER TABLE `tmap` MODIFY COLUMN `id_user` varchar(250) NOT NULL DEFAULT ''; INSERT INTO `tconfig` (`token`, `value`) VALUES ('big_operation_step_datos_purge', '100'); INSERT INTO `tconfig` (`token`, `value`) VALUES ('small_operation_step_datos_purge', '1000'); INSERT INTO `tconfig` (`token`, `value`) VALUES ('days_autodisable_deletion', '30'); -INSERT INTO `tconfig` (`token`, `value`) VALUES ('MR', 39); +INSERT INTO `tconfig` (`token`, `value`) VALUES ('MR', 40); INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_docs_logo', 'default_docs.png'); INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_support_logo', 'default_support.png'); INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png'); UPDATE tconfig SET value = 'https://licensing.artica.es/pandoraupdate7/server.php' WHERE token='url_update_manager'; DELETE FROM `tconfig` WHERE `token` = 'current_package_enterprise'; -INSERT INTO `tconfig` (`token`, `value`) VALUES ('current_package_enterprise', '747'); +INSERT INTO `tconfig` (`token`, `value`) VALUES ('current_package_enterprise', '748'); INSERT INTO `tconfig` (`token`, `value`) VALUES ('status_monitor_fields', 'policy,agent,data_type,module_name,server_type,interval,status,graph,warn,data,timestamp'); UPDATE `tconfig` SET `value` = 'mini_severity,evento,id_agente,estado,timestamp' WHERE `token` LIKE 'event_fields'; DELETE FROM `tconfig` WHERE `token` LIKE 'integria_api_password'; diff --git a/pandora_console/pandoradb_data.sql b/pandora_console/pandoradb_data.sql index a687ad3c91..1eedc9cef4 100644 --- a/pandora_console/pandoradb_data.sql +++ b/pandora_console/pandoradb_data.sql @@ -109,10 +109,10 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_report_front_logo', 'images/pandora_logo_white.jpg'), ('custom_report_front_header', ''), ('custom_report_front_footer', ''), -('MR', 39), +('MR', 40), ('identification_reminder', 1), ('identification_reminder_timestamp', 0), -('current_package_enterprise', '747'), +('current_package_enterprise', '748'), ('post_process_custom_values', '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.0009765625":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}'), ('custom_docs_logo', 'default_docs.png'), ('custom_support_logo', 'default_support.png'),