uses('ini_parser,file,services,getconf,system,cron,functions'); $app->load('libdatetime,cronjob'); // Path settings $path = SCRIPT_PATH . '/lib/classes/cron.d'; //** Get commandline options $cmd_opt = getopt('', array('cronjob::')); if(isset($cmd_opt['cronjob']) && is_file($path.'/'.$cmd_opt['cronjob'])) { // Cronjob that shell be run $cronjob_file = $cmd_opt['cronjob']; } else { die('Usage example: php cron_debug.php --cronjob=100-mailbox_stats.inc.php'); } // Load and run the cronjob $name = substr($cronjob_file, 0, strpos($cronjob_file, '.')); if(preg_match('/^\d+\-(.*)$/', $name, $match)) $name = $match[1]; // strip numerical prefix from file name include $path . '/' . $cronjob_file; $class_name = 'cronjob_' . $name; $cronjob = new $class_name(); $cronjob->onPrepare(); $cronjob->onBeforeRun(); $cronjob->onRunJob(); $cronjob->onAfterRun(); die("finished.\n"); ?>