This commit is contained in:
Isaac Connor 2019-04-05 15:18:20 -04:00
parent aa83239069
commit 381f526d66
1 changed files with 12 additions and 12 deletions

View File

@ -735,29 +735,29 @@ function buildControlCommand( $monitor ) {
return( $ctrlCommand );
}
function sendControlCommand($mid,$command) {
function sendControlCommand($mid, $command) {
// Either connects to running zmcontrol.pl or runs zmcontrol.pl to send the command.
$socket = socket_create( AF_UNIX, SOCK_STREAM, 0 );
$socket = socket_create(AF_UNIX, SOCK_STREAM, 0);
if ( $socket < 0 ) {
Fatal( 'socket_create() failed: '.socket_strerror($socket) );
Fatal('socket_create() failed: '.socket_strerror($socket));
}
$sockFile = ZM_PATH_SOCKS.'/zmcontrol-'.$mid.'.sock';
if ( @socket_connect( $socket, $sockFile ) ) {
if ( @socket_connect($socket, $sockFile) ) {
$options = array();
foreach ( explode( ' ', $command ) as $option ) {
if ( preg_match( '/--([^=]+)(?:=(.+))?/', $option, $matches ) ) {
foreach ( explode(' ', $command) as $option ) {
if ( preg_match('/--([^=]+)(?:=(.+))?/', $option, $matches) ) {
$options[$matches[1]] = $matches[2]?$matches[2]:1;
}
}
$optionString = jsonEncode( $options );
if ( !socket_write( $socket, $optionString ) ) {
Fatal( "Can't write to control socket: ".socket_strerror(socket_last_error($socket)) );
$optionString = jsonEncode($options);
if ( !socket_write($socket, $optionString) ) {
Fatal("Can't write to control socket: ".socket_strerror(socket_last_error($socket)));
}
socket_close( $socket );
socket_close($socket);
} else if ( $command != 'quit' ) {
$command .= ' --id='.$mid;
// Can't connect so use script
$ctrlOutput = exec( escapeshellcmd( $command ) );
$ctrlOutput = exec(escapeshellcmd($command));
}
} // end function sendControlCommand( $mid, $command )
} // end function sendControlCommand($mid, $command)