Ejemplo n.º 1
0
function runcron($cronid = 0)
{
    global $timestamp, $db, $tablepre, $_DCACHE;
    $query = $db->query("SELECT * FROM {$tablepre}crons WHERE " . ($cronid ? "cronid='{$cronid}'" : "available>'0' AND nextrun<='{$timestamp}'") . " ORDER BY nextrun LIMIT 1");
    if ($cron = $db->fetch_array($query)) {
        $lockfile = DISCUZ_ROOT . './forumdata/runcron_' . $cron['cronid'] . '.lock';
        $cron['filename'] = str_replace(array('..', '/', '\\'), '', $cron['filename']);
        $cronfile = DISCUZ_ROOT . './include/crons/' . $cron['filename'];
        if (is_writable($lockfile) && filemtime($lockfile) > $timestamp - 600) {
            return NULL;
        } else {
            @touch($lockfile);
        }
        @set_time_limit(1000);
        @ignore_user_abort(TRUE);
        $cron['minute'] = explode("\t", $cron['minute']);
        cronnextrun($cron);
        extract($GLOBALS, EXTR_SKIP);
        if (!@(include $cronfile)) {
            errorlog('CRON', $cron['name'] . ' : Cron script(' . $cron['filename'] . ') not found or syntax error', 0);
        }
        @unlink($lockfile);
    }
    $query = $db->query("SELECT nextrun FROM {$tablepre}crons WHERE available>'0' ORDER BY nextrun LIMIT 1");
    $nextrun = $db->result($query, 0);
    if (!$nextrun === FALSE) {
        require_once DISCUZ_ROOT . './include/cache.func.php';
        $_DCACHE['settings']['cronnextrun'] = $db->result($query, 0);
        updatesettings();
    }
}
function insenz_onlinestats()
{
    global $timestamp, $db, $tablepre, $_DCACHE;
    require_once DISCUZ_ROOT . './include/cache.func.php';
    $_DCACHE['settings']['insenz']['statsnextrun'] = $timestamp + 3600;
    updatesettings();
    $onlinenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE lastactivity>=({$timestamp}-900)"), 0);
    $db->query("REPLACE INTO {$tablepre}statvars (type, variable, value) VALUES ('houronlines', '" . gmdate('ymdH', $timestamp + 8 * 3600) . "', '{$onlinenum}')");
}
Ejemplo n.º 3
0
function insenz_cronnextrun($cronnextrun)
{
    global $_DCACHE;
    if (empty($_DCACHE['settings']['insenz']['cronnextrun']) || $cronnextrun < $_DCACHE['settings']['insenz']['cronnextrun']) {
        require_once DISCUZ_ROOT . './include/cache.func.php';
        $_DCACHE['settings']['insenz']['cronnextrun'] = $cronnextrun;
        updatesettings();
    }
}
Ejemplo n.º 4
0
     $catlist[0]['type'] = 'group';
     $catlist[0]['name'] = $bbname;
     $catlist[0]['collapseimg'] = 'collapsed_no.gif';
 } else {
     unset($catlist[0]);
 }
 if ($whosonlinestatus == 1 || $whosonlinestatus == 3) {
     $whosonlinestatus = 1;
     $onlineinfo = explode("\t", $onlinerecord);
     if (empty($_DCOOKIE['onlineusernum'])) {
         $onlinenum = $db->result_first("SELECT COUNT(*) FROM {$tablepre}sessions");
         if ($onlinenum > $onlineinfo[0]) {
             $_DCACHE['settings']['onlinerecord'] = $onlinerecord = "{$onlinenum}\t{$timestamp}";
             $db->query("UPDATE {$tablepre}settings SET value='{$onlinerecord}' WHERE variable='onlinerecord'");
             require_once DISCUZ_ROOT . './include/cache.func.php';
             updatesettings();
             $onlineinfo = array($onlinenum, $timestamp);
         }
         dsetcookie('onlineusernum', intval($onlinenum), 300);
     } else {
         $onlinenum = intval($_DCOOKIE['onlineusernum']);
     }
     $onlineinfo[1] = gmdate($dateformat, $onlineinfo[1] + $timeoffset * 3600);
     $detailstatus = $showoldetails == 'yes' || (!isset($_DCOOKIE['onlineindex']) && !$whosonline_contract || $_DCOOKIE['onlineindex']) && $onlinenum < 500 && !$showoldetails;
     if ($detailstatus) {
         @(include language('actions'));
         $discuz_uid && updatesession();
         $membercount = $invisiblecount = 0;
         $whosonline = array();
         $maxonlinelist = $maxonlinelist ? $maxonlinelist : 500;
         $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions " . (isset($_DCACHE['onlinelist'][7]) ? '' : 'WHERE uid <> 0') . " ORDER BY uid DESC LIMIT " . $maxonlinelist);
Ejemplo n.º 5
0
 function updatecreditsettings($get, $post)
 {
     global $_DCACHE;
     if (!API_UPDATECREDITSETTINGS) {
         return API_RETURN_FORBIDDEN;
     }
     $credit = $get['credit'];
     $outextcredits = array();
     if ($credit) {
         foreach ($credit as $appid => $credititems) {
             if ($appid == UC_APPID) {
                 foreach ($credititems as $value) {
                     $outextcredits[] = array('appiddesc' => $value['appiddesc'], 'creditdesc' => $value['creditdesc'], 'creditsrc' => $value['creditsrc'], 'title' => $value['title'], 'unit' => $value['unit'], 'ratiosrc' => $value['ratiosrc'], 'ratiodesc' => $value['ratiodesc'], 'ratio' => $value['ratio']);
                 }
             }
         }
     }
     require_once $this->appdir . './forumdata/cache/cache_settings.php';
     require_once $this->appdir . './include/cache.func.php';
     $this->db->query("REPLACE INTO " . $this->tablepre . "settings (variable, value) VALUES ('outextcredits', '" . addslashes(serialize($outextcredits)) . "');", 'UNBUFFERED');
     $tmp = array();
     foreach ($outextcredits as $value) {
         $key = $value['appiddesc'] . '|' . $value['creditdesc'];
         if (!isset($tmp[$key])) {
             $tmp[$key] = array('title' => $value['title'], 'unit' => $value['unit']);
         }
         $tmp[$key]['ratiosrc'][$value['creditsrc']] = $value['ratiosrc'];
         $tmp[$key]['ratiodesc'][$value['creditsrc']] = $value['ratiodesc'];
         $tmp[$key]['creditsrc'][$value['creditsrc']] = $value['ratio'];
     }
     $_DCACHE['settings']['outextcredits'] = $tmp;
     updatesettings();
     return API_RETURN_SUCCEED;
 }
Ejemplo n.º 6
0
 function updateapps($get, $post)
 {
     global $_DCACHE;
     if (!API_UPDATEAPPS) {
         return API_RETURN_FORBIDDEN;
     }
     $UC_API = $post['UC_API'];
     if (empty($post) || empty($UC_API)) {
         return API_RETURN_SUCCEED;
     }
     $cachefile = $this->appdir . './uc_client/data/cache/apps.php';
     $fp = fopen($cachefile, 'w');
     $s = "<?php\r\n";
     $s .= '$_CACHE[\'apps\'] = ' . var_export($post, TRUE) . ";\r\n";
     fwrite($fp, $s);
     fclose($fp);
     if (is_writeable($this->appdir . './config.inc.php')) {
         $configfile = trim(file_get_contents($this->appdir . './config.inc.php'));
         $configfile = substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) : $configfile;
         $configfile = preg_replace("/define\\('UC_API',\\s*'.*?'\\);/i", "define('UC_API', '{$UC_API}');", $configfile);
         if ($fp = @fopen($this->appdir . './config.inc.php', 'w')) {
             @fwrite($fp, trim($configfile));
             @fclose($fp);
         }
     }
     global $_DCACHE;
     require_once $this->appdir . './forumdata/cache/cache_settings.php';
     require_once $this->appdir . './include/cache.func.php';
     foreach ($post as $appid => $app) {
         $_DCACHE['settings']['ucapp'][$appid]['viewprourl'] = $app['url'] . $app['viewprourl'];
     }
     updatesettings();
     return API_RETURN_SUCCEED;
 }
Ejemplo n.º 7
0
/**
 * Simply modifying cache functions
 *
 * @param bool $return_config = false
 */
function ModifyCacheSettings($return_config = false)
{
    global $context, $scripturl, $txt, $helptxt, $cache_enable;
    // Detect all available optimizers
    $detected = array();
    if (function_exists('eaccelerator_put')) {
        $detected['eaccelerator'] = $txt['eAccelerator_cache'];
    }
    if (function_exists('mmcache_put')) {
        $detected['mmcache'] = $txt['mmcache_cache'];
    }
    if (function_exists('apc_store')) {
        $detected['apc'] = $txt['apc_cache'];
    }
    if (function_exists('output_cache_put') || function_exists('zend_shm_cache_store')) {
        $detected['zend'] = $txt['zend_cache'];
    }
    if (function_exists('memcache_set') || function_exists('memcached_set')) {
        $detected['memcached'] = $txt['memcached_cache'];
    }
    if (function_exists('xcache_set')) {
        $detected['xcache'] = $txt['xcache_cache'];
    }
    // set a message to show what, if anything, we found
    if (empty($detected)) {
        $txt['cache_settings_message'] = $txt['detected_no_caching'];
    } else {
        $txt['cache_settings_message'] = sprintf($txt['detected_accelerators'], implode(', ', $detected));
    }
    // This is always an option
    $detected['smf'] = $txt['default_cache'];
    // Define the variables we want to edit.
    $config_vars = array(array('', $txt['cache_settings_message'], '', 'desc'), array('cache_enable', $txt['cache_enable'], 'file', 'select', array($txt['cache_off'], $txt['cache_level1'], $txt['cache_level2'], $txt['cache_level3']), 'cache_enable'), array('cache_accelerator', $txt['cache_accelerator'], 'file', 'select', $detected), array('cache_memcached', $txt['cache_memcached'], 'file', 'text', $txt['cache_memcached'], 'cache_memcached'), array('cachedir', $txt['cachedir'], 'file', 'text', 36, 'cache_cachedir'));
    // some javascript to enable / disable certain settings if the option is not selected
    $context['settings_post_javascript'] = '
		var cache_type = document.getElementById(\'cache_accelerator\');
		createEventListener(cache_type);
		cache_type.addEventListener("change", toggleCache);
		toggleCache();';
    call_integration_hook('integrate_modify_cache_settings', array(&$config_vars));
    if ($return_config) {
        return $config_vars;
    }
    // Saving again?
    if (isset($_GET['save'])) {
        call_integration_hook('integrate_save_cache_settings');
        saveSettings($config_vars);
        // we need to save the $cache_enable to $modSettings as well
        updatesettings(array('cache_enable' => (int) $_POST['cache_enable']));
        // exit so we reload our new settings on the page
        redirectexit('action=admin;area=serversettings;sa=cache;' . $context['session_var'] . '=' . $context['session_id']);
    }
    // if its off, allow them to clear it as well
    // @todo why only when its off ?
    if (empty($cache_enable)) {
        loadLanguage('ManageMaintenance');
        createToken('admin-maint');
        $context['template_layers'][] = 'clean_cache_button';
    }
    $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=cache;save';
    $context['settings_title'] = $txt['caching_settings'];
    $context['settings_message'] = $txt['caching_information'];
    // Prepare the template.
    createToken('admin-ssc');
    prepareServerSettingsContext($config_vars);
}
Ejemplo n.º 8
0
<!DOCTYPE html>
<?php 
require "functions/admincheck.php";
require "functions/cmum.php";
$counters = explode(";", counter());
if (isset($_POST["bsave"]) && $_POST["bsave"] == "Save Changes") {
    if (!isset($_POST["def_profiles"])) {
        $def_profiles = "";
    } else {
        $def_profiles = $_POST["def_profiles"];
    }
    $updnotice = updatesettings($_POST["servername"], $_POST["timeout"], $_POST["rndstring"], $_POST["rndstringlength"], $_POST["loglogins"], $_POST["logactivity"], $_POST["cleanlogin"], $_POST["genxmlkey"], $_POST["genxmllogreq"], $_POST["genxmlusrgrp"], $_POST["genxmldateformat"], $_POST["genxmlintstrexp"], $_POST["def_autoload"], $_POST["def_ipmask"], $def_profiles, $_POST["def_maxconn"], $_POST["def_admin"], $_POST["def_enabled"], $_POST["def_mapexc"], $_POST["def_debug"], $_POST["def_custcspval"], $_POST["def_ecmrate"], $_POST["fetchcsp"], $_POST["cspsrv_ip"], $_POST["cspsrv_port"], $_POST["cspsrv_user"], $_POST["cspsrv_pass"], $_POST["cspsrv_protocol"], $_POST["comptables"], $_POST["extrausrtbl"], $_POST["notstartusrorder"], $_POST["expusrorder"], $_POST["soonexpusrorder"], $_POST["autoupdcheck"], $_POST["usrorderby"], $_POST["usrorder"]);
    if ($updnotice == "0") {
        $notice = "toastr.success('Settings saved successfully');";
    }
}
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if (mysqli_connect_errno()) {
    errorpage("MYSQL DATABASE ERROR", mysqli_connect_error(), $charset, CMUM_TITLE, $_SERVER["REQUEST_URI"], CMUM_VERSION, CMUM_BUILD, CMUM_MOD);
    exit;
}
$sqls = $mysqli->query("SELECT * FROM settings WHERE id='1'");
$setres = $sqls->fetch_array();
?>
<html>
	<head>
		<meta charset="<?php 
print $charset;
?>
">
		<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
Ejemplo n.º 9
0
    /**
     * Cache settings editing and submission.
     *
     * This method handles the display, allows to edit, and saves the result
     * for _cacheSettings form.
     */
    public function action_cacheSettings_display()
    {
        global $context, $scripturl, $txt, $cache_accelerator, $modSettings;
        // Initialize the form
        $this->_initCacheSettingsForm();
        // Some javascript to enable / disable certain settings if the option is not selected
        addInlineJavascript('
			var cache_type = document.getElementById(\'cache_accelerator\');

			createEventListener(cache_type);
			cache_type.addEventListener("change", toggleCache);
			toggleCache();', true);
        $context['settings_message'] = $txt['caching_information'];
        // Let them know if they may have problems
        if ($cache_accelerator === 'filebased' && !empty($modSettings['cache_enable']) && extension_loaded('Zend OPcache')) {
            // The opcache will cache the filebased user data files, updating them based on opcache.revalidate_freq
            // which can cause delays (or prevent) the invalidation of file cache files
            $opcache_config = @opcache_get_configuration();
            if (!empty($opcache_config['directives']['opcache.enable'])) {
                $context['settings_message'] = $txt['cache_conflict'];
            }
        }
        // Saving again?
        if (isset($_GET['save'])) {
            call_integration_hook('integrate_save_cache_settings');
            $this->_cacheSettingsForm->save();
            // we need to save the $cache_enable to $modSettings as well
            updatesettings(array('cache_enable' => (int) $_POST['cache_enable']));
            // exit so we reload our new settings on the page
            redirectexit('action=admin;area=serversettings;sa=cache;' . $context['session_var'] . '=' . $context['session_id']);
        }
        loadLanguage('Maintenance');
        createToken('admin-maint');
        Template_Layers::getInstance()->add('clean_cache_button');
        $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=cache;save';
        $context['settings_title'] = $txt['caching_settings'];
        // Prepare the template.
        createToken('admin-ssc');
        // Prepare settings for display in the template.
        $this->_cacheSettingsForm->prepare_file();
    }