", "", $prevIndexData); $prevIndexData = unserialize($prevIndexData); // Set timestamp back to epoch to force a re-index next time $prevIndexData['timestamps']['indexed'] = 0; file_put_contents(dirname(__FILE__)."/../data/index.php", ""); } } } // Run continuously while(true) { if (true === is_callable("shell_exec") && false === stripos(ini_get('disable_functions'), "shell_exec")) { // Get git diff output as a string and MD5 it as a checksum $thisMD5 = shell_exec("cd .. && git diff | md5sum"); // If we have a previous checksum value and the current is different to it if (isset($prevMD5) && $thisMD5 !== $prevMD5) { echo "Changed ".date("Y-m-d g:i:s a (U)")."\n"; // Set timestamp of last index to 0 to force a re-index next time we index requireReIndexNextTime(); // Get a list of all that's changed, into an array (filtered to remove false entries) $gitData = shell_exec("cd .. && { git diff --name-only --staged ; git ls-files --other --modified --exclude-standard ;} | sort | uniq"); $diffLines = explode("\n", $gitData); $output = ["paths" => array_filter($diffLines)]; // Store the serialized array in PHP comment block for pick up file_put_contents(dirname(__FILE__)."/../data/git-diff.php", ""); // Set Git contents $output = []; $paths = array_filter($diffLines); shell_exec("cd .."); for ($i=0; $i "modified", "lastHashContent" => $content ]; } } } file_put_contents(dirname(__FILE__)."/../data/git-content.php", ""); } // Set prev MD5 to this one, ready for next time $prevMD5 = $thisMD5; } // sleep for 2 secs before loop starts again sleep(2); } ?>