Вход Регистрация
Файл: core/system.php
Строк: 156
<?php 
/*
 * @author mides <Mike Osendowski>
 * @link http://midwm.org
 * @copyright 2011-2014
*/


$level 0;
$folder_level FALSE;
while (!
file_exists($folder_level.'config.php') && $level 5) {
    
$folder_level .= '../';
    ++
$level;
}
unset(
$level);
define('LEVEL'$folder_level);

require_once 
LEVEL.'config.php';

if (isset(
$debugmode) && $debugmode == 1) {
    @
error_reporting(E_ALL);
    @
ini_set('display_errors'true);
    @
ini_set('html_errors'true);
    @
ini_set('error_reporting'E_ALL);
} else {
    @
error_reporting(E_ALL E_NOTICE);
    @
ini_set('display_errors'false);
    @
ini_set('html_errors'false);
    @
ini_set('error_reporting'E_ALL E_NOTICE);
}

@
session_name('SID');
@
session_start();

if (
get_magic_quotes_gpc()) {
    
$in = array(&$_GET, &$_POST, &$_COOKIE);
    while (list(
$k$v) = each($in)) {
        foreach (
$v as $key => $val) {
            if (!
is_array($val)) {
                
$in[$k][$key] = stripslashes($val);
                continue;
            }
            
$in[] = &$in[$k][$key];
        }
    }
    unset (
$in);
    if (!empty (
$_FILES)) {
        foreach (
$_FILES as $k => $v) {
            
$_FILES[$k]['name'] = stripslashes((string) $v['name']);
        }
    }
}

foreach (
$_GET as $check_url) {
    if (!
is_string($check_url) || !preg_match('#^(?:[a-z0-9_-/]+|.+(?!/))*$#i'$check_url)) {
        
header('Location: '.LEVEL);
        exit;
    }
}
unset(
$check_url);

require_once 
'mysqlpdo.php';

if (
file_exists(LEVEL.'cache/config.tmp')) {
    
$config unserialize(file_get_contents(LEVEL.'cache/config.tmp'));
} else {
    
$query DB::run()->query("SELECT `name`, `value` FROM `configuration`;");
    
$config $query->fetchAssoc();
    @
file_put_contents(LEVEL.'cache/config.tmp'serialize($config), LOCK_EX);
}

define('TIME'time() + $config['timeshift'] * 3600);

require_once 
'functions.php';

/*
 * Basic variables
 * Основные переменные
 */
$mod = (isset($_GET['mod'])) ? htmlspecialchars($_GET['mod']) : FALSE;
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : FALSE;
$id = isset($_GET['id']) ? abs(intval($_GET['id'])) : 0;
$ip check($_SERVER['REMOTE_ADDR']);
$serverip check($_SERVER['SERVER_ADDR']);
$browser getUserAgent();
$page = isset($_GET['page']) ? abs(intval($_GET['page'])) : 1;
$pages = isset($pages) ? $pages 1;
$php_self = isset($_SERVER['PHP_SELF']) ? check(substr($_SERVER['PHP_SELF'], 1)) : FALSE;

$request_uri check(urldecode(substr(strtok($_SERVER['REQUEST_URI'], 'S'), 1)));
$request_uri $request_uri $request_uri FALSE;

/*
 * Referers
*/
$refurl = isset($_SERVER['HTTP_REFERER']) ? check($_SERVER['HTTP_REFERER']) : FALSE;
$refurl_short $refurl GetDomain($refurl) : FALSE;

if (
$refurl_short && $refurl_short != HOME) {
    
$queryRefs DB::run()->querySingle("select count(`id`) from `referers` where `url_short` = ?;", array($refurl_short));
    if (
$queryRefs)
    {
        
DB::run()->query("update `referers` set `url` = ?, `ip` = ?, `amount` = (`amount`+1), `time` = ? where `url_short` = ?;", array($refurl$iptime(), $url_short));
    }
    else
    {
        
DB::run()->query("insert into `referers` set `url` = ?, `url_short` = ?, `ip` = ?, `amount` = ?, `time` = ?;", array($refurl$refurl_short$ip1time()));
    }
}

