Вход Регистрация
Файл: DARK WARS/dark_war/start.php
Строк: 117
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<title>Авторизация</title>
<link rel="shortcut icon" href="/style/shield.ico" />
<link rel="stylesheet" type="text/css" href="/dark_war/style/style.css"  />
<link rel="stylesheet" type="text/css" href="/dark_war/style/originalstyle.css"  />
<meta http-equiv="content-Type" content="application/xhtml+xml; charset=utf-8" />
</head>
<body>
<?php
list ( $msec$sec ) = explode(chr(32), microtime()); // время запуска скрипта
define('TIME_START'$sec $msec); // время запуска скрипта

// Домашняя страница
if (file_exists($_SERVER ['DOCUMENT_ROOT'].'/dark_war/class/ini.class.php')) {
    
define('H'$_SERVER ['DOCUMENT_ROOT']); // корневая директория сайта
} else {
    
/* Если $_SERVER ['DOCUMENT_ROOT'] не является корневой директорией сайта, то будем искать ее вручную */

    
$rel_path '';
    
$searched_file 'dark_war/class/ini.class.php';
    for (
$i 0$i 10$i++) {
        if (
file_exists($rel_path $searched_file)) {
            
$abs_path realpath($rel_path $searched_file);
            break;
        }
        
$rel_path .= '../';
    }
    
define('H'str_replace($searched_file''str_replace('\', '/', $abs_path))); // корневая директория сайта
    unset($rel_path, $searched_file, $abs_path);
}
// Обычное время
define('
TIME', time());


@session_name('
SESS');
@session_start();
$sess=mysql_escape_string(session_id());
if (!eregi('
[A-z0-9]{32}',$sess))$sess=md5(rand(09009,999999));

if (@function_exists('
ini_set')) {

    // время жизни сессии
    ini_set('
session.cache_expire', 600);

    // игнорировать повторяющиеся ошибки
    ini_set('
ignore_repeated_errors', true);

    // показываем только фатальные ошибки
    ini_set('
error_reporting', E_ERROR);

    // непосредственно, включаем показ ошибок
    ini_set('
display_errors', true);
}




///////////////////// // автоматическая загрузка классов
function AutoloadClass($class_name) {
    $path = H . '
/dark_war/class/' . strtolower($class_name) . '.class.php';
    if (file_exists($path)) {
        include_once ($path);
    }
}
spl_autoload_register('
AutoloadClass');
///////////////////////////////////////////////////////// <<<<-----|

$setGame = ini::array_ini(H.'
/dark_war/files_ini/settings.ini');


@mysql_connect('
localhost', 'root', '12345') or die('Нет соединения с MySQL сервером');
@mysql_select_db('
111') or die('Нет доступа к выбранной базе данных');
mysql_query('
SET NAMES "utf8"');




// упрощенный вариант mysql_real_escape_string
function my_esc($str){
    return mysql_real_escape_string($str);
}


// Все для авторизации пользователя, для DCMS 6.6.4
if (isset($_SESSION['
id_user']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = $_SESSION[id_user] LIMIT 1"), 0)) {
    $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".
$_SESSION['id_user']."' LIMIT 1"));
    mysql_query("UPDATE `user` SET `date_last` = ".time()." WHERE `id` = '
$user[id]' LIMIT 1");
    $user['
type_input']='session';
} elseif (isset($_COOKIE['
id_user']) && isset($_COOKIE['pass']) && $_COOKIE['id_user']!=NULL && $_COOKIE['pass']!=NULL) {
    include_once H.'
/fnc.php';    
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = ".intval($_COOKIE['
id_user'])." 
                                  AND `pass` = '".shif(cookie_decrypt(
$_COOKIE['pass'],intval($_COOKIE['id_user'])))."' 
                                  LIMIT 1"), 0)==1) {
        $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".
$_COOKIE['id_user']."' LIMIT 1"));
        $_SESSION['
id_user'] = $user['id'];
        mysql_query("UPDATE `user` SET `data_aut` = ".time().", `date_last` = ".time()." WHERE `id` = '
$user[id]' LIMIT 1");
    }
} else {
    setcookie('
id_user');
    setcookie('
pass');
}
////////////////////////////////////////////// <<<<<<<--------|||

// Если пользователь не зашел на сам сайт, выкидываем из игры, тут только авторезированные
if (!$user) {
    header("Location: /index.php");exit;
}
//////////////////////////// <<<<<<<--------||



// Если еть пользователь на сайте авторезируем в игре 
$is_player = mysql_fetch_array(mysql_query ("SELECT id FROM `dark_war_users` WHERE `id_user` = '
$user[id]' LIMIT 1"));
$player = new player($is_player['
id']);
//////////////////////////////// <<<<<<<<<----------||

//Если нету игрока перекидуем на авторизацию в самой игре
if ($_SERVER['
PHP_SELF']!='/dark_war/login.php') {
    if (!$player->id) {
        header("Location: /dark_war/login.php");exit;
    }
}
///////////////////////////////////// <<<<<<<<--------||

// Забаниных перекидываем на страницу бана
// Иснимаем бан у кого закончился
mysql_query("DELETE FROM `dark_war_ban` WHERE `time_end` <= '".TIME."' LIMIT 1");

$banned = mysql_result(mysql_query("SELECT COUNT(*) FROM `dark_war_ban` WHERE `id_player` = '
{$player->id}'"), 0);
if ($banned && $_SERVER['
PHP_SELF']!='/dark_war/ban.php') {
    header("Location: /dark_war/ban.php");
    exit;
}
//////////////////////////////////// <<<<<<<<<<<-------------||

/////////////////// Удаляем кто не онлай
mysql_query("DELETE FROM `dark_war_online_us` WHERE `time_last` < '" . (TIME - 600) . "'");

/////////////////////// Поддержка онлайна
$q = mysql_query("SELECT * FROM `dark_war_online_us` WHERE `id_player` = '
{$player->id}' LIMIT 1");
if (mysql_num_rows($q)) {
     mysql_query("UPDATE `dark_war_online_us` SET `time_last` = '".TIME."' WHERE `id_player` = '
{$player->id}' LIMIT 1");    
}
if ($player->id && !mysql_num_rows($q)) {
    mysql_query("INSERT INTO `dark_war_online_us` (`id_player`, `time_last`) VALUES ('
{$player->id}', '".TIME."')");
}
//////////////////////////////////////// <<<<<<------||

// Чтобы знать когда заходил последний раз
mysql_query("UPDATE `dark_war_users` SET `time_last` = '".TIME."' WHERE `id` = '
{$player->id}' LIMIT 1");
///////////////////////////////////////// <<<<<-----||


/////////////////////////////// Опыт игрока, если достиг обновляем левел и увеличиваем опыт до следующего левела
if ($player->present_level >= $player->next_level) {
    $lvl = ((($player->next_level - ($player->next_level * 12 / 100) + $player->next_level) / 2) * 0.6) + ($player->next_level * 17 / 100) ;
    mysql_query("UPDATE `dark_war_users` SET `journal_new_msg` = (`journal_new_msg` + '
1'), `level` = `level`+'1', `next_level` = `next_level`+'$lvl',
                `hp` = `hp` + '
5', `hp_max` = `hp_max` + '5', `mp` = `mp` + '2', `mp_max` = `mp_max` + '2',
                `gold` = `gold` + '
100', `silver` = `silver` + '100
                 WHERE `id` = '
{$player->id}' LIMIT 1");
        mysql_query("INSERT INTO `dark_war_journal` (`id_player`, `title`, `msg`, `read`, `time`) 
                    VALUES ('
{$player->id}','Повышение уровня', 'Поздравляем тебя с повышением уровня100 золотых монет и 100 серебрянных для поддержания тонуса. =) Удачи тебе.', '0', TIME())");
}
///////////////////////////////// <<<<<<<------||

$game = new game();

// Столовая открываеться и закрываеться каждый час
// Сделано только чтобы не запускать cron, так как не каждый умеет настроить cron
if ($setGame['
open_canteen'] + 60*60 < TIME) {
    $game->open_canteen = TIME;
    if ($setGame['
access_canteen']) {
            $game->access_canteen = 0;
    } else {
        $game->access_canteen = 1;
    }
    $game->save_settings();
}
///////////////////////////// <<<<<<<<<<-----------||
if ($player->hp > $player->hp_max) {$player->hp = $player->hp_max;}
if ($player->mp > $player->mp_max) {$player->mp = $player->mp_max;}
if ($player->hp_max > 100) {$energy = 100;}
?>
Онлайн: 1
Реклама