From 010cd0b57db8a39992b5200f86abe698e328a2b7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 17 Apr 2017 09:46:01 -0500 Subject: [PATCH] Fixes Pull Request announcements not working in certain situations --- tools/github_webhook_processor.php | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/tools/github_webhook_processor.php b/tools/github_webhook_processor.php index 9eaa7aef77..07d2d4c23c 100644 --- a/tools/github_webhook_processor.php +++ b/tools/github_webhook_processor.php @@ -423,13 +423,13 @@ function checkchangelog($payload, $merge = false, $compile = true) { function sendtoallservers($str, $payload = null) { global $servers; - + if (!empty($payload)) + $str .= '&payload='.urlencode(json_encode($payload)); foreach ($servers as $serverid => $server) { + $msg = $str; if (isset($server['comskey'])) - $str .= '&key='.urlencode($server['comskey']); - if (!empty($payload)) - $str .= '&payload='.urlencode(json_encode($payload)); - $rtn = export($server['address'], $server['port'], $str); + $msg .= '&key='.urlencode($server['comskey']); + $rtn = export($server['address'], $server['port'], $msg); echo "Server Number $serverid replied: $rtn\n"; } } @@ -437,7 +437,6 @@ function sendtoallservers($str, $payload = null) { function export($addr, $port, $str) { - global $error; // All queries must begin with a question mark (ie "?players") if($str{0} != '?') $str = ('?' . $str); @@ -448,8 +447,7 @@ function export($addr, $port, $str) { $server = socket_create(AF_INET,SOCK_STREAM,SOL_TCP) or exit("ERROR"); socket_set_option($server, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 2, 'usec' => 0)); //sets connect and send timeout to 2 seconds if(!socket_connect($server,$addr,$port)) { - $error = true; - return "ERROR"; + return "ERROR: Connection failed"; } @@ -460,7 +458,8 @@ function export($addr, $port, $str) { //echo $bytessent.'
'; $result = socket_write($server,substr($query,$bytessent),$bytestosend-$bytessent); //echo 'Sent '.$result.' bytes
'; - if ($result===FALSE) die(socket_strerror(socket_last_error())); + if ($result===FALSE) + return "ERROR: " . socket_strerror(socket_last_error()); $bytessent += $result; } @@ -491,9 +490,7 @@ function export($addr, $port, $str) { return $unpackstr; } } - } - //if we get to this point, something went wrong; - $error = true; - return "ERROR"; + } + return ""; } ?>