Example #1
0
                }
                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');
Example #2
0
$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;
Example #3
0
 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();
         }
     }
 }
Example #4
0
 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;
 }
Example #5
0
  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;
Example #6
0
 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();
         }
     }
 }