Merge branch 'develop' into ent-9771-discovery-2-0-sistema-de-extensiones-disco-para-el-discovery

This commit is contained in:
Daniel Cebrian 2023-04-26 13:02:13 +02:00
commit cc2ab53db4
293 changed files with 124740 additions and 1288 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.770-230418
Version: 7.0NG.770-230426
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.770-230418"
pandora_version="7.0NG.770-230426"
echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -1023,7 +1023,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.770';
use constant AGENT_BUILD => '230418';
use constant AGENT_BUILD => '230426';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.770
%define release 230418
%define release 230426
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.770
%define release 230418
%define release 230426
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.770"
PI_BUILD="230418"
PI_BUILD="230426"
OS_NAME=`uname -s`
FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{230418}
{230426}
ViewReadme
{Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.770 Build 230418")
#define PANDORA_VERSION ("7.0NG.770 Build 230426")
string pandora_path;
string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.770(Build 230418))"
VALUE "ProductVersion", "(7.0NG.770(Build 230426))"
VALUE "FileVersion", "1.0.0.0"
END
END

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.770-230418
Version: 7.0NG.770-230426
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.770-230418"
pandora_version="7.0NG.770-230426"
package_pear=0
package_pandora=1

View File

@ -17,7 +17,8 @@
"swiftmailer/swiftmailer": "^6.0",
"amphp/parallel-functions": "^1.0",
"chrome-php/chrome": "^1.7.1",
"artica/phpchartjs": "^1.0"
"artica/phpchartjs": "^1.0",
"tinymce/tinymce": "^6.4"
},
"repositories": {
"phpchartjs": {

View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "be2ad3d9d4df55d7ccb87981e82c4932",
"content-hash": "9e3b6f6e51c682b07fe1516c9300f4d7",
"packages": [
{
"name": "amphp/amp",
@ -2378,6 +2378,65 @@
}
],
"time": "2020-10-24T10:57:07+00:00"
},
{
"name": "tinymce/tinymce",
"version": "6.4.1",
"source": {
"type": "git",
"url": "https://github.com/tinymce/tinymce-dist.git",
"reference": "b2327c03fba64f8c47ec030c1f3bce98da8f7596"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/b2327c03fba64f8c47ec030c1f3bce98da8f7596",
"reference": "b2327c03fba64f8c47ec030c1f3bce98da8f7596",
"shasum": ""
},
"type": "component",
"extra": {
"component": {
"scripts": [
"tinymce.js",
"plugins/*/plugin.js",
"themes/*/theme.js",
"models/*/model.js",
"icons/*/icons.js"
],
"files": [
"tinymce.min.js",
"plugins/*/plugin.min.js",
"themes/*/theme.min.js",
"models/*/model.min.js",
"skins/**",
"icons/*/icons.min.js"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT-only"
],
"description": "Web based JavaScript HTML WYSIWYG editor control.",
"homepage": "https://www.tiny.cloud/",
"keywords": [
"contenteditable",
"editing",
"html",
"javascript",
"rich editor",
"rich text",
"rich text editor",
"richtext",
"rte",
"text",
"tinymce",
"wysiwyg"
],
"support": {
"source": "https://github.com/tinymce/tinymce-dist/tree/6.4.1"
},
"time": "2023-03-29T01:33:40+00:00"
}
],
"packages-dev": [],

View File

@ -1,3 +1,5 @@
START TRANSACTION;
CREATE TABLE IF NOT EXISTS `tdiscovery_apps` (
`id_app` int(10) auto_increment,
`short_name` varchar(250) NOT NULL DEFAULT '',
@ -40,3 +42,16 @@ ALTER TABLE `trecon_task`
ADD COLUMN `id_app` int(10),
ADD COLUMN `setup_complete` tinyint unsigned NOT NULL DEFAULT 0,
ADD FOREIGN KEY (`id_app`) REFERENCES tdiscovery_apps(`id_app`) ON DELETE CASCADE ON UPDATE CASCADE;
CREATE TABLE IF NOT EXISTS `tsesion_filter` (
`id_filter` INT NOT NULL AUTO_INCREMENT,
`id_name` TEXT NULL,
`text` TEXT NULL,
`period` TEXT NULL,
`ip` TEXT NULL,
`type` TEXT NULL,
`user` TEXT NULL,
PRIMARY KEY (`id_filter`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
COMMIT;

View File

@ -1519,10 +1519,50 @@ if ($update_module === true || $create_module === true) {
$critical_instructions = (string) get_parameter('critical_instructions');
$warning_instructions = (string) get_parameter('warning_instructions');
$unknown_instructions = (string) get_parameter('unknown_instructions');
$critical_inverse = (int) get_parameter('critical_inverse');
$warning_inverse = (int) get_parameter('warning_inverse');
$percentage_critical = (int) get_parameter('percentage_critical');
$percentage_warning = (int) get_parameter('percentage_warning');
// Warning thresholds.
$warning_threshold_check_type = get_parameter('warning_thresholds_checks');
if ($warning_threshold_check_type === 'normal_warning') {
$percentage_warning = 0;
$warning_inverse = 0;
} else if ($warning_threshold_check_type === 'warning_inverse') {
$warning_inverse = (int) get_parameter('warning_inverse_string_sent');
$percentage_warning = 0;
} else {
$percentage_warning = (int) get_parameter('warning_inverse_string_sent');
$warning_inverse = 0;
}
// Critical thresholds.
$critical_threshold_check_type = get_parameter('critical_thresholds_checks');
if ($critical_threshold_check_type === 'normal_critical') {
$percentage_critical = 0;
$critical_inverse = 0;
} else if ($critical_threshold_check_type === 'critical_inverse') {
$critical_inverse = (int) get_parameter('critical_inverse_string_sent');
$percentage_critical = 0;
} else {
$percentage_critical = (int) get_parameter('critical_inverse_string_sent');
$critical_inverse = 0;
}
// Inverse string checkbox.
if ($id_module_type === MODULE_TYPE_GENERIC_DATA_STRING || $id_module_type === MODULE_TYPE_ASYNC_STRING) {
// Warning inverse string checkbox.
$warning_string_checkbox = get_parameter('warning_inverse_string');
if (!empty($warning_string_checkbox) && $warning_string_checkbox === 'warning_inverse_string') {
$warning_inverse = (int) get_parameter('warning_inverse_string_sent');
} else {
$warning_inverse = 0;
}
// Critial inverse string checkbox.
$critical_string_checkbox = get_parameter('critical_inverse_string');
if (!empty($critical_string_checkbox) && $critical_string_checkbox === 'critical_inverse_string') {
$critical_inverse = (int) get_parameter('critical_inverse_string_sent');
} else {
$critical_inverse = 0;
}
}
$id_category = (int) get_parameter('id_category');
@ -2471,7 +2511,13 @@ switch ($tab) {
}]
});
}
});
});
$("#network_component").change(function (e) {
setTimeout(() => {
$('#snmp_version').trigger("change");
}, 100);
});
});
// Change description when edit port

View File

@ -46,7 +46,7 @@ $custom_fields = array_map(
function ($field) {
$field['secure'] = (bool) $field['secure'];
if ($field['secure']) {
$field['value'] = io_input_password($field['value']);
$field['value'] = io_input_password(io_safe_output($field['value']));
}
return $field;
@ -75,7 +75,7 @@ if ($add_inventory_module) {
'interval' => $interval,
'username' => $username,
'password' => $password,
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode($custom_fields)) : '',
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode(io_safe_output($custom_fields), JSON_UNESCAPED_UNICODE)) : '',
];
$result = db_process_sql_insert('tagent_module_inventory', $values);
@ -119,7 +119,7 @@ if ($add_inventory_module) {
'interval' => $interval,
'username' => $username,
'password' => $password,
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode($custom_fields)) : '',
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode(io_safe_output($custom_fields, true), JSON_UNESCAPED_UNICODE)) : '',
];
$result = db_process_sql_update('tagent_module_inventory', $values, ['id_agent_module_inventory' => $id_agent_module_inventory, 'id_agente' => $id_agente]);

View File

