2012-02-06 12:05:35 +01:00
< ? php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 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; 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.
global $config ;
check_login ();
if ( ! check_acl ( $config [ 'id_user' ], 0 , " PM " )) {
db_pandora_audit ( " ACL Violation " ,
" Trying to access Group Management " );
require ( " general/noaccess.php " );
return ;
}
2012-02-09 13:39:11 +01:00
$update = get_parameter ( 'upd_button' , '' );
$default = ( int ) get_parameter ( 'default' , 0 );
2012-02-07 19:11:12 +01:00
$fields_selected = array ();
$event_fields = '' ;
$fields_selected = explode ( ',' , $config [ 'event_fields' ]);
2012-02-09 13:39:11 +01:00
if ( $default != 0 ) {
2012-02-08 18:56:32 +01:00
$event_fields = io_safe_input ( 'evento,id_agente,estado,timestamp' );
$fields_selected = explode ( ',' , $event_fields );
2012-02-09 13:39:11 +01:00
} else if ( $update != '' ) {
2012-02-07 19:11:12 +01:00
$fields_selected = ( array ) get_parameter ( 'fields_selected' );
if ( $fields_selected [ 0 ] == '' ) {
2012-02-08 18:21:16 +01:00
$event_fields = io_safe_input ( 'evento,id_agente,estado,timestamp' );
2012-02-07 19:11:12 +01:00
$fields_selected = explode ( ',' , $event_fields );
} else {
$event_fields = implode ( ',' , $fields_selected );
}
$values = array (
'token' => 'event_fields' ,
'value' => $event_fields
);
//update 'event_fields' in tconfig table to keep the value at update.
$result = db_process_sql_update ( 'tconfig' , $values , array ( 'token' => 'event_fields' ));
}
$result_selected = array ();
2012-02-08 18:21:16 +01:00
2012-02-08 18:56:32 +01:00
//show list of fields selected.
2012-02-07 19:11:12 +01:00
if ( $fields_selected [ 0 ] != '' ) {
foreach ( $fields_selected as $field_selected ) {
2012-02-08 18:21:16 +01:00
switch ( $field_selected ) {
case 'id_evento' :
$result = __ ( 'Event id' );
break ;
case 'evento' :
$result = __ ( 'Event name' );
break ;
case 'id_agente' :
$result = __ ( 'Agent name' );
break ;
case 'id_usuario' :
$result = __ ( 'User' );
break ;
case 'id_grupo' :
$result = __ ( 'Group' );
break ;
case 'estado' :
$result = __ ( 'Status' );
break ;
case 'timestamp' :
$result = __ ( 'Timestamp' );
break ;
case 'event_type' :
$result = __ ( 'Event type' );
break ;
case 'id_agentmodule' :
$result = __ ( 'Agent module' );
break ;
case 'id_alert_am' :
$result = __ ( 'Alert' );
break ;
case 'criticity' :
2012-02-08 18:56:32 +01:00
$result = __ ( 'Criticity' );
2012-02-08 18:21:16 +01:00
break ;
case 'user_comment' :
$result = __ ( 'Comment' );
break ;
case 'tags' :
$result = __ ( 'Tags' );
break ;
case 'source' :
$result = __ ( 'Source' );
break ;
case 'id_extra' :
$result = __ ( 'Extra id' );
break ;
}
$result_selected [ $field_selected ] = $result ;
2012-02-07 19:11:12 +01:00
}
}
2012-02-06 12:05:35 +01:00
$event = array ();
2012-02-09 13:39:11 +01:00
echo '<h3>' . __ ( 'Show event fields' );
echo ' <a href="index.php?sec=geventos&sec2=godmode/events/events§ion=fields&default=1">' ;
html_print_image ( 'images/clean.png' , false , array ( 'title' => __ ( 'Load default event fields' ), 'onclick' => " if (! confirm (' " . __ ( 'Default event fields will be loaded. Do you want to continue?' ) . " ')) return false " ));
echo '</a></h3>' ;
2012-02-08 18:21:16 +01:00
2012-02-06 12:05:35 +01:00
$table -> width = '90%' ;
$table -> size = array ();
$table -> size [ 0 ] = '20%' ;
2012-02-09 13:39:11 +01:00
$table -> size [ 2 ] = '10px' ;
$table -> size [ 3 ] = '20%' ;
2012-02-06 12:05:35 +01:00
$table -> data = array ();
2012-02-07 19:11:12 +01:00
$fields_available = array ();
2012-02-08 18:21:16 +01:00
$fields_available [ 'id_evento' ] = __ ( 'Event id' );
$fields_available [ 'evento' ] = __ ( 'Event name' );
$fields_available [ 'id_agente' ] = __ ( 'Agent name' );
$fields_available [ 'id_usuario' ] = __ ( 'User' );
$fields_available [ 'id_grupo' ] = __ ( 'Group' );
$fields_available [ 'estado' ] = __ ( 'Status' );
$fields_available [ 'timestamp' ] = __ ( 'Timestamp' );
$fields_available [ 'event_type' ] = __ ( 'Event type' );
$fields_available [ 'id_agentmodule' ] = __ ( 'Agent module' );
$fields_available [ 'id_alert_am' ] = __ ( 'Alert' );
$fields_available [ 'criticity' ] = __ ( 'Criticity' );
$fields_available [ 'user_comment' ] = __ ( 'Comment' );
$fields_available [ 'tags' ] = __ ( 'Tags' );
$fields_available [ 'source' ] = __ ( 'Source' );
$fields_available [ 'id_extra' ] = __ ( 'Extra id' );
2012-02-07 19:11:12 +01:00
//remove fields already selected
2012-02-08 18:21:16 +01:00
foreach ( $fields_available as $key => $available ) {
2012-02-07 19:11:12 +01:00
foreach ( $result_selected as $selected ) {
if ( $selected == $available ) {
2012-02-08 18:21:16 +01:00
unset ( $fields_available [ $key ]);
2012-02-07 19:11:12 +01:00
}
}
}
2012-02-06 12:05:35 +01:00
2012-02-07 19:11:12 +01:00
$table -> data [ 1 ][ 0 ] = '<b>' . __ ( 'Fields available' ) . '</b>' ;
2012-02-09 11:15:03 +01:00
$table -> data [ 1 ][ 1 ] = html_print_select ( $fields_available , 'fields_available[]' , true , '' , '' , '' , true , true , false , '' , false , 'width: 200px' );
2012-02-07 19:11:12 +01:00
$table -> data [ 1 ][ 2 ] = html_print_image ( 'images/darrowright.png' , true , array ( 'id' => 'right' , 'title' => __ ( 'Add fields to select' ))); //html_print_input_image ('add', 'images/darrowright.png', 1, '', true, array ('title' => __('Add tags to module')));
$table -> data [ 1 ][ 2 ] .= '<br><br><br><br>' . html_print_image ( 'images/darrowleft.png' , true , array ( 'id' => 'left' , 'title' => __ ( 'Delete fields to select' ))); //html_print_input_image ('add', 'images/darrowleft.png', 1, '', true, array ('title' => __('Delete tags to module')));
$table -> data [ 1 ][ 3 ] = '<b>' . __ ( 'Fields selected' ) . '</b>' ;
2012-02-09 11:15:03 +01:00
$table -> data [ 1 ][ 4 ] = html_print_select ( $result_selected , 'fields_selected[]' , true , '' , '' , '' , true , true , false , '' , false , 'width: 200px' );
2012-02-06 12:05:35 +01:00
2012-02-08 14:12:46 +01:00
echo '<form id="custom_events" method="post" action="index.php?sec=geventos&sec2=godmode/events/events§ion=fields">' ;
2012-02-06 12:05:35 +01:00
html_print_table ( $table );
echo '<div class="action-buttons" style="width: ' . $table -> width . '">' ;
html_print_submit_button ( __ ( 'Update' ), 'upd_button' , false , 'class="sub upd"' );
2012-02-08 18:56:32 +01:00
echo '</form>' ;
2012-02-06 12:05:35 +01:00
echo '</div>' ;
?>
2012-02-07 19:11:12 +01:00
< script type = " text/javascript " >
/* <![CDATA[ */
$ ( document ) . ready ( function () {
2012-02-09 11:15:03 +01:00
2012-02-07 19:11:12 +01:00
$ ( " #right " ) . click ( function () {
jQuery . each ( $ ( " select[name='fields_available[]'] option:selected " ), function ( key , value ) {
field_name = $ ( value ) . html ();
if ( field_name != < ? php echo " ' " . __ ( 'None' ) . " ' " ; ?> ){
id_field = $ ( value ) . attr ( 'value' );
2012-02-09 11:15:03 +01:00
$ ( " select[name='fields_selected[]'] " ) . append ( $ ( " <option></option> " ) . html ( field_name ) . attr ( " value " , id_field ));
2012-02-07 19:11:12 +01:00
$ ( " #fields_available " ) . find ( " option[value=' " + id_field + " '] " ) . remove ();
}
});
});
$ ( " #left " ) . click ( function () {
jQuery . each ( $ ( " select[name='fields_selected[]'] option:selected " ), function ( key , value ) {
field_name = $ ( value ) . html ();
if ( field_name != < ? php echo " ' " . __ ( 'None' ) . " ' " ; ?> ){
id_field = $ ( value ) . attr ( 'value' );
2012-02-08 18:21:16 +01:00
$ ( " select[name='fields_available[]'] " ) . append ( $ ( " <option></option> " ) . val ( field_name ) . html ( '<i>' + id_field + '</i>' ));
2012-02-07 19:11:12 +01:00
$ ( " #fields_selected " ) . find ( " option[value=' " + id_field + " '] " ) . remove ();
}
});
});
2012-02-09 11:15:03 +01:00
$ ( " #submit-upd_button " ) . click ( function () {
$ ( '#fields_selected option' ) . map ( function (){
$ ( this ) . attr ( 'selected' , 'selected' );
});
});
2012-02-07 19:11:12 +01:00
});
2012-02-06 12:05:35 +01:00
</ script >