#!/bin/sh

#########################
# A mettre dans une lib #
#########################
STATE_OK=0
STATE_OK_STR="OK"
STATE_WARNING=1
STATE_WARNING_STR="WARNING"
STATE_CRITICAL=2
STATE_CRITICAL_STR="CRITICAL"
STATE_UNKNOWN=3
STATE_UNKNOWN_STR="UNKNOWN"

NAGIOS_STATUS=$STATE_OK
NAGIOS_STATUS_STR=$STATE_OK_STR
NAGIOS_STATUS_SHORT=""
NAGIOS_MESSAGE=""


# Colors
N_COLOR_GREEN="<img src=images/green.gif>"
N_COLOR_RED="<img src=images/red.gif>"
N_COLOR_YELLOW="<img src=images/yellow.gif>"
N_COLOR_CLEAR="<img src=images/clear.gif>"

# Etat interne
NAGIOS_STATUS_SET=0

function NAGIOS_Debug()
{
        if [ "$NAGIOS_DEBUG" = "1" ]
        then
                echo -e "$@"
        fi

}

function NAGIOS_Add()
{
        NAGIOS_MESSAGE="$NAGIOS_MESSAGE$*"
}

function NAGIOS_Send()
{
	if [ "$1" != "" ]
	then
		NAGIOS_PERFDATA=" | $1"
	else
		NAGIOS_PERFDATA=""	
	fi

	# On enleve d'eventuel '|'
	NAGIOS_MESSAGE=${NAGIOS_MESSAGE//|/-}
	

        echo -e  "$NAGIOS_STATUS_STR $NAGIOS_STATUS_SHORT$NAGIOS_PERFDATA\n$NAGIOS_MESSAGE"

	NAGIOS_STATUS_SET=0
}


function NAGIOS_SetStatus()
{

	NAGIOS_STATUS_SET=1

        if [ "$2" != "" ]
        then
                if [ "$NAGIOS_STATUS_SHORT" != "" ]
                then
                        NAGIOS_STATUS_SHORT="$NAGIOS_STATUS_SHORT, "
                fi
                NAGIOS_STATUS_SHORT="$NAGIOS_STATUS_SHORT$2"
        fi


        if [ $1 -gt $NAGIOS_STATUS ]
        then
                NAGIOS_STATUS=$1


                if [ "$NAGIOS_STATUS" = "$STATE_WARNING" ]
                then
                        NAGIOS_STATUS_STR=$STATE_WARNING_STR
                else
                        if [ "$NAGIOS_STATUS" = "$STATE_CRITICAL"  ]
                        then
                                NAGIOS_STATUS_STR=$STATE_CRITICAL_STR
                        else
                                if  [  "$NAGIOS_STATUS" = "$STATE_OK"  ]
                                then
                                        NAGIOS_STATUS_STR=$STATE_WARNING_OK

                                fi
                        fi


                fi

        fi


}