@ -114,7 +114,7 @@ ui_print_standard_header(
if (is_management_allowed() === false) {
if (is_metaconsole() === false) {
$url = '<a target="_blank" href="'.ui_get_meta_url(
'index.php?sec=monitoring&sec2=monitoring/wizard/wizard'
'index.php?sec=advanced&sec2=advanced/massive_operations&tab=massive_agents'
).'">'.__('metaconsole').'</a>';
} else {
$url = __('any node');

View File

@ -473,9 +473,9 @@ $tableBasicThresholds->data['warning_threshold'][1] .= html_print_input_text(
$tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_switch_radio_button(
[
html_print_radio_button_extended('warning_thresholds_checks', 'normal_warning', __('Normal'), ($percentage_warning && $warning_inverse) === false, false, '', '', true, false, '', 'radius-normal_warning'),
html_print_radio_button_extended('warning_thresholds_checks', 'warning_inverse', __('Inverse interval'), $warning_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-warning_inverse'),
html_print_radio_button_extended('warning_thresholds_checks', 'percentage_warning', __('Percentage'), $percentage_warning, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_warning'),
html_print_radio_button_extended('warning_thresholds_checks', 'normal_warning', __('Normal'), ($percentage_warning && $warning_inverse) ? false : 'normal_warning', false, '', '', true, false, '', 'radius-normal_warning'),
html_print_radio_button_extended('warning_thresholds_checks', 'warning_inverse', __('Inverse interval'), ($warning_inverse) ? 'warning_inverse' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-warning_inverse'),
html_print_radio_button_extended('warning_thresholds_checks', 'percentage_warning', __('Percentage'), ($percentage_warning) ? 'percentage_warning' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_warning'),
],
[ 'class' => 'margin-top-10' ],
true
@ -485,7 +485,7 @@ $basicThresholdsIntervalWarning = [];
$basicThresholdsIntervalWarning[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalWarning[] = html_print_checkbox_switch(
'warning_inverse_string',
1,
'warning_inverse_string',
$warning_inverse,
true,
$disabledBecauseInPolicy
@ -556,9 +556,9 @@ $tableBasicThresholds->data['critical_threshold'][1] .= html_print_input_text(
$tableBasicThresholds->data['switch_critical_threshold'][0] .= html_print_switch_radio_button(
[
html_print_radio_button_extended('critical_thresholds_checks', 'normal_critical', __('Normal'), ($percentage_critical && $critical_inverse) === false, false, '', '', true, false, '', 'radius-normal_critical'),
html_print_radio_button_extended('critical_thresholds_checks', 'critical_inverse', __('Inverse interval'), $critical_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-critical_inverse'),
html_print_radio_button_extended('critical_thresholds_checks', 'percentage_critical', __('Percentage'), $percentage_critical, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_critical'),
html_print_radio_button_extended('critical_thresholds_checks', 'normal_critical', __('Normal'), ($percentage_critical && $critical_inverse) ? false : 'normal_critical', false, '', '', true, false, '', 'radius-normal_critical'),
html_print_radio_button_extended('critical_thresholds_checks', 'critical_inverse', __('Inverse interval'), ($critical_inverse) ? 'critical_inverse' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-critical_inverse'),
html_print_radio_button_extended('critical_thresholds_checks', 'percentage_critical', __('Percentage'), ($percentage_critical) ? 'percentage_critical' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_critical'),
],
[ 'class' => 'margin-top-10' ],
true
@ -569,7 +569,7 @@ $basicThresholdsIntervalCritical = [];
$basicThresholdsIntervalCritical[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalCritical[] = html_print_checkbox_switch(
'critical_inverse_string',
1,
'critical_inverse_string',
$critical_inverse,
true,
$disabledBecauseInPolicy
@ -694,6 +694,8 @@ if (isset($module['id_policy_module']) === true) {
}
$cps_array[-1] = __('Disabled');
$cps_array[0] = __('Enabled');
if ($cps_module > 0) {
$cps_array[$cps_module] = __('Enabled');
} else {
@ -705,7 +707,9 @@ if ($cps_module > 0) {
}
}
$cps_array[$cps_inc] = __('Enabled');
if ($cps_inc > -1) {
$cps_array[$cps_inc] = __('Enabled');
}
}
// JS Scripts for ff thresholds.
@ -1978,7 +1982,7 @@ $(document).ready (function () {
}
});
});

View File

@ -348,8 +348,8 @@ push_table_simple($data, 'tcp_send_receive');
if ($id_module_type < 8 || $id_module_type > 11) {
// NOT TCP.
$table_simple->rowstyle['tcp_send'] = 'display: none;';
$table_simple->rowstyle['tcp_receive'] = 'display: none;';
$table_simple->rowstyle['caption_tcp_send_receive'] = 'display: none;';
$table_simple->rowstyle['tcp_send_receive'] = 'display: none;';
}
if ($id_module_type < 15 || $id_module_type > 18) {

View File

@ -151,7 +151,7 @@ if (is_ajax()) {
'',
false,
$is_management_allowed,
"removeTinyMCE('textarea_field".$i."_value')",
"UndefineTinyMCE('#textarea_field".$i."_value')",
'',
true
);
@ -163,7 +163,7 @@ if (is_ajax()) {
'',
true,
$is_management_allowed,
"addTinyMCE('textarea_field".$i."_value')",
"defineTinyMCE('#textarea_field".$i."_value')",
'',
true
);
@ -188,7 +188,7 @@ if (is_ajax()) {
'',
false,
$is_management_allowed,
"removeTinyMCE('textarea_field".$i."_recovery_value')",
"UndefineTinyMCE('#textarea_field".$i."_recovery_value')",
'',
true
);
@ -200,7 +200,7 @@ if (is_ajax()) {
'',
true,
$is_management_allowed,
"addTinyMCE('textarea_field".$i."_recovery_value')",
"defineTinyMCE('#textarea_field".$i."_recovery_value')",
'',
true
);
@ -855,16 +855,16 @@ if (users_is_admin() === true) {
});
function dialog_message(message) {
$(message)
$(message)
.css("display", "inline")
.dialog({
modal: true,
width: "400px",
buttons: {
Close: function() {
$(this).dialog("close");
modal: true,
width: "400px",
buttons: {
Close: function() {
$(this).dialog("close");
}
}
}
});
}

View File

@ -122,24 +122,28 @@ $sec = (is_metaconsole() === true) ? 'advanced' : 'galertas';
// case delete_templete action is performed.
if (!$delete_template) {
// Header.
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true,
[],
[
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true,
[],
[
'link' => '',
'label' => __('Alerts'),
],
[
'link' => '',
'label' => __('Alert templates'),
],
]
);
[
'link' => '',
'label' => __('Alerts'),
],
[
'link' => '',
'label' => __('Alert templates'),
],
]
);
}
}
if ($update_template) {

View File

@ -457,7 +457,7 @@ if ($is_management_allowed === true) {
echo '</form>';
ui_require_javascript_file('pandora_alerts');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
?>
<script type="text/javascript">
@ -810,18 +810,10 @@ $(document).ready (function () {
$('#field5_value').on('change', function() {
ajax_get_integria_custom_fields($(this).val());
});
});
}
var added_config = {
"selector": "textarea.tiny-mce-editor",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
"valid_children": "+body[style]",
"width": "90%",
}
defineTinyMCE(added_config);
defineTinyMCE('textarea.tiny-mce-editor');
render_command_preview(original_command);
render_command_recovery_preview(original_command);

View File

@ -957,7 +957,7 @@ if ($step == 2) {
'',
false,
(!$is_management_allowed | $disabled),
"removeTinyMCE('textarea_field".$i."')",
"UndefineTinyMCE('#textarea_field".$i."')",
'style="height: 15px !important;"',
true
);
@ -970,7 +970,7 @@ if ($step == 2) {
'',
true,
(!$is_management_allowed | $disabled),
"addTinyMCE('textarea_field".$i."')",
"defineTinyMCE('#textarea_field".$i."')",
'style="height: 15px !important;"',
true
);
@ -1002,7 +1002,7 @@ if ($step == 2) {
'',
false,
(!$is_management_allowed | $disabled),
"removeTinyMCE('textarea_field".$i."_recovery')",
"UndefineTinyMCE('#textarea_field".$i."_recovery')",
'style="height: 15px !important;"',
true
);
@ -1015,7 +1015,7 @@ if ($step == 2) {
'',
true,
(!$is_management_allowed | $disabled),
"addTinyMCE('textarea_field".$i."_recovery')",
"defineTinyMCE('#textarea_field".$i."_recovery')",
'style="height: 15px !important;"',
true
);
@ -1255,7 +1255,7 @@ echo '</form>';
ui_require_javascript_file('pandora_alerts');
ui_include_time_picker();
ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_css_file('main.min', 'include/javascript/fullcalendar/');
ui_require_javascript_file('main.min', 'include/javascript/fullcalendar/');
ui_require_javascript_file('pandora_fullcalendar');
@ -1626,18 +1626,7 @@ if ($step == 2) {
}
});
var added_config = {
"selector": 'textarea.tiny-mce-editor',
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,cut,copy,paste,|,justifyleft,justifycenter,justifyright,|,forecolor,backcolor,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview",
"force_p_newlines" : false,
"forced_root_block" : '',
"inline_styles": true,
"valid_children": "+body[style]",
}
defineTinyMCE(added_config);
defineTinyMCE('textarea.tiny-mce-editor');
<?php
}

View File

@ -289,6 +289,23 @@ if ($update_agents) {
try {
$node = new Node((int) $array_id[0]);
$node->connect();
$id_agent = (int) $array_id[1];
// Get the id_agente_modulo to update the 'safe_operation_mode' field.
if (isset($values['safe_mode_module']) === true
&& ($values['safe_mode_module'] != '0')
) {
$id_module_safe[$id_agent] = db_get_value_filter(
'id_agente_modulo',
'tagente_modulo',
[
'id_agente' => $id_agent,
'nombre' => $values['safe_mode_module'],
]
);
}
$result[$id_agent] = edit_massive_agent(
(int) $array_id[1],
$values,
@ -477,11 +494,7 @@ function edit_massive_agent(
$agent = new Agent($id_agent);
$disabled_old = $agent->disabled();
foreach ($values as $key => $value) {
$agent->{$key}($value);
}
if (is_metaconsole() === false) {
if (empty($id_module_safe) === false) {
// Get the id_agent_module for this agent to update the 'safe_operation_mode' field.
if (isset($values['safe_mode_module']) === true
&& ($values['safe_mode_module'] != '0')
@ -490,6 +503,10 @@ function edit_massive_agent(
}
}
foreach ($values as $key => $value) {
$agent->{$key}($value);
}
$result['db'] = $agent->save();
if (is_metaconsole() === false) {
@ -1124,37 +1141,36 @@ $table->data[6][1] = html_print_select(
true
);
if (is_metaconsole() === false) {
$table->data[7][0] = __('Safe operation mode').': '.ui_print_help_tip(
__(
'This mode allow %s to disable all modules of this agent while the selected module is on CRITICAL status',
get_product_name()
),
true
);
$table->data[7][1] .= html_print_select(
[
1 => __('Enabled'),
0 => __('Disabled'),
],
'safe_mode_change',
-1,
'',
__('No change'),
-1,
true
).'&nbsp;';
$table->data[7][1] .= __('Module').'&nbsp;';
$table->data[7][1] .= html_print_select(
'',
'safe_mode_module',
'',
'',
__('Any'),
-1,
true
);
}
$table->data[7][0] = __('Safe operation mode').': '.ui_print_help_tip(
__(
'This mode allow %s to disable all modules of this agent while the selected module is on CRITICAL status',
get_product_name()
),
true
);
$table->data[7][1] .= html_print_select(
[
1 => __('Enabled'),
0 => __('Disabled'),
],
'safe_mode_change',
-1,
'',
__('No change'),
-1,
true
).'&nbsp;';
$table->data[7][1] .= __('Module').'&nbsp;';
$table->data[7][1] .= html_print_select(
'',
'safe_mode_module',
'',
'',
__('Any'),
-1,
true
);
ui_toggle(html_print_table($table, true), __('Advanced options'));
unset($table);

View File

@ -808,7 +808,7 @@ $table->data['edit1'][1] = '<table width="100%">';
1
);
$table->data['edit3'][2] = __('SMNP community');
$table->data['edit3'][2] = __('SNMP community');
$table->data['edit3'][3] = html_print_input_text(
'snmp_community',
'',

View File

@ -4975,7 +4975,7 @@ ui_require_javascript_file(
ENTERPRISE_DIR.'/include/javascript/'
);
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_javascript_file('pandora');
?>
@ -5214,13 +5214,7 @@ $(document).ready (function () {
});
});
var added_config = {
"elements": "textarea_render_definition",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor"
}
defineTinyMCE(added_config);
defineTinyMCE('#textarea_render_definition');
$("#checkbox-select_by_group").change(function () {
var select_by_group = $('#checkbox-select_by_group').prop('checked');

View File

@ -191,7 +191,7 @@ ui_require_javascript_file('wz_jsgraphics');
ui_require_javascript_file('pandora_visual_console');
ui_require_javascript_file('visual_console_builder.editor', 'godmode/reporting/');
ui_require_javascript_file_enterprise('functions_visualmap', is_metaconsole() === true);
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
// Javascript file for base 64 encoding of label parameter.
ui_require_javascript_file('encode_decode_base64');
@ -205,22 +205,7 @@ ui_require_javascript_file('encode_decode_base64');
<script type="text/javascript">
id_visual_console = <?php echo $visualConsole['id']; ?>;
visual_map_main();
var added_config = {
"plugins": "noneditable",
"elements": "text-label",
"theme_advanced_buttons1":
"bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code",
"valid_children": "+body[style]",
"theme_advanced_font_sizes": "true",
"content_css": <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>,
"editor_deselector": "noselected",
"inline_styles": true,
"nowrap": true,
"width": "50%",
"height": "100%",
}
defineTinyMCE(added_config);
defineTinyMCE('#text-label');
$('.item img').each(function(){

View File

@ -859,7 +859,7 @@ ui_require_javascript_file('wz_jsgraphics');
ui_require_javascript_file('pandora_visual_console');
ui_require_jquery_file('ajaxqueue');
ui_require_jquery_file('bgiframe');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
?>
<script type="text/javascript">
@ -888,23 +888,8 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
return false;
});
var added_config = {
"selector": "#tinyMCE_editor",
"elements": "tinyMCE_editor",
"plugins": "noneditable",
"theme_advanced_buttons1": "bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code",
"valid_children": "+body[style]",
"theme_advanced_font_sizes": "true",
"content_css": <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>,
"editor_deselector": "noselected",
"inline_styles": true,
"nowrap": true,
"width": "400",
"height": "200",
"body_class": "tinyMCEBody",
}
defineTinyMCE('#tinyMCE_editor');
defineTinyMCE(added_config);
$("#dialog_label_editor").hide ()
.dialog ({
title: "<?php echo __('Edit label'); ?>",

View File

@ -417,8 +417,8 @@ ui_include_time_picker();
ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/');
// Include tiny for wysiwyg editor
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
// Include tiny for wysiwyg editor.
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_javascript_file('pandora');
?>
@ -435,9 +435,9 @@ ui_require_javascript_file('pandora');
secondText: '<?php echo __('Second'); ?>',
currentText: '<?php echo __('Now'); ?>',
closeText: '<?php echo __('Close'); ?>'});
$.datepicker.setDefaults($.datepicker.regional[ "<?php echo get_user_language(); ?>"]);
$("#text-expire_date").datepicker({
dateFormat: "<?php echo DATE_FORMAT_JS; ?>",
changeMonth: true,
@ -445,23 +445,14 @@ ui_require_javascript_file('pandora');
showAnim: "slideDown"}
);
var added_config = {
"elements":"textarea_text",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
"valid_children": "+body[style]",
"width": "90%",
}
defineTinyMCE('#textarea_text');
defineTinyMCE(added_config);
$("#checkbox-expire").click(function() {
check_expire();
});
});
check_expire();
function check_expire() {

View File

@ -1421,6 +1421,17 @@ $table_vc->data[$row][] = html_print_label_input_block(
true
)
);
$table_vc->data[$row][] = html_print_label_input_block(
__('Display item frame on alert triggered'),
html_print_checkbox_switch(
'display_item_frame',
1,
(bool) $config['display_item_frame'],
true
)
);
$row++;
@ -2140,8 +2151,7 @@ echo '</form>';
ui_require_css_file('color-picker', 'include/styles/js/');
ui_require_jquery_file('colorpicker');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_javascript_file('pandora');
?>
@ -2161,6 +2171,10 @@ $(document).ready(function(){
$("#select_csv_divider").attr("src", editIcon);
}
})
defineTinyMCE('#textarea_custom_report_front_header');
defineTinyMCE('#textarea_custom_report_front_footer');
defineTinyMCE('#textarea_custom_report_front_firstpage');
})
// Juanma (07/05/2014) New feature: Custom front page for reports
@ -2216,17 +2230,6 @@ function change_servicetree_nodes_padding () {
}
}
var added_config1 = {
"elements":"textarea_custom_report_front_header, textarea_custom_report_front_footer",
}
defineTinyMCE(added_config1);
var added_config2 = {
"elements":"textarea_custom_report_front_firstpage",
}
defineTinyMCE(added_config2);
$(document).ready (function () {

View File

@ -2206,7 +2206,7 @@ if ($create_alert || $update_alert) {
}
ui_require_javascript_file('pandora', 'include/javascript/', true);
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
?>
<script language="javascript" type="text/javascript">
@ -2328,19 +2328,7 @@ $(document).ready (function () {
}
});
var added_config = {
"selector": "textarea.tiny-mce-editor",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1" : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
"theme_advanced_buttons2" : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
"force_p_newlines": false,
"forced_root_block": '',
"inline_styles": true,
"valid_children": "+body[style]",
"element_format": "html",
}
defineTinyMCE(added_config);
defineTinyMCE('textarea.tiny-mce-editor');
$('#button-button_back').on('click', function(){
window.location = '<?php echo ui_get_full_url('index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert'); ?>';

View File

@ -56,7 +56,7 @@ ui_print_standard_header(
],
[
'link' => '',
'label' => __('SMNP'),
'label' => __('SNMP'),
],
]
);

View File

@ -48,7 +48,7 @@ ui_print_standard_header(
],
[
'link' => '',
'label' => __('SMNP'),
'label' => __('SNMP'),
],
]
);

View File

@ -792,7 +792,7 @@ class HostDevices extends Wizard
$form['rows'][0]['columns'][0] = [
'width' => '30%',
'style' => 'padding: 9px;min-width: 250px;',
'style' => 'padding: 9px;min-width: 188px;',
'inputs' => [
'1' => '<div class="height_50p mrgn_btn_35px">'.html_print_image('images/wizard/netscan_green.png', true, ['title' => __('Close')], false).'</div>',
'2' => [
@ -825,12 +825,11 @@ class HostDevices extends Wizard
],
],
];
$form['rows'][0]['columns'][1] = [
'width' => '40%',
'padding-right' => '12%',
'padding-left' => '5%',
'style' => 'min-width: 350px',
'padding-right' => '8%',
'padding-left' => '0%',
'style' => 'min-width: 230px',
'inputs' => [
'0' => [
'label' => '<b>'.__('Task name').':</b>',
@ -926,27 +925,27 @@ class HostDevices extends Wizard
],
];
// Group select (custom for this section).
$group_select = '<div class="label_select"><label>'.__('Group').':</label></div>';
$group_select .= $this->printInput(
[
'name' => 'id_group',
'returnAllGroup' => false,
'privilege' => $this->access,
'type' => 'select_groups',
'selected' => $this->task['id_group'],
'return' => true,
'class' => 'discovery_list_input',
'simple_multiple_options' => true,
'required' => true,
]
);
$form['rows'][0]['columns'][2] = [
'width' => '30%',
'style' => 'min-width: 250px',
'inputs' => ['0' => $group_select],
'width' => '40%',
'padding-right' => '5%',
'padding-left' => '0',
'style' => 'min-width: 144px;',
'inputs' => [
'0' => [
'label' => '<b>'.__('Group').':</b>',
'arguments' => [
'name' => 'id_group',
'returnAllGroup' => false,
'privilege' => $this->access,
'type' => 'select_groups',
'selected' => $this->task['id_group'],
'return' => true,
'class' => 'discovery_list_input',
'simple_multiple_options' => true,
'required' => true,
],
],
],
];
$form['rows'][1]['style'] = 'style de row';
@ -1586,6 +1585,10 @@ class HostDevices extends Wizard
$(function() {
SNMPExtraShow($("#snmp_version").val());
});
$("#id_network_profile").select2({
placeholder: "'.__('Please select...').'"
});
';
if (enterprise_installed()) {

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>96007EC9-FBFB-4CDC-A8D3-39F8126F7269</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -391.974583)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 269.974583)">
<g id="Mobile-agents" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,27.6073092 23.1075582,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z M20,5 L11.9967103,5 L11.8651969,5.00868163 C11.6483839,5.03744118 11.4456127,5.13675554 11.2893127,5.29318417 L7.29260239,9.29318417 L7.20945254,9.38742572 C6.90458906,9.77984238 6.93255194,10.347062 7.29318417,10.7073976 L7.38742572,10.7905475 C7.77984238,11.0954109 8.34706198,11.0674481 8.70739761,10.7068158 L12.411,6.999 L19.584,6.999 L22.999,10.414 L22.999,19.585 L19.585,22.999 L12.409,22.999 L8.70541325,19.3135693 L8.61100719,19.2306063 C8.21798744,18.9265207 7.65082434,18.9556071 7.29120374,19.3169523 C6.90161476,19.7084097 6.90312938,20.3415729 7.29458675,20.7311618 L11.291297,24.7087963 L11.390258,24.7951247 C11.5635358,24.9272908 11.7763873,25 11.9967103,25 L20,25 L20.131444,24.9913276 C20.3481451,24.9625983 20.5508265,24.8633871 20.7071068,24.7071068 L24.7071068,20.7071068 L24.7939194,20.6080295 C24.9268355,20.434484 25,20.2210137 25,20 L25,10 L24.9913276,9.86855602 C24.9625983,9.65185492 24.8633871,9.44917353 24.7071068,9.29289322 L20.7071068,5.29289322 L20.6080295,5.20608063 C20.434484,5.07316447 20.2210137,5 20,5 Z M14,12 L6,12 C5.44771525,12 5,12.4477153 5,13 L5,17 C5,17.5522847 5.44771525,18 6,18 L14,18 C14.5522847,18 15,17.5522847 15,17 L15,13 C15,12.4477153 14.5522847,12 14,12 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="10px" height="6px" viewBox="0 0 10 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>E5134209-ED99-4D42-AFFC-E210CA7C75CA@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="1a-Tactical-view---default" transform="translate(-37.000000, -671.000000)" stroke="#95A3BF" stroke-width="2">
<g id="Conmutador" transform="translate(20.000000, 653.000000)">
<g id="Title" transform="translate(10.000000, 9.000000)">
<g id="Dropdown-down" transform="translate(8.000000, 10.000000)">
<polyline id="Path-8" points="0 0 4 4 8 0"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="10px" height="6px" viewBox="0 0 10 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>468CE642-FF47-4D9D-8D01-9137E4A42791@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="1b-Tactical-view---activity-list" transform="translate(-37.000000, -671.000000)" stroke="#95A3BF" stroke-width="2">
<g id="Conmutador" transform="translate(20.000000, 653.000000)">
<g id="Title" transform="translate(10.000000, 9.000000)">
<g id="Dropdown-up" transform="translate(8.000000, 10.000000)">
<polyline id="Path-8" transform="translate(4.000000, 2.000000) scale(1, -1) translate(-4.000000, -2.000000) " points="0 0 4 4 8 0"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>788260CF-3DE6-4D64-8B30-B9B35413937B</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -443.949166)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 321.949166)">
<g id="Mobile-modules" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,27.6073092 23.1075582,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,16.168 L8.72848758,16.1682636 L8.94543532,16.157208 L9.14227765,16.1277192 C9.65858418,16.028234 10.1028383,15.7637314 10.3982027,15.376652 L11.389,14.076 L14.4909605,20.4094649 L14.5913089,20.5871661 L14.683733,20.7158766 C15.5543921,21.8298347 17.4465108,21.7445543 18.1504724,20.5042927 L20.648,16.101 L22.4708713,16.1014498 L22.6743746,16.0918256 C23.7090033,15.9874588 24.5,15.2164353 24.5,14.2651742 C24.5,13.2349122 23.5776613,12.4288985 22.4708713,12.4288985 L19.409919,12.4288985 L19.1910819,12.4401369 L19.0210633,12.4648524 C18.4062088,12.5770255 17.8894481,12.923802 17.6052051,13.4245902 L16.48,15.405 L13.6321609,9.59066736 L13.5274502,9.40648929 C12.7565937,8.2511657 10.9446993,8.19475986 10.1076384,9.29174039 L7.662,12.495 L0,12.495 L0,8.09172156 C0,2.47775097 6.68823265,0.0721601488 14.6378059,0.00160207373 L15,0 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icons/Dark/20/checkbox-on@svg</title>
<g id="Icons/Dark/20/checkbox-on" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect id="Rectangle-2" stroke="#14524F" stroke-width="2" x="1" y="1" width="18" height="18" rx="4"></rect>
<path d="M14.3713994,6.22237132 C14.8008905,5.87515972 15.4305323,5.94186038 15.7777439,6.37135141 C16.098247,6.76780467 16.0660673,7.33480068 15.7214138,7.69277628 L15.6287639,7.77769594 L8.20693177,13.7776959 C7.78987666,14.114854 7.18888164,14.0598005 6.83812914,13.672688 L6.76182606,13.5774872 L4.18365814,9.93238606 C3.86473931,9.48148781 3.97172977,8.85742777 4.42262802,8.53850895 C4.83884178,8.24412234 5.40260169,8.31264068 5.73770948,8.67956758 L5.81650513,8.77747883 L7.77861597,11.5510307 L14.3713994,6.22237132 Z" id="Path-10" fill="#14524F" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="12px" height="12px" viewBox="0 0 12 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>43B3919E-8FE7-441D-8427-E2652997A80E@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="2e-Events---dropdown-selector" transform="translate(-285.000000, -35.000000)">
<g id="Group" transform="translate(1.000000, 16.000000)">
<g id="Title" transform="translate(15.000000, 15.000000)">
<g id="Icons/Dark/20/close-off" transform="translate(265.000000, 0.000000)">
<rect id="Rectangle" x="0" y="0" width="20" height="20"></rect>
<path d="M4.35059047,4.35059047 C4.81804444,3.88313651 5.57593706,3.88313651 6.04339103,4.35059047 L6.04339103,4.35059047 L10,8.307 L13.956609,4.35059047 C14.4240629,3.88313651 15.1819556,3.88313651 15.6494095,4.35059047 C16.0876476,4.78882857 16.1150375,5.48233501 15.7315792,5.95248165 L15.6494095,6.04339103 L11.693,10 L15.6494095,13.956609 L15.7315792,14.0475184 C16.1150375,14.517665 16.0876476,15.2111714 15.6494095,15.6494095 C15.1819556,16.1168635 14.4240629,16.1168635 13.956609,15.6494095 L13.956609,15.6494095 L10,11.693 L6.04339103,15.6494095 C5.57593706,16.1168635 4.81804444,16.1168635 4.35059047,15.6494095 C3.91235238,15.2111714 3.8849625,14.517665 4.26842083,14.0475184 L4.35059047,13.956609 L8.307,10 L4.35059047,6.04339103 L4.26842083,5.95248165 C3.8849625,5.48233501 3.91235238,4.78882857 4.35059047,4.35059047 Z" id="Path-6" fill="#95A3BF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>27D252CA-B4D5-442E-ACDD-238B8E51751E@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1a-Tactical-view---default" transform="translate(-20.000000, -17.000000)" fill="#95A3BF">
<g id="Elements-/-mobile-/-header">
<g id="Go-back" transform="translate(10.000000, 8.000000)">
<g id="Group-2" transform="translate(10.000000, 7.000000)">
<g id="Back" transform="translate(0.000000, 2.000000)">
<path d="M6.22681586,7.18499617 C6.84825397,7.80421394 6.88096124,8.78791523 6.32493766,9.44549969 L6.22681586,9.55195908 C5.60537774,10.1711769 4.61814918,10.2037673 3.95820681,9.64973031 L3.85136569,9.55195908 L0.491971839,6.20456803 L0.471159559,6.18346253 C0.448283024,6.15985237 0.426096906,6.13557366 0.40463361,6.11065869 L0.491971839,6.20456803 C0.449187281,6.16193634 0.409193308,6.117577 0.371989918,6.07171537 C0.350999584,6.04570421 0.330242064,6.0184516 0.310321073,5.99056447 C0.271139022,5.93594655 0.236003122,5.87988377 0.204505607,5.82236871 L0.145733976,5.70401417 C0.124045538,5.65571966 0.104586732,5.60621384 0.0874880109,5.55562669 C0.0818617556,5.53867941 0.0764412566,5.52170989 0.0712989205,5.50467482 C0.0612197632,5.4717683 0.0521679177,5.43808328 0.0441615727,5.40399735 C0.0412764855,5.39105693 0.0384611977,5.37839495 0.0357948693,5.3657081 C0.0291097206,5.33463116 0.0233875846,5.30289036 0.0185767243,5.27085268 C0.0153029314,5.24828532 0.0124012695,5.22594088 0.00995178558,5.20355663 C0.00704369824,5.17765032 0.0047944618,5.15126248 0.00316664333,5.12470734 C0.0016973396,5.10038272 0.000722849869,5.07603294 0.000278799038,5.05167534 C9.04155519e-05,5.04133651 0,5.03122206 0,5.02108658 L0.000563610919,4.9775969 C0.0011706852,4.95417944 0.00226817651,4.93077224 0.00385608484,4.90739193 L0,5.02108658 C0,4.9551527 0.00382623005,4.89010929 0.0112695117,4.82616478 C0.0138053602,4.80529002 0.0166252188,4.78456697 0.0198345397,4.76389234 C0.0327849945,4.67929154 0.0523273944,4.59644178 0.0777734739,4.5162055 C0.0820792159,4.50294578 0.0864580021,4.48969214 0.0910073506,4.47648392 C0.122846114,4.3839691 0.162775714,4.29494223 0.20983783,4.21040281 C0.221199302,4.18987953 0.22970104,4.17526039 0.238443166,4.16074485 C0.254731128,4.13399708 0.271515085,4.10783107 0.288995392,4.08217425 C0.298790066,4.06755699 0.308765074,4.05340543 0.31898569,4.03937632 C0.338027371,4.01341654 0.358006427,3.98757415 0.378709998,3.96234508 C0.384045417,3.95574022 0.388924626,3.94988957 0.393850031,3.94406451 L0.424411969,3.90896446 C0.438242587,3.89347594 0.452357566,3.87824509 0.466748745,3.86328007 L0.491971839,3.83760512 L3.85136569,0.49021407 C4.50732814,-0.16340469 5.5708534,-0.16340469 6.22681586,0.49021407 C6.84825397,1.10943184 6.88096124,2.09313313 6.32493766,2.75071759 L6.22681586,2.85717698 L5.734,3.347 L9.65101119,3.34739105 C13.1574609,3.34739105 16,6.17977404 16,9.67369553 C16,13.0991087 13.2678401,15.8886718 9.85649076,15.9967495 L9.65101119,16 L6.69543864,16 C5.76776764,16 5.01574171,15.250661 5.01574171,14.3263045 C5.01574171,13.4439642 5.70095542,12.7210923 6.57008089,12.6571997 L6.69543864,12.6526089 L9.65101119,12.6526089 C11.3021189,12.6526089 12.6406062,11.318904 12.6406062,9.67369553 C12.6406062,8.08155831 11.3870801,6.78115173 9.80978545,6.69891128 L9.65101119,6.6947821 L5.734,6.694 L6.22681586,7.18499617 Z" id="Path-73"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>B6EE5BBF-2CE4-4EFF-9E46-50036986C7F3</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -236.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 114.000000)">
<g id="Mobile-groups" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,16 C30,14.8954305 29.1045695,14 28,14 L24,14 L24,22.25 C24,23.2164983 23.2164983,24 22.25,24 L14,24 L14,28 C14,29.044389 14.8005167,29.9018074 15.821432,29.992137 C15.5493714,29.9972395 15.2753866,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z M19.375,8 L9.625,8 C8.72753728,8 8,8.72753728 8,9.625 L8,19.375 C8,20.2724627 8.72753728,21 9.625,21 L19.375,21 C20.2724627,21 21,20.2724627 21,19.375 L21,9.625 C21,8.72753728 20.2724627,8 19.375,8 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>13ED062F-1DD5-4B18-B16F-64D609ACA6F7@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1a-Tactical-view---default" transform="translate(-292.000000, -17.000000)" fill="#FFFFFF">
<g id="Elements-/-mobile-/-header">
<g id="Home" transform="translate(282.000000, 8.000000)">
<g id="Group-3" transform="translate(10.000000, 7.000000)">
<g id="Home" transform="translate(0.000000, 2.000000)">
<path d="M15.7621654,6.04845511 L8.82364649,0.254535942 C8.35663079,-0.0848453139 7.68946552,-0.0848453139 7.1557333,0.254535942 L0.283930943,5.61675978 C-0.249801279,6.02401729 0.0170648321,7.20235138 0.684230109,7.20235138 L1.62318192,7.20235138 L1.62318192,13.3528262 C1.62318192,14.7782275 2.55229288,16 4.02005649,16 L5.35438705,16 C5.75468621,16 6.02155232,15.728495 6.02155232,15.3212375 L6.02155232,11.9953012 C6.02155232,11.2486624 6.62200107,10.4 7.35588288,10.4 L8.69021343,10.4 C9.42409524,10.4 10.024544,11.2486624 10.024544,11.9953012 L10.024544,15.3212375 C10.024544,15.6606187 10.2914101,16 10.6917093,16 L12.0260398,16 C13.4938034,16 14.4,14.7782275 14.4,13.3528262 L14.4,7.20235138 L15.3618662,7.20235138 C15.962315,7.20235138 16.2291811,6.45571262 15.7621654,6.04845511 Z" id="home"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>08833C7D-0D40-4B38-96C4-14E753034D0F@svg</title>
<desc>Created with sketchtool.</desc>
<defs>
<linearGradient x1="100%" y1="0.453535926%" x2="0%" y2="99.5464641%" id="linearGradient-1">
<stop stop-color="#C1CCDC" offset="0%"></stop>
<stop stop-color="#E1E8F7" offset="100%"></stop>
</linearGradient>
<path d="M20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,35.4316123 33.8412391,38.6977972 25.6766489,39.677922 C26.3582749,39.1051401 26.737614,38.6322026 26.7772826,38.5826822 C27.0352391,38.2577604 27.0418534,37.7864452 26.8037397,37.4472411 C26.5557045,37.1116076 26.1290841,37.0044905 25.7785278,37.2044424 C25.4081287,37.4079648 24.2638599,37.9364091 23.4238476,37.9364091 C23.1758125,37.9364091 23.0369128,37.8899917 22.9707701,37.854286 C22.5871425,37.647193 21.8694942,37.2544304 22.6202138,34.8193019 L22.6202138,34.8193019 L23.9629106,30.4596364 C24.7433945,27.9102498 24.5978806,25.5929501 23.5528259,23.9326353 C22.7028922,22.58296 21.3138955,21.7831524 19.6437923,21.6796058 C15.1593172,21.3903897 12.4011665,24.8038542 12.2920311,24.9431064 C12.0340745,25.2680283 12.0274603,25.7393435 12.2688811,26.0785476 C12.5202234,26.4106105 12.9534581,26.5105865 13.2974001,26.3177757 C13.6644921,26.1106827 14.8087608,25.5822384 15.6388517,25.5822384 C15.8372798,25.5822384 15.9993295,25.6143735 16.1018506,25.6715026 C16.4854783,25.8785957 17.1965123,26.2677878 16.452407,28.7064868 L16.452407,28.7064868 L15.1097101,33.0661522 C14.3259191,35.6083978 14.4681259,37.9221269 15.5098735,39.5824417 C15.5601985,39.6625681 15.6124134,39.7407668 15.6664667,39.8170072 C6.84428916,39.0430897 0,35.7686843 0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 L20,0 Z M20.7100207,10.2325581 C18.1460335,10.2325581 16.0588579,12.3204068 16.0588579,14.8852208 C16.0648555,17.4410355 18.1520311,19.5288842 20.7130195,19.5348837 C23.2770067,19.5288842 25.3611835,17.4410355 25.3611835,14.882221 C25.3551858,12.3264063 23.2710091,10.2385577 20.7100207,10.2325581 Z" id="path-2"></path>
</defs>
<g id="Mockups" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Mensajes-emergentes---Default" transform="translate(-1365.000000, -80.000000)">
<g id="Group-+-Group-+-Group-+-Group-+-Group-+-Rectangle-Mask" transform="translate(1345.000000, 53.176276)">
<g id="Group" transform="translate(0.000000, 26.823724)">
<g id="Mensaje-emergente-info" transform="translate(20.000000, 0.000000)">
<g id="Status-check">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<use id="Mask" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>C79B9248-AD28-44E6-97FA-8E8BEC5C229D</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-20.000000, -17.000000)" fill="#ED474A">
<g id="Go-back" transform="translate(20.000000, 15.000000)">
<g id="Icons-/-Dark-/-20-/-Sign-out" transform="translate(8.000000, 10.000000) scale(-1, 1) translate(-8.000000, -10.000000) translate(0.000000, 2.000000)">
<path d="M4,0 C6.209139,-4.05812251e-16 8,1.790861 8,4 L8,12 C8,14.209139 6.209139,16 4,16 C1.790861,16 2.705415e-16,14.209139 0,12 L0,4 C-2.705415e-16,1.790861 1.790861,4.05812251e-16 4,0 Z M4.8,8.8 C4.3581722,8.8 4,8.4418278 4,8 C4,7.5581722 4.3581722,7.2 4.8,7.2 L8,7.2 L13.269,7.2 L10.6343146,4.56568542 C10.3459274,4.27729826 10.3237438,3.82351341 10.5677637,3.50968045 L10.6343146,3.43431458 C10.9227017,3.14592741 11.3764866,3.12374378 11.6903196,3.36776369 L11.7656854,3.43431458 L15.7656854,7.43431458 C16.0540726,7.72270174 16.0762562,8.17648659 15.8322363,8.49031955 L15.7656854,8.56568542 L11.7656854,12.5656854 C11.453266,12.8781049 10.946734,12.8781049 10.6343146,12.5656854 C10.3459274,12.2772983 10.3237438,11.8235134 10.5677637,11.5096804 L10.6343146,11.4343146 L13.269,8.8 L8,8.8 L4.8,8.8 Z" id="Rectangle-2"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29.9745831px" viewBox="0 0 30 29.9745831" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>1823C61D-1174-471F-8BAD-A0B8CB687967</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -340.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 218.000000)">
<g id="Mobile-alerts" transform="translate(15.000000, 0.000000)">
<path d="M30,8.06630471 L30,21.8828616 C30,27.5818923 23.1075582,29.9745831 15,29.9745831 C6.89244177,29.9745831 0,27.5818923 0,21.8828616 L0,8.06630471 C0,2.70512527 6.09946568,0.269891039 13.5720913,-5.84185478e-14 L13.5723301,2.21012161 C10.2928858,2.85573699 7.86075776,5.48727545 7.86075776,8.77458315 C7.86075776,12.6347599 6.57700299,14.1031078 5.68751656,14.9986099 L5.45596532,15.2300015 C5.43160371,15.2544373 5.40774422,15.2784989 5.38443355,15.302237 C5.11657804,15.5751216 4.99782876,15.9013139 4.99997078,16.220737 C5.00497158,16.9145831 5.57952165,17.5745831 6.43308788,17.5745831 L23.5669121,17.5745831 C24.4204784,17.5745831 24.9954749,16.9145831 25.0000292,16.220737 C25.0021712,15.9013139 24.883422,15.5746985 24.6155664,15.302237 L24.5440347,15.2300015 L24.3124834,14.9986099 C23.422997,14.1031078 22.1392422,12.6347599 22.1392422,8.77458315 C22.1392422,5.48727545 19.7071142,2.85573699 16.4276699,2.21012161 L16.4279087,-5.84185478e-14 C23.9005343,0.269891039 30,2.70512527 30,8.06630471 Z M17.8557862,18.6745831 L12.1442138,18.6745831 C12.1442138,20.4973175 13.4232239,21.9745831 15,21.9745831 C16.5767761,21.9745831 17.8557862,20.4973175 17.8557862,18.6745831 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29.853037px" viewBox="0 0 30 29.853037" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>DD299FDE-0DC6-4356-92DC-926BFF90D985</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -184.146963)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 62.000000)">
<g id="Content" transform="translate(15.000000, 0.000000)">
<g id="Mobile-events" transform="translate(0.000000, 0.146963)">
<path d="M30,7.94475857 L30,21.7613154 C30,27.4603462 23.1075582,29.853037 15,29.853037 C6.89244177,29.853037 0,27.4603462 0,21.7613154 L0,7.94475857 C0,3.76611131 3.70546339,1.364994 8.8784529,0.381256498 L7.01052877,12.078037 C6.91552985,12.753037 7.47552349,13.353037 8.20051525,13.353037 L14.1354478,13.353037 L11.830474,22.4702245 C11.650476,23.1827245 12.2304694,23.853037 12.9954608,23.853037 C13.415456,23.853037 13.8154514,23.646787 14.0354489,23.290537 L22.8353489,9.04053701 C23.3003436,8.29522451 22.7253502,7.35303701 21.8003607,7.35303701 L16.0304263,7.35303701 L18.3597639,-1.98591144e-13 C24.9238182,0.598158755 30,3.05392333 30,7.94475857 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>2CF74761-33EB-44F4-9088-CC2767F8DD95</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -132.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 10.000000)">
<g id="Mobile-tactical-view" transform="translate(15.000000, 0.000000)">
<path d="M0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,27.6073092 23.1075582,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 Z M13.9998991,5 L14.0002435,11.0765696 C12.2748927,11.5205277 11,13.0866876 11,14.9506147 C11,17.1597537 12.790861,18.9506147 15,18.9506147 C16.8638701,18.9506147 18.4299912,17.6758 18.8740044,15.9505296 L24.9506147,15.9507157 C24.4488436,21.00399 20.1853136,24.9506147 15,24.9506147 C9.4771525,24.9506147 5,20.4734622 5,14.9506147 C5,9.76530116 8.94662476,5.50177118 13.9998991,5 Z M16.0010997,5.00009923 C20.7249658,5.46963832 24.481539,9.22651135 24.9506147,13.9505138 L18.8737865,13.9498534 C18.51187,12.5448616 17.4057531,11.4387448 16.0007613,11.0768283 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>B4F9F258-05E7-4180-8981-655BFA2BA77E@svg</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-30.000000, -76.000000)">
<g id="Input" transform="translate(20.000000, 65.000000)">
<g id="Group" transform="translate(10.000000, 11.000000)">
<rect id="Rectangle" x="0" y="0" width="20" height="20"></rect>
<path d="M10.5857864,10.5857864 C11.3257272,9.84584567 12.5012114,9.80690142 13.2869988,10.4689537 L13.4142136,10.5857864 L19.4142136,16.5857864 C20.1952621,17.366835 20.1952621,18.633165 19.4142136,19.4142136 C18.6742728,20.1541543 17.4987886,20.1930986 16.7130012,19.5310463 L16.5857864,19.4142136 L10.5857864,13.4142136 C9.80473785,12.633165 9.80473785,11.366835 10.5857864,10.5857864 Z" id="Path-9" fill="#95A3BF" fill-rule="nonzero"></path>
<path d="M7,0 C3.13400675,0 0,3.13400675 0,7 C0,10.8659932 3.13400675,14 7,14 C10.8659932,14 14,10.8659932 14,7 C14,3.13400675 10.8659932,0 7,0 Z M7,2 C9.76142375,2 12,4.23857625 12,7 C12,9.76142375 9.76142375,12 7,12 C4.23857625,12 2,9.76142375 2,7 C2,4.23857625 4.23857625,2 7,2 Z" id="Oval" fill="#95A3BF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29px" viewBox="0 0 30 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>5DF60C72-9560-434D-8EEE-2966DF14C3C5</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -495.923749)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 373.923749)">
<g id="Mobile-server-status" transform="translate(15.000000, 0.000000)">
<path d="M8,27 C8.55228475,27 9,27.4477153 9,28 C9,28.5522847 8.55228475,29 8,29 C7.44771525,29 7,28.5522847 7,28 C7,27.4477153 7.44771525,27 8,27 Z M11,27 C11.5522847,27 12,27.4477153 12,28 C12,28.5522847 11.5522847,29 11,29 C10.4477153,29 10,28.5522847 10,28 C10,27.4477153 10.4477153,27 11,27 Z M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,24.9407566 28.0485094,27.0370946 25.0008585,28.3349403 L25,27 C25,26.4477153 24.5522847,26 24,26 L6,26 C5.44771525,26 5,26.4477153 5,27 L5.00014724,28.3353686 C1.95191991,27.0375557 0,24.9410901 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z M24,17 L6,17 C5.44771525,17 5,17.4477153 5,18 L5,23 C5,23.5522847 5.44771525,24 6,24 L24,24 C24.5522847,24 25,23.5522847 25,23 L25,18 C25,17.4477153 24.5522847,17 24,17 Z M15,8 C11.6666667,8 8.33333333,8.38888889 5,9.16666667 L5,14 C5,14.5522847 5.44771525,15 6,15 L24,15 C24.5522847,15 25,14.5522847 25,14 L25,9.16666667 C21.6666667,8.38888889 18.3333333,8 15,8 Z M11,10 C11.5522847,10 12,10.4477153 12,11 C12,11.5522847 11.5522847,12 11,12 L8,12 C7.44771525,12 7,11.5522847 7,11 C7,10.4477153 7.44771525,10 8,10 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30.0011092px" height="30px" viewBox="0 0 30.0011092 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>7A93DEF5-4FEF-40B6-99B7-F2F36D7D47A0</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -547.898333)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Mobile-services" transform="translate(15.000000, 425.898333)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30.0011092,21.5357707 C29.4125119,21.1950335 28.7290322,21 28,21 C27.2685186,21 26.5828964,21.1963461 25.9929619,21.5392097 L23.1145512,18.1809622 C23.6708634,17.432156 24,16.504515 24,15.5 C24,14.3906757 23.5985973,13.3751041 22.9331138,12.590607 L24.9263454,9.93387288 C25.1105489,9.977122 25.3026027,10 25.5,10 C26.8807119,10 28,8.88071187 28,7.5 C28,6.11928813 26.8807119,5 25.5,5 C24.1192881,5 23,6.11928813 23,7.5 C23,7.94894056 23.1183351,8.37024248 23.3255151,8.73441568 L21.3340363,11.3894793 C20.7738858,11.1391713 20.1531955,11 19.5,11 C18.300645,11 17.2108778,11.4692008 16.4042415,12.2340592 L13.9415885,10.5920657 C13.9799014,10.400661 14,10.2026776 14,10 C14,8.34314575 12.6568542,7 11,7 C9.34314575,7 8,8.34314575 8,10 C8,11.6568542 9.34314575,13 11,13 C11.7271223,13 12.3938258,12.741316 12.9131003,12.3109582 L15.2935368,13.8979357 C15.1038711,14.3956458 15,14.9356927 15,15.5 C15,16.1810495 15.1512936,16.8267624 15.4221048,17.4053628 L11.695466,20.3038146 C11.340333,20.1100926 10.9330233,20 10.5,20 C9.11928813,20 8,21.1192881 8,22.5 C8,23.8807119 9.11928813,25 10.5,25 C11.8807119,25 13,23.8807119 13,22.5 C13,22.286925 12.9733436,22.0800759 12.9231838,21.8826056 L16.6499007,18.9825485 C17.4259628,19.6184248 18.4184206,20 19.5,20 C20.2570179,20 20.9703763,19.8130715 21.5964354,19.4828542 L24.5657994,22.947893 C24.2065164,23.5478609 24,24.2498132 24,25 C24,26.2589117 24.5815758,27.3819891 25.4907148,28.1152196 C22.7594493,29.4088759 19.0298244,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="11px" height="10px" viewBox="0 0 11 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>8FDB48E7-691D-43C7-B7AD-DC381E7FA74C@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="2b-Events---open-groups" transform="translate(-323.000000, -268.000000)" fill="#3F3F3F">
<g id="List" transform="translate(20.000000, 138.000000)">
<g id="Conmutador" transform="translate(0.000000, 26.000000)">
<g id="Group" transform="translate(10.000000, 48.000000)">
<g id="Elements-/-mobile-/-Event-card">
<g id="Event">
<g id="Secondary" transform="translate(10.000000, 55.000000)">
<g id="Label-star" transform="translate(282.000000, 0.000000)">
<path d="M6.5,9.75 L4.47286801,10.8157264 C3.98402343,11.0727272 3.37939627,10.8847806 3.12239546,10.3959361 C3.02005639,10.2012756 2.98474172,9.9783075 3.02191856,9.76154987 L3.40906632,7.50430523 L3.40906632,7.50430523 L1.7690821,5.9057157 C1.37359852,5.52021449 1.36550621,4.88710123 1.75100742,4.49161765 C1.90451603,4.33413401 2.10565844,4.23164683 2.32329547,4.20002232 L4.58969793,3.87069477 L4.58969793,3.87069477 L5.60326392,1.81698575 C5.84768622,1.32173209 6.44731205,1.11839309 6.94256571,1.36281539 C7.13977832,1.46014562 7.29940584,1.61977315 7.39673608,1.81698575 L8.41030207,3.87069477 L8.41030207,3.87069477 L10.6767045,4.20002232 C11.2232494,4.27943994 11.6019308,4.78688279 11.5225132,5.33342765 C11.4908887,5.55106469 11.3884015,5.7522071 11.2309179,5.9057157 L9.59093368,7.50430523 L9.59093368,7.50430523 L9.97808144,9.76154987 C10.0714424,10.3058863 9.70585462,10.8228422 9.16151817,10.9162033 C8.94476055,10.9533801 8.72179247,10.9180654 8.52713199,10.8157264 L6.5,9.75 L6.5,9.75 Z" id="Star"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29.3024689px" viewBox="0 0 30 29.3024689" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>51F33933-7E26-4D16-9D45-F3415926FFF6</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -288.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 166.000000)">
<g id="Mobile-visual-consoles" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,25.8641319 26.679133,28.2269482 21.9361208,29.3022878 C21.9771584,29.207048 22,29.1054294 22,29 L21.992772,28.8977558 C21.921078,28.3934997 21.3248737,28 20.6,28 L17,28 L17,24 L23,24 C24.1045695,24 25,23.1045695 25,22 L25,10 C25,8.8954305 24.1045695,8 23,8 L7,8 C5.8954305,8 5,8.8954305 5,10 L5,22 C5,23.1045695 5.8954305,24 7,24 L13,24 L13,28 L9.4,28 C8.62680135,28 8,28.4477153 8,29 C8,29.1054294 8.02284162,29.207048 8.0651829,29.3024689 C3.32086702,28.2269482 0,25.8641319 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -583,7 +583,7 @@ if (check_login()) {
}
if (empty($table->data)) {
ui_print_error_message(__('No available data to showaaaa'));
ui_print_error_message(__('No available data to show'));
} else {
ui_pagination(
count($count),

View File

@ -1294,6 +1294,7 @@ class CredentialStore extends Wizard
$('#div-extra_1').append(
$('<input type="text" name="extra_1" id="text-extra_1" size="50" value="'+val+'"></input>')
);
hideSNMP();
}
if ($('#product :selected').val() == "CUSTOM") {
@ -1303,6 +1304,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "AWS") {
$('#div-username label').text('<?php echo __('Access key ID'); ?>');
$('#div-password label').text('<?php echo __('Secret access key'); ?>');
@ -1310,6 +1312,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "AZURE") {
$('#div-username label').text('<?php echo __('Client ID'); ?>');
$('#div-password label').text('<?php echo __('Application secret'); ?>');
@ -1319,6 +1322,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').show();
$('#div-extra_2').show();
hideSNMP();
} else if ($('#product :selected').val() == "SAP") {
$('#div-username label').text('<?php echo __('Account ID.'); ?>');
$('#div-password label').text('<?php echo __('Password'); ?>');
@ -1326,6 +1330,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "GOOGLE") {
$('#div-username').hide();
$('#div-password').hide();
@ -1341,6 +1346,7 @@ class CredentialStore extends Wizard
$('<textarea name="extra_1" id="text-extra_1">'+val+'</textarea>')
);
$('#div-extra_1').show();
hideSNMP();
} else if ($('#product :selected').val() == "WMI") {
$('#div-username label').text('<?php echo __('Username'); ?>');
$('#div-password label').text('<?php echo __('Password'); ?>');
@ -1349,16 +1355,19 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').show();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "SNMP") {
$('#div-username').hide();
$('#div-password').hide();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
$('#li_snmp_1').show();
$('#li_snmp_2').show();
if ($('#li_snmp_1').length > 0) {
console.log($('#li_snmp_1').length);
const test = '<?php echo $json_values; ?>';
console.log(test);
$('#version').val('1');
$('#version').trigger('change');
} else {
const ul = $('#modal_form').children('ul')[0];

View File

@ -1032,10 +1032,14 @@ class Diagnostics extends Wizard
$unit = 'M';
$pathServerLogs = '/var/log/pandora/pandora_server.log';
$logs_directory = (empty($config['server_log_dir']) === false)
? io_safe_output($config['server_log_dir'])
: '/var/log/pandora';
$pathServerLogs = $logs_directory.'/pandora_server.log';
$servers = $this->getLogInfo($pathServerLogs);
$pathErrLogs = '/var/log/pandora/pandora_server.error';
$pathErrLogs = $logs_directory.'/pandora_server.error';
$errors = $this->getLogInfo($pathErrLogs);
$pathConsoleLogs = $config['homedir'].'/log/console.log';

View File

@ -468,18 +468,14 @@ class ManageNetScanScripts extends Wizard
echo "<form name=reconscript method='post' action='".$url."'>";
echo html_print_input_hidden('page', 1, true);
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Add'),
'crtbutton',
false,
[ 'icon' => 'next' ],
true
),
],
true
html_print_action_buttons(
html_print_submit_button(
__('Add'),
'crtbutton',
false,
[ 'icon' => 'next' ],
true
)
);
echo '</form>';
} else {
@ -564,7 +560,7 @@ class ManageNetScanScripts extends Wizard
$data = [];
$data[0] = __('Description');
$data[1] = '<textarea name="form_description" cols="50" rows="4">';
$data[1] = '<textarea name="form_description" cols="69" rows="5">';
$data[1] .= $form_description;
$data[1] .= '</textarea>';
$table->data['recon_description'] = $data;

View File

@ -1723,6 +1723,12 @@ class NetworkMap
$item['image_width'] = 0;
$item['image_height'] = 0;
if (empty($node['style']['image']) === false) {
if (strpos($node['style']['image'], '.svg') === false) {
$node['style']['image'] = os_transform_url_icon(
$node['style']['image']
);
}
$item['image_url'] = ui_get_full_url(
$node['style']['image'],
false,

View File

@ -666,16 +666,17 @@ class SnmpConsole extends HTML
}
if ($filters['filter_free_search'] !== '') {
$free_search_str = io_safe_output($filters['filter_free_search']);
$whereSubquery .= '
AND (source LIKE "%'.$filters['filter_free_search'].'%" OR
oid LIKE "%'.$filters['filter_free_search'].'%" OR
oid_custom LIKE "%'.$filters['filter_free_search'].'%" OR
type_custom LIKE "%'.$filters['filter_free_search'].'%" OR
value LIKE "%'.$filters['filter_free_search'].'%" OR
value_custom LIKE "%'.$filters['filter_free_search'].'%" OR
id_usuario LIKE "%'.$filters['filter_free_search'].'%" OR
text LIKE "%'.$filters['filter_free_search'].'%" OR
description LIKE "%'.$filters['filter_free_search'].'%")';
AND (source LIKE "%'.$free_search_str.'%" OR
oid LIKE "%'.$free_search_str.'%" OR
oid_custom LIKE "%'.$free_search_str.'%" OR
type_custom LIKE "%'.$free_search_str.'%" OR
value LIKE "%'.$free_search_str.'%" OR
value_custom LIKE "%'.$free_search_str.'%" OR
id_usuario LIKE "%'.$free_search_str.'%" OR
text LIKE "%'.$free_search_str.'%" OR
description LIKE "%'.$free_search_str.'%")';
}
if ($filters['filter_status'] != -1) {
@ -718,6 +719,7 @@ class SnmpConsole extends HTML
}
$sql = sprintf($sql, $whereSubquery, $start, $length);
$sql_count = 'SELECT COUNT(id_trap) FROM ttrap
WHERE (
source IN ('.implode(',', $address_by_user_groups).") OR
@ -907,7 +909,7 @@ class SnmpConsole extends HTML
).'</a>';
if ($config['enterprise_installed']) {
$tmp->action .= '<a href="index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form&oid='.$tmp->oid.'&custom_oid='.urlencode($tmp->oid_custom).'&severity='.$tmp->severity.'&text='.io_safe_input($tmp->text).'&description='.io_safe_input($tmp->description, ENT_QUOTES).'" title="'.io_safe_input($tmp->description, ENT_QUOTES).'">';
$tmp->action .= '<a href="index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form&id='.$tmp->id_trap.'&oid='.$tmp->oid.'&custom_oid='.urlencode($tmp->oid_custom).'&severity='.$tmp->severity.'&text='.io_safe_input($tmp->text).'&description='.io_safe_input($tmp->description, ENT_QUOTES).'" title="'.io_safe_input($tmp->description, ENT_QUOTES).'">';
$tmp->action .= html_print_image(
'images/edit.svg',
true,

View File

@ -20,7 +20,7 @@
/**
* Pandora build version and version
*/
$build_version = 'PC230418';
$build_version = 'PC230426';
$pandora_version = 'v7.0NG.770';
// Do not overwrite default timezone set if defined.

View File

@ -814,6 +814,7 @@ define('AUDIT_LOG_SERVICE_MANAGEMENT', 'Service management');
define('AUDIT_LOG_INCIDENT_MANAGEMENT', 'Incident management');
define('AUDIT_LOG_UMC', 'Warp Manager');
define('AUDIT_LOG_NMS_VIOLATION', 'NMS Violation');
define('AUDIT_LOG_ENTERPRISE_VIOLATION', 'Enterprise Violation');
// MIMEs.
define(

View File

@ -3908,7 +3908,14 @@ function series_type_graph_array($data, $show_elements_graph)
$type_graph = $show_elements_graph['type_graph'];
}
$color_series = color_graph_array();
if (isset($show_elements_graph['array_colors']) === true
&& empty($show_elements_graph['array_colors']) === false
&& is_array($show_elements_graph['array_colors']) === true
) {
$color_series = $show_elements_graph['array_colors'];
} else {
$color_series = color_graph_array();
}
if ($show_elements_graph['id_widget_dashboard']) {
$opcion = unserialize(
@ -4050,7 +4057,7 @@ function series_type_graph_array($data, $show_elements_graph)
$name_legend .= ' * '.$value['weight'].') ';
}
$data_return['legend'][$key] = $name_legend;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.$name_legend.'</span>';
if ((int) $value['min'] === PHP_INT_MAX) {
$value['min'] = 0;
}
@ -4059,28 +4066,28 @@ function series_type_graph_array($data, $show_elements_graph)
$value['max'] = 0;
}
$data_return['legend'][$key] .= __('Min:').remove_right_zeros(
$data_return['legend'][$key] .= '<span class="legend-font-small">'.__('Min').' </span><span class="bolder">'.remove_right_zeros(
number_format(
$value['min'],
$config['graph_precision'],
$config['csv_decimal_separator'],
$config['csv_decimal_separator'] == ',' ? '.' : ','
)
).' '.__('Max:').remove_right_zeros(
).' '.$value['unit'].'</span>&nbsp;<span class="legend-font-small">'.__('Max').' </span><span class="bolder">'.remove_right_zeros(
number_format(
$value['max'],
$config['graph_precision'],
$config['csv_decimal_separator'],
$config['csv_decimal_separator'] == ',' ? '.' : ','
)
).' '._('Avg:').remove_right_zeros(
).' '.$value['unit'].'</span>&nbsp;<span class="legend-font-small">'._('Avg.').' </span><span class="bolder">'.remove_right_zeros(
number_format(
$value['avg'],
$config['graph_precision'],
$config['csv_decimal_separator'],
$config['csv_decimal_separator'] == ',' ? '.' : ','
)
).' '.$str;
).' '.$value['unit'].'</span>&nbsp;'.$str;
if ($show_elements_graph['compare'] == 'overlapped'
&& $key == 'sum2'
@ -4122,9 +4129,9 @@ function series_type_graph_array($data, $show_elements_graph)
$name_legend .= $value['module_name'].': ';
}
$data_return['legend'][$key] = $name_legend;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.$name_legend.'</span>';
if ($show_elements_graph['type_mode_graph']) {
$data_return['legend'][$key] .= __('Min:');
$data_return['legend'][$key] .= '<span class="legend-font-small">'.__('Min:').' </span><span class="bolder">';
$data_return['legend'][$key] .= remove_right_zeros(
number_format(
$value['min'],
@ -4132,8 +4139,8 @@ function series_type_graph_array($data, $show_elements_graph)
$config['decimal_separator'],
$config['thousand_separator']
)
);
$data_return['legend'][$key] .= ' '.__('Max:');
).' '.$value['unit'];
$data_return['legend'][$key] .= '</span>&nbsp;<span class="legend-font-small">'.__('Max:').' </span><span class="bolder">';
$data_return['legend'][$key] .= remove_right_zeros(
number_format(
$value['max'],
@ -4141,8 +4148,8 @@ function series_type_graph_array($data, $show_elements_graph)
$config['decimal_separator'],
$config['thousand_separator']
)
);
$data_return['legend'][$key] .= ' '._('Avg:');
).' '.$value['unit'];
$data_return['legend'][$key] .= '</span>&nbsp;<span class="legend-font-small">'._('Avg:').' </span><span class="bolder">';
$data_return['legend'][$key] .= remove_right_zeros(
number_format(
$value['avg'],
@ -4150,7 +4157,7 @@ function series_type_graph_array($data, $show_elements_graph)
$config['decimal_separator'],
$config['thousand_separator']
)
).' '.$str;
).' '.$value['unit'].' </span>&nbsp;'.$str;
}
if ($show_elements_graph['compare'] == 'overlapped'
@ -4164,21 +4171,21 @@ function series_type_graph_array($data, $show_elements_graph)
} else if (strpos($key, 'event') !== false) {
$data_return['series_type'][$key] = 'points';
if ($show_elements_graph['show_events']) {
$data_return['legend'][$key] = __('Events').' '.$str;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Events').'</span>'.$str;
}
$data_return['color'][$key] = $color_series['event'];
} else if (strpos($key, 'alert') !== false) {
$data_return['series_type'][$key] = 'points';
if ($show_elements_graph['show_alerts']) {
$data_return['legend'][$key] = __('Alert').' '.$str;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Alert').'</span>'.$str;
}
$data_return['color'][$key] = $color_series['alert'];
} else if (strpos($key, 'unknown') !== false) {
$data_return['series_type'][$key] = 'unknown';
if ($show_elements_graph['show_unknown']) {
$data_return['legend'][$key] = __('Unknown').' '.$str;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Unknown').'</span>'.$str;
}
$data_return['color'][$key] = $color_series['unknown'];
@ -4186,7 +4193,7 @@ function series_type_graph_array($data, $show_elements_graph)
$data_return['series_type'][$key] = 'percentil';
if ($show_elements_graph['percentil']) {
if ($show_elements_graph['unit']) {
$name_legend = __('Percentil').' ';
$name_legend = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Percentil').'</span>';
$name_legend .= $config['percentil'].'º ';
$name_legend .= __('of module').' ';
$name_legend .= $value['agent_alias'].' / ';

View File

@ -1222,6 +1222,10 @@ function config_update_config()
$error_update[] = __('Mobile view not allow visual console orientation');
}
if (config_update_value('display_item_frame', (int) get_parameter('display_item_frame'), true) === false) {
$error_update[] = __('Display item frame on alert triggered');
}
if (config_update_value('ser_menu_items', (int) get_parameter('ser_menu_items', 10), true) === false) {
$error_update[] = __('Default line menu items for the Services');
}
@ -3417,6 +3421,10 @@ function config_process_config()
config_update_value('mobile_view_orientation_vc', 0);
}
if (isset($config['display_item_frame']) === false) {
config_update_value('display_item_frame', 1);
}
if (!isset($config['agent_size_text_small'])) {
config_update_value('agent_size_text_small', 18);
}

View File

@ -833,6 +833,10 @@ function grafico_modulo_sparse($params)
$params['basic_chart'] = false;
}
if (isset($params['array_colors']) === false) {
$params['array_colors'] = false;
}
// If is metaconsole set 10pt size value.
if (is_metaconsole()) {
$font_size = '10';

View File

@ -251,6 +251,22 @@ function groups_check_used($idGroup)
$return['tables'][] = __('Network maps');
}
switch ($config['dbtype']) {
case 'mysql':
case 'postgresql':
$numRows = db_get_num_rows('SELECT * FROM talert_snmp WHERE id_group = '.$idGroup.';');
break;
case 'oracle':
$numRows = db_get_num_rows('SELECT * FROM talert_snmp WHERE id_group = '.$idGroup);
break;
}
if ($numRows > 0) {
$return['return'] = true;
$return['tables'][] = __('SNMP alerts');
}
$hookEnterprise = enterprise_include_once('include/functions_groups.php');
if ($hookEnterprise !== ENTERPRISE_NOT_HOOK) {
$returnEnterprise = enterprise_hook('groups_check_used_group_enterprise', [$idGroup]);

View File

@ -77,7 +77,7 @@ function html_debug_print($var, $file='', $oneline=false)
fprintf($f, '%s', $output);
fclose($f);
} else {
echo '<pre class="bg_white pdd_1em zindex10000">'.date('Y/m/d H:i:s').' ('.gettype($var).') '.$more_info."\n";
echo '<pre class="bg_white pdd_1em zindex10000 relative-mobile">'.date('Y/m/d H:i:s').' ('.gettype($var).') '.$more_info."\n";
print_r($var);
echo '</pre>';
}
@ -2130,10 +2130,7 @@ function html_print_extended_select_for_time(
$fields[$selected] = human_time_description_raw($selected, true);
}
if (empty($nothing) === true
&& (empty($selected) === true
|| $selected === '0')
) {
if (empty($nothing) === true && (is_int($selected) === true)) {
$selected = 300;
}
@ -2248,6 +2245,13 @@ function html_print_extended_select_for_time(
$('#".$uniq_name."_manual').show();
$('#".$uniq_name."_default').hide();
}
if ($('#text-".$uniq_name."_text').val() === '0') {
setTimeout(() => {
$('#".$uniq_name."_manual').hide();
$('#".$uniq_name."_default').show();
}, 100);
}
</script>";
$returnString = ob_get_clean();
@ -2880,6 +2884,7 @@ function html_print_input_password(
$class='',
$autocomplete='off',
$hide_div_eye=false,
$div_class=''
) {
if ($maxlength == 0) {
$maxlength = 255;
@ -2910,7 +2915,7 @@ function html_print_input_password(
}
}
return '<div class="relative container-div-input-password">'.html_print_input_text_extended($name, $value, 'password-'.$name, $alt, $size, $maxlength, $disabled, '', $attr, $return, true, '', $autocomplete, false, $hide_div_eye).'</div>';
return '<div class="relative container-div-input-password '.$div_class.'">'.html_print_input_text_extended($name, $value, 'password-'.$name, $alt, $size, $maxlength, $disabled, '', $attr, $return, true, '', $autocomplete, false, $hide_div_eye).'</div>';
}

View File

@ -570,7 +570,7 @@ function network_components_get_name($id_network_component)
return false;
}
return @db_get_value('name', 'tnetwork_component', 'id', $id_network_component);
return @db_get_value('name', 'tnetwork_component', 'id_nc', $id_network_component);
}

View File

@ -1118,7 +1118,7 @@ function notifications_print_dropdown_element($message_info)
$message_info['id_mensaje'],
messages_get_url($message_info['id_mensaje']),
$target,
html_print_image('images/'.$message_info['icon'], true),
html_print_image('images/info.svg', true, ['style' => 'height: 40px;margin-left: -20px;margin-top: -40px;']),
io_safe_output($message_info['subject']),
$body_preview
);

View File

@ -232,3 +232,97 @@ function os_get_icon($id_os)
{
return db_get_value('icon_name', 'tconfig_os', 'id_os', (int) $id_os);
}
/**
* Transform the old icon url.
*
* @param string $url_icon Icon url .
*
* @return string
*/
function os_transform_url_icon($url_icon)
{
$return = substr($url_icon, 0, strpos($url_icon, basename($url_icon)));
switch (basename($url_icon)) {
case 'android.png':
$return .= 'android@os.svg';
break;
case 'so_mac.png':
$return .= 'apple@os.svg';
break;
case 'so_cisco.png':
$return .= 'cisco@os.svg';
break;
case 'so_aix.png':
$return .= 'aix@os.svg';
break;
case 'so_win.png':
$return .= 'windows@os.svg';
break;
case 'so_vmware.png':
$return .= 'vmware@os.svg';
break;
case 'so_solaris.png':
$return .= 'solaris@os.svg';
break;
case 'so_linux.png':
$return .= 'linux@os.svg';
break;
case 'so_bsd.png':
$return .= 'freebsd@os.svg';
break;
case 'so_cluster.png':
$return .= 'cluster@os.svg';
break;
case 'so_other.png':
$return .= 'other-OS@os.svg';
break;
case 'so_switch.png':
$return .= 'switch@os.svg';
break;
case 'so_mainframe.png':
$return .= 'mainframe@os.svg';
break;
case 'so_hpux.png':
case 'server_hpux.png':
$return .= 'HP@os.svg';
break;
case 'so_router.png':
case 'router.png':
$return .= 'routers@os.svg';
break;
case 'embedded.png':
$return .= 'embedded@os.svg';
break;
case 'network.png':
$return .= 'network-server@os.svg';
break;
case 'satellite.png':
$return .= 'satellite@os.svg';
break;
default:
$return = $url_icon;
break;
}
return $return;
}

View File

@ -12130,6 +12130,70 @@ function reporting_get_stats_indicators($data, $width=280, $height=20, $html=tru
}
function reporting_get_stats_indicators_mobile($data, $width=280, $height=20, $html=true)
{
$table_ind = html_get_predefined_table();
$servers = [];
$servers['all'] = (int) db_get_value('COUNT(id_server)', 'tserver');
$servers['up'] = (int) servers_check_status();
$servers['down'] = ($servers['all'] - $servers['up']);
if ($servers['all'] == 0) {
$servers['health'] = 0;
} else {
$servers['health'] = ($servers['up'] / ($servers['all'] / 100));
}
$return = [];
$color = get_color_progress_mobile($servers['health']);
$return['server_health'] = [
'title' => __('Server health'),
'graph' => ui_progress($servers['health'], '90%', '.8', $color, true, '&nbsp;', false),
];
$color = get_color_progress_mobile($data['monitor_health']);
$return['monitor_health'] = [
'title' => __('Monitor health'),
'graph' => ui_progress($data['monitor_health'], '90%', '.8', $color, true, '&nbsp;', false),
];
$color = get_color_progress_mobile($data['module_sanity']);
$return['module_sanity'] = [
'title' => __('Module sanity'),
'graph' => ui_progress($data['module_sanity'], '90%', '.8', $color, true, '&nbsp;', false),
];
$color = get_color_progress_mobile($data['alert_level']);
$return['alert_level'] = [
'title' => __('Alert level'),
'graph' => ui_progress($data['alert_level'], '90%', '.8', $color, true, '&nbsp;', false),
];
return $return;
}
function get_color_progress_mobile($value)
{
$color = '';
if ((int) $value > 66) {
$color = '#82B92E';
}
if ((int) $value < 66) {
$color = '#FCAB10';
}
if ((int) $value < 33) {
$color = '#ED474A';
}
return $color;
}
function reporting_get_stats_alerts($data, $links=false)
{
global $config;

View File

@ -522,7 +522,7 @@ function servers_get_rate($avg_interval, $num_modules)
*
* @return mixed False in case the server doesn't exist or an array with info.
*/
function servers_get_info($id_server=-1)
function servers_get_info($id_server=-1, $sql_limit=-1)
{
global $config;
@ -538,6 +538,14 @@ function servers_get_info($id_server=-1)
SELECT *
FROM tserver '.$select_id.'
ORDER BY server_type';
if ($sql_limit !== -1) {
$sql = '
SELECT *
FROM tserver '.$select_id.'
ORDER BY server_type'.$sql_limit;
}
$result = db_get_all_rows_sql($sql);
$time = get_system_time();
@ -996,12 +1004,14 @@ function servers_get_info($id_server=-1)
'SELECT UNIX_TIMESTAMP() - utimestamp
FROM trecon_task
WHERE UNIX_TIMESTAMP() > (utimestamp + interval_sweep)
AND interval_sweep > 0
AND id_recon_server = '.$server['id_server']
);
$server['module_lag'] = db_get_sql(
'SELECT COUNT(id_rt)
FROM trecon_task
WHERE UNIX_TIMESTAMP() > (utimestamp + interval_sweep)
AND interval_sweep > 0
AND id_recon_server = '.$server['id_server']
);
} else {

View File

@ -1302,9 +1302,10 @@ function snmp_browser_create_modules_snmp(
$snmp3_auth_pass = $snmp_values['snmp3_browser_auth_pass'];
}
if (isset($snmp_values['snmp3_privacy_method']) === true) {
$snmp3_privacy_method = $snmp_values['snmp3_privacy_method'];
if (isset($snmp_values['snmp3_browser_privacy_method']) === true) {
$snmp3_privacy_method = $snmp_values['snmp3_browser_privacy_method'];
};
if (isset($snmp_values['snmp3_browser_privacy_pass']) === true) {
$snmp3_privacy_pass = $snmp_values['snmp3_browser_privacy_pass'];
}
@ -1376,9 +1377,9 @@ function snmp_browser_create_modules_snmp(
'id_module_group' => 3,
'id_modulo' => 2,
'id_plugin' => 0,
'plugin_user' => '',
'plugin_pass' => '',
'plugin_parameter' => '',
'plugin_user' => $snmp3_auth_user,
'plugin_pass' => $snmp3_auth_pass,
'plugin_parameter' => $snmp3_auth_method,
'macros' => '',
'max_timeout' => 0,
'max_retries' => 0,
@ -1394,9 +1395,9 @@ function snmp_browser_create_modules_snmp(
'max_critical' => 0,
'str_critical' => '',
'min_ff_event' => 0,
'custom_string_1' => '',
'custom_string_2' => '',
'custom_string_3' => '',
'custom_string_1' => $snmp3_privacy_method,
'custom_string_2' => $snmp3_privacy_pass,
'custom_string_3' => $snmp3_security_level,
'post_process' => 0,
'unit' => '',
'wizard_level' => 'nowizard',
@ -1435,9 +1436,9 @@ function snmp_browser_create_modules_snmp(
'id_module_group' => 3,
'id_modulo' => 2,
'id_plugin' => 0,
'plugin_user' => '',
'plugin_pass' => '',
'plugin_parameter' => '',
'plugin_user' => $snmp3_auth_user,
'plugin_pass' => $snmp3_auth_pass,
'plugin_parameter' => $snmp3_auth_method,
'macros' => '',
'max_timeout' => 0,
'max_retries' => 0,
@ -1453,9 +1454,9 @@ function snmp_browser_create_modules_snmp(
'max_critical' => 0,
'str_critical' => '',
'min_ff_event' => 0,
'custom_string_1' => '',
'custom_string_2' => '',
'custom_string_3' => '',
'custom_string_1' => $snmp3_privacy_method,
'custom_string_2' => $snmp3_privacy_pass,
'custom_string_3' => $snmp3_security_level,
'post_process' => 0,
'unit' => '',
'wizard_level' => 'nowizard',
@ -1496,9 +1497,9 @@ function snmp_browser_create_modules_snmp(
'snmp_community' => $community,
'id_module_group' => 3,
'id_plugin' => 0,
'plugin_user' => '',
'plugin_pass' => '',
'plugin_parameter' => '',
'plugin_user' => $snmp3_auth_user,
'plugin_pass' => $snmp3_auth_pass,
'plugin_parameter' => $snmp3_auth_method,
'macros' => '',
'max_timeout' => 0,
'max_retries' => 0,
@ -1514,9 +1515,9 @@ function snmp_browser_create_modules_snmp(
'max_critical' => 0,
'str_critical' => '',
'min_ff_event' => 0,
'custom_string_1' => '',
'custom_string_2' => '',
'custom_string_3' => '',
'custom_string_1' => $snmp3_privacy_method,
'custom_string_2' => $snmp3_privacy_pass,
'custom_string_3' => $snmp3_security_level,
'post_process' => 0,
'unit' => '',
'macros' => '',

View File

@ -7459,13 +7459,20 @@ function ui_get_inventory_module_add_form(
0,
'',
__('Select inventory module'),
0,
'',
true,
false,
false,
'w100p',
false,
'width: 100%'
'width: 100%',
false,
false,
false,
'',
false,
false,
true
)
);
} else {
@ -7560,81 +7567,95 @@ function ui_get_inventory_module_add_form(
$table->data['userpass-row'] = $row;
$row = [];
$row['hidden-title'] = '';
$row['hidden-input'] = html_print_input_hidden('hidden-custom-field-name', '', true);
$row['hidden-input'] .= html_print_input_hidden('hidden-custom-field-is-secure', 0, true);
$row['hidden-input'] .= html_print_input_text(
'hidden-custom-field-input',
'',
'',
25,
40,
true,
false,
false,
'',
'w93p'
);
$row['hidden-input'] .= html_print_image(
'images/delete.svg',
true,
[
'border' => '0',
'title' => __('Remove'),
'style' => 'cursor: pointer;',
'class' => 'remove-custom-field invert_filter',
]
);
$table->data['hidden-custom-field-row'] = $row;
$table->data['hidden-custom-field-row'] = html_print_label_input_block(
'',
'<div class="agent_details_agent_data">'.html_print_input_hidden(
'hidden-custom-field-name',
'',
true
).html_print_input_hidden(
'hidden-custom-field-is-secure',
0,
true
).html_print_input_text(
'hidden-custom-field-input',
'',
'',
25,
40,
true,
false,
false,
'',
'w100p'
).html_print_image(
'images/delete.svg',
true,
[
'border' => '0',
'title' => __('Remove'),
'style' => 'cursor: pointer;',
'class' => 'remove-custom-field invert_filter main_menu_icon',
]
).'</div>'
);
$table->colspan['hidden-custom-field-row'][0] = 2;
if ($custom_fields_enabled) {
foreach ($custom_fields as $i => $field) {
$row = [];
$row['title'] = '<b>'.$field['name'].'</b>';
$row['input'] = html_print_input_hidden(
'custom_fields['.$i.'][name]',
$field['name'],
true
);
$row['input'] .= html_print_input_hidden(
'custom_fields['.$i.'][secure]',
$field['secure'],
true
);
if ($field['secure']) {
$row['input'] .= html_print_input_password(
$secure = html_print_input_password(
'custom_fields['.$i.'][value]',
$field['value'],
io_safe_input($field['value']),
'',
25,
false,
40,
true
true,
false,
false,
'',
'off',
false,
'w100p'
);
} else {
$row['input'] .= html_print_input_text(
$secure = html_print_input_text(
'custom_fields['.$i.'][value]',
$field['value'],
io_safe_input($field['value']),
'',
25,
false,
40,
true
true,
false,
false,
'',
'w100p'
);
}
$row['input'] .= '<span>&nbsp;</span>';
$row['input'] .= html_print_image(
'images/delete.svg',
true,
[
'border' => '0',
'title' => __('Remove'),
'style' => 'cursor: pointer;',
'class' => 'remove-custom-field invert_filter',
]
$table->colspan['custom-field-row-'.$i][0] = 2;
$table->data['custom-field-row-'.$i] = html_print_label_input_block(
$field['name'],
'<div class="agent_details_agent_data">'.html_print_input_hidden(
'custom_fields['.$i.'][name]',
$field['name'],
true
).html_print_input_hidden(
'custom_fields['.$i.'][secure]',
$field['secure'],
true
).$secure.html_print_image(
'images/delete.svg',
true,
[
'border' => '0',
'title' => __('Remove'),
'style' => 'cursor: pointer;',
'class' => 'remove-custom-field invert_filter main_menu_icon',
]
).'</div>'
);
$table->data['custom-field-row-'.$i] = $row;
}
}
@ -7693,46 +7714,50 @@ function ui_get_inventory_module_add_form(
$("#inventory-module-form-userpass-row").hide();
$("#inventory-module-form-custom-fields-row").show();
$("tr[id^=inventory-module-form-custom-field-row-]").show();
$('#inventory-module-form-custom-fields-button').show();
} else {
$("#inventory-module-form-userpass-row").show();
$("#inventory-module-form-custom-fields-row").hide();
$("tr[id^=inventory-module-form-custom-field-row-]").hide();
$('#inventory-module-form-custom-fields-button').hide();
}
}
function add_row_for_custom_field (fieldName, isSecure) {
var custom_fields_num = $("tr[id^=inventory-module-form-custom-field-row-]").length;
$("#inventory-module-form-hidden-custom-field-row")
.clone()
.prop("id", "inventory-module-form-custom-field-row-" + custom_fields_num)
.children("#inventory-module-form-hidden-custom-field-row-hidden-title")
.prop("id", "inventory-module-form-custom-field-row-title-" + custom_fields_num)
.html("<b>" + fieldName + "</b>")
.parent()
.children("#inventory-module-form-hidden-custom-field-row-hidden-input")
.prop("id", "inventory-module-form-custom-field-row-input-" + custom_fields_num)
.prop("colspan", 2)
.children("input[name=hidden-custom-field-name]")
.clone()
.prop("id", "inventory-module-form-custom-field-row-" + custom_fields_num)
.children("[id^='inventory-module-form-hidden-custom-field-row']") // go to TD
.prop("id", "inventory-module-form-hidden-custom-field-row-"+ custom_fields_num)
.children() // go to DIV
.find('label')
.html(fieldName)
.parent() // up to DIV padre
.find('div') //go to DIV no label
.children("[id^=hidden-hidden-custom-field-name]")
.prop("id", "custom-field-name-" + custom_fields_num)
.prop("name", "custom_fields[" + custom_fields_num + "][name]")
.val(fieldName)
.prop("value", fieldName)
.parent()
.children("input[name=hidden-custom-field-is-secure]")
.prop("id", "custom-field-is-secure-" + custom_fields_num)
.prop("name", "custom_fields[" + custom_fields_num + "][secure]")
.val(isSecure ? 1 : 0)
.parent()
.children("input[name=hidden-custom-field-input]")
.prop("id", "custom-field-input-" + custom_fields_num)
.prop("type", isSecure ? "password" : "text")
.prop("name", "custom_fields[" + custom_fields_num + "][value]")
.parent()
.children("img.remove-custom-field")
.click(remove_custom_field)
.parent()
.parent()
.insertBefore($("#inventory-module-form-custom-fields-row"))
.show();
.children("input[name=hidden-custom-field-is-secure]")
.prop("id", "custom-field-is-secure-" + custom_fields_num)
.prop("name", "custom_fields[" + custom_fields_num + "][secure]")
.val(isSecure ? 1 : 0)
.parent()
.children("input[name=hidden-custom-field-input]")
.prop("id", "custom-field-input-" + custom_fields_num)
.prop("type", isSecure ? "password" : "text")
.prop("name", "custom_fields[" + custom_fields_num + "][value]")
.parent()
.children("img.remove-custom-field")
.click(remove_custom_field)
.parent()
.parent()
.parent() // up to TD
.parent() // up to TR
.insertBefore($("#inventory-module-form-custom-fields-row"))
.show();
}
function add_custom_field () {

View File

@ -2062,7 +2062,8 @@ function pandoraFlotArea(
yaxes: [
{
tickFormatter: yFormatter,
position: "left"
position: "left",
minTickSize: 0.5
}
],
legend: {
@ -2462,12 +2463,13 @@ function pandoraFlotArea(
$.each(update_legend, function(index, value) {
if (typeof value[x - 1] !== "undefined") {
data_legend[index] =
" Min: " +
"<span class='legend-font-small'> Min: </span><span class='bolder'>" +
number_format(value[x - 1].min, 0, unit, short_data, divisor) +
" Max: " +
"</span><span class='legend-font-small'> Max: </span><span class='bolder'>" +
number_format(value[x - 1].max, 0, unit, short_data, divisor) +
" Avg: " +
number_format(value[x - 1].avg, 0, unit, short_data, divisor);
"</span><span class='legend-font-small'> Avg: </span><span class='bolder'>" +
number_format(value[x - 1].avg, 0, unit, short_data, divisor) +
"</span>";
} else {
data_legend[index] = " Min: " + 0 + " Max: " + 0 + " Avg: " + 0;
}
@ -2475,9 +2477,9 @@ function pandoraFlotArea(
if (typeof data_legend[series.label] !== "undefined") {
label_aux =
legend[series.label].split(": Min")[0] +
": " +
data_legend[series.label];
legend[series.label].split(
'<span class="legend-font-small">'
)[0] + data_legend[series.label];
$("#legend_" + graph_id + " .legendLabel")
.eq(i)
.html(label_aux);

View File

@ -272,6 +272,11 @@ function flot_area_graph(
style=' width: ".$params['width'].'px;
height: '.$params['height']."px;'></div>";
$legend_top = 10;
if (empty($params['show_legend']) === false) {
$legend_top = (int) $params['height'];
}
if ($params['menu']) {
$params['height'] = 100;
} else {
@ -280,13 +285,9 @@ function flot_area_graph(
if ((bool) $params['vconsole'] === false) {
$return .= '<div id="overview_'.$graph_id.'" class="overview_graph" style="margin:0px; margin-top:30px; margin-bottom:50px; width:'.$params['width'].'px; height: 200px;"></div>';
$legend_top = 10;
if (empty($params['show_legend']) === false) {
$legend_top = (20 + (count($legend) * 18));
}
if ($water_mark != '' && (bool) $params['dashboard'] === false) {
$return .= '<div id="watermark_'.$graph_id.'" style="position:absolute; top: '.$legend_top.'px; left: calc(100% - 100px);">';
$return .= '<div id="watermark_'.$graph_id.'" style="position:absolute; bottom: '.$legend_top.'px; left: calc(100% - 100px);">';
$return .= '<img id="watermark_image_'.$graph_id.'" src="'.$water_mark['url'].'">';
$return .= '</div>';
}

View File

@ -3887,7 +3887,8 @@ function draw_elements_graph() {
return d.id + networkmap_id;
})
.attr("style", function(d) {
return d.id === 0 ? "filter: invert(0%)" : "";
const extension = d.image_url.split(".").pop();
return extension !== "svg" || d.id === 0 ? "filter: invert(0%)" : "";
})
.attr("id", "image2995")
.classed("dragable_node", true) //own dragable

View File

@ -1433,80 +1433,18 @@ function openURLTagWindow(url) {
* @param added_config Associative Array. Config to add adding default.
*/
function defineTinyMCE(added_config) {
// Default values
var buttons1 =
"bold,italic,underline,|,link,image,|,cut,copy,paste,|,undo,redo,|,forecolor,fontselect,fontsizeselect,|,justifyleft,justifycenter,justifyright";
var elements = added_config["elements"];
var plugins = added_config["plugins"];
// Initialize with fixed parameters. Some parameters must be initialized too.
tinyMCE.init({
mode: "exact",
theme: "advanced",
elements: elements,
plugins: plugins,
theme_advanced_buttons1: buttons1,
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location: "bottom",
theme_advanced_resizing: true,
convert_urls: false,
element_format: "html",
object_resizing: true,
autoresize_bottom_margin: 50,
autoresize_on_init: true,
extended_valid_elements: "img[*]"
function defineTinyMCE(selector) {
tinymce.init({
selector: selector,
plugins: "preview, searchreplace, table, nonbreaking",
promotion: false,
branding: false
});
if (!isEmptyObject(added_config)) {
// If use asterisk mask, you can add at end of buttons new buttons.
for (var key in added_config) {
switch (key) {
case "theme_advanced_buttons1*":
tinyMCE.settings.theme_advanced_buttons1 =
buttons1 + ",|," + added_config[key];
break;
case "theme_advanced_font_sizes":
tinyMCE.settings.theme_advanced_font_sizes =
"4pt=.visual_font_size_4pt, " +
"6pt=.visual_font_size_6pt, " +
"8pt=.visual_font_size_8pt, " +
"10pt=.visual_font_size_10pt, " +
"12pt=.visual_font_size_12pt, " +
"14pt=.visual_font_size_14pt, " +
"18pt=.visual_font_size_18pt, " +
"24pt=.visual_font_size_24pt, " +
"28pt=.visual_font_size_28pt, " +
"36pt=.visual_font_size_36pt, " +
"48pt=.visual_font_size_48pt, " +
"60pt=.visual_font_size_60pt, " +
"72pt=.visual_font_size_72pt, " +
"84pt=.visual_font_size_84pt, " +
"96pt=.visual_font_size_96pt, " +
"116pt=.visual_font_size_116pt, " +
"128pt=.visual_font_size_128pt, " +
"140pt=.visual_font_size_140pt, " +
"154pt=.visual_font_size_154pt, " +
"196pt=.visual_font_size_196pt";
break;
default:
tinyMCE.settings[key] = added_config[key];
break;
}
}
}
}
function removeTinyMCE(elementID) {
if (elementID.length > 0 && !isEmptyObject(tinyMCE))
tinyMCE.EditorManager.execCommand("mceRemoveControl", true, elementID);
}
function addTinyMCE(elementID) {
if (elementID.length > 0 && !isEmptyObject(tinyMCE))
tinyMCE.EditorManager.execCommand("mceAddControl", true, elementID);
tinyMCE.EditorManager.execCommand("mceAutoResize");
tinymce.EditorManager.execCommand("mceTableSizingMode", false, "responsive");
function UndefineTinyMCE(textarea_id) {
tinyMCE.remove(textarea_id);
$(textarea_id).show("");
}
function toggle_full_value(id) {

View File

@ -418,21 +418,10 @@ function initialiceLayout(data) {
onsubmit: {
page: data.page,
method: "saveWidgetIntoCell",
dataType: "json",
preaction: function() {
if (tinyMCE != undefined && tinyMCE.editors.length > 0 && widgetId) {
// Content tiny.
var label = tinyMCE.activeEditor.getContent();
$("#textarea_text").val(label);
}
}
dataType: "json"
},
ajax_callback: update_widget_to_cell,
onsubmitClose: 1,
beforeClose: function() {
tinyMCE.remove("#textarea_text");
tinyMCE.execCommand("mceRemoveControl", true, "textarea_text");
}
onsubmitClose: 1
});
}
@ -1438,45 +1427,7 @@ function dashboardLoadVC(settings) {
// eslint-disable-next-line no-unused-vars
function dashboardInitTinyMce(url) {
// Initialice.
tinyMCE.init({
selector: "#textarea_text",
theme: "advanced",
content_css: url + "include/styles/pandora.css",
theme_advanced_font_sizes:
"4pt=.visual_font_size_4pt, " +
"6pt=.visual_font_size_6pt, " +
"8pt=.visual_font_size_8pt, " +
"10pt=.visual_font_size_10pt, " +
"12pt=.visual_font_size_12pt, " +
"14pt=.visual_font_size_14pt, " +
"18pt=.visual_font_size_18pt, " +
"24pt=.visual_font_size_24pt, " +
"28pt=.visual_font_size_28pt, " +
"36pt=.visual_font_size_36pt, " +
"48pt=.visual_font_size_48pt, " +
"60pt=.visual_font_size_60pt, " +
"72pt=.visual_font_size_72pt, " +
"84pt=.visual_font_size_84pt, " +
"96pt=.visual_font_size_96pt, " +
"116pt=.visual_font_size_116pt, " +
"128pt=.visual_font_size_128pt, " +
"140pt=.visual_font_size_140pt, " +
"154pt=.visual_font_size_154pt, " +
"196pt=.visual_font_size_196pt",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_buttons1:
"bold,italic, |,justifyleft, justifycenter, justifyright, |, undo, redo, |, image, link",
theme_advanced_buttons2: "fontselect, forecolor, fontsizeselect, |,code",
theme_advanced_buttons3: "",
theme_advanced_statusbar_location: "none",
body_class: "",
forced_root_block: false,
force_p_newlines: false,
force_br_newlines: true,
convert_newlines_to_brs: false,
remove_linebreaks: true
});
UndefineTinyMCE("#textarea_text");
}
function debounce(func, wait, immediate) {

View File

@ -465,22 +465,19 @@ function event_comment(current_event) {
return false;
}
var params = [];
params.push("page=include/ajax/events");
params.push("add_comment=1");
if (event.event_rep > 0) {
params.push("event_id=" + event.max_id_evento);
} else {
params.push("event_id=" + event.id_evento);
}
params.push("comment=" + comment);
params.push("server_id=" + event.server_id);
var params = {
page: "include/ajax/events",
add_comment: 1,
event_id: event.event_rep > 0 ? event.max_id_evento : event.id_evento,
comment: comment,
server_id: event.server_id
};
$("#button-comment_button").attr("disabled", "disabled");
$("#response_loading").show();
jQuery.ajax({
data: params.join("&"),
data: params,
type: "POST",
url: getUrlAjax(),
dataType: "html",

View File

@ -1350,24 +1350,14 @@ function createOrUpdateVisualConsoleItem(
onshow: {
page: "include/rest-api/index",
method: "loadTabs",
maxHeight: 600,
maxHeight: 900,
minHeight: 400
},
onsubmit: {
page: "include/rest-api/index",
method: "processForm",
preaction: function() {
if (
tinyMCE != undefined &&
tinyMCE.editors.length > 0 &&
item.itemProps.type != 12 &&
item.itemProps.type != 13 &&
item.itemProps.type != 21
) {
// Content tiny.
var label = tinyMCE.activeEditor.getContent();
$("#textarea_label").val(label);
}
UndefineTinyMCE("#textarea_label");
if (item.itemProps.id) {
item.setMeta({ isUpdating: true });
} else {
@ -1387,11 +1377,7 @@ function createOrUpdateVisualConsoleItem(
}
}
},
onsubmitClose: 1,
beforeClose: function() {
tinyMCE.remove("#textarea_label");
tinyMCE.execCommand("mceRemoveControl", true, "textarea_label");
}
onsubmitClose: 1
});
}

View File

@ -423,6 +423,7 @@ class Widget
case 'EventCardboard':
case 'ModulesByStatus':
case 'AvgSumMaxMinModule':
case 'BasicChart':
$className .= '\\'.$name;
break;

View File

@ -0,0 +1,681 @@
<?php
/**
* Widget Simple graph Pandora FMS Console
*
* @category Console Class
* @package Pandora FMS
* @subpackage Widget
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2022 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
namespace PandoraFMS\Dashboard;
use PandoraFMS\Enterprise\Metaconsole\Node;
global $config;
/**
* URL Widgets
*/
class BasicChart extends Widget
{
/**
* Name widget.
*
* @var string
*/
protected $name;
/**
* Title widget.
*
* @var string
*/
protected $title;
/**
* Page widget;
*
* @var string
*/
protected $page;
/**
* Class name widget.
*
* @var [type]
*/
protected $className;
/**
* Values options for each widget.
*
* @var [type]
*/
protected $values;
/**
* Configuration required.
*
* @var boolean
*/
protected $configurationRequired;
/**
* Error load widget.
*
* @var boolean
*/
protected $loadError;
/**
* Width.
*
* @var integer
*/
protected $width;
/**
* Heigth.
*
* @var integer
*/
protected $height;
/**
* Grid Width.
*
* @var integer
*/
protected $gridWidth;
/**
* Cell ID.
*
* @var integer
*/
protected $cellId;
/**
* Construct.
*
* @param integer $cellId Cell ID.
* @param integer $dashboardId Dashboard ID.
* @param integer $widgetId Widget ID.
* @param integer|null $width New width.
* @param integer|null $height New height.
* @param integer|null $gridWidth Grid width.
*/
public function __construct(
int $cellId,
int $dashboardId=0,
int $widgetId=0,
?int $width=0,
?int $height=0,
?int $gridWidth=0
) {
global $config;
// WARNING: Do not edit. This chunk must be in the constructor.
parent::__construct(
$cellId,
$dashboardId,
$widgetId
);
// Width.
$this->width = $width;
// Height.
$this->height = $height;
// Grid Width.
$this->gridWidth = $gridWidth;
// Cell Id.
$this->cellId = $cellId;
// Options.
$this->values = $this->decoders($this->getOptionsWidget());
// Positions.
$this->position = $this->getPositionWidget();
// Page.
$this->page = basename(__FILE__);
// ClassName.
$class = new \ReflectionClass($this);
$this->className = $class->getShortName();
// Title.
$this->title = __('Basic chart');
// Name.
if (empty($this->name) === true) {
$this->name = 'BasicChart';
}
// This forces at least a first configuration.
$this->configurationRequired = false;
if (empty($this->values['moduleId']) === true) {
$this->configurationRequired = true;
} else {
try {
if (is_metaconsole() === true
&& $this->values['metaconsoleId'] > 0
) {
$node = new Node($this->values['metaconsoleId']);
$node->connect();
}
$check_exist = db_get_sql(
sprintf(
'SELECT id_agente_modulo
FROM tagente_modulo
WHERE id_agente_modulo = %s
AND delete_pending = 0',
$this->values['moduleId']
)
);
} catch (\Exception $e) {
// Unexistent agent.
if (is_metaconsole() === true
&& $this->values['metaconsoleId'] > 0
) {
$node->disconnect();
}
$check_exist = false;
} finally {
if (is_metaconsole() === true
&& $this->values['metaconsoleId'] > 0
) {
$node->disconnect();
}
}
if ($check_exist === false) {
$this->loadError = true;
}
}
$this->overflow_scrollbars = false;
}
/**
* Decoders hack for retrocompability.
*
* @param array $decoder Values.
*
* @return array Returns the values with the correct key.
*/
public function decoders(array $decoder): array
{
$values = [];
// Retrieve global - common inputs.
$values = parent::decoders($decoder);
if (isset($decoder['id_agent_'.$this->cellId]) === true) {
$values['agentId'] = $decoder['id_agent_'.$this->cellId];
}
if (isset($decoder['agentId']) === true) {
$values['agentId'] = $decoder['agentId'];
}
if (isset($decoder['metaconsoleId']) === true) {
$values['metaconsoleId'] = $decoder['metaconsoleId'];
}
if (isset($decoder['id_module_'.$this->cellId]) === true) {
$values['moduleId'] = $decoder['id_module_'.$this->cellId];
}
if (isset($decoder['moduleId']) === true) {
$values['moduleId'] = $decoder['moduleId'];
}
if (isset($decoder['period']) === true) {
$values['period'] = $decoder['period'];
}
if (isset($decoder['showLabel']) === true) {
$values['showLabel'] = $decoder['showLabel'];
}
if (isset($decoder['showValue']) === true) {
$values['showValue'] = $decoder['showValue'];
}
if (isset($decoder['sizeLabel']) === true) {
$values['sizeLabel'] = $decoder['sizeLabel'];
}
if (isset($decoder['sizeValue']) === true) {
$values['sizeValue'] = $decoder['sizeValue'];
}
if (isset($decoder['colorLabel']) === true) {
$values['colorLabel'] = $decoder['colorLabel'];
}
if (isset($decoder['colorValue']) === true) {
$values['colorValue'] = $decoder['colorValue'];
}
if (isset($decoder['colorChart']) === true) {
$values['colorChart'] = $decoder['colorChart'];
}
if (isset($decoder['formatData']) === true) {
$values['formatData'] = $decoder['formatData'];
}
if (isset($decoder['label']) === true) {
$values['label'] = $decoder['label'];
}
return $values;
}
/**
* Generates inputs for form (specific).
*
* @return array Of inputs.
*
* @throws Exception On error.
*/
public function getFormInputs(): array
{
global $config;
$values = $this->values;
// Default values.
if (isset($values['period']) === false) {
$values['period'] = SECONDS_1DAY;
}
if (isset($values['colorChart']) === false) {
$values['colorChart'] = $config['graph_color1'];
}
if (isset($values['showLabel']) === false) {
$values['showLabel'] = 1;
}
if (isset($values['showValue']) === false) {
$values['showValue'] = 1;
}
if (isset($values['sizeLabel']) === false) {
$values['sizeLabel'] = 20;
}
if (isset($values['sizeValue']) === false) {
$values['sizeValue'] = 20;
}
if (isset($values['colorLabel']) === false) {
$values['colorLabel'] = '#333';
}
if (isset($values['colorValue']) === false) {
$values['colorValue'] = '#333';
}
if (isset($values['formatData']) === false) {
$values['formatData'] = 1;
}
if (isset($values['label']) === false) {
$values['label'] = 'module';
}
// Retrieve global - common inputs.
$inputs = parent::getFormInputs();
$blocks = [
'row1',
'row2',
];
$inputs['blocks'] = $blocks;
foreach ($inputs as $kInput => $vInput) {
$inputs['inputs']['row1'][] = $vInput;
}
// Autocomplete agents.
$inputs['inputs']['row2'][] = [
'label' => __('Agent'),
'arguments' => [
'type' => 'autocomplete_agent',
'name' => 'agentAlias',
'id_agent_hidden' => $values['agentId'],
'name_agent_hidden' => 'agentId',
'server_id_hidden' => $values['metaconsoleId'],
'name_server_hidden' => 'metaconsoleId',
'return' => true,
'module_input' => true,
'module_name' => 'moduleId',
'module_none' => false,
'size' => 0,
],
];
// Autocomplete module.
$inputs['inputs']['row2'][] = [
'label' => __('Module'),
'arguments' => [
'type' => 'autocomplete_module',
'name' => 'moduleId',
'selected' => $values['moduleId'],
'return' => true,
'sort' => false,
'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;',
'nothing' => __('None'),
'nothing_value' => 0,
],
];
// Period.
$inputs['inputs']['row1'][] = [
'label' => __('Interval'),
'arguments' => [
'name' => 'period',
'type' => 'interval',
'value' => $values['period'],
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
],
];
$inputs['inputs']['row2'][] = [
'label' => __('Color chart'),
'arguments' => [
'wrapper' => 'div',
'name' => 'colorChart',
'type' => 'color',
'value' => $values['colorChart'],
'return' => true,
],
];
$inputs['inputs']['row1'][] = [
'label' => __('Show label'),
'arguments' => [
'name' => 'showLabel',
'id' => 'showLabel',
'type' => 'switch',
'value' => $values['showLabel'],
],
];
$fields = [
'module' => __('Module'),
'agent' => __('Agent'),
'agent_module' => __('Agent / module'),
];
$inputs['inputs']['row1'][] = [
'label' => __('Label'),
'arguments' => [
'type' => 'select',
'fields' => $fields,
'name' => 'label',
'selected' => $values['label'],
'return' => true,
],
];
$inputs['inputs']['row1'][] = [
'label' => __('Label size in px'),
'arguments' => [
'name' => 'sizeLabel',
'type' => 'number',
'value' => $values['sizeLabel'],
'return' => true,
'min' => 5,
'max' => 50,
],
];
$inputs['inputs']['row1'][] = [
'label' => __('Color label'),
'arguments' => [
'wrapper' => 'div',
'name' => 'colorLabel',
'type' => 'color',
'value' => $values['colorLabel'],
'return' => true,
],
];
$inputs['inputs']['row2'][] = [
'label' => __('Show Value'),
'arguments' => [
'name' => 'showValue',
'id' => 'showValue',
'type' => 'switch',
'value' => $values['showValue'],
],
];
$inputs['inputs']['row2'][] = [
'label' => __('Format'),
'arguments' => [
'name' => 'formatData',
'id' => 'formatData',
'type' => 'switch',
'value' => $values['formatData'],
],
];
$inputs['inputs']['row2'][] = [
'label' => __('Value size in px'),
'arguments' => [
'name' => 'sizeValue',
'type' => 'number',
'value' => $values['sizeValue'],
'return' => true,
'min' => 5,
'max' => 50,
],
];
$inputs['inputs']['row2'][] = [
'label' => __('Color value'),
'arguments' => [
'wrapper' => 'div',
'name' => 'colorValue',
'type' => 'color',
'value' => $values['colorValue'],
'return' => true,
],
];
return $inputs;
}
/**
* Get Post for widget.
*
* @return array
*/
public function getPost():array
{
// Retrieve global - common inputs.
$values = parent::getPost();
$values['agentId'] = \get_parameter('agentId', 0);
$values['metaconsoleId'] = \get_parameter('metaconsoleId', 0);
$values['moduleId'] = \get_parameter('moduleId', 0);
$values['period'] = \get_parameter('period', 0);
$values['showLabel'] = \get_parameter_switch('showLabel');
$values['showValue'] = \get_parameter_switch('showValue');
$values['sizeLabel'] = \get_parameter('sizeLabel', 0);
$values['sizeValue'] = \get_parameter('sizeValue', 0);
$values['colorLabel'] = \get_parameter('colorLabel');
$values['colorValue'] = \get_parameter('colorValue');
$values['colorChart'] = \get_parameter('colorChart');
$values['formatData'] = \get_parameter_switch('formatData');
$values['label'] = \get_parameter('label');
return $values;
}
/**
* Draw widget.
*
* @return string;
*/
public function load()
{
global $config;
$size = parent::getSize();
hd($size, true);
include_once $config['homedir'].'/include/functions_graph.php';
include_once $config['homedir'].'/include/functions_agents.php';
include_once $config['homedir'].'/include/functions_modules.php';
$module_name = \modules_get_agentmodule_name($this->values['moduleId']);
$alias = \modules_get_agentmodule_agent_alias($this->values['moduleId']);
$title = $module_name;
if ($this->values['label'] === 'agent') {
$title = $alias;
} else if ($this->values['label'] === 'agent_module') {
$title = $alias.'/'.$module_name;
}
$units_name = \modules_get_unit($this->values['moduleId']);
$value = \modules_get_last_value($this->values['moduleId']);
if (isset($this->values['formatData']) === true
&& (bool) $this->values['formatData'] === true
) {
$value = \format_for_graph(
$value,
$config['graph_precision']
);
} else {
$value = \sla_truncate(
$value,
$config['graph_precision']
);
}
$color_status = \modules_get_color_status(modules_get_agentmodule_last_status($this->values['moduleId']));
if ($color_status === COL_NORMAL) {
$color_status = $this->values['colorValue'];
}
$params = [
'agent_module_id' => $this->values['moduleId'],
'period' => $this->values['period'],
'show_events' => false,
'width' => '100%',
'height' => $size['height'],
'title' => $module_name,
'unit' => $units_name,
'only_image' => false,
'menu' => false,
'vconsole' => true,
'return_img_base_64' => false,
'show_legend' => false,
'show_title' => false,
'dashboard' => true,
'backgroundColor' => 'transparent',
// 'server_id' => $metaconsoleId,
'basic_chart' => true,
'array_colors' => [
[
'border' => '#000000',
'color' => (isset($this->values['colorChart']) === true) ? $this->values['colorChart'] : $config['graph_color1'],
'alpha' => CHART_DEFAULT_ALPHA,
],
],
];
$output = '<div class="container-center widget-mrgn-0px">';
$output .= '<div class="basic-chart-title">';
$output .= '<span style="color:'.$this->values['colorLabel'].'; font-size:'.$this->values['sizeLabel'].'px;">';
$output .= ((bool) $this->values['showLabel'] === true) ? $title : '';
$output .= '</span>';
$output .= '<span style="color:'.$color_status.'; font-size:'.$this->values['sizeValue'].'px;">';
$output .= ((bool) $this->values['showValue'] === true) ? $value : '';
$output .= '</span>';
$output .= '</div>';
$output .= \grafico_modulo_sparse($params);
$output .= '</div>';
return $output;
}
/**
* Get description.
*
* @return string.
*/
public static function getDescription()
{
return __('Basic chart');
}
/**
* Get Name.
*
* @return string.
*/
public static function getName()
{
return 'BasicChart';
}
/**
* Get size Modal Configuration.
*
* @return array
*/
public function getSizeModalConfiguration(): array
{
$size = [
'width' => 850,
'height' => 430,
];
return $size;
}
}

View File

@ -208,6 +208,10 @@ class AlertsFiredWidget extends Widget
$values['groupId'] = $decoder['groupId'];
}
if (isset($decoder['group_recursion']) === true) {
$values['group_recursion'] = $decoder['group_recursion'];
}
return $values;
}
@ -245,6 +249,18 @@ class AlertsFiredWidget extends Widget
],
];
// Group recursion.
$inputs[] = [
'label' => __('Recursion'),
'arguments' => [
'wrapper' => 'div',
'name' => 'group_recursion',
'type' => 'switch',
'value' => $values['group_recursion'],
'return' => true,
],
];
return $inputs;
}
@ -260,6 +276,7 @@ class AlertsFiredWidget extends Widget
$values = parent::getPost();
$values['groupId'] = \get_parameter('groupId', 0);
$values['group_recursion'] = \get_parameter_switch('group_recursion');
return $values;
}
@ -282,6 +299,11 @@ class AlertsFiredWidget extends Widget
$groups = [$this->values['groupId'] => ''];
}
$group_recursion = false;
if (empty($this->values['group_recursion']) === false) {
$group_recursion = true;
}
if (isset($groups) === true && is_array($groups) === true) {
$table = new \StdClass();
$table->class = 'databox data centered';
@ -300,6 +322,25 @@ class AlertsFiredWidget extends Widget
$url .= '&refr=60&filter=fired&filter_standby=all';
$flag = false;
$groups_ids = [];
$groups_ids_tmp = [];
foreach ($groups as $id_group => $name) {
if ($group_recursion === true) {
$groups_ids_tmp[] = groups_get_children_ids($id_group);
}
}
if ($group_recursion === true) {
foreach ($groups_ids_tmp as $ids_tmp => $values) {
foreach ($values as $value) {
$groups_ids[$value] = '';
}
}
$groups = $groups_ids;
}
foreach ($groups as $id_group => $name) {
$alerts_group = get_group_alerts([$id_group]);
if (isset($alerts_group['simple']) === true) {

View File

@ -194,6 +194,8 @@ class Item extends CachedModel
*/
protected function decode(array $data): array
{
global $config;
$decodedData = [
'id' => (int) $data['id'],
'colorStatus' => (string) COL_UNKNOWN,
@ -209,9 +211,12 @@ class Item extends CachedModel
'x' => static::extractX($data),
'y' => static::extractY($data),
'cacheExpiration' => static::extractCacheExpiration($data),
'alertOutline' => static::checkLayoutAlertsRecursive($data),
];
if ((bool) $config['display_item_frame'] === true) {
$decodedData['alertOutline'] = static::checkLayoutAlertsRecursive($data);
}
if (static::$useLinkedModule === true) {
$decodedData = array_merge(
$decodedData,
@ -1944,12 +1949,10 @@ class Item extends CachedModel
$inputs[] = [
'id' => 'div-textarea-label',
'arguments' => [
'type' => 'textarea',
'rows' => 4,
'columns' => 60,
'name' => 'label',
'value' => $values['label'],
'return' => true,
'type' => 'textarea',
'name' => 'label',
'value' => $values['label'],
'return' => true,
],
];

View File

@ -124,7 +124,7 @@ class View extends \HTML
$result = html_print_tabs($tabs);
// TODO:Change other place.
\ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
$js = '<script>
$(function() {
$tabs = $( "#html-tabs" ).tabs({
@ -145,49 +145,11 @@ class View extends \HTML
},
load: function( event, ui ) {
var active = $( "#html-tabs" ).tabs( "option", "active" );
if (active === 0 && tinyMCE.editors.length == 0) {
if (active === 0) {
// Remove.
UndefineTinyMCE("#textarea_label");
// Initialice.
tinyMCE.init({
selector: "#textarea_label",
theme: "advanced",
convert_urls:false,
relative_urls:false,
content_css: "'.ui_get_full_url(false, false, false, false).'include/styles/pandora.css",
theme_advanced_font_sizes:
"4pt=.visual_font_size_4pt, " +
"6pt=.visual_font_size_6pt, " +
"8pt=.visual_font_size_8pt, " +
"10pt=.visual_font_size_10pt, " +
"12pt=.visual_font_size_12pt, " +
"14pt=.visual_font_size_14pt, " +
"18pt=.visual_font_size_18pt, " +
"24pt=.visual_font_size_24pt, " +
"28pt=.visual_font_size_28pt, " +
"36pt=.visual_font_size_36pt, " +
"48pt=.visual_font_size_48pt, " +
"60pt=.visual_font_size_60pt, " +
"72pt=.visual_font_size_72pt, " +
"84pt=.visual_font_size_84pt, " +
"96pt=.visual_font_size_96pt, " +
"116pt=.visual_font_size_116pt, " +
"128pt=.visual_font_size_128pt, " +
"140pt=.visual_font_size_140pt, " +
"154pt=.visual_font_size_154pt, " +
"196pt=.visual_font_size_196pt",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_buttons1:
"bold,italic, |,justifyleft, justifycenter, justifyright, |, undo, redo, |, image, link, |, fontselect, forecolor, fontsizeselect, |,code",
theme_advanced_buttons2: "",
theme_advanced_buttons3: "",
theme_advanced_statusbar_location: "none",
body_class: "tinyMCEBody",
forced_root_block : false,
force_p_newlines : false,
force_br_newlines : true,
convert_newlines_to_brs : false,
remove_linebreaks : true,
});
defineTinyMCE("#textarea_label");
}
},
active: '.$activetabs.'

View File

@ -273,6 +273,10 @@ li#div-textarea label {
width: 100%;
}
.container-center:has(div.parent_graph) {
display: initial;
}
.widget-groups-status {
display: flex;
flex-direction: row;
@ -855,10 +859,6 @@ div.widget-mrgn-0px > div.parent_graph {
margin: 0px;
}
div.widget-mrgn-0px > div.parent_graph > div[id^="graph_"] {
width: calc(100% + 14px) !important;
}
div.content-widget
> div.container-center
> div.centered.w90p
@ -866,3 +866,19 @@ div.content-widget
> canvas {
height: 310px;
}
div.basic-chart-title {
position: absolute;
width: calc(100% - 20px);
margin: 10px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
align-content: center;
}
div.basic-chart-title span {
font-size: 20px;
font-weight: bold;
}

View File

@ -280,7 +280,7 @@ form.modal ul.wizard li {
}
form.modal-dashboard ul.wizard li *,
form.modal ul.wizard li * {
form.modal ul.wizard li *:not(.tox.tox-tinymce *) {
flex: 1 1 50%;
}

View File

@ -4863,6 +4863,7 @@ div#dialog_messages table th:last-child {
width: 550px;
margin-top: 55px;
border-radius: 5px;
max-height: 530px;
}
#notification-wrapper::before {
@ -4896,21 +4897,15 @@ div#dialog_messages table th:last-child {
}
.notification-item {
background: whitesmoke;
height: 100px;
margin: 7px;
border: #e4e4e4 solid 1px;
height: 95px;
margin-top: 15px;
border-bottom: #eaeaea solid 1px;
display: flex;
flex-flow: row nowrap;
align-items: center;
padding: 5px;
}
.notification-item:hover {
border: #ccc solid 1px;
text-decoration: none;
}
.notification-item > * {
padding-left: 15px;
pointer-events: none;
@ -6589,6 +6584,17 @@ table.table_modal_alternate tr td:first-child {
line-height: 1.3;
}
table#agent_interface_info .flot-text .flot-x-axis div {
word-break: unset;
}
table#agent_interface_info
.flot-text
.flot-x-axis
div.flot-tick-label.tickLabel {
max-width: 50px !important;
}
/*Font header feedback*/
form#modal_form_feedback {
padding: 10px;
@ -9153,6 +9159,10 @@ div.steps_vsmap {
top: 0px;
}
.top_0px_important {
top: 0px !important;
}
.top_10px {
top: 10px;
}
@ -11896,6 +11906,16 @@ td[id^="table_info_box"] a {
border-bottom: 1px solid #dedede !important;
}
div.parent_graph > p.legend_background > table > tbody {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
div.parent_graph > p.legend_background > table > tbody > tr {
margin-right: 20px;
}
.small-input-select2 > div > input,
.small-input-select2 > div > select,
.small-input {
@ -11935,3 +11955,11 @@ td[id^="table_info_box"] a {
.break-word {
word-wrap: break-word;
}
.legend-font-small {
font-size: 7px !important;
}
.toggle-traffic-graph {
margin: 0px !important;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -131,7 +131,7 @@
<div style='padding-bottom: 50px'>
<?php
$version = '7.0NG.770';
$build = '230418';
$build = '230426';
$banner = "v$version Build $build";
error_reporting(0);

View File

@ -13338,7 +13338,7 @@ $.widget( "mobile.textinput", {
},
_handleBlur: function() {
this._removeClass( this._outer, null, "ui-focus" );
// this._removeClass( this._outer, null, "ui-focus" );
if ( this.options.preventFocusZoom ) {
$.mobile.zoom.enable( true );
}
@ -13351,7 +13351,7 @@ $.widget( "mobile.textinput", {
if ( this.options.preventFocusZoom ) {
$.mobile.zoom.disable( true );
}
this._addClass( this._outer, null, "ui-focus" );
// this._addClass( this._outer, null, "ui-focus" );
},
_setOptions: function( options ) {
@ -15410,10 +15410,10 @@ var selectmenu = $.widget( "mobile.selectmenu", [ {
that.button.addClass( "ui-button-active" );
} )
.bind( "focus", function() {
that.button.addClass( "ui-focus" );
// that.button.addClass( "ui-focus" );
} )
.bind( "blur", function() {
that.button.removeClass( "ui-focus" );
// that.button.removeClass( "ui-focus" );
} )
.bind( "focus vmouseover", function() {
that.button.trigger( "vmouseover" );

View File

@ -918,27 +918,8 @@ html .ui-body-a .ui-accordion-content {
html .ui-bar-a a,
html .ui-body-a a,
html body .ui-group-theme-a a {
color: #38c;
font-weight: 700;
}
.ui-page-theme-a a:visited,
html .ui-bar-a a:visited,
html .ui-body-a a:visited,
html body .ui-group-theme-a a:visited {
color: #38c;
}
.ui-page-theme-a a:hover,
html .ui-bar-a a:hover,
html .ui-body-a a:hover,
html body .ui-group-theme-a a:hover {
color: #059;
}
.ui-page-theme-a a:active,
html .ui-bar-a a:active,
html .ui-body-a a:active,
html body .ui-group-theme-a a:active {
color: #059;
}
.ui-page-theme-a .ui-button,
html .ui-bar-a .ui-button,
html .ui-body-a .ui-button,
@ -1015,25 +996,7 @@ html body div.ui-slider-track.ui-body-a .ui-button-active,
.ui-page-theme-a .ui-accordion-header.ui-state-active,
html .ui-body-a .ui-accordion-header-active,
html .ui-body-a .ui-accordion-header.ui-state-active {
background-color: #38c;
border-color: #38c;
color: #fff;
text-shadow: 0 1px 0 #059;
}
.ui-page-theme-a .ui-button:focus,
html .ui-bar-a .ui-button:focus,
html .ui-body-a .ui-button:focus,
html body .ui-group-theme-a .ui-button:focus,
html head + body .ui-button.ui-button-a:focus,
.ui-page-theme-a .ui-focus,
html .ui-bar-a .ui-focus,
html .ui-body-a .ui-focus,
html body .ui-group-theme-a .ui-focus,
html head + body .ui-button-a.ui-focus,
html head + body .ui-body-a.ui-focus {
-webkit-box-shadow: 0 0 12px #38c;
-moz-box-shadow: 0 0 12px #38c;
box-shadow: 0 0 12px #38c;
}
.ui-bar-b,
.ui-page-theme-b .ui-bar-inherit,
@ -1078,27 +1041,8 @@ html .ui-body-b .ui-accordion-content {
html .ui-bar-b a,
html .ui-body-b a,
html body .ui-group-theme-b a {
color: #2ad;
font-weight: 700;
}
.ui-page-theme-b a:visited,
html .ui-bar-b a:visited,
html .ui-body-b a:visited,
html body .ui-group-theme-b a:visited {
color: #2ad;
}
.ui-page-theme-b a:hover,
html .ui-bar-b a:hover,
html .ui-body-b a:hover,
html body .ui-group-theme-b a:hover {
color: #08b;
}
.ui-page-theme-b a:active,
html .ui-bar-b a:active,
html .ui-body-b a:active,
html body .ui-group-theme-b a:active {
color: #08b;
}
.ui-page-theme-b .ui-button,
html .ui-bar-b .ui-button,
html .ui-body-b .ui-button,
@ -1175,25 +1119,7 @@ html body div.ui-slider-track.ui-body-b .ui-button-active,
.ui-page-theme-b .ui-accordion-header.ui-state-active,
html .ui-body-b .ui-accordion-header-active,
html .ui-body-b .ui-accordion-header.ui-state-active {
background-color: #2ad;
border-color: #2ad;
color: #fff;
text-shadow: 0 1px 0 #08b;
}
.ui-page-theme-b .ui-button:focus,
html .ui-bar-b .ui-button:focus,
html .ui-body-b .ui-button:focus,
html body .ui-group-theme-b .ui-button:focus,
html head + body .ui-button.ui-button-b:focus,
.ui-page-theme-b .ui-focus,
html .ui-bar-b .ui-focus,
html .ui-body-b .ui-focus,
html body .ui-group-theme-b .ui-focus,
html head + body .ui-button-b.ui-focus,
html head + body .ui-body-b.ui-focus {
-webkit-box-shadow: 0 0 12px #2ad;
-moz-box-shadow: 0 0 12px #2ad;
box-shadow: 0 0 12px #2ad;
}
.ui-disabled,
.ui-state-disabled,

File diff suppressed because it is too large Load Diff

View File

@ -151,10 +151,35 @@ class System
}
public function checkEnterprise($page='')
{
if ((int) $this->getConfig('enterprise_installed', false) === 1) {
return true;
} else {
if (empty($this->getRequest('page', false)) === false && $page === '') {
$page = $this->getRequest('page', false);
}
db_pandora_audit(
AUDIT_LOG_ENTERPRISE_VIOLATION,
'Trying to access to Mobile Page: '.$page
);
return false;
}
}
public static function getDefaultACLFailText()
{
return __('Access to this page is restricted to authorized users only, please contact your system administrator if you should need help.').'<br><br>'.__('Please remember that any attempts to access this page will be recorded on the %s System Database.', get_product_name());
}
public static function getDefaultLicenseFailText()
{
return __('Invalid license, please contact your system administrator if you should need help.').'<br><br>'.__('Please remember that any attempts to access this page will be recorded on the %s System Database.', get_product_name());
}
}

View File

@ -220,11 +220,11 @@ class Ui
if ($left_button === false) {
$left_button = $this->createHeaderButton(
[
'icon' => 'ui-icon-back',
'icon' => 'ui-icon-logout',
'pos' => 'left',
'text' => __('Logout'),
'href' => 'index.php?action=logout',
'class' => 'header-button-left',
'class' => 'header-button-left logout-text',
]
);
}
@ -413,12 +413,13 @@ class Ui
}
public function contentBeginCollapsible($title='&nbsp;')
public function contentBeginCollapsible($title='&nbsp;', $class='')
{
$this->endCollapsible = false;
$this->collapsible = [];
$this->collapsible['items'] = [];
$this->collapsible['title'] = $title;
$this->collapsible['class'] = $class;
}
@ -432,7 +433,7 @@ class Ui
{
$this->endCollapsible = true;
$html = "<div data-role='collapsible' "." data-collapsed-icon='arrow-d' "." data-expanded-icon='arrow-u' data-mini='true' "." data-theme='a' data-content-theme='c'>\n";
$html = "<div class='".$this->collapsible['class']."' data-role='collapsible' "." data-collapsed-icon='arrow-d' "." data-expanded-icon='arrow-u' data-mini='true' "." data-theme='a' data-content-theme='c'>\n";
$html .= '<h4>'.$this->collapsible['title']."</h4>\n";
$html .= "<ul data-role='listview' data-theme='c'>\n";
@ -511,9 +512,14 @@ class Ui
$html .= "<label for='".$options['id']."'>".$options['label']."</label>\n";
}
// Erase other options and only for the input
// Erase other options and only for the input.
unset($options['label']);
if ($options['type'] === 'password') {
$html .= '<div class="relative container-div-input-password">';
$options['style'] .= 'background-image: url("'.ui_get_full_url('/').'/images/enable.svg");';
}
$html .= '<input ';
foreach ($options as $option => $value) {
$html .= ' '.$option."='".$value."' ";
@ -521,6 +527,26 @@ class Ui
$html .= ">\n";
if ($options['type'] === 'password') {
$html .= '<div class="show-hide-pass" onclick="show_hide_password(event, \''.ui_get_full_url('/').'\')"></div>';
$html .= '</div>';
$html .= '
<script>
function show_hide_password(e, url) {
let inputPass = e.target.previousElementSibling.firstChild;
console.log(inputPass);
if (inputPass.type === "password") {
inputPass.type = "text";
inputPass.style.backgroundImage = "url(" + url + "/images/disable.svg)";
} else {
inputPass.type = "password";
inputPass.style.backgroundImage = "url(" + url + "/images/enable.svg)";
}
}
</script>';
}
$html .= "</fieldset>\n";
$html .= "</div>\n";
@ -757,6 +783,10 @@ class Ui
$dialogHtml .= "</div>\n";
$dialogHtml .= "</div>\n";
if ($options['return_html_dialog'] === true) {
return $dialogHtml;
}
$this->dialogs[$type][] = $dialogHtml;
}

View File

@ -366,6 +366,60 @@ class User
$ui->showFooter(false);
$ui->beginContent();
$ui->contentAddHtml(
'
<style>
div.ui-content {
animation: container_login 2s ease;
}
@keyframes container_login {
0% {
transform: scale(.93);
opacity: 0.1;
}
100% {
transform: scale(1);
opacity: 1;
}
}
.ui-page-active {
padding-top: 0px !important;
}
.ui-page-theme-a {
background-color: transparent !important;
}
.ui-mobile {
height: 100% !important;
}
</style>
<script>
$(document).ready(function () {
$(".ui-header.ui-bar-inherit.ui-header-fixed.slidedown").remove();
$("div#main_page").css({
"display": "flex",
"flex-direction": "column",
"justify-content": "center"
});
$(".ui-overlay-a").addClass("login-background");
$(".ui-overlay-a").removeClass("ui-overlay-a");
$(".ui-page-theme-a").css({"background-color":"transparent !important"});
$("#text-login_btn").click(function (e) {
$("#user-container").hide();
$("#password-container").hide();
$("#text-login_btn").hide();
$("#spinner-login").show();
});
});
</script>
'
);
$logo_image = html_print_image(
ui_get_mobile_login_icon(),
true,
@ -389,17 +443,29 @@ class User
'name' => 'user',
'value' => $this->user,
'placeholder' => __('user'),
'label' => __('User'),
// 'autofocus' => 'autofocus',
// 'label' => __('User'),
];
$ui->formAddInputText($options);
$options = [
'name' => 'password',
'value' => '',
'placeholder' => __('password'),
'label' => __('Password'),
// 'label' => __('Password'),
'required' => 'required',
];
$ui->formAddInputPassword($options);
$spinner = '
<div class="spinner invisible" id="spinner-login">
<span></span>
<span></span>
<span></span>
<span></span>
</div>
';
$ui->formAddHtml($spinner);
$options = [
'value' => __('Login'),
'icon' => 'arrow-r',
@ -431,6 +497,7 @@ class User
}
$ui->contentAddHtml('</div>');
$ui->contentAddHtml('<div class="center" id="ver_num">'.$pandora_version.'</div>');
$ui->endContent();
$ui->showPage();
@ -465,43 +532,79 @@ class User
$ui->createHeader('', $left_button);
$ui->showFooter(false);
$ui->beginContent();
$ui->contentAddHtml(
'<div class="login_logo center">'.html_print_image(
ui_get_mobile_login_icon(),
true,
[
'alt' => 'logo',
'border' => 0,
],
false,
false,
false,
true
).'</div>'
);
$ui->contentAddHtml('<div id="login_container">');
$ui->beginForm();
$ui->formAddHtml(html_print_input_hidden('action', 'double_auth', true));
$options = [
'name' => 'auth_code',
'value' => '',
'placeholder' => __('Authenticator code'),
'label' => __('Authenticator code'),
];
$ui->formAddInputPassword($options);
$options = [
'value' => __('Check code'),
'icon' => 'arrow-r',
'icon_pos' => 'right',
'name' => 'auth_code_btn',
];
$ui->formAddSubmitButton($options);
$ui->endForm();
$ui->contentAddHtml('</div>');
$ui->endContent();
$ui->showPage();
$this->errorDoubleAuth = false;
$ui->contentAddHtml(
'
<style>
.ui-page-active {
padding-top: 0px !important;
}
.ui-page-theme-a {
background-color: transparent !important;
}
.ui-mobile {
height: 100% !important;
}
</style>
<script>
$(document).ready(function () {
// $(".ui-header.ui-bar-inherit.ui-header-fixed.slidedown").remove();
$(".ui-header.ui-bar-inherit.ui-header-fixed.slidedown").css({"background-color":"transparent"});
$("div#main_page").css({
"display": "flex",
"flex-direction": "column",
"justify-content": "center"
});
$(".ui-overlay-a").addClass("login-background");
$(".ui-overlay-a").removeClass("ui-overlay-a");
$(".ui-page-theme-a").css({"background-color":"transparent !important"});
$("div.ui-page.ui-page-theme-a.ui-page-active#main_page").css({"background-color":"transparent !important"});
});
</script>
'
);
$ui->contentAddHtml(
'<div class="login_logo center">'.html_print_image(
ui_get_mobile_login_icon(),
true,
[
'alt' => 'logo',
'border' => 0,
],
false,
false,
false,
true
).'</div>'
);
$ui->contentAddHtml('<div id="login_container">');
$ui->beginForm();
$ui->formAddHtml(html_print_input_hidden('action', 'double_auth', true));
$options = [
'name' => 'auth_code',
'value' => '',
'placeholder' => __('Authenticator code'),
'autofocus' => 'autofocus',
// 'label' => __('Authenticator code'),
];
$ui->formAddInputPassword($options);
$options = [
'value' => __('Check code'),
'icon' => 'arrow-r',
'icon_pos' => 'right',
'name' => 'auth_code_btn',
];
$ui->formAddSubmitButton($options);
$ui->endForm();
$ui->contentAddHtml('</div>');
$ui->contentAddHtml('<div class="center" id="ver_num">'.$pandora_version.'</div>');
$ui->endContent();
$ui->showPage();
$this->errorDoubleAuth = false;
}

View File

@ -43,6 +43,9 @@ require_once 'operation/module_graph.php';
require_once 'operation/agent.php';
require_once 'operation/visualmaps.php';
require_once 'operation/visualmap.php';
require_once 'operation/server_status.php';
require_once 'operation/services.php';
require_once 'operation/module_data.php';
$enterpriseHook = enterprise_include('mobile/include/enterprise.class.php');
$enterpriseHook = enterprise_include('mobile/operation/home.php');
@ -177,6 +180,21 @@ switch ($action) {
$tactical->ajax($parameter2);
break;
case 'server_status':
$server_status = new ServerStatus();
$server_status->ajax($parameter2);
break;
case 'services':
$services = new Services();
$services->ajax($parameter2);
break;
case 'module_data':
$module_data = new ModuleData();
$module_data->ajax($parameter2);
break;
default:
if (class_exists('Enterprise')) {
$enterprise->enterpriseAjax($parameter1, $parameter2);
@ -407,6 +425,21 @@ switch ($action) {
$vc = new Visualmap();
$vc->show();
break;
case 'server_status':
$server_status = new ServerStatus();
$server_status->show();
break;
case 'services':
$services = new Services();
$services->show();
break;
case 'module_data':
$module_data = new ModuleData();
$module_data->show();
break;
}
break;
}

View File

@ -27,6 +27,8 @@
* ============================================================================
*/
use PandoraFMS\Event;
// Begin.
require_once '../include/functions_users.php';
@ -130,9 +132,13 @@ class Agent
{
$ui = Ui::getInstance();
$system = System::getInstance();
$eventObj = new Events;
$ui->createPage();
$options = $eventObj->getEventDialogOptions();
$ui->addDialog($options);
if ($this->id != 0) {
$agent_alias = (string) $this->agent['alias'];
@ -159,7 +165,7 @@ class Agent
$ui->beginContent();
if (empty($this->agent)) {
$ui->contentAddHtml(
'<span class="red">'.__('No agent found').'</span>'
'<span class="no-data">'.__('No agent found').'</span>'
);
} else {
$ui->contentBeginGrid();
@ -191,10 +197,7 @@ class Agent
$address = $this->agent['direccion'];
$ip .= (empty($address) === true) ? '<em>'.__('N/A').'</em>' : $address;
$last_contact = '<b>'.__('Last contact').'</b>:&nbsp;';
$last_contact .= ui_print_timestamp(
$this->agent['ultimo_contacto'],
true
);
$last_contact .= human_time_comparation($this->agent['ultimo_contacto'], 'tiny');
if (empty($agent['comentarios']) === true) {
$description .= '<i>'.__('N/A').'</i>';
@ -213,7 +216,7 @@ class Agent
false,
false,
false,
['class' => 'invert_filter os-big-icon'],
['class' => 'invert_filter main_menu_icon'],
false
).'</div>';
$html .= '<div class="agent_list_ips">';
@ -366,7 +369,7 @@ class Agent
$ui->contentAddHtml("<a id='detail_event_dialog_hook' href='#detail_event_dialog' class='invisible'>detail_event_hook</a>");
$ui->contentAddHtml("<a id='detail_event_dialog_error_hook' href='#detail_event_dialog_error' class='invisible'>detail_event_dialog_error_hook</a>");
$ui->contentBeginCollapsible(sprintf(__('Last %s Events'), $system->getPageSize()));
$ui->contentBeginCollapsible(sprintf(__('Last %s Events'), $system->getPageSize()), 'agent-last-events');
$tabledata = $events->listEventsHtml(0, true, 'last_agent_events');
$ui->contentCollapsibleAddItem($tabledata['table']);
$ui->contentCollapsibleAddItem($events->putEventsTableJS($this->id));
@ -438,7 +441,7 @@ class Agent
$.mobile.loading('hide');
var className = $('#list_agent_Modules').attr('class');
if (document.getElementById('list_agent_Modules') == null) {
$($('p.empty_advice')[0]).parent().html(r);
$($('p.no-data')[0]).parent().html(r);
className = 'ui-responsive table-stroke ui-table ui-table-reflow';
} else {
$('#list_agent_Modules').parent().html(r);

Some files were not shown because too many files have changed in this diff Show More