You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							1.8 KiB
						
					
					
				<?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, $tabs, $tmo = false) | 
						|
{ | 
						|
 global $fld_sep, $val_sep; | 
						|
 | 
						|
 if ($tabs) | 
						|
	$line = str_replace("TAB", "\t", $line); | 
						|
 $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); | 
						|
 } | 
						|
 return $ret; | 
						|
} | 
						|
# | 
						|
function usAge($a0) | 
						|
{ | 
						|
 global $socket_name_def, $socket_dir_def, $socket_file_def; | 
						|
 echo "usAge: php $a0 [-t] [name [dir [socket]]]\n"; | 
						|
 echo " -t = don't convert 'TAB' to a tab character\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); | 
						|
} | 
						|
# | 
						|
$tabs = true; | 
						|
# | 
						|
if (count($argv) > 1) | 
						|
{ | 
						|
 if ($argv[1] == '-?' || $argv[1] == '-h' || $argv[1] == '-help' | 
						|
 ||  $argv[1] == '--help') | 
						|
	usAge($argv[0]); | 
						|
 | 
						|
 $a = 1; | 
						|
 if ($argv[$a] == '-t') | 
						|
 { | 
						|
	$tabs = false; | 
						|
	$a++; | 
						|
 } | 
						|
 $socket_name = $argv[$a++]; | 
						|
 if (count($argv) > $a) | 
						|
 { | 
						|
	$socket_dir = $argv[$a++]; | 
						|
	if (count($argv) > $a) | 
						|
		$socket_file = $argv[$a]; | 
						|
 } | 
						|
} | 
						|
# | 
						|
while ($line = fgets(STDIN)) | 
						|
{ | 
						|
 $line = trim($line); | 
						|
 if (strlen($line) > 0) | 
						|
 { | 
						|
	$rep = msg($line, $tabs); | 
						|
	if ($rep === false) | 
						|
		echo "Failed\n"; | 
						|
	else | 
						|
		echo "$rep\n"; | 
						|
 } | 
						|
} | 
						|
?>
 | 
						|
 |