Example #1
0
 *
 *      $Id: admincp_optimizer.php 31344 2012-08-15 04:01:32Z zhangjie $
 */
if (!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
    exit('Access Denied');
}
cpheader();
$optimizer_option = array('optimizer_plugin', 'optimizer_upgrade', 'optimizer_patch', 'optimizer_thread', 'optimizer_setting', 'optimizer_post', 'optimizer_member', 'optimizer_filecheck', 'optimizer_dbbackup', 'optimizer_dbbackup_clean', 'optimizer_seo');
if ($operation) {
    $type = $_GET['type'];
    if (!in_array($type, $optimizer_option)) {
        cpmsg('parameters_error', '', 'error');
    }
    $_GET['anchor'] = $operation;
    include_once 'source/discuz_version.php';
    $optimizer = new optimizer($type);
}
$_GET['anchor'] = in_array($_GET['anchor'], array('base', 'setting_optimizer', 'log_optimizer')) ? $_GET['anchor'] : 'base';
$current = array($_GET['anchor'] => 1);
showsubmenu('nav_founder_optimizer', array(array('founder_optimizer_index', 'optimizer&anchor=base', $current['base']), array('founder_optimizer_setting', 'optimizer&operation=setting_optimizer&type=optimizer_setting&anchor=setting_optimizer', $current['setting_optimizer'])));
if ($operation == 'optimize_unit') {
    $optimizer->optimizer();
} elseif ($operation == 'check_unit') {
    $checkstatus = $optimizer->check();
    C::t('common_optimizer')->update($type . '_checkrecord', $checkstatus['status'] == 1 ? 1 : 0);
    C::t('common_optimizer')->update('check_record_time', $_G['timestamp']);
    include template('common/header_ajax');
    echo '<script type="text/javascript">updatecheckstatus(\'' . $type . '\', \'' . $checkstatus['lang'] . '\', \'' . $checkstatus['status'] . '\', \'' . $checkstatus['type'] . '\');</script>';
    include template('common/footer_ajax');
    exit;
} elseif ($operation == 'setting_optimizer') {
Example #2
0
/**
 * nv_change_buffer()
 *
 * @param mixed $buffer
 * @return
 */
function nv_change_buffer($buffer)
{
    global $db, $sys_info, $global_config, $client_info;
    if (NV_ANTI_IFRAME and !$client_info['is_myreferer']) {
        $buffer = preg_replace('/(<body[^>]*>)/', "\$1" . PHP_EOL . "<script>if(window.top!==window.self){document.write=\"\";window.top.location=window.self.location;setTimeout(function(){document.body.innerHTML=\"\"},1);window.self.onload=function(){document.body.innerHTML=\"\"}};</script>", $buffer, 1);
    }
    $body_replace = $internal = $external = '';
    if (NV_CURRENTTIME > $global_config['cronjobs_next_time']) {
        $body_replace .= "<div id=\"run_cronjobs\" style=\"visibility:hidden;display:none;\"><img alt=\"\" src=\"" . NV_BASE_SITEURL . "index.php?second=cronjobs&amp;p=" . nv_genpass() . "\" width=\"1\" height=\"1\" /></div>" . PHP_EOL;
    }
    if (defined('NV_SYSTEM') and preg_match('/^UA-\\d{4,}-\\d+$/', $global_config['googleAnalyticsID'])) {
        if ($global_config['googleAnalyticsMethod'] == 'universal') {
            $internal .= "(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){" . PHP_EOL;
            $internal .= "(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o)," . PHP_EOL;
            $internal .= "m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)" . PHP_EOL;
            $internal .= "})(window,document,'script','//www.google-analytics.com/analytics.js','ga');" . PHP_EOL;
            $internal .= "ga('create', '" . $global_config['googleAnalyticsID'] . "', '" . $global_config['cookie_domain'] . "');" . PHP_EOL;
            $internal .= "ga('send', 'pageview');" . PHP_EOL;
        } else {
            $dp = '';
            if ($global_config['googleAnalyticsSetDomainName'] == 1) {
                $dp .= "_gaq.push([\"_setDomainName\",\"" . $global_config['cookie_domain'] . "\"]);";
            } elseif ($global_config['googleAnalyticsSetDomainName'] == 2) {
                $dp .= "_gaq.push([\"_setDomainName\",\"none\"]);_gaq.push([\"_setAllowLinker\",true]);";
            }
            $internal .= "var _gaq=_gaq||[];_gaq.push([\"_setAccount\",\"" . $global_config['googleAnalyticsID'] . "\"]);" . $dp . "_gaq.push([\"_trackPageview\"]);(function(){var a=document.createElement(\"script\");a.type=\"text/javascript\";a.async=true;a.src=(\"https:\"==document.location.protocol?\"https://ssl\":\"http://www\")+\".google-analytics.com/ga.js\";var b=document.getElementsByTagName(\"script\")[0];b.parentNode.insertBefore(a,b)})();" . PHP_EOL;
        }
    }
    if (!empty($internal)) {
        $internal = "<script>" . PHP_EOL . $internal . "</script>" . PHP_EOL;
    }
    $body_replace .= $internal . $external;
    if (!empty($body_replace)) {
        $buffer = preg_replace('/\\s*<\\/body>/i', PHP_EOL . $body_replace . '</body>', $buffer, 1);
    }
    $optimizer = new optimizer($buffer, NV_BASE_SITEURL);
    $buffer = $optimizer->process();
    if (!empty($global_config['cdn_url'])) {
        $buffer = preg_replace("/\\<(script|link)(.*?)(src|href)=['\"]((?!http(s?)|ftp\\:\\/\\/).*?\\.(js|css))['\"](.*?)\\>/", "<\\1\\2\\3=\"" . $global_config['cdn_url'] . "\\4?t=" . $global_config['timestamp'] . "\"\\7>", $buffer);
    } else {
        $buffer = preg_replace("/\\<(script|link)(.*?)(src|href)=['\"]((?!http(s?)|ftp\\:\\/\\/).*?\\.(js|css))['\"](.*?)\\>/", "<\\1\\2\\3=\"\\4?t=" . $global_config['timestamp'] . "\"\\7>", $buffer);
    }
    return $buffer;
}