kanoi
8 years ago
1 changed files with 93 additions and 0 deletions
@ -0,0 +1,93 @@
|
||||
<?php |
||||
# |
||||
global $socket_name_def, $socket_dir_def, $socket_file_def; |
||||
global $socket_name, $socket_dir, $socket_file; |
||||
# |
||||
$socket_name_def = 'ckdb'; |
||||
$socket_dir_def = '/opt/'; |
||||
$socket_file_def = 'listenercmd'; |
||||
# |
||||
$socket_name = $socket_name_def; |
||||
$socket_dir = $socket_dir_def; |
||||
$socket_file = $socket_file_def; |
||||
# |
||||
include_once('../pool/socket.php'); |
||||
# |
||||
function getsock2($fun, $tmo) |
||||
{ |
||||
global $socket_name, $socket_dir, $socket_file; |
||||
return _getsock($fun, "$socket_dir$socket_name/$socket_file", $tmo); |
||||
} |
||||
# |
||||
function msg($line, $tmo = false) |
||||
{ |
||||
global $fld_sep, $val_sep, $alrts; |
||||
|
||||
$fun = 'stdin'; |
||||
$ret = false; |
||||
$socket = getsock2($fun, $tmo); |
||||
if ($socket !== false) |
||||
{ |
||||
$ret = dosend($fun, $socket, $line); |
||||
if ($ret !== false) |
||||
$ret = readsockline($fun, $socket); |
||||
|
||||
socket_close($socket); |
||||
} |
||||
$al = $fld_sep . 'alert' . $val_sep; |
||||
if ($ret !== false and strpos($ret, $al) !== false) |
||||
{ |
||||
$all = explode($al, $ret); |
||||
$ret = $all[0]; |
||||
$skip = true; |
||||
foreach ($all as $lrt) |
||||
{ |
||||
if ($skip) |
||||
$skip = false; |
||||
else |
||||
// Discard duplicates |
||||
$alrts[preg_replace("/[\n\r]*$/",'',$lrt)] = 1; |
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
# |
||||
function usAge($a0) |
||||
{ |
||||
global $socket_name_def, $socket_dir_def, $socket_file_def; |
||||
echo "usAge: php $a0 [name [dir [socket]]]\n"; |
||||
echo " default name = $socket_name_def\n"; |
||||
echo " default dir = $socket_dir_def\n"; |
||||
echo " default socket = $socket_file_def\n"; |
||||
echo " i.e. $socket_dir_def$socket_name_def/$socket_file_def\n"; |
||||
exit(1); |
||||
} |
||||
# |
||||
if (count($argv) > 1) |
||||
{ |
||||
if ($argv[1] == '-?' || $argv[1] == '-h' || $argv[1] == '-help' |
||||
|| $argv[1] == '--help') |
||||
usAge($argv[0]); |
||||
|
||||
$socket_name = $argv[1]; |
||||
if (count($argv) > 2) |
||||
{ |
||||
$socket_dir = $argv[2]; |
||||
if (count($argv) > 3) |
||||
$socket_file = $argv[3]; |
||||
} |
||||
} |
||||
# |
||||
while ($line = fgets(STDIN)) |
||||
{ |
||||
$line = trim($line); |
||||
if (strlen($line) > 0) |
||||
{ |
||||
$rep = msg($line); |
||||
if ($rep === false) |
||||
echo "Failed\n"; |
||||
else |
||||
echo "$rep\n"; |
||||
} |
||||
} |
||||
?> |
Loading…
Reference in new issue