Beispiel #1
0
function crontodaynextrun($cron, $hour = -2, $minute = -2)
{
    global $_SGLOBAL;
    $hour = $hour == -2 ? sgmdate('H', $_SGLOBAL['timestamp']) : $hour;
    $minute = $minute == -2 ? sgmdate('i', $_SGLOBAL['timestamp']) : $minute;
    $nexttime = array();
    if ($cron['hour'] == -1 && !$cron['minute']) {
        $nexttime['hour'] = $hour;
        $nexttime['minute'] = $minute + 1;
    } elseif ($cron['hour'] == -1 && $cron['minute'] != '') {
        $nexttime['hour'] = $hour;
        if (($nextminute = cronnextminute($cron['minute'], $minute)) === false) {
            ++$nexttime['hour'];
            $nextminute = $cron['minute'][0];
        }
        $nexttime['minute'] = $nextminute;
    } elseif ($cron['hour'] != -1 && $cron['minute'] == '') {
        if ($cron['hour'] < $hour) {
            $nexttime['hour'] = $nexttime['minute'] = -1;
        } elseif ($cron['hour'] == $hour) {
            $nexttime['hour'] = $cron['hour'];
            $nexttime['minute'] = $minute + 1;
        } else {
            $nexttime['hour'] = $cron['hour'];
            $nexttime['minute'] = 0;
        }
    } elseif ($cron['hour'] != -1 && $cron['minute'] != '') {
        $nextminute = cronnextminute($cron['minute'], $minute);
        if ($cron['hour'] < $hour || $cron['hour'] == $hour && $nextminute === false) {
            $nexttime['hour'] = -1;
            $nexttime['minute'] = -1;
        } else {
            $nexttime['hour'] = $cron['hour'];
            $nexttime['minute'] = $nextminute;
        }
    }
    return $nexttime;
}
function crontodaynextrun($cron, $hour = -2, $minute = -2)
{
    global $timestamp, $_DCACHE;
    $hour = $hour == -2 ? gmdate('H', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600) : $hour;
    $minute = $minute == -2 ? gmdate('i', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600) : $minute;
    $nexttime = array();
    if ($cron['hour'] == -1 && !$cron['minute']) {
        $nexttime['hour'] = $hour;
        $nexttime['minute'] = $minute + 1;
    } elseif ($cron['hour'] == -1 && $cron['minute'] != '') {
        $nexttime['hour'] = $hour;
        if (($nextminute = cronnextminute($cron['minute'], $minute)) === false) {
            ++$nexttime['hour'];
            $nextminute = $cron['minute'][0];
        }
        $nexttime['minute'] = $nextminute;
    } elseif ($cron['hour'] != -1 && $cron['minute'] == '') {
        if ($cron['hour'] < $hour) {
            $nexttime['hour'] = $nexttime['minute'] = -1;
        } elseif ($cron['hour'] == $hour) {
            $nexttime['hour'] = $cron['hour'];
            $nexttime['minute'] = $minute + 1;
        } else {
            $nexttime['hour'] = $cron['hour'];
            $nexttime['minute'] = 0;
        }
    } elseif ($cron['hour'] != -1 && $cron['minute'] != '') {
        $nextminute = cronnextminute($cron['minute'], $minute);
        if ($cron['hour'] < $hour || $cron['hour'] == $hour && $nextminute === false) {
            $nexttime['hour'] = -1;
            $nexttime['minute'] = -1;
        } else {
            $nexttime['hour'] = $cron['hour'];
            $nexttime['minute'] = $nextminute;
        }
    }
    return $nexttime;
}