function InitCron()
{
    global $cronTab, $maxJobs;
    @ignore_user_abort(false);
    $save_mode = @ini_get('safe_mode');
    if (!$save_mode) {
        @set_time_limit(60);
    }
    $jobs = parseCronFile($cronTab);
    $jobsRun = 0;
    for ($i = 0; $i < count($jobs); $i++) {
        if ($maxJobs == 0 || $jobsRun < $maxJobs) {
            if (runJob($jobs[$i])) {
                $jobsRun++;
            }
        }
    }
}
Exemple #2
0
                break;
        }
        if (!$bRes) {
            break;
        }
    }
    return $bRes;
}
function runJob($aJob)
{
    if (!empty($aJob['file']) && !empty($aJob['class']) && file_exists(BX_DIRECTORY_PATH_ROOT . $aJob['file'])) {
        if (!class_exists($aJob['class'])) {
            require_once BX_DIRECTORY_PATH_ROOT . $aJob['file'];
        }
        $oHandler = new $aJob['class']();
        $oHandler->processing();
    } else {
        if (!empty($aJob['eval'])) {
            require_once BX_DIRECTORY_PATH_CLASSES . 'BxDolService.php';
            eval($aJob['eval']);
        }
    }
}
$oDb = new BxDolDb();
$aJobs = $oDb->fromCache('sys_cron_jobs', 'getAll', 'SELECT * FROM `sys_cron_jobs`');
$aDate = getdate(time());
foreach ($aJobs as $aRow) {
    if (checkCronJob($aRow['time'], $aDate)) {
        runJob($aRow);
    }
}
Exemple #3
0
function footer()
{
    global $db, $db_obstart, $db_footertime, $db_htmifopen, $P_S_T, $mtablewidth, $db_ceoconnect, $wind_version, $imgpath, $stylepath, $footer_ad, $db_union, $timestamp, $db_icp, $db_icpurl, $db_advertdb, $groupid, $SCR, $db_ystats_ifopen, $db_ystats_unit_id, $db_ystats_style, $db_redundancy, $pwServer, $db_ifcredit, $credit_pop, $db_foot, $db_mode, $db_modes, $shortcutforum, $_G, $winddb, $db_toolbar, $winduid, $db_menuinit, $db_appifopen, $db_job_ispop, $db_job_isopen, $db_siteappkey;
    defined('AJAX') && ajax_footer();
    Update_ol();
    $wind_spend = '';
    $ft_gzip = ($db_obstart ? 'Gzip enabled' : 'Gzip disabled') . $db_union[3];
    if ($db_footertime == 1) {
        $t_array = explode(' ', microtime());
        $totaltime = number_format($t_array[0] + $t_array[1] - $P_S_T, 6);
        $qn = $db ? $db->query_num : 0;
        $wind_spend = "Total {$totaltime}(s) query {$qn},";
    }
    $ft_time = get_date($timestamp, 'm-d H:i');
    $db_icp && ($db_icp = "<a href=\"http://www.miibeian.gov.cn\" target=\"_blank\">{$db_icp}</a>");
    if ($db_toolbar) {
        if ($_COOKIE['toolbarhide']) {
            $toolbarstyle = 'style="display:none"';
            $openbarstyle = '';
            $closebarstyle = 'style="display:none"';
        } else {
            $toolbarstyle = '';
            $openbarstyle = 'style="display:none"';
            $closebarstyle = '';
            if ($db_appifopen) {
                $appshortcut = trim($winddb['appshortcut'], ',');
                if (!empty($appshortcut) && $db_siteappkey) {
                    $appclient = L::loadClass('appclient');
                    $bottom_appshortcut = $appclient->userApplist($winduid, $appshortcut, 1);
                }
            }
        }
    }
    $db_menuinit = trim($db_menuinit, ',');
    runJob();
    require PrintEot('footer');
    if ($db_advertdb['Site.PopupNotice'] || $db_advertdb['Site.FloatLeft'] || $db_advertdb['Site.FloatRight'] || $db_advertdb['Site.FloatRand']) {
        require PrintEot('advert');
    }
    $output = ob_get_contents();
    if ($db_htmifopen) {
        $output = preg_replace("/\\<a(\\s*[^\\>]+\\s*)href\\=([\"|\\']?)((index|cate|thread|read|faq|rss)\\.php\\?[^\"\\'>\\s]+\\s?)[\"|\\']?/ies", "Htm_cv('\\3','<a\\1href=\"')", $output);
    }
    if ($db_redundancy && $SCR != 'post') {
        /*
        $output = str_replace(
        	array("\r","\n\n","\n\t","\n ",">\n","\n<","}\n","{\n",";\n","/\n","\t ",">\t","\t<","}\t","{\t",";\t","/\t",'  ','<!--<!---->','<!---->'),
        	array('',"\n",' ',' ','>','<','}','{',';','/',' ','>','<','}','{',';','/',' ','',''),
        	$output
        );
        */
        $output = str_replace(array("\r", '<!---->-->', '<!--<!---->', "<!---->\n", '<!---->', '<!-- -->', "<!--\n-->", "\t\t", '        ', "\n\t", "\n\n"), array('', '', '', '', '', '', '', "\n", "\n"), $output);
    } else {
        $output = str_replace(array('<!---->-->', '<!--<!---->', "<!---->\r\n", '<!---->', '<!-- -->', "\t\t\t"), '', $output);
    }
    if ($SCR != 'post') {
        $ceversion = defined('CE') ? 1 : 0;
        $output .= "<script language=\"JavaScript\" src=\"http://init.phpwind.net/init.php?sitehash={$GLOBALS[db_sitehash]}&v={$wind_version}&c={$ceversion}\"></script>";
    }
    if ($groupid == 'guest' && !defined('MSG') && GetGcache()) {
        require_once R_P . 'require/guestfunc.php';
        creatguestcache($output);
    }
    updateCacheData();
    echo ObContents($output);
    unset($output);
    N_flush();
    exit;
}
function InitCron()
{
    global $cronTab, $maxJobs;
    @ignore_user_abort(FALSE);
    @set_time_limit(60);
    $jobs = parseCronFile($cronTab);
    $jobsRun = 0;
    for ($i = 0; $i < count($jobs); $i++) {
        if ($maxJobs == 0 || $jobsRun < $maxJobs) {
            if (runJob($jobs[$i])) {
                $jobsRun++;
            }
        }
    }
}
Exemple #5
0
load('cron');
if (isset($_POST['job_type'])) {
    $jobType = $_POST['job_type'];
} elseif (isset($argv[1]) && substr($argv[1], 0, 8) == 'job_type') {
    $jobType = substr($argv[1], 9);
} else {
    logError(__FILE__ . ' [' . __LINE__ . '] - No job type given.');
    die('No job type given');
}
// Stop, if we are currently running a job
if (runningJob() or defined('RUNNING_JOB')) {
    logError(__FILE__ . ' [' . __LINE__ . '] - Cron Job already running.');
    die('Cron Job already running');
}
define('RUNNING_JOB', true);
runJob();
switch ($jobType) {
    case 'awards':
        runAwardsJob();
        break;
    case 'familynews':
        runFamilyNewsJob();
        break;
    case 'youtube':
        runYouTubeJob();
        break;
    case 'instagram':
        runInstagramJob();
        break;
    default:
        logError(__FILE__ . ' [' . __LINE__ . '] - Invalid job type given [' . $jobType . '].');
Exemple #6
0
/**
 * 输出页脚,并处理输出缓存中的内容
 */
function footer()
{
    global $db, $db_obstart, $db_footertime, $P_S_T, $mtablewidth, $db_ceoconnect, $wind_version, $imgpath, $stylepath, $footer_ad, $db_union, $timestamp, $db_icp, $db_icpurl, $db_advertdb, $groupid, $db_ystats_ifopen, $db_ystats_unit_id, $db_ystats_style, $pwServer, $db_ifcredit, $credit_pop, $db_foot, $db_mode, $db_modes, $shortcutforum, $_G, $winddb, $db_toolbar, $winduid, $db_menuinit, $db_appifopen, $db_job_ispop, $db_job_isopen, $db_siteappkey, $_Navbar, $db_statscode;
    defined('AJAX') && ajax_footer();
    $wind_spend = '';
    //$db_statscode = html_entity_decode($db_statscode);
    $ft_gzip = ($db_obstart ? 'Gzip enabled' : 'Gzip disabled') . $db_union[3];
    if ($db_footertime == 1) {
        $totaltime = number_format(pwMicrotime() - $P_S_T, 6);
        $qn = $db ? $db->query_num : 0;
        $wind_spend = "Total {$totaltime}(s) query {$qn},";
        //*Dev Code Start*//
        if ($GLOBALS['db_debug']) {
            include_once R_P . 'lang_change.php';
            $wind_spend .= "SQLtime:" . number_format($db->totaltime, 6);
            $wind_spend .= !function_exists('memory_get_usage') ? '' : ',Memory Usage:' . round(memory_get_usage() / 1024 / 1024, 4) . 'MB,';
            $_GET['debug'] && pwCache::writeover(D_P . "data/wind_spend.txt", SCR . ":\t" . $wind_spend . "\r\n", 'ab');
            $masterDb = $db->getMastdb();
            if ($masterDb->arr_query) {
                writeover(D_P . "data/sqllist.txt", $masterDb->arr_query, 'wb');
            }
        }
        //*Dev Code End*//
    }
    $ft_time = get_date($timestamp, 'm-d H:i');
    $db_icp && ($db_icp = "<a href=\"http://www.miibeian.gov.cn\" target=\"_blank\">{$db_icp}</a>");
    if ($db_toolbar) {
        if ($_COOKIE['toolbarhide']) {
            $toolbarstyle = 'style="display:none"';
            $openbarstyle = '';
            $closebarstyle = 'style="display:none"';
        } else {
            $toolbarstyle = '';
            $openbarstyle = 'style="display:none"';
            $closebarstyle = '';
            if ($db_appifopen) {
                $appshortcut = trim($winddb['appshortcut'], ',');
                if (!empty($appshortcut) && $db_siteappkey) {
                    $appshortcut = explode(',', $appshortcut);
                    $bottom_appshortcut = array();
                    $appclient = L::loadClass('appclient');
                    $bottom_appshortcut = $appclient->userApplist($winduid, $appshortcut, 1);
                }
            }
        }
    }
    $db_menuinit = trim($db_menuinit, ',');
    runJob();
    require PrintEot('footer');
    if ($db_advertdb['Site.PopupNotice'] || $db_advertdb['Site.FloatLeft'] || $db_advertdb['Site.FloatRight'] || $db_advertdb['Site.FloatRand']) {
        require PrintEot('advert');
    }
    pwOutPut();
}