Browse Source

Fix return $#ACK -- ASR

Gaétan RYCKEBOER 10 years ago
parent
commit
98b01c4676
1 changed files with 19 additions and 12 deletions
  1. 19 12
      bin/nagios-fifo.pl

+ 19 - 12
bin/nagios-fifo.pl

@@ -418,29 +418,34 @@ sub event_privmsg {
 	# Commamd channel
 	# Commamd channel
 	my $K;
 	my $K;
 	my ($server, $data, $nick, $mask) =@_;
 	my ($server, $data, $nick, $mask) =@_;
-	my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
+	my ($target, $text, $arg) = $data =~ /^(\S*)\s:(.*)/;
 
 
         #print ( "C:$target X:$text A:$admin D:$warndate L:$last W:$warn N:$nick D:$data" );
         #print ( "C:$target X:$text A:$admin D:$warndate L:$last W:$warn N:$nick D:$data" );
         if ( $text =~ /^!nagios ?(.*)/i ) {
         if ( $text =~ /^!nagios ?(.*)/i ) {
+		$arg=$1;
+		Irssi::print(">> $arg");
 		# !nagios [*] :
 		# !nagios [*] :
 		$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 		$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 			" ".scalar @ACKS." alertes");
 			" ".scalar @ACKS." alertes");
-		return unless $#ACKS > 0;
-		my $i=0;
 		
 		
 		# !nagios list [*] : 
 		# !nagios list [*] : 
-		if ($1 =~ /^refresh/i) {
+		if ($arg =~ /^refresh/i) {
+		Irssi::print(">> $arg");
 			query_nagios_status($server);
 			query_nagios_status($server);
 		}
 		}
-		if ($1 =~ /^list/i) {
+		elsif ($arg =~ /^list/i) {
+		Irssi::print(">> $arg");
+			return unless $#ACKS > 0;
+			my $i=0;
 			foreach $K (@ACKS) {
 			foreach $K (@ACKS) {
 				$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 				$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 					" ". mark(' ',$i++,$K->[2]) ." ".$K->[0]." / $K->[1] / $K->[2] / $K->[3] / ".time2date $K->[4]);
 					" ". mark(' ',$i++,$K->[2]) ." ".$K->[0]." / $K->[1] / $K->[2] / $K->[3] / ".time2date $K->[4]);
 			}
 			}
 		}
 		}
-		elsif ($1 =~ /^help/i) {
+		elsif ($arg =~ /^help/i) {
+		Irssi::print(">> $arg");
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
-				" !nagios list : liste des alertes nagios reçuesici");
+				" !nagios list : liste des alertes nagios reçues ici");
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 				" !nagios help : l'aide");
 				" !nagios help : l'aide");
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
@@ -449,13 +454,15 @@ sub event_privmsg {
 				" !nagios check <#ALERTE> : recheck une alerte donnée (service/host)");
 				" !nagios check <#ALERTE> : recheck une alerte donnée (service/host)");
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 			$server->command ( "msg  ".Irssi::settings_get_str("nagios_ack_channel").
 				" !nagios refresh : interroge le nagios pour avoir la liste de toutes les alertes");
 				" !nagios refresh : interroge le nagios pour avoir la liste de toutes les alertes");
+		} elsif ( $arg =~ /^check ?(.*)/i ){
+		Irssi::print(">> $arg");
+			nagios_check($1,$server,undef);
+		} elsif ( $arg =~ /^ack ?(.*)/i ){
+		Irssi::print(">> $arg");
+			nagios_ack($1,$server,undef);
 		}
 		}
-                return 1;
-        } elsif ( $text =~ /^check ?(.*)/i ){
-		nagios_check($1,$server,undef);
-        } elsif ( $text =~ /^ack ?(.*)/i ){
-		nagios_ack($1,$server,undef);
 	}
 	}
+	return 1;
 }
 }
 
 
 ##########################################################################
 ##########################################################################