phpWatch UP notification
Pour résoudre ce petit manque, rien de plus simple :
Dans src/Monitor.php
On va passer un "status" (DOWN/UP) pour modifier le message de notification.
Par défaut, on passera le status "DOWN".
Ligne 167 : public function sendNotifications();
On ajoute : $status="DOWN" à la fonction "sendNotifications()", ce qui donne :
public function sendNotifications($status="DOWN");
Ligne 171 : doNotify($this);
On ajoute : ,$status à la fonction doNotify(), ce qui donne :
$channel->doNotify($this,$status);
Ligne 199 : On va ajouter une condition, pour le cas d'un UPTIME avec une notification à 0. Ainsi, lors du changement de status "DOWN => UP" une notification est déclenchée et ce, qu'une fois.
On va remplacer :
$this->status = STATUS_ONLINE;
$this->fail_count = 0;
$this->send_notifications = true;
Par :
$this->status = STATUS_ONLINE;
if($this->status == "1" && $this->send_notifications == "0")
{
//on envoie un UP
$this->sendNotifications("UP");
}
$this->fail_count = 0;
$this->send_notifications = true;
ligne ~ 223 : On ajoute le "DOWN" à la fonction "sendNotifications()" ce qui donne :
$this->sendNotifications("DOWN");
Dans src/Channel.php :
Ligne 89 : Ajout de la variable "$status="DOWN""
public abstract function doNotify($monitor,$status="DOWN");
Dans src/channels/EmailChannel.php et SmsCHannel.php :
Exemple ici avec Smschannel.php
ligne 39 : Ajout de la variable "$status="DOWN"
public function doNotify($monitor,$status="DOWN")
Puis on ajoute avant l'appel de $this->getMessage($monitor); la variable $status
ce qui donne :
$status." : ".$this->getMessage($monitor);
A faire également dans EmailChannel.php
Le message sera ainsi composé de :
UP/DOWN : Message configuré dans les contacts notification channels de votre phpWatch.