mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-09-26 11:29:12 +02:00
Merge branch 'develop' into ent-8533-Mostrar-valores-en-elementos-Agents-modules
This commit is contained in:
commit
ff60967bdf
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.760-220317
|
Version: 7.0NG.760-220323
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.760-220317"
|
pandora_version="7.0NG.760-220323"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
@ -1015,7 +1015,7 @@ my $Sem = undef;
|
|||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.760';
|
use constant AGENT_VERSION => '7.0NG.760';
|
||||||
use constant AGENT_BUILD => '220317';
|
use constant AGENT_BUILD => '220323';
|
||||||
|
|
||||||
# Agent log default file size maximum and instances
|
# Agent log default file size maximum and instances
|
||||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.760"
|
PI_VERSION="7.0NG.760"
|
||||||
PI_BUILD="220317"
|
PI_BUILD="220323"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{220317}
|
{220323}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||||||
using namespace Pandora_Strutils;
|
using namespace Pandora_Strutils;
|
||||||
|
|
||||||
#define PATH_SIZE _MAX_PATH+1
|
#define PATH_SIZE _MAX_PATH+1
|
||||||
#define PANDORA_VERSION ("7.0NG.760 Build 220317")
|
#define PANDORA_VERSION ("7.0NG.760 Build 220323")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
@ -11,7 +11,7 @@ BEGIN
|
|||||||
VALUE "LegalCopyright", "Artica ST"
|
VALUE "LegalCopyright", "Artica ST"
|
||||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||||
VALUE "ProductVersion", "(7.0NG.760(Build 220317))"
|
VALUE "ProductVersion", "(7.0NG.760(Build 220323))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.760-220317
|
Version: 7.0NG.760-220323
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.760-220317"
|
pandora_version="7.0NG.760-220323"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
|
|
||||||
|
ALTER TABLE `tipam_vlan` ADD COLUMN `custom_id` bigint(20) unsigned DEFAULT NULL;
|
||||||
|
|
||||||
UPDATE `tuser_task` SET `parameters` = 'a:3:{i:0;a:2:{s:11:"description";s:11:"Description";s:4:"type";s:4:"text";}i:1;a:3:{s:11:"description";s:20:"Save to disk in path";s:4:"type";s:6:"string";s:13:"default_value";s:21:"_%_ATTACHMENT_PATH_%_";}i:2;a:3:{s:11:"description";s:14:"Active backups";s:4:"type";s:6:"number";s:13:"default_value";i:3;}}' WHERE `function_name` = 'cron_task_do_backup';
|
UPDATE `tuser_task` SET `parameters` = 'a:3:{i:0;a:2:{s:11:"description";s:11:"Description";s:4:"type";s:4:"text";}i:1;a:3:{s:11:"description";s:20:"Save to disk in path";s:4:"type";s:6:"string";s:13:"default_value";s:21:"_%_ATTACHMENT_PATH_%_";}i:2;a:3:{s:11:"description";s:14:"Active backups";s:4:"type";s:6:"number";s:13:"default_value";i:3;}}' WHERE `function_name` = 'cron_task_do_backup';
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `tbackup` (
|
CREATE TABLE IF NOT EXISTS `tbackup` (
|
||||||
@ -14,4 +16,4 @@ CREATE TABLE IF NOT EXISTS `tbackup` (
|
|||||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||||
|
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
@ -69,8 +69,6 @@ if (is_ajax() === true) {
|
|||||||
if ($groups_secondary_selected === true) {
|
if ($groups_secondary_selected === true) {
|
||||||
$groups = get_parameter('groups', []);
|
$groups = get_parameter('groups', []);
|
||||||
$groups_selected = get_parameter('groups_selected', []);
|
$groups_selected = get_parameter('groups_selected', []);
|
||||||
hd($groups, true);
|
|
||||||
hd($groups_selected, true);
|
|
||||||
|
|
||||||
$user_groups = users_get_groups($config['user'], 'AR', false);
|
$user_groups = users_get_groups($config['user'], 'AR', false);
|
||||||
$ret = [];
|
$ret = [];
|
||||||
|
@ -27,6 +27,8 @@
|
|||||||
* ============================================================================
|
* ============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use PandoraFMS\Enterprise\Metaconsole\Synchronizer;
|
||||||
|
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
|
||||||
@ -3839,7 +3841,12 @@ function print_SLA_list($width, $action, $idItem=null)
|
|||||||
[$item['id_agent_module']]
|
[$item['id_agent_module']]
|
||||||
);
|
);
|
||||||
echo '<td class="sla_list_service_col">';
|
echo '<td class="sla_list_service_col">';
|
||||||
echo printSmallFont($nameService);
|
if ($meta && $server_name != '') {
|
||||||
|
echo $server_name.' » '.$nameService;
|
||||||
|
} else {
|
||||||
|
echo $nameService;
|
||||||
|
}
|
||||||
|
|
||||||
echo '</th>';
|
echo '</th>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3986,8 +3993,8 @@ function print_SLA_list($width, $action, $idItem=null)
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enterprise_installed()
|
if (enterprise_installed() === true
|
||||||
&& $report_item_type == 'SLA_services'
|
&& $report_item_type === 'SLA_services'
|
||||||
) {
|
) {
|
||||||
enterprise_include_once(
|
enterprise_include_once(
|
||||||
'include/functions_services.php'
|
'include/functions_services.php'
|
||||||
@ -4006,8 +4013,9 @@ function print_SLA_list($width, $action, $idItem=null)
|
|||||||
],
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
if (!empty($services_tmp)
|
|
||||||
&& $services_tmp != ENTERPRISE_NOT_HOOK
|
if (empty($services_tmp) === false
|
||||||
|
&& $services_tmp !== ENTERPRISE_NOT_HOOK
|
||||||
) {
|
) {
|
||||||
foreach ($services_tmp as $service) {
|
foreach ($services_tmp as $service) {
|
||||||
$check_module_sla = modules_check_agentmodule_exists(
|
$check_module_sla = modules_check_agentmodule_exists(
|
||||||
@ -4016,14 +4024,89 @@ function print_SLA_list($width, $action, $idItem=null)
|
|||||||
$check_module_sla_value = modules_check_agentmodule_exists(
|
$check_module_sla_value = modules_check_agentmodule_exists(
|
||||||
$service['sla_value_id_module']
|
$service['sla_value_id_module']
|
||||||
);
|
);
|
||||||
if ($check_module_sla
|
|
||||||
&& $check_module_sla_value
|
if ($check_module_sla === true
|
||||||
|
&& $check_module_sla_value === true
|
||||||
) {
|
) {
|
||||||
$services[$service['id']] = $service['name'];
|
$services[$service['id']] = $service['name'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_metaconsole() === true) {
|
||||||
|
$sc = new Synchronizer();
|
||||||
|
$node_services = $sc->apply(
|
||||||
|
function ($node) {
|
||||||
|
try {
|
||||||
|
$node->connect();
|
||||||
|
|
||||||
|
$services_tmp = enterprise_hook(
|
||||||
|
'services_get_services',
|
||||||
|
[
|
||||||
|
false,
|
||||||
|
[
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'description',
|
||||||
|
'sla_id_module',
|
||||||
|
'sla_value_id_module',
|
||||||
|
],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
$all_services = [];
|
||||||
|
if (empty($services_tmp) === false
|
||||||
|
&& $services_tmp !== ENTERPRISE_NOT_HOOK
|
||||||
|
) {
|
||||||
|
foreach ($services_tmp as $service) {
|
||||||
|
$check_module_sla = modules_check_agentmodule_exists(
|
||||||
|
$service['sla_id_module']
|
||||||
|
);
|
||||||
|
$check_module_sla_value = modules_check_agentmodule_exists(
|
||||||
|
$service['sla_value_id_module']
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($check_module_sla === true
|
||||||
|
&& $check_module_sla_value === true
|
||||||
|
) {
|
||||||
|
$all_services[$service['id']] = $service;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$node->disconnect();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$all_services = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($all_services !== false) {
|
||||||
|
return array_reduce(
|
||||||
|
$all_services,
|
||||||
|
function ($carry, $item) use ($node) {
|
||||||
|
$carry[] = [
|
||||||
|
'id' => $node->id().'|'.$item['id'],
|
||||||
|
'name' => io_safe_output(
|
||||||
|
$node->server_name().' » '.$item['name']
|
||||||
|
),
|
||||||
|
];
|
||||||
|
return $carry;
|
||||||
|
},
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($node_services as $ns) {
|
||||||
|
foreach ($ns as $k => $ser) {
|
||||||
|
$services[$ser['id']] = $ser['name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
echo '<td class="sla_list_service_col">';
|
echo '<td class="sla_list_service_col">';
|
||||||
echo html_print_select(
|
echo html_print_select(
|
||||||
$services,
|
$services,
|
||||||
@ -5334,6 +5417,11 @@ function addSLARow() {
|
|||||||
var slaMax = $("input[name=sla_max]").val();
|
var slaMax = $("input[name=sla_max]").val();
|
||||||
var slaLimit = $("input[name=sla_limit]").val();
|
var slaLimit = $("input[name=sla_limit]").val();
|
||||||
var serviceId = $("select#id_service>option:selected").val();
|
var serviceId = $("select#id_service>option:selected").val();
|
||||||
|
if(serviceId != '' && serviceId.split('|').length > 1 ) {
|
||||||
|
var ids = serviceId.split('|');
|
||||||
|
serverId = ids[0];
|
||||||
|
serviceId = ids[1];
|
||||||
|
}
|
||||||
var serviceName = $("select#id_service>option:selected").text();
|
var serviceName = $("select#id_service>option:selected").text();
|
||||||
|
|
||||||
if ((((idAgent != '') && (idAgent > 0))
|
if ((((idAgent != '') && (idAgent > 0))
|
||||||
|
@ -170,7 +170,7 @@ $table->data[2][0] = __('Background');
|
|||||||
$table->data[2][1] = html_print_select(
|
$table->data[2][1] = html_print_select(
|
||||||
$backgrounds_list,
|
$backgrounds_list,
|
||||||
'background',
|
'background',
|
||||||
$background,
|
io_safe_output($background),
|
||||||
'',
|
'',
|
||||||
'None',
|
'None',
|
||||||
'None.png',
|
'None.png',
|
||||||
|
@ -504,9 +504,9 @@ $table_other->style[0] = 'font-weight: bold';
|
|||||||
|
|
||||||
$table_other->size[0] = '70%';
|
$table_other->size[0] = '70%';
|
||||||
$table_other->size[1] = '30%';
|
$table_other->size[1] = '30%';
|
||||||
|
$i = 0;
|
||||||
$table_other->data[1][0] = __('Item limit for realtime reports');
|
$table_other->data[$i][0] = __('Item limit for realtime reports');
|
||||||
$table_other->data[1][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'report_limit',
|
'report_limit',
|
||||||
$config['report_limit'],
|
$config['report_limit'],
|
||||||
'',
|
'',
|
||||||
@ -515,8 +515,8 @@ $table_other->data[1][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[2][0] = __('Compact interpolation in hours (1 Fine-20 bad)');
|
$table_other->data[$i][0] = __('Compact interpolation in hours (1 Fine-20 bad)');
|
||||||
$table_other->data[2][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'step_compact',
|
'step_compact',
|
||||||
$config['step_compact'],
|
$config['step_compact'],
|
||||||
'',
|
'',
|
||||||
@ -535,8 +535,8 @@ $intervals[SECONDS_1WEEK] = __('Last week');
|
|||||||
$intervals[SECONDS_2WEEK] = __('2 weeks');
|
$intervals[SECONDS_2WEEK] = __('2 weeks');
|
||||||
$intervals[SECONDS_1MONTH] = __('Last month');
|
$intervals[SECONDS_1MONTH] = __('Last month');
|
||||||
|
|
||||||
$table_other->data[3][0] = __('Default hours for event view');
|
$table_other->data[$i][0] = __('Default hours for event view');
|
||||||
$table_other->data[3][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'event_view_hr',
|
'event_view_hr',
|
||||||
$config['event_view_hr'],
|
$config['event_view_hr'],
|
||||||
'',
|
'',
|
||||||
@ -545,16 +545,16 @@ $table_other->data[3][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[5][0] = __('Use realtime statistics');
|
$table_other->data[$i][0] = __('Use realtime statistics');
|
||||||
$table_other->data[5][1] = html_print_checkbox_switch(
|
$table_other->data[$i++][1] = html_print_checkbox_switch(
|
||||||
'realtimestats',
|
'realtimestats',
|
||||||
1,
|
1,
|
||||||
$config['realtimestats'],
|
$config['realtimestats'],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[6][0] = __('Batch statistics period (secs)');
|
$table_other->data[$i][0] = __('Batch statistics period (secs)');
|
||||||
$table_other->data[6][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'stats_interval',
|
'stats_interval',
|
||||||
$config['stats_interval'],
|
$config['stats_interval'],
|
||||||
'',
|
'',
|
||||||
@ -563,11 +563,11 @@ $table_other->data[6][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[7][0] = __('Use agent access graph');
|
$table_other->data[$i][0] = __('Use agent access graph');
|
||||||
$table_other->data[7][1] = html_print_checkbox_switch('agentaccess', 1, $config['agentaccess'], true);
|
$table_other->data[$i++][1] = html_print_checkbox_switch('agentaccess', 1, $config['agentaccess'], true);
|
||||||
|
|
||||||
$table_other->data[8][0] = __('Max. recommended number of files in attachment directory');
|
$table_other->data[$i][0] = __('Max. recommended number of files in attachment directory');
|
||||||
$table_other->data[8][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'num_files_attachment',
|
'num_files_attachment',
|
||||||
$config['num_files_attachment'],
|
$config['num_files_attachment'],
|
||||||
'',
|
'',
|
||||||
@ -576,11 +576,11 @@ $table_other->data[8][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[9][0] = __('Delete not init modules');
|
$table_other->data[$i][0] = __('Delete not init modules');
|
||||||
$table_other->data[9][1] = html_print_checkbox_switch('delete_notinit', 1, $config['delete_notinit'], true);
|
$table_other->data[$i++][1] = html_print_checkbox_switch('delete_notinit', 1, $config['delete_notinit'], true);
|
||||||
|
|
||||||
$table_other->data[10][0] = __('Big Operation Step to purge old data');
|
$table_other->data[$i][0] = __('Big Operation Step to purge old data');
|
||||||
$table_other->data[10][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'big_operation_step_datos_purge',
|
'big_operation_step_datos_purge',
|
||||||
$config['big_operation_step_datos_purge'],
|
$config['big_operation_step_datos_purge'],
|
||||||
'',
|
'',
|
||||||
@ -589,8 +589,8 @@ $table_other->data[10][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[11][0] = __('Small Operation Step to purge old data');
|
$table_other->data[$i][0] = __('Small Operation Step to purge old data');
|
||||||
$table_other->data[11][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'small_operation_step_datos_purge',
|
'small_operation_step_datos_purge',
|
||||||
$config['small_operation_step_datos_purge'],
|
$config['small_operation_step_datos_purge'],
|
||||||
'',
|
'',
|
||||||
@ -599,8 +599,8 @@ $table_other->data[11][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[12][0] = __('Graph container - Max. Items');
|
$table_other->data[$i][0] = __('Graph container - Max. Items');
|
||||||
$table_other->data[12][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'max_graph_container',
|
'max_graph_container',
|
||||||
$config['max_graph_container'],
|
$config['max_graph_container'],
|
||||||
'',
|
'',
|
||||||
@ -609,8 +609,8 @@ $table_other->data[12][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[13][0] = __('Events response max. execution');
|
$table_other->data[$i][0] = __('Events response max. execution');
|
||||||
$table_other->data[13][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'max_execution_event_response',
|
'max_execution_event_response',
|
||||||
$config['max_execution_event_response'],
|
$config['max_execution_event_response'],
|
||||||
'',
|
'',
|
||||||
@ -619,8 +619,8 @@ $table_other->data[13][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[14][0] = __('Row limit in csv log');
|
$table_other->data[$i][0] = __('Row limit in csv log');
|
||||||
$table_other->data[14][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'row_limit_csv',
|
'row_limit_csv',
|
||||||
$config['row_limit_csv'],
|
$config['row_limit_csv'],
|
||||||
'',
|
'',
|
||||||
@ -629,8 +629,8 @@ $table_other->data[14][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table_other->data[15][0] = __('SNMP walk binary');
|
$table_other->data[$i][0] = __('SNMP walk binary');
|
||||||
$table_other->data[15][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'snmpwalk',
|
'snmpwalk',
|
||||||
$config['snmpwalk'],
|
$config['snmpwalk'],
|
||||||
'',
|
'',
|
||||||
@ -643,8 +643,8 @@ $tip = ui_print_help_tip(
|
|||||||
__('SNMP bulk walk is not able to request V1 SNMP, this option will be used instead (by default snmpwalk, slower).'),
|
__('SNMP bulk walk is not able to request V1 SNMP, this option will be used instead (by default snmpwalk, slower).'),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$table_other->data[16][0] = __('SNMP walk binary (fallback)').$tip;
|
$table_other->data[$i][0] = __('SNMP walk binary (fallback)').$tip;
|
||||||
$table_other->data[16][1] = html_print_input_text(
|
$table_other->data[$i++][1] = html_print_input_text(
|
||||||
'snmpwalk_fallback',
|
'snmpwalk_fallback',
|
||||||
$config['snmpwalk_fallback'],
|
$config['snmpwalk_fallback'],
|
||||||
'',
|
'',
|
||||||
@ -653,6 +653,31 @@ $table_other->data[16][1] = html_print_input_text(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$tip = ui_print_help_tip(
|
||||||
|
__(
|
||||||
|
'%s web2image cache system cleanup. It is always cleaned up after perform an upgrade',
|
||||||
|
get_product_name()
|
||||||
|
),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
if (enterprise_installed() === true) {
|
||||||
|
$table_other->data[$i][0] = __('PhantomJS cache cleanup ').$tip;
|
||||||
|
$table_other->data[$i++][1] = html_print_input(
|
||||||
|
[
|
||||||
|
'type' => 'select',
|
||||||
|
'name' => 'phantomjs_cache_interval',
|
||||||
|
'return' => true,
|
||||||
|
'fields' => [
|
||||||
|
PHANTOM_CACHE_CLEANUP_ONCE => __('No scheduled'),
|
||||||
|
PHANTOM_CACHE_CLEANUP_WEEKLY => __('Each week'),
|
||||||
|
PHANTOM_CACHE_CLEANUP_DAILY => __('Each day'),
|
||||||
|
],
|
||||||
|
'selected' => ($config['phantomjs_cache_interval'] ?? PHANTOM_CACHE_CLEANUP_ONCE),
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
echo '<form id="form_setup" method="post">';
|
echo '<form id="form_setup" method="post">';
|
||||||
|
|
||||||
echo '<fieldset class="full-column">';
|
echo '<fieldset class="full-column">';
|
||||||
|
@ -37,6 +37,7 @@ $ajax = true;
|
|||||||
$render_map = (bool) get_parameter('render_map', false);
|
$render_map = (bool) get_parameter('render_map', false);
|
||||||
$graph_javascript = (bool) get_parameter('graph_javascript', false);
|
$graph_javascript = (bool) get_parameter('graph_javascript', false);
|
||||||
$force_remote_check = (bool) get_parameter('force_remote_check', false);
|
$force_remote_check = (bool) get_parameter('force_remote_check', false);
|
||||||
|
$load_css_cv = (bool) get_parameter('load_css_cv', false);
|
||||||
|
|
||||||
if ($render_map) {
|
if ($render_map) {
|
||||||
$width = (int) get_parameter('width', '400');
|
$width = (int) get_parameter('width', '400');
|
||||||
@ -89,3 +90,12 @@ if ($force_remote_check) {
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($load_css_cv === true) {
|
||||||
|
$uniq = get_parameter('uniq', 0);
|
||||||
|
$ratio = get_parameter('ratio', 0);
|
||||||
|
|
||||||
|
$output = css_label_styles_visual_console($uniq, $ratio);
|
||||||
|
echo $output;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC220317';
|
$build_version = 'PC220323';
|
||||||
$pandora_version = 'v7.0NG.760';
|
$pandora_version = 'v7.0NG.760';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
|
@ -108,6 +108,11 @@ define('SECONDS_1YEAR', 31536000);
|
|||||||
define('SECONDS_2YEARS', 63072000);
|
define('SECONDS_2YEARS', 63072000);
|
||||||
define('SECONDS_3YEARS', 94608000);
|
define('SECONDS_3YEARS', 94608000);
|
||||||
|
|
||||||
|
// PhantomJS Cache cleanup intervals.
|
||||||
|
define('PHANTOM_CACHE_CLEANUP_ONCE', 0);
|
||||||
|
define('PHANTOM_CACHE_CLEANUP_WEEKLY', SECONDS_1WEEK);
|
||||||
|
define('PHANTOM_CACHE_CLEANUP_DAILY', SECONDS_1DAY);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Separator constats.
|
// Separator constats.
|
||||||
|
@ -891,6 +891,25 @@ function config_update_config()
|
|||||||
if (config_update_value('snmpwalk_fallback', get_parameter('snmpwalk_fallback'), true) === false) {
|
if (config_update_value('snmpwalk_fallback', get_parameter('snmpwalk_fallback'), true) === false) {
|
||||||
$error_update[] = __('SNMP walk binary path (fallback for v1)');
|
$error_update[] = __('SNMP walk binary path (fallback for v1)');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$pjs = get_parameter('phantomjs_cache_interval');
|
||||||
|
switch ($pjs) {
|
||||||
|
case $config['phantomjs_cache_interval']:
|
||||||
|
default;
|
||||||
|
// No changes.
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PHANTOM_CACHE_CLEANUP_ONCE:
|
||||||
|
case PHANTOM_CACHE_CLEANUP_DAILY:
|
||||||
|
case PHANTOM_CACHE_CLEANUP_WEEKLY:
|
||||||
|
enterprise_hook('phantomjs_cache_interval_schedule', [$pjs]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config_update_value('phantomjs_cache_interval', get_parameter('phantomjs_cache_interval'), true) === false
|
||||||
|
) {
|
||||||
|
$error_update[] = __('PhantomJS cache interval');
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'vis':
|
case 'vis':
|
||||||
|
@ -4166,11 +4166,24 @@ function events_get_response_target(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parse the event custom data.
|
// Parse the event custom data.
|
||||||
if (!empty($event['custom_data'])) {
|
if (empty($event['custom_data']) === false) {
|
||||||
$custom_data = json_decode(base64_decode($event['custom_data']));
|
$custom_data = json_decode(base64_decode($event['custom_data']));
|
||||||
foreach ($custom_data as $key => $value) {
|
foreach ($custom_data as $key => $value) {
|
||||||
$target = str_replace('_customdata_'.$key.'_', $value, $target);
|
$target = str_replace('_customdata_'.$key.'_', $value, $target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strpos($target, '_customdata_json_') !== false) {
|
||||||
|
$target = str_replace('_customdata_json_', json_encode($custom_data), $target);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($target, '_customdata_text_') !== false) {
|
||||||
|
$text = '';
|
||||||
|
foreach ($custom_data as $key => $value) {
|
||||||
|
$text .= $key.': '.$value.PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
$target = str_replace('_customdata_text_', $text, $target);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will replace the macro with the current logged user.
|
// This will replace the macro with the current logged user.
|
||||||
|
@ -653,7 +653,8 @@ function reports_get_report_types($template=false, $not_editor=false)
|
|||||||
'optgroup' => __('Graphs'),
|
'optgroup' => __('Graphs'),
|
||||||
'name' => __('Custom graph'),
|
'name' => __('Custom graph'),
|
||||||
];
|
];
|
||||||
// Only pandora managers have access to the whole database
|
|
||||||
|
// Only pandora managers have access to the whole database.
|
||||||
if (check_acl($config['id_user'], 0, 'PM')) {
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
||||||
$types['sql_graph_vbar'] = [
|
$types['sql_graph_vbar'] = [
|
||||||
'optgroup' => __('Graphs'),
|
'optgroup' => __('Graphs'),
|
||||||
@ -711,7 +712,7 @@ function reports_get_report_types($template=false, $not_editor=false)
|
|||||||
'name' => __('Hourly S.L.A.'),
|
'name' => __('Hourly S.L.A.'),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!$config['metaconsole'] && !$template) {
|
if ($template === false) {
|
||||||
$types['SLA_services'] = [
|
$types['SLA_services'] = [
|
||||||
'optgroup' => __('SLA'),
|
'optgroup' => __('SLA'),
|
||||||
'name' => __('Services S.L.A.'),
|
'name' => __('Services S.L.A.'),
|
||||||
|
@ -4640,12 +4640,15 @@ function ui_print_page_header(
|
|||||||
}
|
}
|
||||||
|
|
||||||
$buffer .= '<span>';
|
$buffer .= '<span>';
|
||||||
|
$buffer .= '<span class="breadcrumbs-title">';
|
||||||
if (empty($alias)) {
|
if (empty($alias)) {
|
||||||
$buffer .= ui_print_truncate_text($title, $numChars);
|
$buffer .= ui_print_truncate_text($title, $numChars);
|
||||||
} else {
|
} else {
|
||||||
$buffer .= ui_print_truncate_text($alias, $numChars);
|
$buffer .= ui_print_truncate_text($alias, $numChars);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$buffer .= '</span>';
|
||||||
|
|
||||||
if ($modal && !enterprise_installed()) {
|
if ($modal && !enterprise_installed()) {
|
||||||
$buffer .= "
|
$buffer .= "
|
||||||
<div id='".$message."' class='publienterprise right mrgn_top-2px' title='Community version'><img data-title='".__('Enterprise version not installed')."' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>
|
<div id='".$message."' class='publienterprise right mrgn_top-2px' title='Community version'><img data-title='".__('Enterprise version not installed')."' class='img_help forced_title' data-use_title_for_force_title='1' src='images/alert_enterprise.png'></div>
|
||||||
|
@ -4139,7 +4139,7 @@ function visual_map_get_layout_status($layout_id, $status_data=[], $depth=0)
|
|||||||
|
|
||||||
if ($critical_percentage >= $status_data['linked_layout_status_as_service_critical'] && $critical_percentage !== 0) {
|
if ($critical_percentage >= $status_data['linked_layout_status_as_service_critical'] && $critical_percentage !== 0) {
|
||||||
return VISUAL_MAP_STATUS_CRITICAL_BAD;
|
return VISUAL_MAP_STATUS_CRITICAL_BAD;
|
||||||
} else if ($critical_percentage >= $status_data['linked_layout_status_as_service_warning'] && $warning_percentage !== 0) {
|
} else if ($warning_percentage >= $status_data['linked_layout_status_as_service_warning'] && $warning_percentage !== 0) {
|
||||||
return VISUAL_MAP_STATUS_WARNING;
|
return VISUAL_MAP_STATUS_WARNING;
|
||||||
} else {
|
} else {
|
||||||
return VISUAL_MAP_STATUS_NORMAL;
|
return VISUAL_MAP_STATUS_NORMAL;
|
||||||
@ -4538,3 +4538,53 @@ function visual_map_load_client_resources()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Labels styles visual console.
|
||||||
|
*
|
||||||
|
* @param string $uniq Uniq str.
|
||||||
|
* @param integer $ratio Ratio.
|
||||||
|
*
|
||||||
|
* @return string Css output.
|
||||||
|
*/
|
||||||
|
function css_label_styles_visual_console($uniq, $ratio=1)
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
$output = '';
|
||||||
|
// Horrible trick! due to the use of tinyMCE
|
||||||
|
// it is necessary to modify specific classes of each
|
||||||
|
// of the visual consoles.
|
||||||
|
$output .= '.c-'.$uniq.' a {color: #3f3f3f } ';
|
||||||
|
$output .= '.c-'.$uniq.' .label p strong span {display: inline-block !important; line-height: normal !important} ';
|
||||||
|
$output .= '.c-'.$uniq.' *:not(.parent_graph p table tr td span) { font-size: '.(8 * $ratio).'pt; line-height:'.(8 * ($ratio)).'pt; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td { padding: 0; margin: 0; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_4pt, .c-'.$uniq.' .visual_font_size_4pt * { font-size: '.(4 * $ratio).'pt !important; line-height:'.(4 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_6pt, .c-'.$uniq.' .visual_font_size_6pt * { font-size: '.(6 * $ratio).'pt !important; line-height:'.(6 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_8pt, .c-'.$uniq.' .visual_font_size_8pt * { font-size: '.(8 * $ratio).'pt !important; line-height:'.(8 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_10pt, .c-'.$uniq.' .visual_font_size_10pt * { font-size: '.(10 * $ratio).'pt !important; line-height:'.(10 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_12pt, .c-'.$uniq.' .visual_font_size_12pt * { font-size: '.(12 * $ratio).'pt !important; line-height:'.(12 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_14pt, .c-'.$uniq.' .visual_font_size_14pt * { font-size: '.(14 * $ratio).'pt !important; line-height:'.(14 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_18pt, .c-'.$uniq.' .visual_font_size_18pt * { font-size: '.(18 * $ratio).'pt !important; line-height:'.(18 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_24pt, .c-'.$uniq.' .visual_font_size_24pt * { font-size: '.(24 * $ratio).'pt !important; line-height:'.(24 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_28pt, .c-'.$uniq.' .visual_font_size_28pt * { font-size: '.(28 * $ratio).'pt !important; line-height:'.(28 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_36pt, .c-'.$uniq.' .visual_font_size_36pt * { font-size: '.(36 * $ratio).'pt !important; line-height:'.(36 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_48pt, .c-'.$uniq.' .visual_font_size_48pt * { font-size: '.(48 * $ratio).'pt !important; line-height:'.(48 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_60pt, .c-'.$uniq.' .visual_font_size_60pt * { font-size: '.(60 * $ratio).'pt !important; line-height:'.(60 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_72pt, .c-'.$uniq.' .visual_font_size_72pt * { font-size: '.(72 * $ratio).'pt !important; line-height:'.(72 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_84pt, .c-'.$uniq.' .visual_font_size_84pt * { font-size: '.(84 * $ratio).'pt !important; line-height:'.(84 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_96pt, .c-'.$uniq.' .visual_font_size_96pt * { font-size: '.(96 * $ratio).'pt !important; line-height:'.(96 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_116pt, .c-'.$uniq.' .visual_font_size_116pt * { font-size: '.(116 * $ratio).'pt !important; line-height:'.(116 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_128pt, .c-'.$uniq.' .visual_font_size_128pt * { font-size: '.(128 * $ratio).'pt !important; line-height:'.(128 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_140pt, .c-'.$uniq.' .visual_font_size_140pt * { font-size: '.(140 * $ratio).'pt !important; line-height:'.(140 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_154pt, .c-'.$uniq.' .visual_font_size_154pt * { font-size: '.(154 * $ratio).'pt !important; line-height:'.(154 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual_font_size_196pt, .c-'.$uniq.' .visual_font_size_196pt * { font-size: '.(196 * $ratio).'pt !important; line-height:'.(196 * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .flot-text, .c-'.$uniq.' .flot-text * { font-size: '.(($config['font_size'] - 2) * $ratio).'pt !important; line-height:'.(($config['font_size'] - 2) * ($ratio)).'pt !important; }';
|
||||||
|
$output .= '.c-'.$uniq.' .visual-console-item .digital-clock span.time {font-size: '.(50 * $ratio).'px !important; line-height: '.(50 * $ratio).'px !important;}';
|
||||||
|
$output .= '.c-'.$uniq.' .visual-console-item .digital-clock span.date {font-size: '.(25 * $ratio).'px !important; line-height: '.(25 * $ratio).'px !important;}';
|
||||||
|
$output .= '.c-'.$uniq.' .visual-console-item .digital-clock span.timezone {font-size: '.(25 * $ratio).'px !important; line-height: '.(25 * $ratio).'px !important;}';
|
||||||
|
$output .= '.c-'.$uniq.' .visual-console-item .donut-graph * {font-size: '.(8 * $ratio).'px !important; line-height: '.(8 * $ratio).'px !important;}';
|
||||||
|
$output .= '.c-'.$uniq.' .visual-console-item .donut-graph g rect {width:'.(25 * $ratio).' !important; height: '.(15 * $ratio).' !important;}';
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
@ -1040,6 +1040,7 @@ function adjustTextUnits(name) {
|
|||||||
"selected",
|
"selected",
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
$("#" + name + "_units").trigger("change");
|
||||||
$("#text-" + name + "_text").val(restPrev);
|
$("#text-" + name + "_text").val(restPrev);
|
||||||
unitsSelected = true;
|
unitsSelected = true;
|
||||||
}
|
}
|
||||||
@ -1048,7 +1049,9 @@ function adjustTextUnits(name) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (unitsSelected == false) {
|
if (unitsSelected == false) {
|
||||||
|
//$("#" + name + "_units option:last").prop("selected", true);
|
||||||
$("#" + name + "_units option:last").prop("selected", true);
|
$("#" + name + "_units option:last").prop("selected", true);
|
||||||
|
$("#" + name + "_units").trigger("change");
|
||||||
$("#text-" + name + "_text").val(restPrev);
|
$("#text-" + name + "_text").val(restPrev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1208,68 +1208,121 @@ function refresh_pagination_callback(
|
|||||||
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
function dashboardLoadVC(settings) {
|
function dashboardLoadVC(settings) {
|
||||||
|
var headerMobileFix = 40;
|
||||||
|
|
||||||
var container = document.getElementById(
|
var container = document.getElementById(
|
||||||
"visual-console-container-" + settings.cellId
|
"visual-console-container-" + settings.cellId
|
||||||
);
|
);
|
||||||
|
|
||||||
|
var interval = 300 * 1000;
|
||||||
|
|
||||||
// Add the datetime when the item was received.
|
// Add the datetime when the item was received.
|
||||||
var receivedAt = new Date();
|
var receivedAt = new Date();
|
||||||
|
|
||||||
var beforeUpdate = function(items, visualConsole, props) {
|
var beforeUpdate = function(items, visualConsole, props, size) {
|
||||||
// Add the datetime when the item was received.
|
|
||||||
items.map(function(item) {
|
|
||||||
item["receivedAt"] = receivedAt;
|
|
||||||
return item;
|
|
||||||
});
|
|
||||||
|
|
||||||
var ratio_visualconsole = props.height / props.width;
|
var ratio_visualconsole = props.height / props.width;
|
||||||
|
var ratio_w = size.width / props.width;
|
||||||
|
var ratio_h = size.height / props.height;
|
||||||
|
|
||||||
props.width = settings.size.width;
|
props.width = size.width;
|
||||||
props.height = settings.size.width * ratio_visualconsole;
|
props.height = size.width * ratio_visualconsole;
|
||||||
|
|
||||||
if (props.height > settings.size.height) {
|
var ratio = ratio_w;
|
||||||
props.height = settings.size.height;
|
if (settings.mobile != undefined && settings.mobile === true) {
|
||||||
props.width = settings.size.height / ratio_visualconsole;
|
if (props.height < props.width) {
|
||||||
|
if (props.height > size.height) {
|
||||||
|
ratio = ratio_h;
|
||||||
|
props.height = size.height;
|
||||||
|
props.width = size.height / ratio_visualconsole;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (props.height > size.height) {
|
||||||
|
ratio = ratio_h;
|
||||||
|
props.height = size.height;
|
||||||
|
props.width = size.height / ratio_visualconsole;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the data structure.
|
$.ajax({
|
||||||
visualConsole.props = props;
|
method: "post",
|
||||||
// Update the items.
|
url: settings.baseUrl + "ajax.php",
|
||||||
visualConsole.updateElements(items);
|
data: {
|
||||||
|
page: settings.page,
|
||||||
|
load_css_cv: 1,
|
||||||
|
uniq: settings.uniq,
|
||||||
|
ratio: ratio
|
||||||
|
},
|
||||||
|
dataType: "html",
|
||||||
|
success: function(css) {
|
||||||
|
$("#css_cv_" + settings.uniq)
|
||||||
|
.empty()
|
||||||
|
.append(css);
|
||||||
|
|
||||||
|
// Add the datetime when the item was received.
|
||||||
|
items.map(function(item) {
|
||||||
|
item["receivedAt"] = receivedAt;
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Update the data structure.
|
||||||
|
visualConsole.props = props;
|
||||||
|
|
||||||
|
// Update the items.
|
||||||
|
visualConsole.updateElements(items);
|
||||||
|
|
||||||
|
//Remove spinner change VC.
|
||||||
|
container.classList.remove("is-updating");
|
||||||
|
var div = container.querySelector(".div-visual-console-spinner");
|
||||||
|
|
||||||
|
if (div !== null) {
|
||||||
|
var parent = div.parentElement;
|
||||||
|
if (parent !== null) {
|
||||||
|
parent.removeChild(div);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settings.mobile != undefined && settings.mobile === true) {
|
||||||
|
// Update Url.
|
||||||
|
var regex = /(id=|id_visual_console=|id_layout=|id_visualmap=)\d+(&?)/gi;
|
||||||
|
var replacement = "$1" + props.id + "$2";
|
||||||
|
|
||||||
|
var regex_hash = /(hash=)[^&]+(&?)/gi;
|
||||||
|
var replacement_hash = "$1" + props.hash + "$2";
|
||||||
|
|
||||||
|
var regex_width = /(width=)[^&]+(&?)/gi;
|
||||||
|
var replacement_width = "$1" + size.width + "$2";
|
||||||
|
|
||||||
|
var regex_height = /(height=)[^&]+(&?)/gi;
|
||||||
|
var replacement_height =
|
||||||
|
"$1" + (size.height + headerMobileFix) + "$2";
|
||||||
|
|
||||||
|
// Change the URL (if the browser has support).
|
||||||
|
if ("history" in window) {
|
||||||
|
var href = window.location.href.replace(regex, replacement);
|
||||||
|
href = href.replace(regex_hash, replacement_hash);
|
||||||
|
href = href.replace(regex_width, replacement_width);
|
||||||
|
href = href.replace(regex_height, replacement_height);
|
||||||
|
window.history.replaceState({}, document.title, href);
|
||||||
|
}
|
||||||
|
|
||||||
|
container.classList.remove("cv-overflow");
|
||||||
|
|
||||||
|
// View title.
|
||||||
|
var title = document.querySelector(".ui-title");
|
||||||
|
if (title !== null) {
|
||||||
|
title.textContent = visualConsole.props.name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
var handleUpdate = function(prevProps, newProps) {
|
var handleUpdate = function() {
|
||||||
if (!newProps) return;
|
return;
|
||||||
|
|
||||||
//Remove spinner change VC.
|
|
||||||
document
|
|
||||||
.getElementById("visual-console-container" + settings.cellId)
|
|
||||||
.classList.remove("is-updating");
|
|
||||||
|
|
||||||
var div = document
|
|
||||||
.getElementById("visual-console-container" + settings.cellId)
|
|
||||||
.querySelector(".div-visual-console-spinner");
|
|
||||||
|
|
||||||
if (div !== null) {
|
|
||||||
var parent = div.parentElement;
|
|
||||||
if (parent !== null) {
|
|
||||||
parent.removeChild(div);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Change the links.
|
|
||||||
if (prevProps && prevProps.id !== newProps.id) {
|
|
||||||
var regex = /(id=|id_visual_console=|id_layout=|id_visualmap=)\d+(&?)/gi;
|
|
||||||
var replacement = "$1" + newProps.id + "$2";
|
|
||||||
|
|
||||||
// Tab links.
|
|
||||||
var menuLinks = document.querySelectorAll("div#menu_tab a");
|
|
||||||
if (menuLinks !== null) {
|
|
||||||
menuLinks.forEach(function(menuLink) {
|
|
||||||
menuLink.href = menuLink.href.replace(regex, replacement);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
settings.items.map(function(item) {
|
settings.items.map(function(item) {
|
||||||
@ -1282,18 +1335,56 @@ function dashboardLoadVC(settings) {
|
|||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
|
|
||||||
createVisualConsole(
|
var visualConsoleManager = createVisualConsole(
|
||||||
container,
|
container,
|
||||||
settings.props,
|
settings.props,
|
||||||
settings.items,
|
settings.items,
|
||||||
settings.baseUrl,
|
settings.baseUrl,
|
||||||
300 * 1000,
|
interval,
|
||||||
handleUpdate,
|
handleUpdate,
|
||||||
beforeUpdate,
|
beforeUpdate,
|
||||||
settings.size,
|
settings.size,
|
||||||
settings.id_user,
|
settings.id_user,
|
||||||
settings.hash
|
settings.hash,
|
||||||
|
settings.mobile != undefined && settings.mobile === true
|
||||||
|
? "mobile"
|
||||||
|
: "dashboard"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$(window).on("orientationchange", function() {
|
||||||
|
$(container).width($(window).height());
|
||||||
|
$(container).height($(window).width() - headerMobileFix);
|
||||||
|
//Remove spinner change VC.
|
||||||
|
container.classList.remove("is-updating");
|
||||||
|
container.classList.remove("cv-overflow");
|
||||||
|
|
||||||
|
var div = container.querySelector(".div-visual-console-spinner");
|
||||||
|
|
||||||
|
if (div !== null) {
|
||||||
|
var parent = div.parentElement;
|
||||||
|
if (parent !== null) {
|
||||||
|
parent.removeChild(div);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
container.classList.add("is-updating");
|
||||||
|
container.classList.add("cv-overflow");
|
||||||
|
const divParent = document.createElement("div");
|
||||||
|
divParent.className = "div-visual-console-spinner";
|
||||||
|
|
||||||
|
const divSpinner = document.createElement("div");
|
||||||
|
divSpinner.className = "visual-console-spinner";
|
||||||
|
|
||||||
|
divParent.appendChild(divSpinner);
|
||||||
|
container.appendChild(divParent);
|
||||||
|
|
||||||
|
var dimensions = {
|
||||||
|
width: $(window).height(),
|
||||||
|
height: $(window).width() - 40
|
||||||
|
};
|
||||||
|
|
||||||
|
visualConsoleManager.changeDimensionsVc(dimensions, interval);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
@ -33,7 +33,8 @@ function createVisualConsole(
|
|||||||
beforeUpdate,
|
beforeUpdate,
|
||||||
size,
|
size,
|
||||||
id_user,
|
id_user,
|
||||||
hash
|
hash,
|
||||||
|
mode = ""
|
||||||
) {
|
) {
|
||||||
if (container == null || props == null || items == null) return null;
|
if (container == null || props == null || items == null) return null;
|
||||||
if (baseUrl == null) baseUrl = "";
|
if (baseUrl == null) baseUrl = "";
|
||||||
@ -41,9 +42,18 @@ function createVisualConsole(
|
|||||||
var visualConsole = null;
|
var visualConsole = null;
|
||||||
var asyncTaskManager = new AsyncTaskManager();
|
var asyncTaskManager = new AsyncTaskManager();
|
||||||
|
|
||||||
function updateVisualConsole(visualConsoleId, updateInterval, tts) {
|
function updateVisualConsole(
|
||||||
|
visualConsoleId,
|
||||||
|
updateInterval,
|
||||||
|
tts,
|
||||||
|
dimensions
|
||||||
|
) {
|
||||||
if (tts == null) tts = 0; // Time to start.
|
if (tts == null) tts = 0; // Time to start.
|
||||||
|
|
||||||
|
if (dimensions != undefined && dimensions != null && dimensions != "") {
|
||||||
|
size = dimensions;
|
||||||
|
}
|
||||||
|
|
||||||
asyncTaskManager.add(
|
asyncTaskManager.add(
|
||||||
"visual-console",
|
"visual-console",
|
||||||
function(done) {
|
function(done) {
|
||||||
@ -53,16 +63,13 @@ function createVisualConsole(
|
|||||||
size,
|
size,
|
||||||
id_user,
|
id_user,
|
||||||
hash,
|
hash,
|
||||||
|
mode,
|
||||||
function(error, data) {
|
function(error, data) {
|
||||||
if (error) {
|
if (error) {
|
||||||
//Remove spinner change VC.
|
//Remove spinner change VC.
|
||||||
document
|
container.classList.remove("is-updating");
|
||||||
.getElementById("visual-console-container")
|
|
||||||
.classList.remove("is-updating");
|
|
||||||
|
|
||||||
var div = document
|
var div = container.querySelector(".div-visual-console-spinner");
|
||||||
.getElementById("visual-console-container")
|
|
||||||
.querySelector(".div-visual-console-spinner");
|
|
||||||
|
|
||||||
if (div !== null) {
|
if (div !== null) {
|
||||||
var parent = div.parentElement;
|
var parent = div.parentElement;
|
||||||
@ -95,7 +102,7 @@ function createVisualConsole(
|
|||||||
var receivedAt = new Date();
|
var receivedAt = new Date();
|
||||||
var prevProps = visualConsole.props;
|
var prevProps = visualConsole.props;
|
||||||
if (beforeUpdate) {
|
if (beforeUpdate) {
|
||||||
beforeUpdate(items, visualConsole, props);
|
beforeUpdate(items, visualConsole, props, size);
|
||||||
} else {
|
} else {
|
||||||
// Add the datetime when the item was received.
|
// Add the datetime when the item was received.
|
||||||
items.map(function(item) {
|
items.map(function(item) {
|
||||||
@ -105,6 +112,7 @@ function createVisualConsole(
|
|||||||
|
|
||||||
// Update the data structure.
|
// Update the data structure.
|
||||||
visualConsole.props = props;
|
visualConsole.props = props;
|
||||||
|
|
||||||
// Update the items.
|
// Update the items.
|
||||||
visualConsole.updateElements(items);
|
visualConsole.updateElements(items);
|
||||||
}
|
}
|
||||||
@ -460,6 +468,11 @@ function createVisualConsole(
|
|||||||
asyncTaskManager.cancel("visual-console-start");
|
asyncTaskManager.cancel("visual-console-start");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
changeDimensionsVc: function(dimensions, interval) {
|
||||||
|
if (dimensions != null) {
|
||||||
|
updateVisualConsole(visualConsole.props.id, interval, null, dimensions);
|
||||||
|
}
|
||||||
|
},
|
||||||
createItem: function(typeString) {
|
createItem: function(typeString) {
|
||||||
var type;
|
var type;
|
||||||
switch (typeString) {
|
switch (typeString) {
|
||||||
@ -673,7 +686,15 @@ function createVisualConsole(
|
|||||||
* @return {Object} Cancellable. Object which include and .abort([statusText]) function.
|
* @return {Object} Cancellable. Object which include and .abort([statusText]) function.
|
||||||
*/
|
*/
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
function loadVisualConsoleData(baseUrl, vcId, size, id_user, hash, callback) {
|
function loadVisualConsoleData(
|
||||||
|
baseUrl,
|
||||||
|
vcId,
|
||||||
|
size,
|
||||||
|
id_user,
|
||||||
|
hash,
|
||||||
|
mode,
|
||||||
|
callback
|
||||||
|
) {
|
||||||
// var apiPath = baseUrl + "/include/rest-api";
|
// var apiPath = baseUrl + "/include/rest-api";
|
||||||
var apiPath = baseUrl + "/ajax.php";
|
var apiPath = baseUrl + "/ajax.php";
|
||||||
var vcJqXHR = null;
|
var vcJqXHR = null;
|
||||||
@ -762,6 +783,7 @@ function loadVisualConsoleData(baseUrl, vcId, size, id_user, hash, callback) {
|
|||||||
visualConsoleId: vcId,
|
visualConsoleId: vcId,
|
||||||
id_user: typeof id_user == undefined ? id_user : null,
|
id_user: typeof id_user == undefined ? id_user : null,
|
||||||
auth_hash: typeof hash == undefined ? hash : null,
|
auth_hash: typeof hash == undefined ? hash : null,
|
||||||
|
mode: mode,
|
||||||
widthScreen: widthScreen
|
widthScreen: widthScreen
|
||||||
},
|
},
|
||||||
"json"
|
"json"
|
||||||
|
@ -379,23 +379,8 @@ class MapsMadeByUser extends Widget
|
|||||||
|
|
||||||
$size['width'] = ($size['width'] + 30);
|
$size['width'] = ($size['width'] + 30);
|
||||||
|
|
||||||
|
$ratio = $visualConsole->adjustToViewport($size, 'dashboard');
|
||||||
$visualConsoleData = $visualConsole->toArray();
|
$visualConsoleData = $visualConsole->toArray();
|
||||||
$ratio_visualconsole = ($visualConsoleData['height'] / $visualConsoleData['width']);
|
|
||||||
$ratio_t = ($size['width'] / $visualConsoleData['width']);
|
|
||||||
$radio_h = ($size['height'] / $visualConsoleData['height']);
|
|
||||||
|
|
||||||
$visualConsoleData['width'] = $size['width'];
|
|
||||||
$visualConsoleData['height'] = ($size['width'] * $ratio_visualconsole);
|
|
||||||
|
|
||||||
if ($visualConsoleData['height'] > $size['height']) {
|
|
||||||
$ratio_t = $radio_h;
|
|
||||||
|
|
||||||
$visualConsoleData['height'] = $size['height'];
|
|
||||||
$visualConsoleData['width'] = ($size['height'] / $ratio_visualconsole);
|
|
||||||
}
|
|
||||||
|
|
||||||
$groupId = $visualConsoleData['groupId'];
|
|
||||||
$visualConsoleName = $visualConsoleData['name'];
|
|
||||||
|
|
||||||
$uniq = uniqid();
|
$uniq = uniqid();
|
||||||
|
|
||||||
@ -435,68 +420,16 @@ class MapsMadeByUser extends Widget
|
|||||||
$visualConsoleItems = VisualConsole::getItemsFromDB(
|
$visualConsoleItems = VisualConsole::getItemsFromDB(
|
||||||
$this->values['vcId'],
|
$this->values['vcId'],
|
||||||
$aclUserGroups,
|
$aclUserGroups,
|
||||||
$ratio_t
|
$ratio
|
||||||
);
|
);
|
||||||
|
|
||||||
// Horrible trick! due to the use of tinyMCE
|
$output .= '<style id="css_cv_'.$uniq.'" type="text/css">';
|
||||||
// it is necessary to modify specific classes of each
|
$output .= css_label_styles_visual_console($uniq, $ratio);
|
||||||
// of the visual consoles.
|
|
||||||
$output .= '<style type="text/css">';
|
|
||||||
// $output .= '.c-'.$uniq.', .c-'.$uniq.' *:not(.parent_graph p table tr td span) { font-size: '.(8 * $ratio_t).'pt; line-height:'.(8 * ($ratio_t) * 1.5).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item div.label > strong { font-size: '.(8 * $ratio_t).'pt; line-height:'.(8 * ($ratio_t) * 1.5).'pt;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item div.label > strong > span { font-size: '.(10 * $ratio_t).'pt;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item div.label p { overflow:initial !important; margin:0px;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item div.label img { height: 100%; width: 100%; object-fit: contain;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_4pt, .c-'.$uniq.' .visual_font_size_4pt * { font-size: '.(4 * $ratio_t).'pt !important; line-height:'.(4 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_6pt, .c-'.$uniq.' .visual_font_size_6pt * { font-size: '.(6 * $ratio_t).'pt !important; line-height:'.(6 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_8pt, .c-'.$uniq.' .visual_font_size_8pt * { font-size: '.(8 * $ratio_t).'pt !important; line-height:'.(8 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_10pt, .c-'.$uniq.' .visual_font_size_10pt * { font-size: '.(10 * $ratio_t).'pt !important; line-height:'.(10 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_12pt, .c-'.$uniq.' .visual_font_size_12pt * { font-size: '.(12 * $ratio_t).'pt !important; line-height:'.(12 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_14pt, .c-'.$uniq.' .visual_font_size_14pt * { font-size: '.(14 * $ratio_t).'pt !important; line-height:'.(14 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_18pt, .c-'.$uniq.' .visual_font_size_18pt * { font-size: '.(18 * $ratio_t).'pt !important; line-height:'.(18 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_24pt, .c-'.$uniq.' .visual_font_size_24pt * { font-size: '.(24 * $ratio_t).'pt !important; line-height:'.(24 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_28pt, .c-'.$uniq.' .visual_font_size_28pt * { font-size: '.(28 * $ratio_t).'pt !important; line-height:'.(28 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_36pt, .c-'.$uniq.' .visual_font_size_36pt * { font-size: '.(36 * $ratio_t).'pt !important; line-height:'.(36 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_48pt, .c-'.$uniq.' .visual_font_size_48pt * { font-size: '.(48 * $ratio_t).'pt !important; line-height:'.(48 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_60pt, .c-'.$uniq.' .visual_font_size_60pt * { font-size: '.(60 * $ratio_t).'pt !important; line-height:'.(60 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_72pt, .c-'.$uniq.' .visual_font_size_72pt * { font-size: '.(72 * $ratio_t).'pt !important; line-height:'.(72 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_84pt, .c-'.$uniq.' .visual_font_size_84pt * { font-size: '.(84 * $ratio_t).'pt !important; line-height:'.(84 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_96pt, .c-'.$uniq.' .visual_font_size_96pt * { font-size: '.(96 * $ratio_t).'pt !important; line-height:'.(96 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_116pt, .c-'.$uniq.' .visual_font_size_116pt * { font-size: '.(116 * $ratio_t).'pt !important; line-height:'.(116 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_128pt, .c-'.$uniq.' .visual_font_size_128pt * { font-size: '.(128 * $ratio_t).'pt !important; line-height:'.(128 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_140pt, .c-'.$uniq.' .visual_font_size_140pt * { font-size: '.(140 * $ratio_t).'pt !important; line-height:'.(140 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_154pt, .c-'.$uniq.' .visual_font_size_154pt * { font-size: '.(154 * $ratio_t).'pt !important; line-height:'.(154 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_196pt, .c-'.$uniq.' .visual_font_size_196pt * { font-size: '.(196 * $ratio_t).'pt !important; line-height:'.(196 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td p { overflow:initial !important; margin:0px; font-size: '.(10 * $ratio_t).'pt !important; line-height:'.(10 * $ratio_t * 1.5).'pt !important;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span { font-size: '.(10 * $ratio_t).'pt !important; line-height:'.(10 * $ratio_t * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_4pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_4pt * { font-size: '.(4 * $ratio_t).'pt !important; line-height:'.(4 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_6pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_6pt * { font-size: '.(6 * $ratio_t).'pt !important; line-height:'.(6 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_8pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_8pt * { font-size: '.(8 * $ratio_t).'pt !important; line-height:'.(8 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_10pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_10pt * { font-size: '.(10 * $ratio_t).'pt !important; line-height:'.(10 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_12pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_12pt * { font-size: '.(12 * $ratio_t).'pt !important; line-height:'.(12 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_14pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_14pt * { font-size: '.(14 * $ratio_t).'pt !important; line-height:'.(14 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_18pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_18pt * { font-size: '.(18 * $ratio_t).'pt !important; line-height:'.(18 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_24pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_24pt * { font-size: '.(24 * $ratio_t).'pt !important; line-height:'.(24 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_28pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_28pt * { font-size: '.(28 * $ratio_t).'pt !important; line-height:'.(28 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_36pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_36pt * { font-size: '.(36 * $ratio_t).'pt !important; line-height:'.(36 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_48pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_48pt * { font-size: '.(48 * $ratio_t).'pt !important; line-height:'.(48 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_60pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_60pt * { font-size: '.(60 * $ratio_t).'pt !important; line-height:'.(60 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_72pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_72pt * { font-size: '.(72 * $ratio_t).'pt !important; line-height:'.(72 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_84pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_84pt * { font-size: '.(84 * $ratio_t).'pt !important; line-height:'.(84 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_96pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_96pt * { font-size: '.(96 * $ratio_t).'pt !important; line-height:'.(96 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_116pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_116pt * { font-size: '.(116 * $ratio_t).'pt !important; line-height:'.(116 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_128pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_128pt * { font-size: '.(128 * $ratio_t).'pt !important; line-height:'.(128 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_140pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_140pt * { font-size: '.(140 * $ratio_t).'pt !important; line-height:'.(140 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_154pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_154pt * { font-size: '.(154 * $ratio_t).'pt !important; line-height:'.(154 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_196pt, .c-'.$uniq.' .visual-console-item-label table tr td span.visual_font_size_196pt * { font-size: '.(196 * $ratio_t).'pt !important; line-height:'.(196 * ($ratio_t) * 1.5).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .flot-text, .c-'.$uniq.' .flot-text * { font-size: '.(8 * $ratio_t).'pt !important; line-height:'.(8 * ($ratio_t)).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .donut-graph * {font-size: '.(8 * $ratio_t).'px !important; line-height: '.(8 * $ratio_t).'px !important;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .donut-graph g rect {width:'.(25 * $ratio_t).' !important; height: '.(15 * $ratio_t).' !important;}';
|
|
||||||
$output .= '</style>';
|
$output .= '</style>';
|
||||||
|
|
||||||
$visualConsoleItems = array_reduce(
|
$visualConsoleItems = array_reduce(
|
||||||
$visualConsoleItems,
|
$visualConsoleItems,
|
||||||
function ($carry, $item) use ($ratio_t) {
|
function ($carry, $item) {
|
||||||
$carry[] = $item->toArray();
|
$carry[] = $item->toArray();
|
||||||
return $carry;
|
return $carry;
|
||||||
},
|
},
|
||||||
@ -508,11 +441,13 @@ class MapsMadeByUser extends Widget
|
|||||||
'props' => $visualConsoleData,
|
'props' => $visualConsoleData,
|
||||||
'items' => $visualConsoleItems,
|
'items' => $visualConsoleItems,
|
||||||
'baseUrl' => ui_get_full_url('/', false, false, false),
|
'baseUrl' => ui_get_full_url('/', false, false, false),
|
||||||
'ratio' => $ratio_t,
|
'ratio' => $ratio,
|
||||||
'size' => $size,
|
'size' => $size,
|
||||||
'cellId' => $this->cellId,
|
'cellId' => $this->cellId,
|
||||||
'hash' => User::generatePublicHash(),
|
'hash' => User::generatePublicHash(),
|
||||||
'id_user' => $config['id_user'],
|
'id_user' => $config['id_user'],
|
||||||
|
'page' => 'include/ajax/visual_console.ajax',
|
||||||
|
'uniq' => $uniq,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -399,7 +399,10 @@ class ModuleIconWidget extends Widget
|
|||||||
'class' => 'flex-row flex-end w100p',
|
'class' => 'flex-row flex-end w100p',
|
||||||
'direct' => 1,
|
'direct' => 1,
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
['label' => $image],
|
[
|
||||||
|
'label' => $image,
|
||||||
|
'arguments' => ['type' => 'image-item'],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -389,7 +389,10 @@ class ModuleStatusWidget extends Widget
|
|||||||
'class' => 'flex-row flex-end w100p',
|
'class' => 'flex-row flex-end w100p',
|
||||||
'direct' => 1,
|
'direct' => 1,
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
['label' => $image],
|
[
|
||||||
|
'label' => $image,
|
||||||
|
'arguments' => ['type' => 'image-item'],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -88,25 +88,15 @@ if ($getVisualConsole === true) {
|
|||||||
|
|
||||||
$width = get_parameter('widthScreen', 0);
|
$width = get_parameter('widthScreen', 0);
|
||||||
|
|
||||||
|
$mode = get_parameter('mode', '');
|
||||||
|
|
||||||
$ratio = 0;
|
$ratio = 0;
|
||||||
if (isset($size) === true
|
if (isset($size) === true
|
||||||
&& is_array($size) === true
|
&& is_array($size) === true
|
||||||
&& empty($size) === false
|
&& empty($size) === false
|
||||||
) {
|
) {
|
||||||
|
$ratio = $visualConsole->adjustToViewport($size, $mode);
|
||||||
$visualConsoleData = $visualConsole->toArray();
|
$visualConsoleData = $visualConsole->toArray();
|
||||||
$ratio_visualconsole = ($visualConsoleData['height'] / $visualConsoleData['width']);
|
|
||||||
$ratio = ($size['width'] / $visualConsoleData['width']);
|
|
||||||
$radio_h = ($size['height'] / $visualConsoleData['height']);
|
|
||||||
|
|
||||||
$visualConsoleData['width'] = $size['width'];
|
|
||||||
$visualConsoleData['height'] = ($size['width'] * $ratio_visualconsole);
|
|
||||||
|
|
||||||
if ($visualConsoleData['height'] > $size['height']) {
|
|
||||||
$ratio = $radio_h;
|
|
||||||
|
|
||||||
$visualConsoleData['height'] = $size['height'];
|
|
||||||
$visualConsoleData['width'] = ($size['height'] / $ratio_visualconsole);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$widthRatio = 0;
|
$widthRatio = 0;
|
||||||
|
@ -213,6 +213,61 @@ abstract class Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate ratio for mobile.
|
||||||
|
*
|
||||||
|
* @param array $size Size viewport.
|
||||||
|
* @param string $mode Mode calculate (dashboard or mobile).
|
||||||
|
*
|
||||||
|
* @return float Ratio.
|
||||||
|
*/
|
||||||
|
public function adjustToViewport($size, $mode='')
|
||||||
|
{
|
||||||
|
$ratio_visualconsole = $this->getRatio();
|
||||||
|
$ratio_w = ($size['width'] / $this->data['width']);
|
||||||
|
$ratio_h = ($size['height'] / $this->data['height']);
|
||||||
|
|
||||||
|
$this->data['width'] = $size['width'];
|
||||||
|
$this->data['height'] = ($size['width'] * $ratio_visualconsole);
|
||||||
|
|
||||||
|
$ratio = $ratio_w;
|
||||||
|
if ($mode === 'mobile') {
|
||||||
|
if ($this->data['height'] < $this->data['width']) {
|
||||||
|
if ($this->data['height'] > $size['height']) {
|
||||||
|
$ratio = $ratio_h;
|
||||||
|
$this->data['height'] = $size['height'];
|
||||||
|
$this->data['width'] = ($size['height'] / $ratio_visualconsole);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($this->data['height'] > $size['height']) {
|
||||||
|
$ratio = $ratio_h;
|
||||||
|
$this->data['height'] = $size['height'];
|
||||||
|
$this->data['width'] = ($size['height'] / $ratio_visualconsole);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ratio;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate ratio
|
||||||
|
*
|
||||||
|
* @return float Ratio.
|
||||||
|
*/
|
||||||
|
public function getRatio()
|
||||||
|
{
|
||||||
|
if (isset($this->data['width']) === false
|
||||||
|
|| empty($this->data['width']) === true
|
||||||
|
) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($this->data['height'] / $this->data['width']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* -------------
|
* -------------
|
||||||
* - UTILITIES -
|
* - UTILITIES -
|
||||||
|
@ -1197,7 +1197,12 @@ class Item extends CachedModel
|
|||||||
'operation/visual_console/view',
|
'operation/visual_console/view',
|
||||||
['id' => $vcId],
|
['id' => $vcId],
|
||||||
// No autologin from the public view.
|
// No autologin from the public view.
|
||||||
!$config['public_view']
|
!$config['public_view'],
|
||||||
|
$mobile_navigation,
|
||||||
|
[
|
||||||
|
'page' => 'visualmap',
|
||||||
|
'id' => $vcId,
|
||||||
|
]
|
||||||
);
|
);
|
||||||
} catch (\Throwable $ignored) {
|
} catch (\Throwable $ignored) {
|
||||||
return null;
|
return null;
|
||||||
@ -1244,15 +1249,15 @@ class Item extends CachedModel
|
|||||||
'sec2' => 'operation/agentes/status_monitor',
|
'sec2' => 'operation/agentes/status_monitor',
|
||||||
'id_module' => $moduleId,
|
'id_module' => $moduleId,
|
||||||
];
|
];
|
||||||
}
|
|
||||||
|
|
||||||
if ($mobile_navigation === true) {
|
if ($mobile_navigation === true) {
|
||||||
return $mobileUrl.'?'.http_build_query(
|
return $mobileUrl.'?'.http_build_query(
|
||||||
[
|
[
|
||||||
'page' => 'module_graph',
|
'page' => 'module_graph',
|
||||||
'id' => $moduleId,
|
'id' => $moduleId,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $baseUrl.'?'.http_build_query($queryParams);
|
return $baseUrl.'?'.http_build_query($queryParams);
|
||||||
@ -1308,7 +1313,12 @@ class Item extends CachedModel
|
|||||||
'operation/agentes/status_monitor',
|
'operation/agentes/status_monitor',
|
||||||
['id_module' => $moduleId],
|
['id_module' => $moduleId],
|
||||||
// No autologin from the public view.
|
// No autologin from the public view.
|
||||||
!$config['public_view']
|
!$config['public_view'],
|
||||||
|
$mobile_navigation,
|
||||||
|
[
|
||||||
|
'id' => $moduleId,
|
||||||
|
'page' => 'module_graph',
|
||||||
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} catch (\Throwable $ignored) {
|
} catch (\Throwable $ignored) {
|
||||||
@ -1368,7 +1378,12 @@ class Item extends CachedModel
|
|||||||
'operation/agentes/ver_agente',
|
'operation/agentes/ver_agente',
|
||||||
['id_agente' => $agentId],
|
['id_agente' => $agentId],
|
||||||
// No autologin from the public view.
|
// No autologin from the public view.
|
||||||
!$config['public_view']
|
!$config['public_view'],
|
||||||
|
$mobile_navigation,
|
||||||
|
[
|
||||||
|
'id' => $agentId,
|
||||||
|
'page' => 'agent',
|
||||||
|
]
|
||||||
);
|
);
|
||||||
} catch (\Throwable $ignored) {
|
} catch (\Throwable $ignored) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -537,7 +537,10 @@ final class Group extends Item
|
|||||||
'class' => 'flex-row flex-end w100p',
|
'class' => 'flex-row flex-end w100p',
|
||||||
'direct' => 1,
|
'direct' => 1,
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
['label' => $images],
|
[
|
||||||
|
'label' => $images,
|
||||||
|
'arguments' => ['type' => 'image-item'],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -190,7 +190,10 @@ final class Icon extends Item
|
|||||||
'class' => 'flex-row flex-end w100p',
|
'class' => 'flex-row flex-end w100p',
|
||||||
'direct' => 1,
|
'direct' => 1,
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
['label' => $images],
|
[
|
||||||
|
'label' => $images,
|
||||||
|
'arguments' => ['type' => 'image-item'],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -351,7 +351,10 @@ final class StaticGraph extends Item
|
|||||||
'class' => 'flex-row flex-end w100p',
|
'class' => 'flex-row flex-end w100p',
|
||||||
'direct' => 1,
|
'direct' => 1,
|
||||||
'block_content' => [
|
'block_content' => [
|
||||||
['label' => $images],
|
[
|
||||||
|
'label' => $images,
|
||||||
|
'arguments' => ['type' => 'image-item'],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -562,12 +562,12 @@ div#main_pure {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Mobile trick */
|
/* Mobile trick */
|
||||||
.ui-mobile-viewport.ui-overlay-c > #main_page > .ui-content {
|
#main_page > .ui-content {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
overflow-x: visible;
|
overflow-x: visible;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
.ui-mobile-viewport.ui-overlay-c > #main_page > .ui-content div.label > p {
|
#main_page > .ui-content div.label > p {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
@ -458,6 +458,312 @@ div.label strong span {
|
|||||||
z-index: 999;
|
z-index: 999;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*.termframe{
|
.visual_font_size_4pt,
|
||||||
background-color: #82b92e;
|
.visual_font_size_4pt > em,
|
||||||
}*/
|
.visual_font_size_4pt > strong,
|
||||||
|
.visual_font_size_4pt > strong > span,
|
||||||
|
.visual_font_size_4pt > span,
|
||||||
|
.visual_font_size_4pt > strong > em,
|
||||||
|
.visual_font_size_4pt > em > strong,
|
||||||
|
.visual_font_size_4pt em span,
|
||||||
|
.visual_font_size_4pt span em {
|
||||||
|
font-size: 4pt;
|
||||||
|
line-height: 4pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_6pt,
|
||||||
|
.visual_font_size_6pt > em,
|
||||||
|
.visual_font_size_6pt > strong,
|
||||||
|
.visual_font_size_6pt > strong > span,
|
||||||
|
.visual_font_size_6pt > span,
|
||||||
|
.visual_font_size_6pt > strong > em,
|
||||||
|
.visual_font_size_6pt > em > strong,
|
||||||
|
.visual_font_size_6pt em span,
|
||||||
|
.visual_font_size_6pt span em {
|
||||||
|
font-size: 6pt;
|
||||||
|
line-height: 6pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_8pt,
|
||||||
|
.visual_font_size_8pt > em,
|
||||||
|
.visual_font_size_8pt > strong,
|
||||||
|
.visual_font_size_8pt > strong > span,
|
||||||
|
.visual_font_size_8pt > span,
|
||||||
|
.visual_font_size_8pt > strong > em,
|
||||||
|
.visual_font_size_8pt > em > strong,
|
||||||
|
.visual_font_size_8pt em span,
|
||||||
|
.visual_font_size_8pt span em {
|
||||||
|
font-size: 8pt;
|
||||||
|
line-height: 8pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_10pt,
|
||||||
|
.visual_font_size_10pt > em,
|
||||||
|
.visual_font_size_10pt > strong,
|
||||||
|
.visual_font_size_10pt > strong > span,
|
||||||
|
.visual_font_size_10pt > span,
|
||||||
|
.visual_font_size_10pt > strong > em,
|
||||||
|
.visual_font_size_10pt > em > strong,
|
||||||
|
.visual_font_size_10pt em span,
|
||||||
|
.visual_font_size_10pt span em {
|
||||||
|
font-size: 10pt;
|
||||||
|
line-height: 10pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_12pt,
|
||||||
|
.visual_font_size_12pt > em,
|
||||||
|
.visual_font_size_12pt > strong,
|
||||||
|
.visual_font_size_12pt > strong > span,
|
||||||
|
.visual_font_size_12pt > span,
|
||||||
|
.visual_font_size_12pt > strong > em,
|
||||||
|
.visual_font_size_12pt > em > strong,
|
||||||
|
.visual_font_size_12pt em span,
|
||||||
|
.visual_font_size_12pt span em {
|
||||||
|
font-size: 12pt;
|
||||||
|
line-height: 12pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_14pt,
|
||||||
|
.visual_font_size_14pt > em,
|
||||||
|
.visual_font_size_14pt > strong,
|
||||||
|
.visual_font_size_14pt > strong > span,
|
||||||
|
.visual_font_size_14pt > span,
|
||||||
|
.visual_font_size_14pt > strong > em,
|
||||||
|
.visual_font_size_14pt > em > strong,
|
||||||
|
.visual_font_size_14pt em span,
|
||||||
|
.visual_font_size_14pt span em {
|
||||||
|
font-size: 14pt;
|
||||||
|
line-height: 14pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_18pt,
|
||||||
|
.visual_font_size_18pt > em,
|
||||||
|
.visual_font_size_18pt > strong,
|
||||||
|
.visual_font_size_18pt > strong > span,
|
||||||
|
.visual_font_size_18pt > span,
|
||||||
|
.visual_font_size_18pt > strong > em,
|
||||||
|
.visual_font_size_18pt > em > strong,
|
||||||
|
.visual_font_size_18pt em span,
|
||||||
|
.visual_font_size_18pt span em {
|
||||||
|
font-size: 18pt;
|
||||||
|
line-height: 18pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_24pt,
|
||||||
|
.visual_font_size_24pt > em,
|
||||||
|
.visual_font_size_24pt > strong,
|
||||||
|
.visual_font_size_24pt > strong > span,
|
||||||
|
.visual_font_size_24pt > span,
|
||||||
|
.visual_font_size_24pt > strong > em,
|
||||||
|
.visual_font_size_24pt > em > strong,
|
||||||
|
.visual_font_size_24pt em span,
|
||||||
|
.visual_font_size_24pt span em {
|
||||||
|
font-size: 24pt;
|
||||||
|
line-height: 24pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_28pt,
|
||||||
|
.visual_font_size_28pt > em,
|
||||||
|
.visual_font_size_28pt > strong,
|
||||||
|
.visual_font_size_28pt > strong > span,
|
||||||
|
.visual_font_size_28pt > span,
|
||||||
|
.visual_font_size_28pt > strong > em,
|
||||||
|
.visual_font_size_28pt > em > strong,
|
||||||
|
.visual_font_size_28pt em span,
|
||||||
|
.visual_font_size_28pt span em {
|
||||||
|
font-size: 28pt;
|
||||||
|
line-height: 28pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_36pt,
|
||||||
|
.visual_font_size_36pt > em,
|
||||||
|
.visual_font_size_36pt > strong,
|
||||||
|
.visual_font_size_36pt > strong > span,
|
||||||
|
.visual_font_size_36pt > span,
|
||||||
|
.visual_font_size_36pt > strong > em,
|
||||||
|
.visual_font_size_36pt > em > strong,
|
||||||
|
.visual_font_size_36pt em span,
|
||||||
|
.visual_font_size_36pt span em {
|
||||||
|
font-size: 36pt;
|
||||||
|
line-height: 36pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_48pt,
|
||||||
|
.visual_font_size_48pt > em,
|
||||||
|
.visual_font_size_48pt > strong,
|
||||||
|
.visual_font_size_48pt > strong > span,
|
||||||
|
.visual_font_size_48pt > span,
|
||||||
|
.visual_font_size_48pt > strong > em,
|
||||||
|
.visual_font_size_48pt > em > strong,
|
||||||
|
.visual_font_size_48pt em span,
|
||||||
|
.visual_font_size_48pt span em {
|
||||||
|
font-size: 48pt;
|
||||||
|
line-height: 48pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_60pt,
|
||||||
|
.visual_font_size_60pt > em,
|
||||||
|
.visual_font_size_60pt > strong,
|
||||||
|
.visual_font_size_60pt > strong > span,
|
||||||
|
.visual_font_size_60pt > span,
|
||||||
|
.visual_font_size_60pt > strong > em,
|
||||||
|
.visual_font_size_60pt > em > strong,
|
||||||
|
.visual_font_size_60pt em span,
|
||||||
|
.visual_font_size_60pt span em {
|
||||||
|
font-size: 60pt;
|
||||||
|
line-height: 60pt;
|
||||||
|
}
|
||||||
|
.visual_font_size_72pt,
|
||||||
|
.visual_font_size_72pt > em,
|
||||||
|
.visual_font_size_72pt > strong,
|
||||||
|
.visual_font_size_72pt > strong > span,
|
||||||
|
.visual_font_size_72pt > span,
|
||||||
|
.visual_font_size_72pt > strong > em,
|
||||||
|
.visual_font_size_72pt > em > strong,
|
||||||
|
.visual_font_size_72pt em span,
|
||||||
|
.visual_font_size_72pt span em {
|
||||||
|
font-size: 72pt;
|
||||||
|
line-height: 72pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_84pt,
|
||||||
|
.visual_font_size_84pt > em,
|
||||||
|
.visual_font_size_84pt > strong,
|
||||||
|
.visual_font_size_84pt > strong > span,
|
||||||
|
.visual_font_size_84pt > span,
|
||||||
|
.visual_font_size_84pt > strong > em,
|
||||||
|
.visual_font_size_84pt > em > strong,
|
||||||
|
.visual_font_size_84pt em span,
|
||||||
|
.visual_font_size_84pt span em {
|
||||||
|
font-size: 84pt;
|
||||||
|
line-height: 84pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_96pt,
|
||||||
|
.visual_font_size_96pt > em,
|
||||||
|
.visual_font_size_96pt > strong,
|
||||||
|
.visual_font_size_96pt > strong > span,
|
||||||
|
.visual_font_size_96pt > span,
|
||||||
|
.visual_font_size_96pt > strong > em,
|
||||||
|
.visual_font_size_96pt > em > strong,
|
||||||
|
.visual_font_size_96pt em span,
|
||||||
|
.visual_font_size_96pt span em {
|
||||||
|
font-size: 96pt;
|
||||||
|
line-height: 96pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_116pt,
|
||||||
|
.visual_font_size_116pt > em,
|
||||||
|
.visual_font_size_116pt > strong,
|
||||||
|
.visual_font_size_116pt > strong > span,
|
||||||
|
.visual_font_size_116pt > span,
|
||||||
|
.visual_font_size_116pt > strong > em,
|
||||||
|
.visual_font_size_116pt > em > strong,
|
||||||
|
.visual_font_size_116pt em span,
|
||||||
|
.visual_font_size_116pt span em {
|
||||||
|
font-size: 116pt;
|
||||||
|
line-height: 116pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_128pt,
|
||||||
|
.visual_font_size_128pt > em,
|
||||||
|
.visual_font_size_128pt > strong,
|
||||||
|
.visual_font_size_128pt > strong > span,
|
||||||
|
.visual_font_size_128pt > span,
|
||||||
|
.visual_font_size_128pt > strong > em,
|
||||||
|
.visual_font_size_128pt > em > strong,
|
||||||
|
.visual_font_size_128pt em span,
|
||||||
|
.visual_font_size_128pt span em {
|
||||||
|
font-size: 128pt;
|
||||||
|
line-height: 128pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_140pt,
|
||||||
|
.visual_font_size_140pt > em,
|
||||||
|
.visual_font_size_140pt > strong,
|
||||||
|
.visual_font_size_140pt > strong > span,
|
||||||
|
.visual_font_size_140pt > span,
|
||||||
|
.visual_font_size_140pt > strong > em,
|
||||||
|
.visual_font_size_140pt > em > strong,
|
||||||
|
.visual_font_size_140pt em span,
|
||||||
|
.visual_font_size_140pt span em {
|
||||||
|
font-size: 140pt;
|
||||||
|
line-height: 140pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_154pt,
|
||||||
|
.visual_font_size_154pt > em,
|
||||||
|
.visual_font_size_154pt > strong,
|
||||||
|
.visual_font_size_154pt > strong > span,
|
||||||
|
.visual_font_size_154pt > span,
|
||||||
|
.visual_font_size_154pt > strong > em,
|
||||||
|
.visual_font_size_154pt > em > strong,
|
||||||
|
.visual_font_size_154pt em span,
|
||||||
|
.visual_font_size_154pt span em {
|
||||||
|
font-size: 154pt;
|
||||||
|
line-height: 154pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual_font_size_196pt,
|
||||||
|
.visual_font_size_196pt > em,
|
||||||
|
.visual_font_size_196pt > strong,
|
||||||
|
.visual_font_size_196pt > strong > span,
|
||||||
|
.visual_font_size_196pt > span,
|
||||||
|
.visual_font_size_196pt > strong > em,
|
||||||
|
.visual_font_size_196pt > em > strong,
|
||||||
|
.visual_font_size_196pt em span,
|
||||||
|
.visual_font_size_196pt span em {
|
||||||
|
font-size: 196pt;
|
||||||
|
line-height: 196pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.resize_visual_font_size_8pt,
|
||||||
|
.resize_visual_font_size_8pt > em,
|
||||||
|
.resize_visual_font_size_8pt > strong,
|
||||||
|
.resize_visual_font_size_8pt > strong > span,
|
||||||
|
.resize_visual_font_size_8pt > span,
|
||||||
|
.resize_visual_font_size_8pt > strong > em,
|
||||||
|
.resize_visual_font_size_8pt > em > strong,
|
||||||
|
.visual_font_size_8pt em span,
|
||||||
|
.visual_font_size_8pt span em {
|
||||||
|
font-size: 4pt;
|
||||||
|
line-height: 4pt;
|
||||||
|
}
|
||||||
|
.resize_visual_font_size_14pt,
|
||||||
|
.resize_visual_font_size_14pt > em,
|
||||||
|
.resize_visual_font_size_14pt > strong,
|
||||||
|
.resize_visual_font_size_14pt > strong > span,
|
||||||
|
.resize_visual_font_size_14pt > span,
|
||||||
|
.resize_visual_font_size_14pt > strong > em,
|
||||||
|
.resize_visual_font_size_14pt > em > strong,
|
||||||
|
.visual_font_size_14pt em span,
|
||||||
|
.visual_font_size_14pt span em {
|
||||||
|
font-size: 7pt;
|
||||||
|
line-height: 7pt;
|
||||||
|
}
|
||||||
|
.resize_visual_font_size_24pt,
|
||||||
|
.resize_visual_font_size_24pt > em,
|
||||||
|
.resize_visual_font_size_24pt > strong,
|
||||||
|
.resize_visual_font_size_24pt > strong > span,
|
||||||
|
.resize_visual_font_size_24pt > span,
|
||||||
|
.resize_visual_font_size_24pt > strong > em,
|
||||||
|
.resize_visual_font_size_24pt > em > strong,
|
||||||
|
.visual_font_size_14pt em span,
|
||||||
|
.visual_font_size_14pt span em {
|
||||||
|
font-size: 12pt;
|
||||||
|
line-height: 12pt;
|
||||||
|
}
|
||||||
|
.resize_visual_font_size_36pt,
|
||||||
|
.resize_visual_font_size_36pt > em,
|
||||||
|
.resize_visual_font_size_36pt > strong,
|
||||||
|
.resize_visual_font_size_36pt > strong > span,
|
||||||
|
.resize_visual_font_size_36pt > span,
|
||||||
|
.resize_visual_font_size_36pt > strong > em,
|
||||||
|
.resize_visual_font_size_36pt > em > strong,
|
||||||
|
.visual_font_size_36pt em span,
|
||||||
|
.visual_font_size_36pt span em {
|
||||||
|
font-size: 18pt;
|
||||||
|
line-height: 18pt;
|
||||||
|
}
|
||||||
|
.resize_visual_font_size_72pt,
|
||||||
|
.resize_visual_font_size_72pt > em,
|
||||||
|
.resize_visual_font_size_72pt > strong,
|
||||||
|
.resize_visual_font_size_72pt > strong > span,
|
||||||
|
.resize_visual_font_size_72pt > span,
|
||||||
|
.resize_visual_font_size_72pt > strong > em,
|
||||||
|
.resize_visual_font_size_72pt > em > strong,
|
||||||
|
.visual_font_size_72pt em span,
|
||||||
|
.visual_font_size_72pt span em {
|
||||||
|
font-size: 36pt;
|
||||||
|
line-height: 36pt;
|
||||||
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -129,7 +129,7 @@
|
|||||||
<div style='height: 10px'>
|
<div style='height: 10px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.760';
|
$version = '7.0NG.760';
|
||||||
$build = '220317';
|
$build = '220323';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
|
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
@ -1396,6 +1396,7 @@ div.ui-mobile-viewport {
|
|||||||
overflow: visible;
|
overflow: visible;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
|
min-height: calc(100vh - 60px);
|
||||||
}
|
}
|
||||||
.ui-corner-all > .ui-toolbar-header:first-child,
|
.ui-corner-all > .ui-toolbar-header:first-child,
|
||||||
.ui-corner-all > .ui-content:first-child,
|
.ui-corner-all > .ui-content:first-child,
|
||||||
|
@ -1102,7 +1102,7 @@ li.ui-btn {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ui-header .ui-title {
|
.ui-header .ui-title {
|
||||||
font-size: 18px !important;
|
font-size: 14px;
|
||||||
min-height: 1.1em;
|
min-height: 1.1em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: block;
|
display: block;
|
||||||
@ -1114,10 +1114,6 @@ li.ui-btn {
|
|||||||
outline: 0 !important;
|
outline: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
|
||||||
font-size: 18px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.event_name {
|
.event_name {
|
||||||
font-size: 15px !important;
|
font-size: 15px !important;
|
||||||
}
|
}
|
||||||
@ -1450,7 +1446,7 @@ div.nodata_container {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ui-page-active {
|
.ui-page-active {
|
||||||
padding-top: 2.8em !important;
|
padding-top: 3.2em !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-header-fixed {
|
.ui-header-fixed {
|
||||||
@ -1497,3 +1493,15 @@ div.nodata_container {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0.5em 0 !important;
|
margin: 0.5em 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.div-visual-console-spinner {
|
||||||
|
opacity: 1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cv-overflow {
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visual-console-container-dashboard a:visited {
|
||||||
|
color: inherit !important;
|
||||||
|
}
|
||||||
|
@ -985,6 +985,30 @@ class Ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load VC.
|
||||||
|
*
|
||||||
|
* @param string $settings Json object.
|
||||||
|
* @param integer $visualConsoleId Id.
|
||||||
|
*
|
||||||
|
* @return void Output script.
|
||||||
|
*/
|
||||||
|
public function loadVc($settings, $visualConsoleId)
|
||||||
|
{
|
||||||
|
$this->contentAddHtml(
|
||||||
|
'<script type="text/javascript">
|
||||||
|
var settings = '.$settings.';
|
||||||
|
var fullUrl = "'.ui_get_full_url('/', false, false, false).'";
|
||||||
|
var visualConsoleId = '.$visualConsoleId.';
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
dashboardLoadVC(settings);
|
||||||
|
});
|
||||||
|
</script>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Table
|
class Table
|
||||||
|
@ -83,22 +83,60 @@ class User
|
|||||||
{
|
{
|
||||||
$system = System::getInstance();
|
$system = System::getInstance();
|
||||||
|
|
||||||
|
$loginhash = $system->getRequest('loginhash', null);
|
||||||
$autologin = $system->getRequest('autologin', false);
|
$autologin = $system->getRequest('autologin', false);
|
||||||
if ($autologin) {
|
if ($autologin !== false) {
|
||||||
$user = $system->getRequest('user', null);
|
$user = $system->getRequest('user', null);
|
||||||
$password = $system->getRequest('password', null);
|
$password = $system->getRequest('password', null);
|
||||||
|
|
||||||
$this->login($user, $password);
|
$this->login($user, $password);
|
||||||
|
} else {
|
||||||
|
if (empty($loginhash) === false) {
|
||||||
|
// Hash login process.
|
||||||
|
$loginhash_data = $system->getRequest('loginhash_data', null);
|
||||||
|
$loginhash_user = str_rot13($system->getRequest('loginhash_user', null));
|
||||||
|
$this->login($loginhash_user, null, $loginhash_data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->logged;
|
return $this->logged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function login($user=null, $password=null)
|
public function login($user=null, $password=null, $loginhash_data='')
|
||||||
{
|
{
|
||||||
|
global $config;
|
||||||
$system = System::getInstance();
|
$system = System::getInstance();
|
||||||
|
|
||||||
|
if (empty($loginhash_data) === false) {
|
||||||
|
if ($config['loginhash_pwd'] != ''
|
||||||
|
&& $loginhash_data == md5(
|
||||||
|
$user.io_output_password(
|
||||||
|
$config['loginhash_pwd']
|
||||||
|
)
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
$this->logged = true;
|
||||||
|
$this->user = $user;
|
||||||
|
$this->loginTime = time();
|
||||||
|
$this->errorLogin = false;
|
||||||
|
$this->saveLogin();
|
||||||
|
} else {
|
||||||
|
include_once 'general/login_page.php';
|
||||||
|
db_pandora_audit(
|
||||||
|
AUDIT_LOG_USER_REGISTRATION,
|
||||||
|
'Loginhash failed',
|
||||||
|
'system'
|
||||||
|
);
|
||||||
|
while (ob_get_length() > 0) {
|
||||||
|
ob_end_flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
exit('</html>');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->logged;
|
||||||
|
}
|
||||||
|
|
||||||
if ($system->getConfig('auth', 'mysql') === 'saml') {
|
if ($system->getConfig('auth', 'mysql') === 'saml') {
|
||||||
if ((bool) $system->getRequest('saml', false) === true) {
|
if ((bool) $system->getRequest('saml', false) === true) {
|
||||||
\enterprise_include_once('include/auth/saml.php');
|
\enterprise_include_once('include/auth/saml.php');
|
||||||
|
@ -170,6 +170,8 @@ switch ($action) {
|
|||||||
case 'visualmap':
|
case 'visualmap':
|
||||||
$visualmap = new Visualmap();
|
$visualmap = new Visualmap();
|
||||||
$visualmap->ajax($parameter2);
|
$visualmap->ajax($parameter2);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'tactical':
|
case 'tactical':
|
||||||
$tactical = new Tactical();
|
$tactical = new Tactical();
|
||||||
$tactical->ajax($parameter2);
|
$tactical->ajax($parameter2);
|
||||||
|
@ -734,23 +734,29 @@ class Events
|
|||||||
// --------------Fill the SQL POST-------------------------------
|
// --------------Fill the SQL POST-------------------------------
|
||||||
$sql_post = ' WHERE 1=1 ';
|
$sql_post = ' WHERE 1=1 ';
|
||||||
|
|
||||||
switch ($this->status) {
|
if ($this->status != null) {
|
||||||
case 0:
|
switch ($this->status) {
|
||||||
case 1:
|
case 0:
|
||||||
case 2:
|
case 1:
|
||||||
$sql_post .= ' AND estado = '.$this->status;
|
case 2:
|
||||||
break;
|
$sql_post .= ' AND estado = '.$this->status;
|
||||||
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
$sql_post .= ' AND (estado = 0 OR estado = 2)';
|
$sql_post .= ' AND (estado = 0 OR estado = 2)';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// Not posible.
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->free_search != '') {
|
if ($this->free_search != '') {
|
||||||
$sql_post .= " AND evento LIKE '%".io_safe_input($this->free_search)."%'";
|
$sql_post .= " AND evento LIKE '%".io_safe_input($this->free_search)."%'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->severity != -1) {
|
if ($this->severity != null && $this->severity != -1) {
|
||||||
switch ($this->severity) {
|
switch ($this->severity) {
|
||||||
case EVENT_CRIT_WARNING_OR_CRITICAL:
|
case EVENT_CRIT_WARNING_OR_CRITICAL:
|
||||||
$sql_post .= ' AND (criticity = '.EVENT_CRIT_WARNING.' OR
|
$sql_post .= ' AND (criticity = '.EVENT_CRIT_WARNING.' OR
|
||||||
|
@ -126,13 +126,6 @@ class Visualmap
|
|||||||
$this->id = (int) $system->getRequest('id', 0);
|
$this->id = (int) $system->getRequest('id', 0);
|
||||||
$this->width = (int) $system->getRequest('width', 0);
|
$this->width = (int) $system->getRequest('width', 0);
|
||||||
$this->height = (int) $system->getRequest('height', 0);
|
$this->height = (int) $system->getRequest('height', 0);
|
||||||
|
|
||||||
if ($this->width < $this->height) {
|
|
||||||
$w = $this->width;
|
|
||||||
$this->width = $this->height;
|
|
||||||
$this->height = $w;
|
|
||||||
$this->rotate = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -153,7 +146,8 @@ class Visualmap
|
|||||||
$ui->retrieveViewPort();
|
$ui->retrieveViewPort();
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->height -= 39;
|
// Header.
|
||||||
|
$this->height -= 40;
|
||||||
|
|
||||||
$this->visualmap = db_get_row(
|
$this->visualmap = db_get_row(
|
||||||
'tlayout',
|
'tlayout',
|
||||||
@ -211,29 +205,7 @@ class Visualmap
|
|||||||
*/
|
*/
|
||||||
public function ajax(string $parameter2='')
|
public function ajax(string $parameter2='')
|
||||||
{
|
{
|
||||||
$system = System::getInstance();
|
return;
|
||||||
$this->checkVisualmapACL($this->visualmap['id_group']);
|
|
||||||
if ((bool) $this->validAcl === false) {
|
|
||||||
$this->show_fail_acl();
|
|
||||||
} else {
|
|
||||||
switch ($parameter2) {
|
|
||||||
case 'render_map':
|
|
||||||
$map_id = $system->getRequest('map_id', '0');
|
|
||||||
$width = $system->getRequest('width', '400');
|
|
||||||
$height = $system->getRequest('height', '400');
|
|
||||||
visual_map_print_visual_map(
|
|
||||||
$map_id,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
$width,
|
|
||||||
$height
|
|
||||||
);
|
|
||||||
exit;
|
|
||||||
|
|
||||||
default:
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -307,20 +279,8 @@ class Visualmap
|
|||||||
'height' => $this->height,
|
'height' => $this->height,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$ratio_t = $visualConsole->adjustToViewport($size, 'mobile');
|
||||||
$visualConsoleData = $visualConsole->toArray();
|
$visualConsoleData = $visualConsole->toArray();
|
||||||
$ratio_visualconsole = ($visualConsoleData['height'] / $visualConsoleData['width']);
|
|
||||||
$ratio_t = ($size['width'] / $visualConsoleData['width']);
|
|
||||||
$radio_h = ($size['height'] / $visualConsoleData['height']);
|
|
||||||
|
|
||||||
$visualConsoleData['width'] = $size['width'];
|
|
||||||
$visualConsoleData['height'] = ($size['width'] * $ratio_visualconsole);
|
|
||||||
|
|
||||||
if ($visualConsoleData['height'] > $size['height']) {
|
|
||||||
$ratio_t = $radio_h;
|
|
||||||
|
|
||||||
$visualConsoleData['height'] = $size['height'];
|
|
||||||
$visualConsoleData['width'] = ($size['height'] / $ratio_visualconsole);
|
|
||||||
}
|
|
||||||
|
|
||||||
$uniq = uniqid();
|
$uniq = uniqid();
|
||||||
|
|
||||||
@ -328,7 +288,6 @@ class Visualmap
|
|||||||
// Style.
|
// Style.
|
||||||
$style = 'width:'.$visualConsoleData['width'].'px;';
|
$style = 'width:'.$visualConsoleData['width'].'px;';
|
||||||
$style .= 'height:'.$visualConsoleData['height'].'px;';
|
$style .= 'height:'.$visualConsoleData['height'].'px;';
|
||||||
$style .= 'background-size: cover;';
|
|
||||||
|
|
||||||
// Class.
|
// Class.
|
||||||
$class = 'visual-console-container-dashboard c-'.$uniq;
|
$class = 'visual-console-container-dashboard c-'.$uniq;
|
||||||
@ -366,42 +325,13 @@ class Visualmap
|
|||||||
$ratio_t
|
$ratio_t
|
||||||
);
|
);
|
||||||
|
|
||||||
// Horrible trick! due to the use of tinyMCE
|
$output .= '<style id="css_cv_'.$uniq.'" type="text/css">';
|
||||||
// it is necessary to modify specific classes of each
|
$output .= css_label_styles_visual_console($uniq, $ratio_t);
|
||||||
// of the visual consoles.
|
|
||||||
$output .= '<style type="text/css">';
|
|
||||||
$output .= '.c-'.$uniq.', .c-'.$uniq.' *:not(.parent_graph p table tr td span) { font-size: '.(8 * $ratio_t).'pt; line-height:'.(8 * ($ratio_t) * 1.5).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_4pt, .c-'.$uniq.' .visual_font_size_4pt * { font-size: '.(4 * $ratio_t).'pt; line-height:'.(4 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_6pt, .c-'.$uniq.' .visual_font_size_6pt * { font-size: '.(6 * $ratio_t).'pt; line-height:'.(6 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_8pt, .c-'.$uniq.' .visual_font_size_8pt * { font-size: '.(8 * $ratio_t).'pt; line-height:'.(8 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_10pt, .c-'.$uniq.' .visual_font_size_10pt * { font-size: '.(10 * $ratio_t).'pt; line-height:'.(10 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_12pt, .c-'.$uniq.' .visual_font_size_12pt * { font-size: '.(12 * $ratio_t).'pt; line-height:'.(12 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_14pt, .c-'.$uniq.' .visual_font_size_14pt * { font-size: '.(14 * $ratio_t).'pt; line-height:'.(14 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_18pt, .c-'.$uniq.' .visual_font_size_18pt * { font-size: '.(18 * $ratio_t).'pt; line-height:'.(18 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_24pt, .c-'.$uniq.' .visual_font_size_24pt * { font-size: '.(24 * $ratio_t).'pt; line-height:'.(24 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_28pt, .c-'.$uniq.' .visual_font_size_28pt * { font-size: '.(28 * $ratio_t).'pt; line-height:'.(28 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_36pt, .c-'.$uniq.' .visual_font_size_36pt * { font-size: '.(36 * $ratio_t).'pt; line-height:'.(36 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_48pt, .c-'.$uniq.' .visual_font_size_48pt * { font-size: '.(48 * $ratio_t).'pt; line-height:'.(48 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_60pt, .c-'.$uniq.' .visual_font_size_60pt * { font-size: '.(60 * $ratio_t).'pt; line-height:'.(60 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_72pt, .c-'.$uniq.' .visual_font_size_72pt * { font-size: '.(72 * $ratio_t).'pt; line-height:'.(72 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_84pt, .c-'.$uniq.' .visual_font_size_84pt * { font-size: '.(84 * $ratio_t).'pt; line-height:'.(84 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_96pt, .c-'.$uniq.' .visual_font_size_96pt * { font-size: '.(96 * $ratio_t).'pt; line-height:'.(96 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_116pt, .c-'.$uniq.' .visual_font_size_116pt * { font-size: '.(116 * $ratio_t).'pt; line-height:'.(116 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_128pt, .c-'.$uniq.' .visual_font_size_128pt * { font-size: '.(128 * $ratio_t).'pt; line-height:'.(128 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_140pt, .c-'.$uniq.' .visual_font_size_140pt * { font-size: '.(140 * $ratio_t).'pt; line-height:'.(140 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_154pt, .c-'.$uniq.' .visual_font_size_154pt * { font-size: '.(154 * $ratio_t).'pt; line-height:'.(154 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual_font_size_196pt, .c-'.$uniq.' .visual_font_size_196pt * { font-size: '.(196 * $ratio_t).'pt; line-height:'.(196 * ($ratio_t)).'pt; }';
|
|
||||||
$output .= '.c-'.$uniq.' .flot-text, .c-'.$uniq.' .flot-text * { font-size: '.(8 * $ratio_t).'pt !important; line-height:'.(8 * ($ratio_t)).'pt !important; }';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .digital-clock span.time {font-size: '.(50 * $ratio_t).'px !important; line-height: '.(50 * $ratio_t).'px !important;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .digital-clock span.date {font-size: '.(25 * $ratio_t).'px !important; line-height: '.(25 * $ratio_t).'px !important;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .digital-clock span.timezone {font-size: '.(25 * $ratio_t).'px !important; line-height: '.(25 * $ratio_t).'px !important;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .donut-graph * {font-size: '.(8 * $ratio_t).'px !important; line-height: '.(8 * $ratio_t).'px !important;}';
|
|
||||||
$output .= '.c-'.$uniq.' .visual-console-item .donut-graph g rect {width:'.(25 * $ratio_t).' !important; height: '.(15 * $ratio_t).' !important;}';
|
|
||||||
$output .= '</style>';
|
$output .= '</style>';
|
||||||
|
|
||||||
$visualConsoleItems = array_reduce(
|
$visualConsoleItems = array_reduce(
|
||||||
$visualConsoleItems,
|
$visualConsoleItems,
|
||||||
function ($carry, $item) use ($ratio_t) {
|
function ($carry, $item) {
|
||||||
$carry[] = $item->toArray();
|
$carry[] = $item->toArray();
|
||||||
return $carry;
|
return $carry;
|
||||||
},
|
},
|
||||||
@ -413,36 +343,18 @@ class Visualmap
|
|||||||
'props' => $visualConsoleData,
|
'props' => $visualConsoleData,
|
||||||
'items' => $visualConsoleItems,
|
'items' => $visualConsoleItems,
|
||||||
'baseUrl' => ui_get_full_url('/', false, false, false),
|
'baseUrl' => ui_get_full_url('/', false, false, false),
|
||||||
|
'page' => 'include/ajax/visual_console.ajax',
|
||||||
'ratio' => $ratio_t,
|
'ratio' => $ratio_t,
|
||||||
'size' => $size,
|
'size' => $size,
|
||||||
'cellId' => $uniq,
|
'cellId' => $uniq,
|
||||||
|
'uniq' => $uniq,
|
||||||
|
'mobile' => true,
|
||||||
|
'vcId' => $visualConsoleId,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
$output .= '<script type="text/javascript">';
|
|
||||||
$output .= '$(document).ready(function () {';
|
|
||||||
$output .= 'dashboardLoadVC('.$settings.')';
|
|
||||||
$output .= '});';
|
|
||||||
if ($this->rotate === true) {
|
|
||||||
$output .= "$('.container-center').css('transform', 'rotate(90deg)');";
|
|
||||||
}
|
|
||||||
|
|
||||||
$output .= '$( window ).on( "orientationchange", function( event )';
|
|
||||||
$output .= ' { window.location.href = "';
|
|
||||||
$output .= ui_get_full_url(
|
|
||||||
'/mobile/index.php?page=visualmap&id='.$visualConsoleId
|
|
||||||
);
|
|
||||||
$output .= '" });';
|
|
||||||
|
|
||||||
$output .= '</script>';
|
|
||||||
|
|
||||||
$ui->contentAddHtml($output);
|
$ui->contentAddHtml($output);
|
||||||
|
$ui->loadVc($settings, $visualConsoleId);
|
||||||
// Load Visual Console Items.
|
|
||||||
$visualConsoleItems = VisualConsole::getItemsFromDB(
|
|
||||||
$visualConsoleId,
|
|
||||||
$aclUserGroups
|
|
||||||
);
|
|
||||||
|
|
||||||
$javascript = ob_get_clean();
|
$javascript = ob_get_clean();
|
||||||
$ui->contentAddHtml($javascript);
|
$ui->contentAddHtml($javascript);
|
||||||
|
@ -74,6 +74,13 @@ class Visualmaps
|
|||||||
*/
|
*/
|
||||||
private $type = 0;
|
private $type = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CV favourites.
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
private $favourite = true;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builder.
|
* Builder.
|
||||||
@ -188,6 +195,20 @@ class Visualmaps
|
|||||||
$ui->showFooter(false);
|
$ui->showFooter(false);
|
||||||
$ui->beginContent();
|
$ui->beginContent();
|
||||||
$this->listVisualmapsHtml();
|
$this->listVisualmapsHtml();
|
||||||
|
|
||||||
|
$output = '<script type="text/javascript">';
|
||||||
|
$output .= 'function loadVisualConsole(id) {';
|
||||||
|
$output .= ' var dimensions = "&width="+$(window).width();';
|
||||||
|
$output .= ' dimensions += "&height="+$(window).height();';
|
||||||
|
$output .= ' window.location.href = "';
|
||||||
|
$output .= ui_get_full_url('/', false, false, false);
|
||||||
|
$output .= 'mobile/index.php?page=visualmap&id="';
|
||||||
|
$output .= '+id+dimensions;';
|
||||||
|
$output .= '};';
|
||||||
|
$output .= '</script>';
|
||||||
|
|
||||||
|
$ui->contentAddHtml($output);
|
||||||
|
|
||||||
$ui->endContent();
|
$ui->endContent();
|
||||||
$ui->showPage();
|
$ui->showPage();
|
||||||
}
|
}
|
||||||
@ -201,9 +222,42 @@ class Visualmaps
|
|||||||
private function listVisualmapsHtml()
|
private function listVisualmapsHtml()
|
||||||
{
|
{
|
||||||
$system = System::getInstance();
|
$system = System::getInstance();
|
||||||
|
$this->favourite = (bool) $system->getRequest('favourite', true);
|
||||||
$ui = Ui::getInstance();
|
$ui = Ui::getInstance();
|
||||||
|
|
||||||
$visualmaps = visual_map_get_user_layouts();
|
$visualmaps = visual_map_get_user_layouts(
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
$this->favourite
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($this->favourite === true) {
|
||||||
|
$ui->contentAddHtml(
|
||||||
|
$ui->createButton(
|
||||||
|
[
|
||||||
|
'icon' => '',
|
||||||
|
'pos' => 'right',
|
||||||
|
'text' => __('All visual consoles'),
|
||||||
|
'href' => 'index.php?page=visualmaps&favourite=0',
|
||||||
|
'class' => '',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$ui->contentAddHtml(
|
||||||
|
$ui->createButton(
|
||||||
|
[
|
||||||
|
'icon' => '',
|
||||||
|
'pos' => 'right',
|
||||||
|
'text' => __('Favourite visual consoles'),
|
||||||
|
'href' => 'index.php?page=visualmaps&favourite=1',
|
||||||
|
'class' => '',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($visualmaps) === true) {
|
if (empty($visualmaps) === true) {
|
||||||
$ui->contentAddHtml('<p style="color: #ff0000;">'.__('No maps defined').'</p>');
|
$ui->contentAddHtml('<p style="color: #ff0000;">'.__('No maps defined').'</p>');
|
||||||
@ -214,8 +268,8 @@ class Visualmaps
|
|||||||
$table->id = 'list_visualmaps';
|
$table->id = 'list_visualmaps';
|
||||||
foreach ($visualmaps as $map) {
|
foreach ($visualmaps as $map) {
|
||||||
$link = '<a class="ui-link" data-ajax="false" ';
|
$link = '<a class="ui-link" data-ajax="false" ';
|
||||||
$link .= ' href="index.php?page=visualmap&id=';
|
$link .= ' href="#" onclick="loadVisualConsole(';
|
||||||
$link .= $map['id'].'">'.io_safe_output($map['name']).'</a>';
|
$link .= $map['id'].')">'.io_safe_output($map['name']).'</a>';
|
||||||
|
|
||||||
$row = $link;
|
$row = $link;
|
||||||
$row .= ui_print_group_icon(
|
$row .= ui_print_group_icon(
|
||||||
|
@ -221,6 +221,12 @@ $visualConsoleItems = VisualConsole::getItemsFromDB(
|
|||||||
if (title !== null) {
|
if (title !== null) {
|
||||||
title.textContent = newProps.name;
|
title.textContent = newProps.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fullscreen Meta view title.
|
||||||
|
var titleMeta = document.querySelector("div.vc-title-meta");
|
||||||
|
if (titleMeta !== null) {
|
||||||
|
titleMeta.textContent = newProps.name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change the links.
|
// Change the links.
|
||||||
|
@ -611,7 +611,7 @@ ui_require_css_file('form');
|
|||||||
if (prevProps && prevProps.name != newProps.name) {
|
if (prevProps && prevProps.name != newProps.name) {
|
||||||
// View title.
|
// View title.
|
||||||
var title = document.querySelector(
|
var title = document.querySelector(
|
||||||
"div#menu_tab_frame_view > div#menu_tab_left span"
|
".breadcrumbs-title"
|
||||||
);
|
);
|
||||||
if (title !== null) {
|
if (title !== null) {
|
||||||
title.textContent = newProps.name;
|
title.textContent = newProps.name;
|
||||||
@ -621,7 +621,12 @@ ui_require_css_file('form');
|
|||||||
if (fullscreenTitle !== null) {
|
if (fullscreenTitle !== null) {
|
||||||
fullscreenTitle.textContent = newProps.name;
|
fullscreenTitle.textContent = newProps.name;
|
||||||
}
|
}
|
||||||
// TODO: Change the metaconsole title.
|
|
||||||
|
// Fullscreen Meta view title.
|
||||||
|
var fullscreenTitleMeta = document.querySelector("div.vc-title-meta");
|
||||||
|
if (fullscreenTitleMeta !== null) {
|
||||||
|
fullscreenTitleMeta.textContent = newProps.name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change the links.
|
// Change the links.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name apache2
|
%define httpd_name apache2
|
||||||
|
@ -4039,6 +4039,7 @@ CREATE TABLE IF NOT EXISTS `tipam_vlan` (
|
|||||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
`name` VARCHAR(250) NOT NULL,
|
`name` VARCHAR(250) NOT NULL,
|
||||||
`description` TEXT,
|
`description` TEXT,
|
||||||
|
`custom_id` bigint(20) UNSIGNED DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.760-220317
|
Version: 7.0NG.760-220323
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.760-220317"
|
pandora_version="7.0NG.760-220323"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -66,8 +66,8 @@ sub new ($$$) {
|
|||||||
# Call the constructor of the parent class
|
# Call the constructor of the parent class
|
||||||
my $self = $class->SUPER::new($config, ALERTSERVER, \&PandoraFMS::AlertServer::data_producer, \&PandoraFMS::AlertServer::data_consumer, $dbh);
|
my $self = $class->SUPER::new($config, ALERTSERVER, \&PandoraFMS::AlertServer::data_producer, \&PandoraFMS::AlertServer::data_consumer, $dbh);
|
||||||
|
|
||||||
bless $self, $class;
|
bless $self, $class;
|
||||||
return $self;
|
return $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -91,6 +91,24 @@ sub data_producer ($) {
|
|||||||
|
|
||||||
my @tasks;
|
my @tasks;
|
||||||
my @rows;
|
my @rows;
|
||||||
|
|
||||||
|
my $n_servers = get_db_value($dbh,
|
||||||
|
'SELECT COUNT(*) FROM `tserver` WHERE `server_type` = ? AND `status` = 1',
|
||||||
|
ALERTSERVER
|
||||||
|
);
|
||||||
|
|
||||||
|
my $i = 0;
|
||||||
|
my %servers = map { $_->{'name'} => $i++; } get_db_rows($dbh,
|
||||||
|
'SELECT `name` FROM `tserver` WHERE `server_type` = ? AND `status` = 1 ORDER BY `name` ASC',
|
||||||
|
ALERTSERVER
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($n_servers eq 0) {
|
||||||
|
$n_servers = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Retrieve alerts to be evaluated.
|
||||||
|
my $server_type_id = $servers{$pa_config->{'servername'}};
|
||||||
|
|
||||||
# Make a local copy of locked alerts.
|
# Make a local copy of locked alerts.
|
||||||
$AlertSem->down ();
|
$AlertSem->down ();
|
||||||
@ -98,9 +116,14 @@ sub data_producer ($) {
|
|||||||
$AlertSem->up ();
|
$AlertSem->up ();
|
||||||
|
|
||||||
# Check the execution queue.
|
# Check the execution queue.
|
||||||
if (pandora_is_master($pa_config) == 1) {
|
my $sql = sprintf(
|
||||||
@rows = get_db_rows ($dbh, 'SELECT id, utimestamp FROM talert_execution_queue ORDER BY utimestamp ASC');
|
'SELECT id, utimestamp FROM talert_execution_queue
|
||||||
}
|
WHERE `id` %% %d = %d ORDER BY utimestamp ASC',
|
||||||
|
$n_servers,
|
||||||
|
$server_type_id
|
||||||
|
);
|
||||||
|
|
||||||
|
@rows = get_db_rows($dbh, $sql);
|
||||||
|
|
||||||
# Queue alerts.
|
# Queue alerts.
|
||||||
foreach my $row (@rows) {
|
foreach my $row (@rows) {
|
||||||
|
@ -46,7 +46,7 @@ our @EXPORT = qw(
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.760";
|
my $pandora_version = "7.0NG.760";
|
||||||
my $pandora_build = "220317";
|
my $pandora_build = "220323";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
|
@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.760";
|
my $pandora_version = "7.0NG.760";
|
||||||
my $pandora_build = "220317";
|
my $pandora_build = "220323";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.760
|
%define version 7.0NG.760
|
||||||
%define release 220317
|
%define release 220323
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.760"
|
PI_VERSION="7.0NG.760"
|
||||||
PI_BUILD="220317"
|
PI_BUILD="220323"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
@ -35,7 +35,7 @@ use PandoraFMS::Config;
|
|||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.760 Build 220317";
|
my $version = "7.0NG.760 Build 220323";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||||||
Encode::Locale::decode_argv;
|
Encode::Locale::decode_argv;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.760 Build 220317";
|
my $version = "7.0NG.760 Build 220323";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
@ -558,9 +558,23 @@ abstract class VisualConsoleItem<Props extends ItemProps> {
|
|||||||
const divSpinner = document.createElement("div");
|
const divSpinner = document.createElement("div");
|
||||||
divSpinner.className = "visual-console-spinner";
|
divSpinner.className = "visual-console-spinner";
|
||||||
divParent.appendChild(divSpinner);
|
divParent.appendChild(divSpinner);
|
||||||
const containerVC = document.getElementById(
|
let path = e.composedPath();
|
||||||
"visual-console-container"
|
let containerId = "visual-console-container";
|
||||||
);
|
for (let index = 0; index < path.length; index++) {
|
||||||
|
const element = path[index] as HTMLInputElement;
|
||||||
|
if (
|
||||||
|
element.id != undefined &&
|
||||||
|
element.id != null &&
|
||||||
|
element.id != ""
|
||||||
|
) {
|
||||||
|
if (element.id.includes(containerId) === true) {
|
||||||
|
containerId = element.id;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const containerVC = document.getElementById(containerId);
|
||||||
if (containerVC != null) {
|
if (containerVC != null) {
|
||||||
containerVC.classList.add("is-updating");
|
containerVC.classList.add("is-updating");
|
||||||
containerVC.appendChild(divParent);
|
containerVC.appendChild(divParent);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user