From 1ef60281c98308158443a30adbb7dad623802b6f Mon Sep 17 00:00:00 2001 From: Ramon Novoa Date: Wed, 3 Sep 2014 16:22:15 +0200 Subject: [PATCH] 2014-09-03 Ramon Novoa * lib/PandoraFMS/Core.pm: Added dynamic macros for agent custom fields. --- pandora_server/ChangeLog | 4 ++++ pandora_server/lib/PandoraFMS/Core.pm | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/pandora_server/ChangeLog b/pandora_server/ChangeLog index d5822f516c..259f029722 100644 --- a/pandora_server/ChangeLog +++ b/pandora_server/ChangeLog @@ -1,3 +1,7 @@ +2014-09-03 Ramon Novoa + + * lib/PandoraFMS/Core.pm: Added dynamic macros for agent custom fields. + 2014-09-02 Ramon Novoa * lib/PandoraFMS/Core.pm: Added support for loading complex macros on diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index e25f753770..da75f3e8fb 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -834,6 +834,7 @@ sub pandora_execute_action ($$$$$$$$$;$) { _field10_ => $field10, _agent_ => (defined ($agent)) ? $agent->{'nombre'} : '', _agentcustomid_ => (defined ($agent)) ? $agent->{'custom_id'} : '', + '_agentcustomfield_\d+_' => undef, _agentdescription_ => (defined ($agent)) ? $agent->{'comentarios'} : '', _agentgroup_ => (defined ($group)) ? $group->{'nombre'} : '', _agentstatus_ => undef, @@ -3280,6 +3281,12 @@ sub on_demand_macro($$$$$$) { return (defined ($module)) ? pandora_get_module_phone_tags ($pa_config, $dbh, $module->{'id_agente_modulo'}) : ''; } elsif ($macro eq '_name_tag_') { return (defined ($module)) ? pandora_get_module_tags ($pa_config, $dbh, $module->{'id_agente_modulo'}) : ''; + } elsif ($macro =~ /_agentcustomfield_(\d+)_/) { + return '' unless defined ($agent); + my $field_number = $1; + my $field_value = get_db_value($dbh, 'SELECT description FROM tagent_custom_data WHERE id_field=? AND id_agent=?', $field_number, $agent->{'id_agente'}); + return (defined($field_value)) ? $field_value : ''; + } }