more work on the new cronhandling
This commit is contained in:
34
lib/functions/froxlor/function.getIntervalOptions.php
Normal file
34
lib/functions/froxlor/function.getIntervalOptions.php
Normal 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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -22,5 +22,6 @@ function includeCronjobs($debugHandler)
|
||||
if($cronjobs !== false)
|
||||
{
|
||||
// [...]
|
||||
$cron_path = dirname(__FILE__).'/../../../scripts/jobs/';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user