} DB::update('common_cron', array('weekday' => $_GET['weekdaynew'], 'day' => $daynew, 'hour' => $_GET['hournew'], 'minute' => $minutenew, 'filename' => trim($_GET['filenamenew'])), "cronid='{$cronid}'"); discuz_cron::run($cronid); cpmsg('crons_succeed', 'action=misc&operation=cron', 'succeed'); } } else { $efile = explode(':', $cron['filename']); if (count($efile) > 1 && ispluginkey($efile[0])) { $cronfile = DISCUZ_ROOT . './source/plugin/' . $efile[0] . '/cron/' . $efile[1]; } else { $cronfile = DISCUZ_ROOT . "./source/include/cron/{$cron['filename']}"; } if (substr($cronfile, -4) !== '.php' || !file_exists($cronfile)) { cpmsg('crons_run_invalid', '', 'error', array('cronfile' => $cronfile)); } else { discuz_cron::run($cron['cronid']); cpmsg('crons_run_succeed', 'action=misc&operation=cron', 'succeed'); } } } } elseif ($operation == 'focus') { require_once libfile('function/post'); $focus = C::t('common_setting')->fetch('focus', true); $focus_position_array = array(array('portal', cplang('misc_focus_position_portal')), array('home', cplang('misc_focus_position_home')), array('member', cplang('misc_focus_position_member')), array('forum', cplang('misc_focus_position_forum')), array('group', cplang('misc_focus_position_group')), array('search', cplang('misc_focus_position_search')), array('userapp', cplang('misc_focus_position_userapp'))); if (!$do) { if (!submitcheck('focussubmit')) { shownav('extended', 'misc_focus'); showsubmenu('misc_focus', array(array('config', 'misc&operation=focus&do=config', 0), array('admin', 'misc&operation=focus', 1), array('add', 'misc&operation=focus&do=add'))); showtips('misc_focus_tips'); showformheader('misc&operation=focus'); showtableheader('admin', 'fixpadding');
$cronId_security_daily = $cronId_security_lastpost = 0; if (file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_cleanup_lastpost.php') || file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_daily.php')) { $count = C::t('common_cron')->count(); $oldData = C::t('common_cron')->range(0, $count); foreach ($oldData as $value) { if ($value['filename'] == 'cron_security_daily.php') { $cronId_security_daily = $value['cronid']; } elseif ($value['filename'] == 'cron_security_cleanup_lastpost.php') { $cronId_security_lastpost = $value['cronid']; } } } include DISCUZ_ROOT . 'source/language/lang_admincp_cloud.php'; if (file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_cleanup_lastpost.php') && empty($cronId_security_lastpost)) { $data = array('available' => 1, 'type' => 'system', 'name' => $extend_lang['security_cron_lastpost'], 'filename' => 'cron_security_cleanup_lastpost.php', 'weekday' => -1, 'day' => -1, 'hour' => 7, 'minute' => 0); C::t('common_cron')->insert($data, true, false, false); } if (file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_daily.php')) { if (empty($cronId_security_daily)) { $data = array('available' => 1, 'type' => 'system', 'name' => $extend_lang['security_cron_daily'], 'filename' => 'cron_security_daily.php', 'weekday' => -1, 'day' => -1, 'hour' => 2, 'minute' => 0); $cronId_security_daily = C::t('common_cron')->insert($data, true, false, false); } else { C::t('common_cron')->update($cronId_security_daily, array('available' => 1, 'weekday' => -1, 'day' => -1, 'hour' => 2, 'minute' => 0)); } updatecache('setting'); discuz_cron::run($cronId_security_daily); } $updateData = array('security_usergroups_white_list' => serialize(array(1, 2, 3)), 'security_safelogin' => 1); C::t('common_setting')->update_batch($updateData); updatecache('setting'); $finish = true;
function _init_cron() { $ext = empty($this->config['remote']['on']) || empty($this->config['remote']['cron']) || APPTYPEID == 200; if ($this->init_cron && $this->init_setting && $ext) { if ($this->var['cache']['cronnextrun'] <= TIMESTAMP) { require_once libfile('class/cron'); discuz_cron::run(); } } }
function todaynextrun($cron, $hour = -2, $minute = -2) { global $_G; $hour = $hour == -2 ? gmdate('H', TIMESTAMP + $_G['setting']['timeoffset'] * 3600) : $hour; $minute = $minute == -2 ? gmdate('i', TIMESTAMP + $_G['setting']['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 = discuz_cron::nextminute($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 = discuz_cron::nextminute($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; }
PRIMARY KEY (`id`), KEY `pid` (`pid`), KEY `uid` (`uid`) ) ENGINE=MyISAM; EOF; runquery($sql); if (file_exists(DISCUZ_ROOT . './source/include/cron/cron_security_daily.php')) { $count = C::t('common_cron')->count(); $oldData = C::t('common_cron')->range(0, $count); $newCron = true; foreach ($oldData as $value) { if ($value['filename'] == 'cron_security_daily.php') { $newCron = false; $cronId = $value['cronid']; break; } } if ($newCron) { $data = array('available' => 1, 'type' => 'user', 'name' => $installlang['cron'], 'filename' => 'cron_security_daily.php', 'weekday' => -1, 'day' => -1, 'hour' => 2, 'minute' => 0); $cronId = C::t('common_cron')->insert($data, true, false, false); } else { C::t('common_cron')->update($cronId, array('available' => 1, 'weekday' => -1, 'day' => -1, 'hour' => 2, 'minute' => 0)); } updatecache('setting'); discuz_cron::run($cronId); } $updateData = array('security_usergroups_white_list' => serialize(array(1, 2, 3))); C::t('common_setting')->update_batch($updateData); updatecache('setting'); $finish = true;
private function _init_cron() { $ext = empty($this->config['remote']['on']) || empty($this->config['remote']['cron']) || APPTYPEID == 200; if ($this->init_cron && $this->init_setting && $ext) { if ($this->var['cache']['cronnextrun'] <= TIMESTAMP) { discuz_cron::run(); } } }