4cd6abff2aaf2812b918168fd030282b52bab201
1 package siTriggered;
2 use Exporter;
3 @ISA = qw(Exporter);
4 my @events = (
5 "got_ping",
6 );
7 @EXPORT = @events;
9 use strict;
10 use warnings;
11 use GOSA::GosaSupportDaemon;
14 BEGIN {}
16 END {}
18 ### Start ######################################################################
20 #&main::read_configfile($main::cfg_file, %cfg_defaults);
22 sub get_events {
23 return \@events;
24 }
27 sub got_ping {
28 my ($msg, $msg_hash, $session_id) = @_;
30 my $source = @{$msg_hash->{source}}[0];
31 my $target = @{$msg_hash->{target}}[0];
32 my $header = @{$msg_hash->{header}}[0];
33 my $act_time = &get_time;
34 my @out_msg_l;
35 my $out_msg;
37 $session_id = @{$msg_hash->{'session_id'}}[0];
39 # check known_clients_db
40 my $sql_statement = "SELECT * FROM known_clients WHERE hostname='$source'";
41 my $query_res = $main::known_clients_db->select_dbentry( $sql_statement );
42 if( 1 == keys %{$query_res} ) {
43 my $sql_statement= "UPDATE known_clients ".
44 "SET status='$header', timestamp='$act_time' ".
45 "WHERE hostname='$source'";
46 my $res = $main::known_clients_db->update_dbentry( $sql_statement );
47 }
49 # check known_server_db
50 $sql_statement = "SELECT * FROM known_server WHERE hostname='$source'";
51 $query_res = $main::known_server_db->select_dbentry( $sql_statement );
52 if( 1 == keys %{$query_res} ) {
53 my $sql_statement= "UPDATE known_server ".
54 "SET status='$header', timestamp='$act_time' ".
55 "WHERE hostname='$source'";
56 my $res = $main::known_server_db->update_dbentry( $sql_statement );
57 }
59 # create out_msg
60 my $out_hash = &create_xml_hash($header, $source, "GOSA");
61 &add_content2xml_hash($out_hash, "session_id", $session_id);
62 $out_msg = &create_xml_string($out_hash);
63 push(@out_msg_l, $out_msg);
65 return @out_msg_l;
66 }
69 1;