$f = explode(' ', $cron_val['alow_files']); if (!in_array($f_now, $f)) { continue; } } if (!empty($cron_val['cron_config'])) { foreach ($cron_val['cron_config'] as $k => $v) { $cron[$v['name']] = $v['value']; } } include_once ROOT_PATH . 'includes/modules/cron/' . $cron_val['cron_code'] . '.php'; } else { $error_log[] = make_error_arr('includes/modules/cron/' . $cron_val['cron_code'] . '.php not found!', __FILE__); } $close = $cron_val['run_once'] ? 0 : 1; $next_time = get_next_time($cron_val['cron']); $sql = "UPDATE " . $ecs->table('crons') . "SET thistime = '{$timestamp}', nextime = '{$next_time}', enable = {$close} " . "WHERE cron_id = '{$cron_val['cron_id']}' LIMIT 1"; $db->query($sql); } write_error_arr($error_log); function get_next_time($cron) { $y = local_date('Y', $GLOBALS['timestamp']); $mo = local_date('n', $GLOBALS['timestamp']); $d = local_date('j', $GLOBALS['timestamp']); $w = local_date('w', $GLOBALS['timestamp']); $h = local_date('G', $GLOBALS['timestamp']); $sh = $sm = 0; $sy = $y; if ($cron['day']) { $sd = $cron['day'];
$cron_week = ''; } elseif ($_POST['ttype'] == 'week') { $cron_day = ''; $cron_week = $_POST['cron_week']; } else { $cron_day = $cron_week = ''; } if ($cron_week == 7) { $cron_week = 0; } $_POST['alow_files'] = isset($_POST['alow_files']) ? implode(' ', $_POST['alow_files']) : ""; !isset($_POST['cron_run_once']) && ($_POST['cron_run_once'] = 0); //$_POST['cron_run_once'] = (int)$_POST['cron_run_once']; $cron_hour = $_POST['cron_hour']; $cron = array('day' => $cron_day, 'week' => $cron_week, 'm' => $cron_minute, 'hour' => $cron_hour); $next = get_next_time($cron); $sql = "UPDATE " . $ecs->table('crons') . "SET cron_name = '{$_POST['cron_name']}', cron_desc = '{$_POST['cron_desc']}', cron_config = '{$cron_config}', nextime='{$next}', day = '{$cron_day}', week = '{$cron_week}', hour = '{$cron_hour}', minute = '{$cron_minute}', run_once = '{$_POST['cron_run_once']}', allow_ip = '{$_POST['allow_ip']}', alow_files = '{$_POST['alow_files']}'" . "WHERE cron_id = '{$_POST['cron_id']}' LIMIT 1"; $db->query($sql); sys_msg($_LANG['edit_ok'], 0, $links); } } elseif ($_REQUEST['act'] == 'uninstall') { $sql = "DELETE FROM " . $ecs->table('crons') . "WHERE cron_code = '{$_REQUEST['code']}' LIMIT 1"; $db->query($sql); $links[] = array('text' => $_LANG['back_list'], 'href' => 'cron.php?act=list'); sys_msg($_LANG['uninstall_ok'], 0, $links); } elseif ($_REQUEST['act'] == 'toggle_show') { $id = trim($_POST['id']); $val = intval($_POST['val']); $sql = "UPDATE " . $ecs->table('crons') . "SET enable = '{$val}' " . "WHERE cron_code = '{$id}' LIMIT 1"; $db->query($sql); make_json_result($val);