#!/usr/bin/php FALSE); foreach($argv as $arg) { list($param, $value) = explode('=', $arg); switch($param) { case '--run': // Simulate an HTTP request $_SERVER['PATH_INFO'] = $value; $_SERVER['REQUEST_URI'] = $value; $_SERVER['SERVER_NAME'] = 'intranet.goyoders.com'; $required['--run'] = TRUE; break; case '-S': case '--show-output': define('CRON_FLUSH_BUFFERS', TRUE); break; case '--log-file': if(is_writable($value)) define('CRON_LOG', $value); else die("Logfile $value does not exist or is not writable!\n\n"); break; case '--time-limit': define('CRON_TIME_LIMIT', $value); break; default: die($usage); } } if(!defined('CRON_LOG')) define('CRON_LOG', 'cron.log'); if(!defined('CRON_TIME_LIMIT')) define('CRON_TIME_LIMIT', 0); foreach($required as $arg => $present) { if(!$present) die($usage); } # Set run time limit set_time_limit(CRON_TIME_LIMIT); # Run CI and capture the output ob_start(); chdir(dirname(CRON_CI_INDEX)); require(CRON_CI_INDEX); // Main CI index.php file $output = ob_get_contents(); if(CRON_FLUSH_BUFFERS === TRUE) { while(@ob_end_flush()); // display buffer contents } else { ob_end_clean(); } # Log the results of this run error_log("### ".date('Y-m-d H:i:s')." cron.php $cmdline\r\n", 3, CRON_LOG); error_log(str_replace("\n", "\r\n", $output), 3, CRON_LOG); error_log("\r\n### \r\n\r\n", 3, CRON_LOG); echo "\n\n"; ?>