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; }