2010-08-25 14:04:42 +02:00
< ? php
// Pandora FMS - http://pandorafms.com
// ==================================================
2010-09-20 19:35:59 +02:00
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
2010-08-25 14:04:42 +02:00
// 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 ;
2019-01-30 16:18:44 +01:00
require_once 'include/functions_agents.php' ;
2010-08-25 14:04:42 +02:00
2019-01-30 16:18:44 +01:00
check_login ();
2010-08-25 14:04:42 +02:00
2019-01-30 16:18:44 +01:00
$id_agente = get_parameter_get ( 'id_agente' , - 1 );
2010-08-25 14:04:42 +02:00
if ( $id_agente === - 1 ) {
2019-01-30 16:18:44 +01:00
ui_print_error_message ( __ ( 'There was a problem loading agent' ));
return ;
2010-08-25 14:04:42 +02:00
}
2018-03-27 16:38:17 +02:00
// All groups is calculated in ver_agente.php. Avoid to calculate it again
if ( ! isset ( $all_groups )) {
2019-01-30 16:18:44 +01:00
$all_groups = agents_get_all_groups_agent ( $idAgent , $id_group );
2018-03-27 16:38:17 +02:00
}
2019-01-30 16:18:44 +01:00
if ( ! check_acl_one_of_groups ( $config [ 'id_user' ], $all_groups , 'AR' ) && ! check_acl ( $config [ 'id_user' ], 0 , 'AW' )) {
db_pandora_audit (
'ACL Violation' ,
'Trying to access Agent General Information'
);
include_once 'general/noaccess.php' ;
return ;
2010-08-25 14:04:42 +02:00
}
2019-01-30 16:18:44 +01:00
$all_customs_fields = ( bool ) check_acl_one_of_groups (
$config [ 'id_user' ],
$all_groups ,
'AW'
);
2010-08-25 14:04:42 +02:00
2013-02-20 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/recon_script.php, godmode/servers/plugin.php,
godmode/snmpconsole/snmp_filters.php,
godmode/massive/massive_delete_alerts.php,
godmode/massive/massive_enable_disable_alerts.php,
godmode/massive/massive_edit_agents.php,
godmode/massive/massive_delete_modules.php,
godmode/massive/massive_add_action_alerts.php,
godmode/massive/massive_delete_action_alerts.php: improved the code
style.
* include/ajax/events.php, include/functions_events.php,
operation/agentes/custom_fields.php: fixed the show admin custom
fields for user without permisitions.
Fixes: #3605278
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7683 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-20 13:07:00 +01:00
if ( $all_customs_fields ) {
2019-01-30 16:18:44 +01:00
$fields = db_get_all_rows_filter ( 'tagent_custom_fields' );
} else {
$fields = db_get_all_rows_filter (
'tagent_custom_fields' ,
[ 'display_on_front' => 1 ]
);
2013-02-20 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/recon_script.php, godmode/servers/plugin.php,
godmode/snmpconsole/snmp_filters.php,
godmode/massive/massive_delete_alerts.php,
godmode/massive/massive_enable_disable_alerts.php,
godmode/massive/massive_edit_agents.php,
godmode/massive/massive_delete_modules.php,
godmode/massive/massive_add_action_alerts.php,
godmode/massive/massive_delete_action_alerts.php: improved the code
style.
* include/ajax/events.php, include/functions_events.php,
operation/agentes/custom_fields.php: fixed the show admin custom
fields for user without permisitions.
Fixes: #3605278
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7683 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-20 13:07:00 +01:00
}
2010-08-25 14:04:42 +02:00
2013-02-20 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/recon_script.php, godmode/servers/plugin.php,
godmode/snmpconsole/snmp_filters.php,
godmode/massive/massive_delete_alerts.php,
godmode/massive/massive_enable_disable_alerts.php,
godmode/massive/massive_edit_agents.php,
godmode/massive/massive_delete_modules.php,
godmode/massive/massive_add_action_alerts.php,
godmode/massive/massive_delete_action_alerts.php: improved the code
style.
* include/ajax/events.php, include/functions_events.php,
operation/agentes/custom_fields.php: fixed the show admin custom
fields for user without permisitions.
Fixes: #3605278
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7683 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-02-20 13:07:00 +01:00
if ( $fields === false ) {
2019-01-30 16:18:44 +01:00
$fields = [];
ui_print_empty_data ( __ ( 'No fields defined' ));
} else {
$table = new stdClass ();
$table -> width = '100%' ;
2019-04-05 13:18:38 +02:00
$table -> class = 'info_table' ;
2019-01-30 16:18:44 +01:00
$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 );
} else {
$data [ 1 ] = html_print_image ( 'images/delete.png' , true );
}
$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 );
2010-09-20 19:35:59 +02:00
}