<?php
error_reporting(0);
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
extract($HTTP_COOKIE_VARS);
extract($HTTP_SESSION_VARS);
extract($HTTP_SERVER_VARS);
$tmp=$QUERY_STRING;if($tmp=='') $tmp=$_SERVER["QUERY_STRING"];
$tmp=urldecode($tmp);
parse_str($tmp);
if(eregi("[^a-z0-9_.-]",$login) || $ip=='217.144.164.164' || $login=='u.' || $login=='u.' || $login=='u.' || $login=='u.' || $login=='u.' || ($brouzer=='' && $ip=='83.149.48.211')){
header ("Location: http://download.l2db.ru/original%20clients/L2_C5_Installer.zip"); exit;}
// константы должны совпадать с g.php
$g_admin = "u.xahtep";
$zero = "no_admin";
$PHP_SELF = "g.php";
setlocale (LC_CTYPE, 'ru_RU.CP1251');
function win2unicode ( $s ) { if ( (ord($s)>=192) & (ord($s)<=255) ) $hexvalue=dechex(ord($s)+848); if ($s=="Ё") $hexvalue="401"; if ($s=="ё") $hexvalue="451"; return("�".$hexvalue.";");}
function translate($s) {return(preg_replace("/[А-яЁё]/e","win2unicode('\\0')",$s));}
if (substr($login,0,2)!="u.") $login="u.".$login;
$login=strtolower($login);
$login=substr($login,0,15);
clearstatcache();
if (file_exists("online/".$login) && filesize("online/".$login)!=1) {if ($zx==$zero) $p.="&zx=".$zx; msg("<small><b>Нажмите на ссылку ниже<br/><a href=\"g.php?site=connect2&login=$login&p=$p\">Продолжить</a></b></small>");}
// создаем файл c точкой (длина 1 байт), чтобы нельзя было войти на 2 сервера сразу, потом удалим, если не изменится
@ignore_user_abort(true);
$file = fopen ("online/".$login, "w");
if ($file!==false) {fwrite($file,".");fclose($file);} else msg("<small><b>Ошибка создания файла</small></b>");
// проверим на других серверах
$tmp=file("servers.dat");
$srv=implode("",file("server.dat"));
for($i=1;$i<count($tmp);$i++) if ($srv!=$i) {
$s="";
$s=@implode("",@file(trim($tmp[$i])."f_site_common.php?login=".$login));
if ($s=="yes") {$loc=""; msg("<small><b>Ваш персонаж находится на <a href=\"".trim($tmp[$i])."g.php?site=connect2&login=$login&p=$p&r=".rand(1,99)."\">сервере ".$i."</a>, чтобы играть на <font color=\"red\"><u>сервере".$srv."</u></font>, подождите 10 минут и попробуйте войти заново.</b></small>","Мрак Подземелья");}
if ($s!="no") {$loc=""; msg("Сервер не отвечает, попробуйте зайти на <a href=\"f_newserver.php?login=$login&p=$p\">другой сервер</a> или повторите через несколько минут.","Мрак Подземелья");}
}
// echo 1;
//echo "aa";
require_once("datafunc.php");
// получаем данные с основного сервера
// echo 1;
$res=GetData(substr($login,2),$p,$data,$srv);
if ($res=="Логин не найден" || $res=="Неверный пароль") $res.="<br/><small><b>Если вы давно зарегистрировались, то попробуйте использовать логин u_".substr($login,2).", а не ".substr($login,2)."</b></small>";
if ($res && $res!="Данные не найдены") msg($res,"Ошибка");
if ($res=="Данные не найдены") { // новый персонаж
$stmp="<small><b>Пол персонажа:
<br/><select name=\"sex\" value=\"m\">
<option value=\"m\">Мужcкой</option>
<option value=\"f\">Жен.</option>
</select><br/>
Расcа:<br/><select name=\"rassa\">
<option value=\"opk\">орк</option>
<option value=\"elf\">эльф</option>
<option value=\"temniy_elf\">темный эльф</option>
<option value=\"chelovek\">человек</option>
<option value=\"insent\">инсент</option>
<option value=\"gnom\">гном</option>
<option value=\"xobbit\">хоббит</option>
<option value=\"arxon\">архон</option>
<option value=\"neshit\">нежить</option>
<option value=\"ogr\">огры</option>
</select><br/>
Возраст:
<br/><input name=\"age\" format=\"*N\" maxlength=\"2\"/><br/>
Инфо:<br/><small><small>
[<a href=\"/game/1/rassa/ork.php\">Орки</a>]
[<a href=\"/game/1/rassa/elf.php\">Эльфы</a>]
<br/>
[<a href=\"/game/1/rassa/darkelf.php\">Темные эльфы</a>]
[<a href=\"/game/1/rassa/chelovek.php\">Люди</a>]
<br/>
[<a href=\"/game/1/rassa/insent.php\">инсенты</a>]
[<a href=\"/game/1/rassa/gnom.php\">Гномы</a>]
<br/>
[<a href=\"/game/1/rassa/xobbit.php\">Хоббиты</a>]
[<a href=\"/game/1/rassa/arxon.php\">Архоны</a>]
<br/>
[<a href=\"/game/1/rassa/neshit.php\">Нежить</a>]
[<a href=\"/game/1/rassa/ogr.php\">Огры</a>]
<br/></small></small>
[<a href=\"$PHP_SELF?login=$login&p=$p&sex=$(sex)&rassa=$(rassa)&age=$(age)&site=reg2\">Ок</a>]</b></small>";
msg($stmp,"Регистрация");
}
$auser=unserialize($data);
if (!$auser["char"] || !$auser["skills"]) {$data=preg_replace('/s:(?:\d+):"(.*?)";/e',"calcser('\\1')",$data);$auser=unserialize($data);}
$tuser=explode("|",$auser["user"]);
$tp=$tuser[0];
$res=GetGameTime(substr($login,2), $p, $t);
if ($res=="Неверный пароль") {$login=""; msg("<small><b>Неправильный пароль. Если вы сменили пароль, подождите 10 минут, проверьте список онлайн и войдите в игру заново.</b></small>");}
if ($res) msg($res,"Ошибка");
if ($tuser[6]>$t) $tacc=$tuser[6]; else $tacc=$t;
$srvmain=implode("",file("srvmain.dat"));
// проверим клан
//print_r($auser);
if (strpos($auser["char"],"*")===false) $clan=""; else $clan=substr($auser["char"],strpos($auser["char"],"*")+1,strrpos($auser["char"],"*")-strpos($auser["char"],"*")-1);
//echo $clan;
if ($clan && @implode("",@file($srvmain."f_common.php?inclan=$clan&login=$login"))=="no") $clan="no"; else $clan="yes";
header ("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, no-store, must-revalidate, max-age=0");
header ("Pragma: no-cache");
header ("Content-type:text/vnd.wap.wml;charset=utf-8");
ob_start("translate");
if ($zx==$zero) $p.="&zx=".$zx;
$tnews=@implode("",@file($srvmain."f_common.php?newstime=1"));
// echo 1;
if(strlen($tnews)>5) $tnews="";
$s=@implode("",@file(@implode("",@file("serverurl.dat")).$srv."/g.php?site=connect2&sid=$login&login=$login&p=$p&f_c=$f_c&clan=$clan&tacc=$tacc&tnews=$tnews&ip=".$_SERVER["REMOTE_ADDR"]."&data=".urlencode($data)));
// echo 1;
echo $s;
ob_end_flush();
// echo 1;
clearstatcache();
if (filesize("online/".$login)==1 || strpos($s,"cnick=1")===false) @unlink("online/".$login);
@ignore_user_abort(false);
die("");
function calcser($s) {return "s:".strlen($s).":\"".$s."\";";}
function msg($s,$title_v="Мрак Подземелья") {
global $login;
header ("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, no-store, must-revalidate, max-age=0");
header ("Pragma: no-cache");
header("Content-type:text/vnd.wap.wml;charset=utf-8");
ob_start("translate");
$s=str_replace("&","&",$s);
$s=str_replace("&","&",$s);
if (substr($s,0,2)!="<p") $s="<p>".$s;
echo "<?xml version=\"1.0\"?>\n<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">";
echo "
<wml>
<card title=\"$title_v\">";
echo "
$s
</p>
</card>
</wml>";
ob_end_flush();
clearstatcache();
if (filesize("online/".$login)==1) @unlink("online/".$login);
@ignore_user_abort(false);
die("");
}