Merge branch 'ent-9662-second-round' of brutus.artica.es:artica/pandorafms into ent-9662-second-round

This commit is contained in:
Jonathan 2023-03-13 17:36:11 +01:00
commit fcdd585042
19 changed files with 653 additions and 369 deletions

View File

@ -61,79 +61,110 @@ ui_print_warning_message(
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox filters'; $table->class = 'databox filter-table-adv mrgn_top_15px pdd_t_0px_important';
$table->data = []; $table->data = [];
$table->cellpadding = 0; $table->cellpadding = 0;
$table->cellspacing = 0; $table->cellspacing = 0;
$table->head[0] = __('Agent position'); $table->head[0] = __('Agent position');
$table->head_colspan[0] = 4; $table->head_colspan[0] = 4;
$table->headstyle[0] = 'text-align:center'; $table->headstyle[0] = 'text-align:center';
$table->style[0] = 'font-weight: bold; '; $table->size[0] = '50%';
$table->style[2] = 'font-weight: bold; '; $table->size[2] = '50%';
$table->data[1][0] = __('Latitude: '); $table->data[1][0] = html_print_label_input_block(
$table->data[1][1] = html_print_input_text_extended( __('Latitude: '),
'latitude', html_print_input_text_extended(
$agentData['stored_latitude'], 'latitude',
'text-latitude', $agentData['stored_latitude'],
'', 'text-latitude',
20, '',
20, 20,
false, 20,
'', false,
[ '',
'onchange' => 'setIgnoreGISDataEnabled()', [
'onkeyup' => 'setIgnoreGISDataEnabled()', 'onchange' => 'setIgnoreGISDataEnabled()',
], 'onkeyup' => 'setIgnoreGISDataEnabled()',
true ],
true
)
); );
$table->data[1][2] = __('Longitude: '); $table->data[1][1] = html_print_label_input_block(
$table->data[1][3] = html_print_input_text_extended( __('Longitude: '),
'longitude', html_print_input_text_extended(
$agentData['stored_longitude'], 'longitude',
'text-longitude', $agentData['stored_longitude'],
'', 'text-longitude',
20, '',
20, 20,
false, 20,
'', false,
[ '',
'onchange' => 'setIgnoreGISDataEnabled()', [
'onkeyup' => 'setIgnoreGISDataEnabled()', 'onchange' => 'setIgnoreGISDataEnabled()',
], 'onkeyup' => 'setIgnoreGISDataEnabled()',
true ],
true
)
); );
$table->data[2][0] = __('Altitude: '); $table->data[2][0] = html_print_label_input_block(
$table->data[2][1] = html_print_input_text_extended( __('Altitude: '),
'altitude', html_print_input_text_extended(
$agentData['stored_altitude'], 'altitude',
'text-altitude', $agentData['stored_altitude'],
'', 'text-altitude',
10, '',
10, 10,
false, 10,
'', false,
[ '',
'onchange' => 'setIgnoreGISDataEnabled()', [
'onkeyup' => 'setIgnoreGISDataEnabled()', 'onchange' => 'setIgnoreGISDataEnabled()',
], 'onkeyup' => 'setIgnoreGISDataEnabled()',
true ],
true
)
); );
$table->data[2][2] = __('Ignore new GIS data:'); $table->data[2][1] = html_print_label_input_block(
$table->data[2][3] = __('Yes').' '.html_print_radio_button_extended('update_gis_data', 0, '', $updateGisData, false, '', 'class="mrgn_right_40px"', true); __('Ignore new GIS data: '),
$table->data[2][3] .= __('No').' '.html_print_radio_button_extended('update_gis_data', 1, '', $updateGisData, false, '', 'class="mrgn_right_40px"', true); '<div class="flex mrgn_top_5px">'.__('Yes').' '.html_print_radio_button_extended(
'update_gis_data',
0,
'',
$updateGisData,
false,
'',
'class="mrgn_right_40px"',
true
).__('No').' '.html_print_radio_button_extended(
'update_gis_data',
1,
'',
$updateGisData,
false,
'',
'class="mrgn_right_40px"',
true
).'</div>'
);
$url = 'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=gis&id_agente='.$id_agente; $url = 'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=gis&id_agente='.$id_agente;
echo "<form method='post' action='".$url."' onsubmit ='return validateFormFields();'>"; echo "<form method='post' action='".$url."' onsubmit ='return validateFormFields();' class='max_floating_element_size'>";
html_print_input_hidden('update_gis', 1); html_print_input_hidden('update_gis', 1);
html_print_table($table); html_print_table($table);
echo '<div class="action-buttons float-left" style="width: '.$table->width.';">'; html_print_action_buttons(
html_print_submit_button(__('Update'), '', false, 'class="sub upd"'); html_print_submit_button(
echo '</div>'; __('Update'),
'',
false,
['icon' => 'wand'],
true
)
);
echo '</form>'; echo '</form>';
?> ?>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -196,29 +196,52 @@ foreach ($nps as $row) {
$filterTable = new stdClass(); $filterTable = new stdClass();
$filterTable->width = '100%'; $filterTable->width = '100%';
$filterTable->class = 'fixed_filter_bar'; $filterTable->class = 'filter-table-adv';
$filterTable->size[0] = '100%';
$filterTable->data = []; $filterTable->data = [];
$filterTable->data[0][0] = __('Module templates');
$filterTable->data[1][0] = html_print_select($select, 'template_id', '', '', '', 0, true, false, true, '', false, 'max-width: 200px !important'); $filterTable->data[0][0] = html_print_label_input_block(
$filterTable->data[1][1] = html_print_div( __('Module templates'),
html_print_select(
$select,
'template_id',
'',
'',
'',
0,
true,
false,
true,
'',
false,
'width: 250px '
)
);
$filterTable->data[1][0] = html_print_submit_button(
__('Assign'),
'crt',
false,
[ [
'class' => 'action-buttons', 'class' => 'float-right',
'content' => html_print_submit_button( 'icon' => 'wand',
__('Assign'), 'mode' => 'mini',
'crt',
false,
[
'icon' => 'wand',
'mode' => 'secondary mini',
],
true
),
], ],
true true
); );
$outputFilterTable = '<form style="border:0" class="fixed_filter_bar" method="post" action="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=template&id_agente='.$id_agente.'">'; $outputFilterTable = '<form method="post" action="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=template&id_agente='.$id_agente.'">';
$outputFilterTable .= html_print_table($filterTable, true); $outputFilterTable .= ui_toggle(
html_print_table($filterTable, true),
'<span class="subsection_header_title">'.__('Assign').'</span>',
__('Assign'),
'assign',
true,
true,
'',
'white-box-content no_border',
'filter-datatable-main box-flat white_table_graph fixed_filter_bar'
);
$outputFilterTable .= '</form>'; $outputFilterTable .= '</form>';
echo $outputFilterTable; echo $outputFilterTable;

View File

@ -808,7 +808,7 @@ if ($id_agente) {
$pure = (int) get_parameter('pure'); $pure = (int) get_parameter('pure');
if ($pure === 0) { if ($pure === 0) {
ui_print_standard_header( ui_print_standard_header(
__('Agent setup view'), __('Agent setup view').' ( '.strtolower(agents_get_alias($id_agente)).' )',
'images/agent.png', 'images/agent.png',
false, false,
$helper, $helper,

View File

@ -180,14 +180,26 @@ if ($load_inventory_module) {
$form_buttons = ''; $form_buttons = '';
if ($load_inventory_module) { if ($load_inventory_module) {
$form_buttons .= html_print_input_hidden('id_agent_module_inventory', $id_agent_module_inventory, true); $form_buttons .= html_print_input_hidden('id_agent_module_inventory', $id_agent_module_inventory, true);
$form_buttons .= html_print_submit_button(__('Update'), 'update_inventory_module', false, 'class="sub next"', true); $form_buttons .= html_print_submit_button(
__('Update'),
'update_inventory_module',
false,
['icon' => 'wand'],
true
);
} else { } else {
$form_buttons .= html_print_submit_button(__('Add'), 'add_inventory_module', false, 'class="sub next"', true); $form_buttons .= html_print_submit_button(
__('Add'),
'add_inventory_module',
false,
['icon' => 'wand'],
true
);
} }
echo ui_get_inventory_module_add_form( echo ui_get_inventory_module_add_form(
'index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=inventory&id_agente='.$id_agente, 'index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=inventory&id_agente='.$id_agente,
$form_buttons, html_print_action_buttons($form_buttons, [], true),
$load_inventory_module, $load_inventory_module,
$id_os, $id_os,
$target, $target,
@ -213,10 +225,10 @@ if (db_get_num_rows($sql) == 0) {
} else { } else {
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox filters'; $table->class = 'databox info_trable';
$table->data = []; $table->data = [];
$table->head = []; $table->head = [];
$table->styleTable = 'margin-top: 20px;'; $table->styleTable = '';
$table->head[0] = "<span title='".__('Policy')."'>".__('P.').'</span>'; $table->head[0] = "<span title='".__('Policy')."'>".__('P.').'</span>';
$table->head[1] = __('Name'); $table->head[1] = __('Name');
$table->head[2] = __('Description'); $table->head[2] = __('Description');

View File

@ -302,92 +302,122 @@ foreach ($pre_fields as $key => $value) {
// Filter table. // Filter table.
$filterTable = new stdClass(); $filterTable = new stdClass();
$filterTable->class = 'fixed_filter_bar'; $filterTable->class = 'filter-table-adv w100p';
$filterTable->size[0] = '20%';
$filterTable->size[1] = '20%';
$filterTable->size[2] = '20%';
$filterTable->size[3] = '20%';
$filterTable->size[4] = '20%';
$filterTable->data = []; $filterTable->data = [];
$filterTable->cellstyle[0][0] = 'width:0';
$filterTable->cellstyle[0][1] = 'width:0';
$filterTable->cellstyle[0][2] = 'width:0';
$filterTable->cellstyle[0][3] = 'width:0';
$filterTable->data[0][0] = __('Group'); $filterTable->data[0][0] = html_print_label_input_block(
$filterTable->data[1][0] = html_print_select_groups( __('Group'),
false, html_print_select_groups(
'AR', false,
$return_all_group, 'AR',
'ag_group', $return_all_group,
$ag_group, 'ag_group',
'this.form.submit();', $ag_group,
'', 'this.form.submit();',
0, '',
true, 0,
false, true,
true, false,
'', true,
false '',
false
)
); );
$filterTable->data[0][1] = __('Recursion'); $filterTable->data[0][1] = html_print_label_input_block(
$filterTable->data[1][1] = html_print_checkbox_switch( __('Recursion'),
'recursion', '<div class="mrgn_top_10px">'.html_print_checkbox_switch(
1, 'recursion',
$recursion, 1,
true, $recursion,
false, true,
'this.form.submit()' false,
'this.form.submit()'
).'</div>'
); );
$filterTable->data[0][2] = __('Show agents'); $filterTable->data[0][2] = html_print_label_input_block(
$filterTable->data[1][2] = html_print_select( __('Show agents'),
$showAgentFields, html_print_select(
'disabled', $showAgentFields,
$disabled, 'disabled',
'this.form.submit()', $disabled,
'', 'this.form.submit()',
0, '',
true 0,
true,
false,
true,
'w100p',
false,
'width: 100%'
)
); );
$filterTable->data[0][3] = __('Operating System'); $filterTable->data[0][3] = html_print_label_input_block(
$filterTable->data[1][3] = html_print_select( __('Operating System'),
$fields, html_print_select(
'os', $fields,
$os, 'os',
'this.form.submit()', $os,
'All', 'this.form.submit()',
0, 'All',
true 0,
true,
false,
true,
'w100p',
false,
'width: 100%'
)
); );
$filterTable->data[0][4] = __('Free search'); $filterTable->data[0][4] = html_print_label_input_block(
$filterTable->data[0][4] .= ui_print_help_tip( __('Free search').ui_print_help_tip(
__('Search filter by alias, name, description, IP address or custom fields content'), __('Search filter by alias, name, description, IP address or custom fields content'),
true true
); ),
$filterTable->data[1][4] = html_print_input_text( html_print_input_text(
'search', 'search',
$search, $search,
'', '',
12, 12,
255, 255,
true true
)
); );
$filterTable->cellstyle[1][5] = 'vertical-align: bottom'; $filterTable->colspan[1][0] = 5;
$filterTable->data[1][5] = html_print_submit_button( $filterTable->data[1][0] = html_print_submit_button(
__('Filter'), __('Filter'),
'srcbutton', 'srcbutton',
false, false,
[ [
'icon' => 'search', 'icon' => 'search',
'class' => 'float-right', 'class' => 'float-right mrgn_right_10px',
'mode' => 'secondary mini', 'mode' => 'mini',
], ],
true true
); );
// Print filter table. // Print filter table.
echo '<form method=\'post\' action=\'index.php?sec=gagente&sec2=godmode/agentes/modificar_agente\'>'; echo '<form method=\'post\' action=\'index.php?sec=gagente&sec2=godmode/agentes/modificar_agente\'>';
html_print_table($filterTable); ui_toggle(
html_print_table($filterTable, true),
'<span class="subsection_header_title">'.__('Filter').'</span>',
__('Filter'),
'filter',
true,
false,
'',
'white-box-content no_border',
'filter-datatable-main box-flat white_table_graph fixed_filter_bar'
);
echo '</form>'; echo '</form>';
// Data table. // Data table.

View File

@ -675,7 +675,7 @@ foreach ($simple_alerts as $alert) {
$data[2] .= ' <a class="template_details patatas" $data[2] .= ' <a class="template_details patatas"
href="'.ui_get_full_url(false, false, false, false).'ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$alert['id_alert_template'].'">'; href="'.ui_get_full_url(false, false, false, false).'ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$alert['id_alert_template'].'">';
$data[2] .= html_print_image( $data[2] .= html_print_image(
'images/zoom.png', 'images/details.svg',
true, true,
[ [
'id' => 'template-details-'.$alert['id_alert_template'], 'id' => 'template-details-'.$alert['id_alert_template'],
@ -753,7 +753,7 @@ foreach ($simple_alerts as $alert) {
'delete', 'delete',
'images/delete.svg', 'images/delete.svg',
1, 1,
'padding:0px; margin-left:5px; margin-right:5px;', 'padding:0px; margin-left:5px; margin-right:5px; width: 22px;',
true, true,
[ [
'title' => __('Delete action'), 'title' => __('Delete action'),
@ -913,7 +913,7 @@ foreach ($simple_alerts as $alert) {
'enable', 'enable',
'images/lightbulb_off.png', 'images/lightbulb_off.png',
1, 1,
'padding:0px', 'padding:0px; width: 22px; height: 22px;',
true, true,
['class' => 'filter_none main_menu_icon'] ['class' => 'filter_none main_menu_icon']
); );
@ -923,7 +923,7 @@ foreach ($simple_alerts as $alert) {
'disable', 'disable',
'images/lightbulb.png', 'images/lightbulb.png',
1, 1,
'padding:0px;', 'padding:0px; width: 22px; height: 22px;',
true, true,
['class' => 'main_menu_icon'] ['class' => 'main_menu_icon']
); );
@ -941,7 +941,7 @@ foreach ($simple_alerts as $alert) {
'standby_off', 'standby_off',
'images/bell.png', 'images/bell.png',
1, 1,
'padding:0px;', 'padding:0px; width: 22px; height: 22px;',
true, true,
['class' => 'invert_filter main_menu_icon'] ['class' => 'invert_filter main_menu_icon']
); );
@ -951,7 +951,7 @@ foreach ($simple_alerts as $alert) {
'standby_on', 'standby_on',
'images/bell_pause.png', 'images/bell_pause.png',
1, 1,
'padding:0px;', 'padding:0px; width: 22px; height: 22px;',
true, true,
['class' => 'invert_filter main_menu_icon'] ['class' => 'invert_filter main_menu_icon']
); );

View File

@ -484,7 +484,7 @@ if (is_metaconsole() === false) {
$buttons = [ $buttons = [
'list' => [ 'list' => [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&tab=list&pure='.$pure.'">'.html_print_image('images/load@svg.svg', true, ['title' => __('List alerts'), 'class' => 'main_menu_icon invert_filter']).'</a>', 'text' => '<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&tab=list&pure='.$pure.'">'.html_print_image('images/logs@svg.svg', true, ['title' => __('List alerts'), 'class' => 'main_menu_icon invert_filter']).'</a>',
], ],
'builder' => [ 'builder' => [
'active' => false, 'active' => false,
@ -497,44 +497,46 @@ if (is_metaconsole() === false) {
$buttons = ''; $buttons = '';
} }
if ($tab === 'list') { if ($tab !== 'alert') {
ui_print_standard_header( if ($tab === 'list') {
__('Alerts'), ui_print_standard_header(
'images/gm_alerts.png', __('Alerts'),
false, 'images/gm_alerts.png',
'', false,
true, '',
$buttons, true,
[ $buttons,
[ [
'link' => '', [
'label' => __('Manage alerts'), 'link' => '',
], 'label' => __('Manage alerts'),
],
[
'link' => '',
'label' => __('List'),
],
]
);
} else {
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true,
$buttons,
[ [
'link' => '', [
'label' => __('List'), 'link' => '',
], 'label' => __('Manage alerts'),
] ],
); [
} else { 'link' => '',
ui_print_standard_header( 'label' => __('Create'),
__('Alerts'), ],
'images/gm_alerts.png', ]
false, );
'', }
true,
$buttons,
[
[
'link' => '',
'label' => __('Manage alerts'),
],
[
'link' => '',
'label' => __('Create'),
],
]
);
} }
} else { } else {
alerts_meta_print_header(); alerts_meta_print_header();

View File

@ -389,7 +389,7 @@ if (empty($create) === false || empty($view) === false) {
$disabled = ($locked === true) ? 'readonly="readonly"' : ''; $disabled = ($locked === true) ? 'readonly="readonly"' : '';
if (empty($create) === true) { if (empty($create) === true) {
$formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&update_plugin=$plugin_id&pure='.$config['pure']; $formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&update_plugin='.$plugin_id.'&pure='.$config['pure'];
} else { } else {
$formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&create_plugin=1&pure='.$config['pure']; $formAction = 'index.php?sec=gservers&sec2=godmode/servers/plugin&tab=$tab&create_plugin=1&pure='.$config['pure'];
} }
@ -403,69 +403,61 @@ if (empty($create) === false || empty($view) === false) {
$table = new stdClass(); $table = new stdClass();
$table->id = 'table-form'; $table->id = 'table-form';
$table->class = 'floating_form'; $table->class = 'filter-table-adv';
$table->style = []; $table->style = [];
$table->data['plugin_name_captions'] = $data; $table->data['plugin_name_captions'] = $data;
$table->style[0] = 'vertical-align: top'; $table->size[0] = '50%';
$table->style[1] = 'vertical-align: top'; $table->size[1] = '50%';
$table->data = []; $table->data = [];
// General title. // General title.
$generalTitleContent = []; $data[0] = html_print_div([ 'class' => 'section_table_title', 'content' => __('General')], true);
$generalTitleContent[] = html_print_div([ 'style' => 'width: 10px; flex: 0 0 auto; margin-right: 5px;}', 'class' => 'section_table_title_line' ], true);
$generalTitleContent[] = html_print_div([ 'class' => 'section_table_title', 'content' => __('General')], true);
$data[0] = html_print_div(['class' => 'flex-row-center', 'content' => implode('', $generalTitleContent) ], true);
$table->data['general_title'] = $data; $table->data['general_title'] = $data;
$data = []; $data = [];
$data[0] = __('Name'); $data[0] = html_print_label_input_block(
__('Name'),
html_print_input_text('form_name', $form_name, '', 100, 255, true, false, false, '')
);
$table->data['plugin_name_captions'] = $data; $table->data['plugin_name_captions'] = $data;
$data = []; $data = [];
$data[0] = html_print_input_text('form_name', $form_name, '', 100, 255, true, false, false, '', 'w100p');
$table->data['plugin_name_inputs'] = $data;
$table->colspan['plugin_name_inputs'][0] = 3;
$data[0] = html_print_label_input_block(
__('Plugin type'),
html_print_select($formPluginType, 'form_plugin_type', $form_plugin_type, '', '', 0, true, false, true, '', false, 'width: 100%')
);
$data = [];
$data[0] = __('Plugin type');
$data[1] = __('Max. timeout');
$table->data['plugin_type_timeout_captions'] = $data;
// $table->colspan['plugin_type'][1] = 3;
$data = [];
$data[0] = html_print_select($formPluginType, 'form_plugin_type', $form_plugin_type, '', '', 0, true);
$timeoutContent = []; $timeoutContent = [];
$timeoutContent[] = '<div>'.html_print_extended_select_for_time('form_max_timeout', $form_max_timeout, '', '', '0', false, true).'</div>'; $timeoutContent[] = '<div>'.html_print_extended_select_for_time('form_max_timeout', $form_max_timeout, '', '', '0', false, true).'</div>';
$timeoutContent[] = ui_print_input_placeholder(__('This value only will be applied if is minor than the server general configuration plugin timeout').'<br>'.__('If you set a 0 seconds timeout, the server plugin timeout will be used'), true); $timeoutContent[] = ui_print_input_placeholder(__('This value only will be applied if is minor than the server general configuration plugin timeout').'<br>'.__('If you set a 0 seconds timeout, the server plugin timeout will be used'), true);
$data[1] = html_print_div( $data[1] = html_print_label_input_block(
[ __('Max. timeout'),
'class' => 'flex flex_column', html_print_div(
'content' => implode('', $timeoutContent), [
], 'class' => 'flex flex_column',
true 'content' => implode('', $timeoutContent),
],
true
)
); );
$table->data['plugin_type_timeout_inputs'] = $data;
$table->data['plugin_type_timeout'] = $data;
$data = []; $data = [];
$data[0] = __('Description'); $data[0] = html_print_label_input_block(
$table->data['plugin_desc_captions'] = $data; __('Description'),
html_print_textarea('form_description', 4, 50, $form_description, '', true)
);
$data = []; $table->colspan['plugin_desc_inputs'][0] = 2;
$data[0] = html_print_textarea('form_description', 4, 50, $form_description, '', true, 'w100p');
$table->colspan['plugin_desc_inputs'][0] = 3;
$table->data['plugin_desc_inputs'] = $data; $table->data['plugin_desc_inputs'] = $data;
// Command title.
$commandTitleContent = [];
$commandTitleContent[] = html_print_div([ 'style' => 'width: 10px; flex: 0 0 auto; margin-right: 5px;}', 'class' => 'section_table_title_line' ], true);
$commandTitleContent[] = html_print_div([ 'class' => 'section_table_title', 'content' => __('Command')], true);
$data = [];
$data[0] = html_print_div(['class' => 'flex-row-center', 'content' => implode('', $commandTitleContent) ], true);
$table->data['command_title'] = $data;
// Command title.
$data = []; $data = [];
$data[0] = __('Plugin command').ui_print_help_tip(__('Specify interpreter and plugin path. The server needs permissions to run it.'), true); $data[0] = html_print_div([ 'class' => 'section_table_title', 'content' => __('Command')], true);
$table->data['plugin_command_caption'] = $data; $table->data['command_title'] = $data;
$data = []; $data = [];
$formExecuteContent = []; $formExecuteContent = [];
@ -480,45 +472,53 @@ if (empty($create) === false || empty($view) === false) {
true true
); );
$data[0] = html_print_div(['class' => 'flex-row-center', 'content' => implode('', $formExecuteContent)], true); $data[0] = html_print_label_input_block(
__('Plugin command'),
html_print_div(['class' => 'flex-row-center', 'content' => implode('', $formExecuteContent)], true).ui_print_input_placeholder(
__('Specify interpreter and plugin path. The server needs permissions to run it.'),
true
)
);
// $data[0] = html_print_div(['class' => 'flex-row-center', 'content' => implode('', $formExecuteContent)], true);
$table->data['plugin_command_inputs'] = $data; $table->data['plugin_command_inputs'] = $data;
$table->colspan['plugin_command_inputs'][0] = 2; $table->colspan['plugin_command_inputs'][0] = 2;
$data = []; $data = [];
$data[0] = __('Plug-in parameters'); $data[0] = html_print_label_input_block(
$table->data['plugin_parameters_caption'] = $data; __('Plug-in parameters'),
html_print_input_text(
$data = []; 'form_parameters',
$data[0] = html_print_input_text( $parameters,
'form_parameters', '',
$parameters, 100,
'', 255,
100, true,
255, false,
true, false,
false, '',
false, 'command_component command_advanced_conf text_input'
'', )
'command_component command_advanced_conf text_input w100p'
); );
$table->data['plugin_parameters_inputs'] = $data; $table->data['plugin_parameters_inputs'] = $data;
$table->colspan['plugin_parameters_inputs'][0] = 2; $table->colspan['plugin_parameters_inputs'][0] = 2;
$data = []; $data = [];
$data[0] = __('Command preview'); // $data[0] = __('Command preview');
$table->data['plugin_preview_captions'] = $data; // $table->data['plugin_preview_captions'] = $data;
$data = []; // $data = [];
// $data[0] = html_print_div(['id' => 'command_preview', 'class' => 'mono'], true);
$data[0] = html_print_div(['id' => 'command_preview', 'class' => 'mono'], true); $data[0] = html_print_label_input_block(
__('Command preview'),
html_print_div(['id' => 'command_preview', 'class' => 'mono'], true)
);
$table->data['plugin_preview_inputs'] = $data; $table->data['plugin_preview_inputs'] = $data;
$table->colspan['plugin_preview_inputs'][0] = 2; $table->colspan['plugin_preview_inputs'][0] = 2;
// Parameters macros title. // Parameters macros title.
$macrosTitleContent = [];
$macrosTitleContent[] = html_print_div([ 'style' => 'width: 10px; flex: 0 0 auto; margin-right: 5px;}', 'class' => 'section_table_title_line' ], true);
$macrosTitleContent[] = html_print_div([ 'class' => 'section_table_title', 'content' => __('Parameters macros')], true);
$data = []; $data = [];
$data[0] = html_print_div(['class' => 'flex-row-center', 'content' => implode('', $macrosTitleContent) ], true); $data[0] = html_print_div([ 'class' => 'section_table_title', 'content' => __('Parameters macros')], true);
$table->data['parameters_macros_title'] = $data; $table->data['parameters_macros_title'] = $data;
$macros = json_decode($macros, true); $macros = json_decode($macros, true);
@ -563,53 +563,59 @@ if (empty($create) === false || empty($view) === false) {
} }
$datam = []; $datam = [];
$datam[0] = __('Description')."<span class='normal_weight'> ($macro_name)</span>"; $datam[0] = html_print_label_input_block(
__('Description').'<span class="normal_weight">('.$macro_name.')</span>',
html_print_input_text_extended($macro_desc_name, $macro_desc_value, 'text-'.$macro_desc_name, '', 30, 255, false, '', "class='command_macro text_input'", true)
);
$datam[0] .= html_print_input_hidden($macro_name_name, $macro_name, true); $datam[0] .= html_print_input_hidden($macro_name_name, $macro_name, true);
$datam[1] = html_print_input_text_extended($macro_desc_name, $macro_desc_value, 'text-'.$macro_desc_name, '', 30, 255, false, '', "class='command_macro text_input'", true);
$datam[2] = __('Default value')."<span class='normal_weight'> ($macro_name)</span>"; $datam[1] = html_print_label_input_block(
$datam[3] = html_print_input_text_extended($macro_value_name, $macro_value_value, 'text-'.$macro_value_name, '', 30, 255, false, '', "class='command_component command_macro text_input'", true); __('Default value').'<span class="normal_weight">('.$macro_name.')</span>',
html_print_input_text_extended($macro_value_name, $macro_value_value, 'text-'.$macro_value_name, '', 30, 255, false, '', "class='command_component command_macro text_input'", true)
);
$table->data['plugin_'.$next_name_number] = $datam; $table->data['plugin_'.$next_name_number] = $datam;
$next_name_number++; $next_name_number++;
$table->colspan['plugin_'.$next_name_number][1] = 3; $table->colspan['plugin_'.$next_name_number][1] = 2;
$datam = []; $datam = [];
$datam[0] = __('Hide value').ui_print_help_tip( $datam = html_print_label_input_block(
__('This field will show up as dots like a password'), __('Hide value'),
true html_print_checkbox_switch(
); $macro_hide_value_name,
$datam[1] = html_print_checkbox_extended( 1,
$macro_hide_value_name, $macro_hide_value_value,
1, 0,
$macro_hide_value_value, '',
0, ['class' => 'command_macro'],
'', true,
['class' => 'command_macro'], 'checkbox-'.$macro_hide_value_name
true, ).ui_print_input_placeholder(
'checkbox-'.$macro_hide_value_name __('This field will show up as dots like a password'),
true
)
); );
$table->data['plugin_'.$next_name_number] = $datam; $table->data['plugin_'.$next_name_number] = $datam;
$next_name_number++; $next_name_number++;
$table->colspan['plugin_'.$next_name_number][1] = 3; // $table->colspan['plugin_'.$next_name_number][1] = 3;
$datam = []; $datam = [];
$datam[0] = __('Help')."<span class='normal_weight'> ($macro_name)</span><br><br><br>"; $datam[0] = html_print_label_input_block(
$datam[1] = html_print_textarea( __('Help').'<span class="normal_weight"> ('.$macro_name.')</span>',
$macro_help_name, html_print_textarea(
6, $macro_help_name,
100, 6,
$macro_help_value, 100,
'class="command_macro" class="w97p"', $macro_help_value,
true 'class="command_macro" class="w97p"',
true
)
); );
$datam[1] .= '<br><br><br>'; $table->colspan['plugin_'.$next_name_number][0] = 2;
$table->data['plugin_'.$next_name_number] = $datam; $table->data['plugin_'.$next_name_number] = $datam;
$next_name_number++; $next_name_number++;
$i++; $i++;
@ -617,7 +623,7 @@ if (empty($create) === false || empty($view) === false) {
// Add/Delete buttons // Add/Delete buttons
$datam = []; $datam = [];
$buttons = '';
if (!$locked) { if (!$locked) {
$datam[0] = '<a id="add_macro_btn" href="javascript:;">'.'<span class="bolder">'.__('Add macro').'</span>'.'&nbsp;'.html_print_image( $datam[0] = '<a id="add_macro_btn" href="javascript:;">'.'<span class="bolder">'.__('Add macro').'</span>'.'&nbsp;'.html_print_image(
'images/add.png', 'images/add.png',
@ -627,20 +633,55 @@ if (empty($create) === false || empty($view) === false) {
$datam[0] .= '<div id="next_macro" class="invisible">'.$i.'</div>'; $datam[0] .= '<div id="next_macro" class="invisible">'.$i.'</div>';
$datam[0] .= '<div id="next_row" class="invisible">'.$next_name_number.'</div>'; $datam[0] .= '<div id="next_row" class="invisible">'.$next_name_number.'</div>';
$buttons = html_print_anchor(
[
'id' => 'add_macro_btn',
'href' => 'javascript:;',
'content' => html_print_image(
'images/plus@svg.svg',
true,
['class' => 'invert_filter']
),
],
true
);
$buttons .= html_print_div(['id' => 'next_macro', 'class' => 'invisible', 'content' => $i], true);
$buttons .= html_print_div(['id' => 'next_row', 'class' => 'invisible', 'content' => $next_name_number], true);
$delete_macro_style = ''; $delete_macro_style = '';
if ($i <= 2) { if ($i <= 2) {
$delete_macro_style = 'display:none;'; $delete_macro_style = 'display:none;';
} }
$datam[2] = '<div id="delete_macro_button" style="'.$delete_macro_style.'">'.'<a href="javascript:;">'.'<span class="bolder">'.__('Delete macro').'</span>'.'&nbsp;'.html_print_image('images/delete.svg', true, ['class' => 'main_menu_icon invert_filter']).'</a>'.'</div>'; // $datam[1] = '<div id="delete_macro_button" style="'.$delete_macro_style.'">'.'<a href="javascript:;">'.'<span class="bolder">'.__('Delete macro').'</span>'.'&nbsp;'.html_print_image('images/delete.svg', true, ['class' => 'main_menu_icon invert_filter']).'</a>'.'</div>';
$buttons .= html_print_anchor(
[
'id' => 'delete_macro_button',
'style' => $delete_macro_style,
'href' => 'javascript:;',
'content' => html_print_image(
'images/delete.svg',
true,
['class' => 'main_menu_icon invert_filter']
),
],
true
);
$datam[0] = html_print_div(
[
'style' => 'flex-direction: row-reverse;justify-content: flex-start;',
'content' => $buttons,
],
true
);
$table->colspan['plugin_action'][0] = 2; $table->colspan['plugin_action'][0] = 2;
$table->colspan['plugin_action'][2] = 2;
} else { } else {
$table->colspan['plugin_action'][0] = 4; // $table->colspan['plugin_action'][0] = 4;
} }
$table->rowstyle['plugin_action'] = 'text-align:center'; // $table->rowstyle['plugin_action'] = 'text-align:center';
$table->data['plugin_action'] = $datam; $table->data['plugin_action'] = $datam;

View File

@ -251,69 +251,69 @@ if (enterprise_installed()) {
switch ($section) { switch ($section) {
case 'general': case 'general':
$buttons['general']['active'] = true; $buttons['general']['active'] = true;
$subpage = ' &raquo '.__('General'); $subpage = __('General');
$help_header = 'setup_general_tab'; $help_header = 'setup_general_tab';
break; break;
case 'auth': case 'auth':
$buttons['auth']['active'] = true; $buttons['auth']['active'] = true;
$subpage = ' &raquo '.__('Authentication'); $subpage = __('Authentication');
break; break;
case 'perf': case 'perf':
$buttons['perf']['active'] = true; $buttons['perf']['active'] = true;
$subpage = ' &raquo '.__('Performance'); $subpage = __('Performance');
$help_header = ''; $help_header = '';
break; break;
case 'vis': case 'vis':
$buttons['vis']['active'] = true; $buttons['vis']['active'] = true;
$subpage = ' &raquo '.__('Visual styles'); $subpage = __('Visual styles');
break; break;
case 'net': case 'net':
$buttons['net']['active'] = true; $buttons['net']['active'] = true;
$subpage = ' &raquo '.__('Netflow'); $subpage = __('Netflow');
$help_header = 'setup_netflow_tab'; $help_header = 'setup_netflow_tab';
break; break;
case 'ehorus': case 'ehorus':
$buttons['ehorus']['active'] = true; $buttons['ehorus']['active'] = true;
$subpage = ' &raquo '.__('eHorus'); $subpage = __('eHorus');
$help_header = 'setup_ehorus_tab'; $help_header = 'setup_ehorus_tab';
break; break;
case 'integria': case 'integria':
$buttons['integria']['active'] = true; $buttons['integria']['active'] = true;
$subpage = ' &raquo '.__('Integria IMS'); $subpage = __('Integria IMS');
$help_header = 'setup_integria_tab'; $help_header = 'setup_integria_tab';
break; break;
case 'module_library': case 'module_library':
$buttons['module_library']['active'] = true; $buttons['module_library']['active'] = true;
$subpage = ' &raquo '.__('Module Library'); $subpage = __('Module Library');
$help_header = 'setup_module_library_tab'; $help_header = 'setup_module_library_tab';
break; break;
case 'gis': case 'gis':
$buttons['gis']['active'] = true; $buttons['gis']['active'] = true;
$subpage = ' &raquo '.__('Map conections GIS'); $subpage = __('Map conections GIS');
break; break;
case 'notifications': case 'notifications':
$buttons['notifications']['active'] = true; $buttons['notifications']['active'] = true;
$subpage = ' &raquo '.__('Notifications'); $subpage = __('Notifications');
break; break;
case 'websocket_engine': case 'websocket_engine':
$buttons['websocket_engine']['active'] = true; $buttons['websocket_engine']['active'] = true;
$subpage = ' &raquo '.__('Pandora Websocket Engine'); $subpage = __('Pandora Websocket Engine');
$help_header = 'quickshell_settings'; $help_header = 'quickshell_settings';
break; break;
case 'external_tools': case 'external_tools':
$buttons['external_tools']['active'] = true; $buttons['external_tools']['active'] = true;
$subpage = ' &raquo '.__('External Tools'); $subpage = __('External Tools');
$help_header = ''; $help_header = '';
break; break;
@ -327,39 +327,49 @@ switch ($section) {
} }
$buttons['welcome_tips']['active'] = true; $buttons['welcome_tips']['active'] = true;
$subpage = ' &raquo '.$title; $subpage = $title;
$help_header = ''; $help_header = '';
break; break;
case 'enterprise': case 'enterprise':
$buttons['enterprise']['active'] = true; $buttons['enterprise']['active'] = true;
$subpage = ' &raquo '.__('Enterprise'); $subpage = __('Enterprise');
$help_header = 'setup_enterprise_tab'; $help_header = 'setup_enterprise_tab';
break; break;
case 'hist_db':
$buttons['hist_db']['active'] = true;
$subpage = __('Historical database');
$help_header = '';
break;
case 'pass':
$buttons['pass']['active'] = true;
$subpage = __('Password policies');
$help_header = '';
break;
default: default:
$subpage = 'seccion: '.$section;
// Default. // Default.
break; break;
} }
// Put header inside div for special sizing.(No right margin).
echo '<div id="header_configuration" style="width: calc(100%);">';
// Header. // Header.
ui_print_page_header( ui_print_standard_header(
__('Configuration').$subpage, $subpage,
'', '',
false, false,
$help_header, $help_header,
true, true,
$buttons, $buttons,
false, [
'', [
GENERIC_SIZE_TEXT, 'link' => '',
'', 'label' => __('Setup'),
'', ],
true ]
); );
echo '</div>';
if (isset($config['error_config_update_config'])) { if (isset($config['error_config_update_config'])) {
if ($config['error_config_update_config']['correct'] == false) { if ($config['error_config_update_config']['correct'] == false) {

View File

@ -873,7 +873,7 @@ class DiscoveryTaskList extends HTML
'100%', '100%',
1.9, 1.9,
// Color. // Color.
'#82b92e', '#ececec',
// Return. // Return.
true, true,
// Text. // Text.
@ -1218,12 +1218,12 @@ class DiscoveryTaskList extends HTML
$result .= progress_circular_bar( $result .= progress_circular_bar(
$task['id_rt'], $task['id_rt'],
($task['status'] < 0) ? 100 : $task['status'], ($task['status'] < 0) ? 100 : $task['status'],
200, 150,
200, 150,
'#7eb641', '#3A3A3A',
'%', '%',
'', '',
'#3A3A3A', '#ececec',
0 0
); );
@ -1288,12 +1288,12 @@ class DiscoveryTaskList extends HTML
$result .= progress_circular_bar( $result .= progress_circular_bar(
$task['id_rt'].'_detail', $task['id_rt'].'_detail',
$task['stats']['c_network_percent'], $task['stats']['c_network_percent'],
200, 150,
200, 150,
'#7eb641', '#3A3A3A',
'%', '%',
'', '',
'#3A3A3A', '#ececec',
0 0
); );
$result .= '</div></div>'; $result .= '</div></div>';

View File

@ -601,6 +601,7 @@ class AgentWizard extends HTML
'action' => $this->sectionUrl, 'action' => $this->sectionUrl,
'id' => 'form-main-wizard', 'id' => 'form-main-wizard',
'method' => 'POST', 'method' => 'POST',
'class' => 'white_box pdd_20px filter-list-adv',
]; ];
// Inputs. // Inputs.
@ -829,24 +830,22 @@ class AgentWizard extends HTML
]; ];
} }
$inputs[] = [ html_print_action_buttons(
'arguments' => [ html_print_submit_button(
'label' => $this->actionLabel, $this->actionLabel,
'name' => 'sub-protocol', 'sub-protocol',
'type' => 'submit', false,
'attributes' => [ [
'icon' => 'cog', 'icon' => 'cog',
'onclick' => '$(\'#form-main-wizard\').submit();', 'onclick' => '$("#form-main-wizard").submit();',
], ],
'return' => true, true
], )
]; );
// Prints main form. // Prints main form.
html_print_div( html_print_div(
[ [
'class' => 'white_box',
'style' => 'padding: 20px',
'content' => $this->printForm( 'content' => $this->printForm(
[ [
'form' => $form, 'form' => $form,
@ -5980,7 +5979,7 @@ class AgentWizard extends HTML
}); });
// Loading. // Loading.
$('#submit-sub-protocol').click(function() { $('#button-sub-protocol').click(function() {
$('.wizard-result').remove(); $('.wizard-result').remove();
$('#form-create-modules').remove(); $('#form-create-modules').remove();
$('.textodialogo').remove(); $('.textodialogo').remove();

View File

@ -7313,22 +7313,22 @@ function ui_get_inventory_module_add_form(
$table = new stdClass(); $table = new stdClass();
$table->id = 'inventory-module-form'; $table->id = 'inventory-module-form';
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox filters'; $table->class = 'databox filters filter-table-adv';
$table->style['module-title'] = 'font-weight: bold;'; $table->size['module'] = '50%';
$table->style['interval-title'] = 'font-weight: bold;'; $table->size['interval'] = '50%';
$table->style['target-title'] = 'font-weight: bold;'; $table->size['target'] = '50%';
$table->style['chkbx-custom-fields-title'] = 'font-weight: bold;'; $table->size['chkbx-custom-fields'] = '50%';
$table->style['username-title'] = 'font-weight: bold;'; $table->size['username'] = '50%';
$table->style['password-title'] = 'font-weight: bold;'; $table->size['password'] = '50%';
$table->rowstyle = []; $table->rowstyle = [];
$table->rowstyle['hidden-custom-field-row'] = 'display: none;'; $table->rowstyle['hidden-custom-field-row'] = 'display: none;';
$table->colspan = []; $table->rowstyle['custom-fields-button'] = 'display: none;';
$table->colspan['custom-fields-row'] = []; // $table->colspan = [];
$table->colspan['custom-fields-row']['custom-fields-column'] = 4; // $table->colspan['custom-fields-row'] = [];
// $table->colspan['custom-fields-row']['custom-fields-column'] = 2;
$table->data = []; $table->data = [];
$row = []; $row = [];
$row['module-title'] = __('Module');
if (empty($inventory_module_id)) { if (empty($inventory_module_id)) {
if (empty($os_id)) { if (empty($os_id)) {
$sql = 'SELECT mi.id_module_inventory AS id, mi.name AS name, co.name AS os $sql = 'SELECT mi.id_module_inventory AS id, mi.name AS name, co.name AS os
@ -7360,33 +7360,111 @@ function ui_get_inventory_module_add_form(
} }
} }
$row['module-input'] = html_print_select($inventory_modules, 'id_module_inventory', 0, '', __('Select inventory module'), 0, true, false, false); $row['module'] = html_print_label_input_block(
__('Module'),
html_print_select(
$inventory_modules,
'id_module_inventory',
0,
'',
__('Select inventory module'),
0,
true,
false,
false,
'w100p',
false,
'width: 100%'
)
);
} else { } else {
$row['module-input'] = db_get_sql('SELECT name FROM tmodule_inventory WHERE id_module_inventory = '.$inventory_module_id); $row['module'] = html_print_label_input_block(
__('Module'),
db_get_sql('SELECT name FROM tmodule_inventory WHERE id_module_inventory = '.$inventory_module_id)
);
} }
$row['interval-title'] = __('Interval'); $row['interval'] = html_print_label_input_block(
$row['interval-input'] = html_print_extended_select_for_time('interval', $interval, '', '', '', false, true); __('Interval'),
html_print_extended_select_for_time(
'interval',
$interval,
'',
'',
'',
false,
true,
false,
true,
'w100p'
)
);
$table->data['first-row'] = $row; $table->data['first-row'] = $row;
$row = []; $row = [];
if ($target !== false) { if ($target !== false) {
$row['target-title'] = __('Target'); $row['target'] = html_print_label_input_block(
$row['target-input'] = html_print_input_text('target', $target, '', 25, 40, true); __('Target'),
html_print_input_text(
'target',
$target,
'',
25,
40,
true,
false,
false,
'',
'w100p'
)
);
} }
$row['chkbx-custom-fields-title'] = __('Use custom fields'); $row['chkbx-custom-fields'] = html_print_label_input_block(
$row['chkbx-custom-fields-input'] = html_print_checkbox('custom_fields_enabled', 1, $custom_fields_enabled, true); __('Use custom fields'),
html_print_checkbox(
'custom_fields_enabled',
1,
$custom_fields_enabled,
true
)
);
$table->data['second-row'] = $row; $table->data['second-row'] = $row;
$row = []; $row = [];
$row['username-title'] = __('Username'); $row['username'] = html_print_label_input_block(
$row['username-input'] = html_print_input_text('username', $username, '', 25, 40, true); __('Username'),
$row['password-title'] = __('Password'); html_print_input_text(
$row['password-input'] = html_print_input_password('password', $password, '', 25, 40, true); 'username',
$username,
'',
25,
40,
true,
false,
false,
'',
'w100p'
)
);
$row['password'] = html_print_label_input_block(
__('Password'),
html_print_input_password(
'password',
$password,
'',
25,
40,
true,
false,
false,
'w100p'
)
);
$table->data['userpass-row'] = $row; $table->data['userpass-row'] = $row;
@ -7394,8 +7472,18 @@ function ui_get_inventory_module_add_form(
$row['hidden-title'] = ''; $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-name', '', true);
$row['hidden-input'] .= html_print_input_hidden('hidden-custom-field-is-secure', 0, 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); $row['hidden-input'] .= html_print_input_text(
$row['hidden-input'] .= '<span>&nbsp;</span>'; 'hidden-custom-field-input',
'',
'',
25,
40,
true,
false,
false,
'',
'w93p'
);
$row['hidden-input'] .= html_print_image( $row['hidden-input'] .= html_print_image(
'images/delete.svg', 'images/delete.svg',
true, true,
@ -7460,13 +7548,48 @@ function ui_get_inventory_module_add_form(
} }
$row = []; $row = [];
$row['custom-fields-column'] = '<b>'.__('Field name').'</b>'.'&nbsp;&nbsp;'.html_print_input_text('field-name', '', '', 25, 40, true).'&nbsp;&nbsp;&nbsp;'.html_print_checkbox('field-is-password', 1, false, true).__("It's a password").'&nbsp;&nbsp;&nbsp;'.html_print_button(__('Add field'), 'add-field', false, '', 'class="sub add"', true); $row['custom-fields-column'] = html_print_label_input_block(
__('Field name'),
'<div class="flex">'.html_print_input_text(
'field-name',
'',
'',
25,
40,
true,
false,
false,
'',
'w60p mrgn_right_10px'
).html_print_checkbox(
'field-is-password',
1,
false,
true
).'&nbsp;'.__("It's a password").'</div>'
);
$table->data['custom-fields-row'] = $row; $table->data['custom-fields-row'] = $row;
$row = [];
$row['custom-fields-button-title'] = '';
$row['custom-fields-button'] = html_print_button(
__('Add field'),
'add-field',
false,
'',
[
'class' => 'mini float-right',
'icon' => 'plus',
],
true
);
$table->data['custom-fields-button'] = $row;
ob_start(); ob_start();
echo '<form name="modulo" method="post" action="'.$form_action.'">'; echo '<form name="modulo" method="post" action="'.$form_action.'" class="max_floating_element_size">';
echo html_print_table($table); echo html_print_table($table);
echo '<div class="action-buttons w100p">'; echo '<div class="action-buttons w100p">';
echo $form_buttons; echo $form_buttons;

View File

@ -2167,7 +2167,7 @@ function print_circular_progress_bar(
var numberText = circle var numberText = circle
.append("text") .append("text")
.attr("fill", label_color) .attr("fill", "#333333")
.style("font-weight", "bold") .style("font-weight", "bold")
.style("font-size", numberSize) .style("font-size", numberSize)
.attr("text-anchor", "middle") .attr("text-anchor", "middle")
@ -2175,7 +2175,7 @@ function print_circular_progress_bar(
var percentText = circle var percentText = circle
.append("text") .append("text")
.attr("fill", label_color) .attr("fill", "#333333")
.style("font-weight", "bold") .style("font-weight", "bold")
.style("font-size", unitSize) .style("font-size", unitSize)
.text(unit) .text(unit)

View File

@ -10532,6 +10532,11 @@ button div.preview {
-webkit-mask: url(../../images/eye.png) no-repeat center / contain; -webkit-mask: url(../../images/eye.png) no-repeat center / contain;
} }
button div.plus {
mask: url(../../images/plus-black.svg) no-repeat center / contain;
-webkit-mask: url(../../images/plus-black.svg) no-repeat center / contain;
}
button div.cog.rotation { button div.cog.rotation {
animation: rotation 4s infinite linear; animation: rotation 4s infinite linear;
} }
@ -11240,8 +11245,8 @@ input.main_menu_icon[src$=".svg"] {
} }
.header_help_icon { .header_help_icon {
width: 16px; width: 16px !important;
height: 16px; height: 16px !important;
} }
.main_menu_icon.arrow_up { .main_menu_icon.arrow_up {
transform: rotate(90deg); transform: rotate(90deg);
@ -11264,6 +11269,10 @@ span.subsection_header_title {
height: 18px; height: 18px;
} }
.agent_details_header span.subsection_header_title {
font-weight: 700;
color: #000;
}
.subsection_header_title.secondary { .subsection_header_title.secondary {
font-size: 14px; font-size: 14px;
} }

View File

@ -802,3 +802,7 @@ div[id^="auto-os-"] > img {
.dataTables_paginate { .dataTables_paginate {
margin-right: 10px; margin-right: 10px;
} }
.dataTables_paginate.paging_simple_numbers {
margin-right: 0;
}

View File

@ -43,7 +43,7 @@ div.subtitle {
} }
div.subtitle span { div.subtitle span {
font-size: 1.9em; font-size: 1.3em;
} }
div.subtitle div.manage { div.subtitle div.manage {

View File

@ -18,7 +18,7 @@
border-radius: 5px; border-radius: 5px;
} }
.ui-dialog .tips_header.ui-dialog-titlebar { .ui-dialog .tips_header.ui-dialog-titlebar {
display: flex; display: flex !important;
padding: 0px 20px; padding: 0px 20px;
justify-content: space-between; justify-content: space-between;
height: fit-content; height: fit-content;

View File

@ -164,8 +164,8 @@ $table_status->width = '100%';
$table_status->cellspacing = 0; $table_status->cellspacing = 0;
$table_status->cellpadding = 0; $table_status->cellpadding = 0;
$table_status->class = 'floating_form'; $table_status->class = 'floating_form';
$table_status->style[0] = 'height: 32px; width: 30%; padding-right: 5px; text-align: end;'; $table_status->style[0] = 'height: 32px; width: 30%; padding-right: 5px; text-align: end; vertical-align: top';
$table_status->style[1] = 'height: 32px; width: 70%; padding-left: 5px; font-weight: lighter'; $table_status->style[1] = 'height: 32px; width: 70%; padding-left: 5px; font-weight: lighter; vertical-align: top';
$agentStatusGraph = html_print_div( $agentStatusGraph = html_print_div(
[ [
@ -386,8 +386,8 @@ $table_contact->width = '100%';
$table_contact->cellspacing = 0; $table_contact->cellspacing = 0;
$table_contact->cellpadding = 0; $table_contact->cellpadding = 0;
$table_contact->class = 'floating_form'; $table_contact->class = 'floating_form';
$table_contact->style[0] = 'height: 32px; width: 30%; padding-right: 5px; text-align: end;'; $table_contact->style[0] = 'height: 32px; width: 30%; padding-right: 5px; text-align: end; vertical-align: top';
$table_contact->style[1] = 'height: 32px; width: 70%; padding-left: 5px; font-weight: lighter'; $table_contact->style[1] = 'height: 32px; width: 70%; padding-left: 5px; font-weight: lighter; vertical-align: top';
$agentContactCaption = html_print_div( $agentContactCaption = html_print_div(
[ [

View File

@ -1921,7 +1921,7 @@ switch ($tab) {
if ((bool) $config['pure'] === false) { if ((bool) $config['pure'] === false) {
ui_print_standard_header( ui_print_standard_header(
__('Agent main view'), __('Agent main view').' ( '.strtolower(agents_get_alias($id_agente)).' )',
$icon, $icon,
false, false,
($help_header ?? ''), ($help_header ?? ''),