#!/usr/bin/php $value) { if (!array_key_exists($name, $presence)) { $presence[] = $name; $presence[$name] = false; } $r = search($value, $result); if ($r === true) { echo "présent\n"; if ($presence[$name] === false) { $presence[$name] = true; $msg .= "nom=" . $name . _("&presence=true"); send($msg); echo $name . " est mis présent dans tableau\n"; } }elseif ($presence[$name] === true) { $presence[$name] = false; echo $name . " est mis absent dans tableau\n"; $msg .= "nom=" . $name . _("&presence=false"); send($msg); } } sleep(1); } function search($needle, $array) { foreach ($array as $string) { if (str_contains($string, $needle)) { echo "found\n"; return true; } } return false; } function send($msg) { global $curlErr; $ch = curl_init(); $msg = "http://localhost:1025/present&" . $msg; // set url curl_setopt($ch, CURLOPT_URL, $msg ); // return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // $result contains the output string echo _("Curl sending message -") . __FILE__ . ":" . __LINE__ . EOL; if ($curlErr <= 5) { echo $msg . EOL; curl_exec($ch); if (curl_errno($ch) != 0) { $curlErr += 1; echo sprintf( _("Sleeping 1 minute because Curl return error %d: %s when sending notification - "), curl_errno($ch), curl_error($ch)) . __FILE__ . ":" . __LINE__ . EOL; sleep (60); }else { echo _("Curl return no error - ") . __FILE__ . ":" . __LINE__ . EOL; $curlErr = 0; } } } ?>