1*cf9f7fe8SSascha Leib<?php /* MONITOR PLUGIN HEARTBEAT TICKER SCRIPT */ 2*cf9f7fe8SSascha Leib 3*cf9f7fe8SSascha Leib/* build the resulting log line (ensure fixed column positions!) */ 4*cf9f7fe8SSascha Leib$logArr = Array( 5*cf9f7fe8SSascha Leib intval($_GET['t']), /* timestamp */ 6*cf9f7fe8SSascha Leib $_GET['p'] ?? null, /* page ID */ 7*cf9f7fe8SSascha Leib $_SERVER['REMOTE_ADDR'] ?? 'null', /* remote IP */ 8*cf9f7fe8SSascha Leib $_COOKIE['DokuWiki'] ?? 'null', /* DokuWiki session ID */ 9*cf9f7fe8SSascha Leib $_GET['t'] ?? null /* client time */ 10*cf9f7fe8SSascha Leib); 11*cf9f7fe8SSascha Leib 12*cf9f7fe8SSascha Leib/* create the log line */ 13*cf9f7fe8SSascha Leib$filename = 'logs/' . gmdate('Y-m-d') . ".tck"; /* use GMT date for filename */ 14*cf9f7fe8SSascha Leib$line = gmdate('Y-m-d H:i:s'); /* use GMT time for log entries */ 15*cf9f7fe8SSascha Leibforeach ($logArr as $val) { 16*cf9f7fe8SSascha Leib $line .= "\t" . $val; 17*cf9f7fe8SSascha Leib}; 18*cf9f7fe8SSascha Leib 19*cf9f7fe8SSascha Leib/* write the log line to the file */ 20*cf9f7fe8SSascha Leib$tickfile = fopen($filename, "a"); 21*cf9f7fe8SSascha Leibif (!$tickfile) { 22*cf9f7fe8SSascha Leib http_response_code(500); 23*cf9f7fe8SSascha Leib die("Error: Unable to open log file. Please check file permissions."); 24*cf9f7fe8SSascha Leib} 25*cf9f7fe8SSascha Leibif (fwrite($tickfile, $line . "\n") === false) { 26*cf9f7fe8SSascha Leib http_response_code(500); 27*cf9f7fe8SSascha Leib fclose($tickfile); 28*cf9f7fe8SSascha Leib die("Error: Could not write to log file."); 29*cf9f7fe8SSascha Leib} 30*cf9f7fe8SSascha Leibfclose($tickfile); 31*cf9f7fe8SSascha Leib 32*cf9f7fe8SSascha Leib/* Send "Accepted" header */ 33*cf9f7fe8SSascha Leibhttp_response_code(202); 34*cf9f7fe8SSascha Leibecho "OK";