more work on the new cronhandling

This commit is contained in:
Michael Kaufmann (d00p)
2010-01-25 15:32:36 +00:00
parent 6e5746a598
commit f82b611b0a
22 changed files with 151 additions and 36 deletions

View File

@@ -0,0 +1,34 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* @version $Id: $
*/
function getIntervalOptions()
{
global $db, $lng;
$query = "SELECT DISTINCT `interval` FROM `" . TABLE_PANEL_CRONRUNS . "` ORDER BY `interval` ASC;";
$result = $db->query($query);
$cron_intervals = array();
$cron_intervals['0'] = $lng['panel']['off'];
while($row = $db->fetch_array($result))
{
$cron_intervals[$row['interval']] = $row['interval'];
}
return $cron_intervals;
}

View File

@@ -24,5 +24,26 @@
*/
function getNextCronjobs()
{
// SELECT `interval`, `lastrun` FROM `".PANEL_TABLE_CRONRUNS."`
$sql = "SELECT `cronfile` FROM `".TABLE_PANEL_CRONRUNS."` WHERE `interval` <> '0' AND (";
/*
* 5M - 5 minute cronjob (reqular)
*/
$intervals = getIntervalOptions();
$x = 0;
foreach($intervals as $name => $ival)
{
if($name == '0') continue;
if($x == 0) {
$sql.= 'DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.') <= CURDATE()';
} else {
$sql.= ' OR DATE_ADD(UNIX_TIMESTAMP(`lastrun`), INTERVAL '.$ival.') <= CURDATE()';
}
$x++;
}
$sql.= ');';
$result = $db->query($query);
}

View File

@@ -22,5 +22,6 @@ function includeCronjobs($debugHandler)
if($cronjobs !== false)
{
// [...]
$cron_path = dirname(__FILE__).'/../../../scripts/jobs/';
}
}