Exemple #1
0
function chk_user(&$eps_user)
{
    global $epsclass, $eps_config, $eps_cookie, $eps_session;
    eps_session_start();
    // Set Guest
    $cookie = array('user_id' => 0, 'password_hash' => 0);
    // Get User_id And Password_hash
    if (!empty($_SESSION[$eps_session['name']])) {
        list($cookie['user_id'], $cookie['password_hash']) = @unserialize($_SESSION[$eps_session['name']]);
    } else {
        if (!empty($_COOKIE[$eps_cookie['name']])) {
            list($cookie['user_id'], $cookie['password_hash']) = @unserialize($_COOKIE[$eps_cookie['name']]);
        }
    }
    if ($cookie['user_id'] > 0) {
        // Check User
        $result = $epsclass->db->query("SELECT g.g_title,u.* FROM " . TBL_USER . " u LEFT JOIN " . TBL_GROUP . " g ON u.group_id=g.g_id WHERE u.id=" . intval($cookie['user_id'])) or error('Unable to fetch user information', __FILE__, __LINE__, $epsclass->db->error());
        $eps_user = $epsclass->db->fetch_assoc($result);
        $epsclass->db->free_result($result);
        // Authorisation Failed
        if (!isset($eps_user['id']) || md5($eps_cookie['seed'] . $eps_user['password']) != $cookie['password_hash']) {
            set_user(0, 0);
            return;
        }
        // ADMIN
        if ($eps_user['group_id'] == EPS_ADMIN) {
            define('IS_ADMIN', true);
        } else {
            define('IS_ADMIN', false);
        }
        // MODADMIN
        if ($eps_user['group_id'] == EPS_ADMIN || $eps_user['group_id'] == EPS_MOD) {
            define('IS_MODADMIN', true);
        } else {
            define('IS_MODADMIN', false);
        }
        unset($eps_user['password']);
        // Language No Exists
        if (!@file_exists(EPS_ROOT . 'lang/' . $eps_user['language'])) {
            $eps_user['language'] = $eps_config['default_lang'];
        }
        // Style No Exists
        if (!@file_exists(EPS_ROOT . 'style/' . $eps_user['style'] . '.css')) {
            $eps_user['style'] = $eps_config['default_style'];
        }
        $eps_user['ip_address'] = get_ip();
        $eps_user['is_guest'] = false;
    } else {
        set_guest();
    }
}
Exemple #2
0
 function antiflood($min_period = 30)
 {
     eps_session_start();
     $this->min_period = $min_period;
 }
Exemple #3
0
// Database
require_once EPS_ROOT . 'include/database.php';
@(include_once FILE_CACHE_CONFIG);
if (!defined('CONFIG_LOADED')) {
    create_config_file();
    require_once FILE_CACHE_CONFIG;
}
// Gzip
$_SERVER['HTTP_ACCEPT_ENCODING'] = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '';
if ($eps_config['gzip'] && extension_loaded('zlib') && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false || strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') !== false)) {
    ob_start('ob_gzhandler');
} else {
    ob_start();
}
// Session
eps_session_start();
// Check User
$eps_user = array();
chk_user($eps_user);
// Language
@(include_once EPS_ROOT . 'lang/' . $eps_user['language'] . '/lang_common.php');
if (!isset($eps_lang)) {
    @(require_once EPS_ROOT . 'lang/' . $eps_config['default_lang'] . '/lang_common.php');
}
if (!isset($eps_lang)) {
    exit('There is no valid language pack \'' . htmlspecialchars($eps_user['language']) . '\' installed. Please reinstall a language of that name.');
}
// Smarty
require_once SMARTY_DIR . 'Smarty.class.php';
require_once EPS_CLASS_DIR . 'extend_smarty.php';
$smarty = new extend_smarty();