106 lines
3.5 KiB
PHP
106 lines
3.5 KiB
PHP
<?php
|
|
|
|
// Pandora FMS - http://pandorafms.com
|
|
// ==================================================
|
|
// Copyright (c) 2005-2021 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.
|
|
// Load global vars
|
|
global $config;
|
|
|
|
require_once 'include/functions_agents.php';
|
|
|
|
check_login();
|
|
|
|
$id_agente = get_parameter_get('id_agente', -1);
|
|
|
|
if ($id_agente === -1) {
|
|
ui_print_error_message(__('There was a problem loading agent'));
|
|
return;
|
|
}
|
|
|
|
// All groups is calculated in ver_agente.php. Avoid to calculate it again
|
|
if (!isset($all_groups)) {
|
|
$all_groups = agents_get_all_groups_agent($idAgent, $id_group);
|
|
}
|
|
|
|
if (! check_acl_one_of_groups($config['id_user'], $all_groups, 'AR') && ! check_acl($config['id_user'], 0, 'AW')) {
|
|
db_pandora_audit(
|
|
AUDIT_LOG_ACL_VIOLATION,
|
|
'Trying to access Agent General Information'
|
|
);
|
|
include_once 'general/noaccess.php';
|
|
return;
|
|
}
|
|
|
|
$all_customs_fields = (bool) check_acl_one_of_groups(
|
|
$config['id_user'],
|
|
$all_groups,
|
|
'AW'
|
|
);
|
|
|
|
if ($all_customs_fields) {
|
|
$fields = db_get_all_rows_filter('tagent_custom_fields');
|
|
} else {
|
|
$fields = db_get_all_rows_filter(
|
|
'tagent_custom_fields',
|
|
['display_on_front' => 1]
|
|
);
|
|
}
|
|
|
|
if ($fields === false) {
|
|
$fields = [];
|
|
ui_print_empty_data(__('No fields defined'));
|
|
} else {
|
|
$table = new stdClass();
|
|
$table->width = '100%';
|
|
$table->class = 'info_table';
|
|
$table->head = [];
|
|
$table->head[0] = __('Field');
|
|
$table->size[0] = '20%';
|
|
$table->head[1] = __('Display on front').ui_print_help_tip(__('The fields with display on front enabled will be displayed into the agent details'), true);
|
|
$table->size[1] = '20%';
|
|
$table->head[2] = __('Description');
|
|
$table->align = [];
|
|
$table->align[1] = 'left';
|
|
$table->align[2] = 'left';
|
|
$table->data = [];
|
|
|
|
foreach ($fields as $field) {
|
|
$data[0] = '<b>'.$field['name'].'</b>';
|
|
|
|
if ($field['display_on_front']) {
|
|
$data[1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
|
} else {
|
|
$data[1] = html_print_image('images/delete.png', true, ['class' => 'invert_filter']);
|
|
}
|
|
|
|
$custom_value = db_get_all_rows_sql(
|
|
'select tagent_custom_data.description,tagent_custom_fields.is_password_type from tagent_custom_fields
|
|
INNER JOIN tagent_custom_data ON tagent_custom_fields.id_field = tagent_custom_data.id_field where tagent_custom_fields.id_field = '.$field['id_field'].' and tagent_custom_data.id_agent = '.$id_agente
|
|
);
|
|
|
|
if ($custom_value[0]['description'] === false || $custom_value[0]['description'] == '') {
|
|
$custom_value[0]['description'] = '<i>-'.__('empty').'-</i>';
|
|
} else {
|
|
$custom_value[0]['description'] = ui_bbcode_to_html($custom_value[0]['description']);
|
|
}
|
|
|
|
if ($custom_value[0]['is_password_type']) {
|
|
$data[2] = '••••••••';
|
|
} else {
|
|
$data[2] = $custom_value[0]['description'];
|
|
}
|
|
|
|
array_push($table->data, $data);
|
|
}
|
|
|
|
html_print_table($table);
|
|
}
|