(2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Functions * @version $Id$ */ /* * Function getNextCronjobs * * checks which cronjobs have to be executed * * @return array array of cron-files which are to be executed */ function getNextCronjobs() { global $db; $query = "SELECT `id`, `cronfile` FROM `".TABLE_PANEL_CRONRUNS."` WHERE `interval` <> '0' AND `isactive` = '1' AND ("; $intervals = getIntervalOptions(); $x = 0; foreach($intervals as $name => $ival) { if($name == '0') continue; if($x == 0) { $query.= 'UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.')) <= UNIX_TIMESTAMP()'; } else { $query.= ' OR UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.')) <= UNIX_TIMESTAMP()'; } $x++; } $query.= ');'; $result = $db->query($query); $cron_files = array(); while($row = $db->fetch_array($result)) { $cron_files[] = $row['cronfile']; $db->query("UPDATE `".TABLE_PANEL_CRONRUNS."` SET `lastrun` = UNIX_TIMESTAMP() WHERE `id` ='".(int)$row['id']."';"); } return $cron_files; }