diff --git a/githook.php b/githook.php
index 84d21f4..f5936b5 100644
--- a/githook.php
+++ b/githook.php
@@ -1,70 +1,149 @@
$ratelimit ) {
touch ( $ansible_dropfile );
touch ( $ansible_lastrun );
- echo "HTTP 200 - Ansible webhook recieved.";
+ echo "HTTP 200 - Ansible webhook recieved.\n";
}
else {
http_response_code(429);
- echo "HTTP 429 - Rate Limited.";
+ echo "HTTP 429 - Rate Limited.\n";
exit(0);
}
}
+
+// Hook for www repo here. Same rules apply, as above, for www. We
+// could probably make it able to run more frequently. Backend job is
+// just a git pull, and is quick.
elseif ($data["repository"]["full_name"] == 'thunix/www') {
syslog(LOG_INFO, 'WWW Webhook recieved.');
- if ( time () - filemtime ( $lastrun ) > $ratelimit ) {
+ if ( time () - filemtime ( $www_lastrun ) > $ratelimit/30 ) {
touch ( $www_dropfile );
touch ( $www_lastrun );
http_response_code(200);
- echo "HTTP 200 - WWW webhook recieved.";
+ echo "HTTP 200 - WWW webhook recieved.\n";
}
else {
http_response_code(429);
- echo "HTTP 429 - Rate Limited.";
+ echo "HTTP 429 - Rate Limited.\n";
exit(0);
}
- }
+}
+
+// Hook for gopher. Not implemented on the backend yet.
+elseif ($data["repository"]["full_name"] == 'thunix/thunix_gopher') {
+ syslog(LOG_INFO, 'Gopher Webhook recieved.');
+ if ( time () - filemtime ( $gopher_lastrun ) > $ratelimit ) {
+ touch ( $gopher_dropfile );
+ touch ( $gopher_lastrun );
+ http_response_code(200);
+ echo "HTTP 200 - Gopher webhook recieved.\n";
+ }
+ else {
+ http_response_code(429);
+ echo "HTTP 429 - Rate Limited.\n";
+ exit(0);
+ }
+}
+
+//Wiki webhook
+elseif ($data["repository"]["full_name"] == 'thunix/wiki') {
+ syslog(LOG_INFO, 'Wiki Webhook recieved.');
+ if ( time () - filemtime ( $wiki_lastrun ) > $ratelimit/30 ) {
+ touch ( $wiki_dropfile );
+ touch ( $wiki_lastrun );
+ http_response_code(200);
+ echo "HTTP 200 - Wiki webhook recieved.\n";
+ }
+ else {
+ http_response_code(429);
+ echo "HTTP 429 - Rate Limited.\n";
+ exit(0);
+ }
+}
+
+// Easter egg for anyone probing the hook. Enjoy. We're a coffee maker
+// and not a teapot :)
else {
http_response_code(418);
- echo "HTTP 418 - I'm a teapot.";
+ echo "HTTP 418 - I'm a teapot.\n";
+ syslog(LOG_INFO, "Tea Pot Webhook recieved.\n");
exit(0);
}
+
+/*$fp = pfsockopen( "tcp://127.0.0.1", 1234, $errno, $errstr );
+
+if (!$fp)
+{
+ echo "ERROR: $errno - $errstr
\n";
+}
+socket_set_timeout ($fp, 10);
+$msg = "Commit '".$data['commits'][0]["message"]."' was pushed to ".$data["repository"]["full_name"].' by '.$data["pusher"]["login"];
+$msg = trim(preg_replace('/\s+/', ' ', $msg));
+$write = fwrite ($fp, $msg);
+fclose($fp);
+
+if (!$write) {
+ echo "error writing to port.
";
+ next;
+}
+*/
?>