/*
 * Login using Session and Cookies
 * Checks if empty session login data
 * if empty, then checks if isset cookie login data
 * if isset and ok, then recreates session data
 */
if (empty($_SESSION['suser']) or empty($_SESSION['skey'])) {
    if (isset(
$_COOKIE['cuser']) and isset($_COOKIE['ckey'])) {
        
$cuser check($_COOKIE['cuser']);
        
$ckey check($_COOKIE['ckey']);

        if (!empty(
$cuser) and !empty($ckey)) {
            
$checkuser DB::run()->queryFetch("select `username`, `password` from `users` where `username` = ? limit 1;", array($cuser));
            if (!empty(
$checkuser)) {
                if (
$ckey == hash('sha512'md5(md5($checkuser['password'].$config['keypass'])))) {
                    
session_regenerate_id(1);
                        
                    
$_SESSION['suser'] = $cuser;
                    
$_SESSION['skey'] = hash('sha512'md5(md5($checkuser['password'].$config['keypass'])));
                        
                    
DB::run()->query("UPDATE `users` SET `lastseen` = ?, `ip` = ?, `browser` = ? WHERE `username` = ?;", array(time(), $ip,  $browser$cuser));
                }
            }
        }
    }
}

// ---------------------- Установка сессионных переменных -----------------------//
/*if (!isset($_SESSION['token'])) {
 $_SESSION['token'] = generate_pass(6);
}
*/

ob_start('ob_processing');

/*
 * Logging in
 */

if ($u is_auth()) {
    
$config['ipp'] = $u['ipp'];
    
$config['theme'] = $u['theme'];
    
$config['language'] = $u['language'];
    
$config['bbpanel'] = $u['bbpanel'];
     
    
//    if ($udata['users_ban'] == 1) {
    //        if (!strsearch($php_self, array('pages/ban.php', 'pages/rules.php'))) {
    //            redirect($config['home'].'/pages/ban.php?log='.$log.'&'.SID);
    //        }
    //    }

    //    if ($config['regkeys'] > 0 && $udata['users_confirmreg'] > 0 && empty($udata['users_ban'])) {
    //        if (!strsearch($php_self, array('pages/key.php', 'input.php'))) {
    //            redirect($config['home'].'/pages/key.php?log='.$log.'&'.SID);
    //        }
    //    }


    // ---------------------- функция проверки ip и браузера -----------------------//
    //    if (!empty($udata['users_ipbinding'])) {
    //        if ($_SESSION['my_ip'] != $ip) {
    //            $_SESSION = array();
    //            setcookie(session_name(), '', 0, '/', '');
    //            session_unset();
    //            session_destroy();
    //            redirect($config['home'].'/'.$request_uri);
    //        }
    //    }
} else {
    
$cookieTheme = isset($_COOKIE['theme']) ? abs(intval($_COOKIE['theme'])) : detectMob();
    switch (
$cookieTheme)
    {
        case 
1$config['theme'] = $config['webtheme']; break;
        default: 
$config['theme'] = $config['mobtheme']; break;
    }
    
    
    
$lng = isset($_COOKIE['lng']) ? check($_COOKIE['lng']) : FALSE;
    if (
$lng) {
        
$language DB::run()->queryFetch("select `file` from `language` where `file` = ?;", array($lng));
        if (
$language) {
            
$config['language'] = $language['file'];
        }
    }
    
}

DB::run()->query("update `bans` set `active` = 0 where `exp` < ?;", array(TIME));
$ban DB::run()->queryFetch("select * from `bans` where `userid` = ? and `active` = 1 order by `time` desc limit 1;", array($u['id']));

if (
$ban and $request_uri != 'user'.$ban['userid'].'/')
{
    
redirect(HTTPHOME.'user'.$ban['userid']);
}

require_once 
LEVEL.'language/'.$config['language'].'.php';
Онлайн: 1
Реклама