'Creation of account', 'create' => 'is completed !', 'failed' => 'was not possible !', 'not_all' => 'Fields are filled not all', 'playerson' => 'players online', 'off' => 'is offline', 'name' => 'Account Name', 'password' => 'Password', 'ip_limit' => Array('From your IP ',' accounts are already created'), 'char' => Array('Name','Race','Class','LvL','Location'), ); break; case "ru": $button="create_ru.gif"; $text = Array( 'acc' => 'Создание аккаунта', 'create' => 'завершено !', 'failed' => 'невозможно !', 'not_all' => 'Заполнены не все поля', 'playerson' => 'игроков на сервере', 'off' => 'сейчас отключен', 'name' => 'Имя Аккаунта', 'password' => 'Пароль', 'ip_limit' => Array('С вашего IP ',' аккаунтов уже создано'), 'char' => Array('Персонаж','Раса','Класс','ЛвЛ','Расположение'), ); break; } $maps_a = Array( 0 => 'Azeroth', 1 => 'Kalimdor', 2 => 'UnderMine', 13 => 'Test zone', 17 => 'Kalidar', 30 => 'Alterac Valley', 33 => 'Shadowfang Keep Instance', 34 => 'The Stockade Instance', 35 => 'Stormwind Prizon', 36 => 'Deadmines Instance', 37 => 'Plains of Snow', 43 => 'Wailing Caverns Instance', 44 => 'Monastery Interior', 47 => 'Razorfen Kraul Instance', 48 => 'Blackfathom Deeps Instance', 70 => 'Uldaman Instance', 90 => 'Gnomeregan Instance', 109 => 'Sunken Temple Instance', 129 => 'Razorfen Downs Instance', 150 => 'Outland', 169 => 'Emerald Forest', 189 => 'Scarlet Monastery Instance', 209 => 'Zul\'Farrak Instance', 229 => 'Blackrock Spire Instance', 230 => 'Blackrock Depths Instance', 249 => 'Onyxia\'s Lair Instance', 269 => 'Caverns of Time', 289 => 'Scholomance Instance', 309 => 'Zul\'Gurub Instance', 329 => 'Stratholme Instance', 349 => 'Mauradon Instance', 369 => 'Deeprun Tram', 389 => 'Ragefire Chasm Instance', 409 => 'The Molten Core Instance', 429 => 'Dire Maul Instance', 449 => 'Alliance PVP Barracks', 450 => 'Horde PVP Barracks', 451 => 'Development Land', 469 => 'Blackwing Lair Instance', 489 => 'Warsong Gulch', 509 => 'Ruins of Ahn\'Qiraj Instance', 529 => 'Arathi Basin', 531 => 'Temple of Ahn\'Qiraj Instance', 533 => 'Naxxramas Instance', ); $zone = Array( 0 => Array( Array(700,10,1244,1873,'Undercity',1497), Array(-840,-1330,-5050,-4560,'Ironforge',1537), Array(1190,200,-9074,-8280,'Stormwind City',1519), Array(-2170,-4400,-7348,-6006,'Badlands',3), Array(-500,-4400,-4485,-2367,'Wetlands',11), Array(2220,-2250,-15422,-11299,'Stranglethorn Vale',33), Array(-1724,-3540,-9918,-8667,'Redridge Mountains',44), Array(-2480,-4400,-6006,-4485,'Loch Modan',38), Array(662,-1638,-11299,-9990,'Duskwood',10), Array(-1638,-2344,-11299,-9918,'Deadwind Pass',41), Array(834,-1724,-9990,-8526,'Elwynn Forest',12), Array(-500,-3100,-8667,-7348,'Burning Steppes',46), Array(-608,-2170,-7348,-6285,'Searing Gorge',51), Array(2000,-2480,-6612,-4485,'Dun Morogh',1), Array(-1575,-5425,-432,805,'The Hinterlands',47), Array(3016,662,-11299,-9400,'Westfall',40), Array(600,-1575,-1874,220,'Hillsbrad Foothills',267), Array(-2725,-6056,805,3800,'Eastern Plaguelands',139), Array(-850,-2725,805,3400,'Western Plaguelands',28), Array(2200,600,-900,1525,'Silverpine Forest',130), Array(2200,-850,1525,3400,'Tirisfal Glades',85), Array(-2250,-3520,-12800,-10666,'Blasted Lands',4), Array(-2344,-4516,-11070,-9600,'Swamp of Sorrows',8), Array(-1575,-3900,-2367,-432,'Arathi Highlands',45), Array(600,-1575,220,1525,'Alterac Mountains',36), ), 1 => Array( Array(2698,2030,9575,10267,'Darnassus',1657), Array(326,-360,-1490,-910,'Thunder Bluff',1638), Array(-3849,-4809,1387,2222,'Orgrimmar',1637), Array(-1300,-3250,7142,8500,'Moonglade',493), Array(2021,-400,-9000,-6016,'Silithus',1377), Array(-2259,-7000,4150,8500,'Winterspring',618), Array(-400,-2094,-8221,-6016,'Un\'Goro Crater',490), Array(-590,-2259,3580,7142,'Felwood',361), Array(-3787,-8000,1370,6000,'Azshara',16), Array(-1900,-5500,-10475,-6825,'Tanaris',440), Array(-2478,-5500,-5135,-2330,'Dustwallow Marsh',15), Array(360,-1536,-3474,-412,'Mulgore',215), Array(4000,-804,-6828,-2477,'Feralas',357), Array(3500,360,-2477,372,'Desolace',405), Array(-804,-5500,-6828,-4566,'Thousand Needles',400), Array(-3758,-5500,-1300,1370,'Durotar',14), Array(1000,-3787,1370,4150,'Ashenvale',331), Array(2500,-1300,4150,8500,'Darkshore',148), Array(3814,-1100,8600,11831,'Teldrassil',141), Array(3500,-804,-412,3580,'Stonetalon Mountains',406), Array(-804,-4200,-4566,1370,'The Barrens',17), ), ); $def = Array( 'character_race' => Array( 1 => 'Human', 2 => 'Orc', 3 => 'Dwarf', 4 => 'Night Elf', 5 => 'Undead', 6 => 'Tauren', 7 => 'Gnome', 8 => 'Troll', 9 => 'Goblin', ), 'character_class' => Array( 1 => 'Warrior', 2 => 'Paladin', 3 => 'Hunter', 4 => 'Rogue', 5 => 'Priest', 7 => 'Shaman', 8 => 'Mage', 9 => 'Warlock', 11 => 'Druid', ), ); class DBLayer { var $link_id; var $query_result; var $saved_queries = array(); var $num_queries = 0; function DBLayer($db_host, $db_username, $db_password, $db_name) { $this->link_id = @mysql_connect($db_host, $db_username, $db_password, true); if ($this->link_id) { if (@mysql_select_db($db_name, $this->link_id)) return $this->link_id; else error('Unable to select database. MySQL reported: '.mysql_error(), __FILE__, __LINE__); } else error('Unable to connect to MySQL server. MySQL reported: '.mysql_error(), __FILE__, __LINE__); } function query($sql) { $this->query_result = @mysql_query($sql, $this->link_id); if ($this->query_result) { ++$this->num_queries; return $this->query_result; } else { return false; } } function result($query_id = 0, $row = 0) { return ($query_id) ? @mysql_result($query_id, $row) : false; } function fetch_assoc($query_id = 0) { return ($query_id) ? @mysql_fetch_assoc($query_id) : false; } function fetch_row($query_id = 0) { return ($query_id) ? @mysql_fetch_row($query_id) : false; } function num_rows($query_id = 0) { return ($query_id) ? @mysql_num_rows($query_id) : false; } function affected_rows() { return ($this->link_id) ? @mysql_affected_rows($this->link_id) : false; } function insert_id() { return ($this->link_id) ? @mysql_insert_id($this->link_id) : false; } function get_num_queries() { return $this->num_queries; } function get_saved_queries() { return $this->saved_queries; } function free_result($query_id = false) { return ($query_id) ? @mysql_free_result($query_id) : false; } function escape($str) { if (function_exists('mysql_real_escape_string')) return mysql_real_escape_string($str, $this->link_id); else return mysql_escape_string($str); } function error() { $result['error_sql'] = @current(@end($this->saved_queries)); $result['error_no'] = @mysql_errno($this->link_id); $result['error_msg'] = @mysql_error($this->link_id); return $result; } function close() { if ($this->link_id) { if ($this->query_result) @mysql_free_result($this->query_result); return @mysql_close($this->link_id); } else return false; } } function error($message, $file, $line, $db_error = false) { global $siteerrors; $s = "\t\t".'Error: '.$message.'.'."\n"; echo $s; } function get_zone_name($mapid, $x, $y){ global $maps_a, $zone; if (!empty($maps_a[$mapid])) { $zmap=$maps_a[$mapid]; if (($mapid==0) or ($mapid==1)) { $i=0; $c=count($zone[$mapid]); while ($i<$c) { if ($zone[$mapid][$i][2] < $x AND $zone[$mapid][$i][3] > $x AND $zone[$mapid][$i][1] < $y AND $zone[$mapid][$i][0] > $y) $zmap=$zone[$mapid][$i][4]; $i++; } } } else $zmap="Unknown zone"; return $zmap; } function test_realm(){ global $server, $port; $s = @fsockopen("$server", $port, $ERROR_NO, $ERROR_STR,(float)0.5); if($s){@fclose($s);return true;} else return false; } function get_realm_name(){ global $hostr, $userr, $passwordr, $dbr, $database_encoding; $realm_db = new DBLayer($hostr, $userr, $passwordr, $dbr); $realm_db->query("SET NAMES $database_encoding"); $query = $realm_db->query("SELECT * FROM `realmlist`"); $result = $realm_db->fetch_assoc($query); $realm_db->close(); unset($realm_db); return($result['name']); } if (empty($_POST['username']) and empty($_POST['passw']) and empty($_POST['email'])) { $cont='  
 
 
'; } elseif (empty($_POST['username']) or empty($_POST['passw']) or empty($_POST['email'])) { $cont=' '.$text["not_all"].'

Back
'; } else { $username = htmlspecialchars(trim("$_POST[username]")); $passw = trim($_POST['passw']); $email = htmlspecialchars(trim($_POST['email'])); $ip = getenv('REMOTE_ADDR'); // сделать проверку на неполучение ипа $realm_db = new DBLayer($hostr, $userr, $passwordr, $dbr); $realm_db->query("SET NAMES $database_encoding"); $ip_cr=0; if ($lock_reg!=0){ $query = $realm_db->query("SELECT `last_ip` FROM `account` WHERE `last_ip`='$ip'"); while($result = $realm_db->fetch_assoc($query)) $ip_cr++; } if (($ip_cr>=$lock_reg) && ($lock_reg!=0)) { $cont=' '.$text["ip_limit"][0].$ip.'
'.$ip_cr.$text["ip_limit"][1].'

Back
'; } else { if($realm_db->query("INSERT INTO `account` (`username`,`password`,`email`,`last_ip`,`locked`) VALUES ('$username','$passw','$email','$ip','$lock_acc')")) { $cont=' '.$text["acc"].'
'.$username.'
'.$text["create"].'
'; } else { $cont=' '.$text["acc"].'
'.$username.'
'.$text["failed"].'

Back
'; } } $realm_db->close(); unset($realm_db); } function make_players_array(){ global $host, $user, $password, $db, $database_encoding, $pl_array; $i=0; $mangos_db = new DBLayer($host, $user, $password, $db); $mangos_db->query("SET NAMES $database_encoding"); $query = $mangos_db->query("SELECT * FROM `character` WHERE `online`='1' ORDER BY `name`"); while($result = $mangos_db->fetch_assoc($query)) { $char_data = explode(' ',$result['data']); $char_gender = dechex($char_data[36]); $char_gender = str_pad($char_gender,8, 0, STR_PAD_LEFT); $char_gender = $char_gender{3}; $res_pos=get_zone_name($result['map'], $result['position_x'], $result['position_y']); $pl_array[$i] = Array($result['name'], $result['race'], $result['class'], $char_data[34], $res_pos, $char_gender); $i++; } $mangos_db->close(); unset($mangos_db); return $i; } $onlineplayers=make_players_array(); if (!$sort = &$_GET['s']) $sort=0; if (!$flag = &$_GET['f']) $flag=0; if ($flag==0) { $flag=1; $sort_type='<'; } else { $flag=0; $sort_type='>'; } $link=$_SERVER['PHP_SELF']."?f=".$flag."&s="; if (!empty($pl_array)) { usort($pl_array, create_function('$a, $b', 'if ( $a['.$sort.'] == $b['.$sort.'] ) return 0; if ( $a['.$sort.'] '.$sort_type.' $b['.$sort.'] ) return -1; return 1;')); } $list=""; $i=0; while ($i < $onlineplayers) { $name=$pl_array[$i][0]; $race=$pl_array[$i][1]; $class=$pl_array[$i][2]; $res_race = $def['character_race'][$race]; $res_class = $def['character_class'][$class]; $lvl=$pl_array[$i][3]; $loc=$pl_array[$i][4]; $gender=$pl_array[$i][5]; $list.= " $name $res_race $res_class $lvl $loc "; $i++; } $title=get_realm_name(); if (test_realm()) { $title.=(' ('.$onlineplayers.' '.$text["playerson"].')'); $title.=" View"; } else { $title.=(' '.$text["off"]); } // Main part !!! ?> <?php print $title ?>


'.$text['char'][0] ?> '.$text['char'][1] ?> '.$text['char'][2] ?> '.$text['char'][3] ?> '.$text['char'][4] ?>
Хостинг от uCoz