Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
Sign in to follow this  
Frenzy.tr

Password Encoding

Recommended Posts

Čao .. od revize +- 3939 se použiva Password Encoding :( .. spojuje to jmeno a heslo v DB do SHA-1 hashe .. to by mi ani tak nevadilo .. ale jak to udělat aby se šlo registrovat přes web ? Dělat to totiž přes konzoli každemu kdo požada se mi fakt nechce !! .. pls help .. !!!!!!!

Share this post


Link to post
Share on other sites

Jop videl sem na to kod na mangosproject..

 

Funkce pro zakodovani je

 

function sha_password($user,$pass){
    $user = strtoupper($user);
    $pass = strtoupper($pass);
    
    $SHA1P = ($user.':'.$pass);
    return hash('sha1', $SHA1P);
}

 

 

takze staci upravit normalni nakej template.. a pred vkladanim do DB zavolat tudle funkci

 

Jinak kompletni script je k dispozici na http://www.mangosproject.org/forum/index.php?showtopic=13466

Share this post


Link to post
Share on other sites

php nejak moc nerozumim tak sem dam svuj kod. mohl bys prosim ten kod upravit, aby fungoval? dekuji

 

EDIT: opravil sem ty chybne znaky.

 

<?php
/* 
    SPORA  v1.2
    Simple Page Of Registration of Accounts for MangOs

    It is made in the form of one page with fields of input of the 
    information of an account and the list of players being on a server.

    14.09.2006        http://pomm.da.ru/
    
    Created by mirage666 (c) (mailto:[email protected] icq# 152263154)
        ####################################################################
        SPORA The Burning Crusade Edition Build V1.4 on SPORA 


        
        22.05.2007              http://powerlogy.blogspot.com/
                     
                                Contact @ : [email protected]
        !Turkiye!
*/
require_once( 'configuration.php' );
Switch ($lang)
{
case "en": 
    $button="create_en.gif";
    $text = Array(
    'acc' => 'Vytvoreni uctu',
    'create' => 'je hotovo !',
    'failed' => 'nebylo mozne !',
    'not_all' => 'Prosim vyplnte vsechny policka',
    'playerson' => 'players online',
    'off' => 'je offline',
    'name' => 'Jmeno uctu',
        'tbc' => 'Typ uctu',
    'password' => 'Heslo',
    'ip_limit' => Array('Z tve IP adresy jsou jiz',' ucty vytvoreny'),
    'char' => Array('Jmeno','Rasa','Povolani','LvL','Lokace'),
        'backtext' => 'Zpet',
    );
    break; 
case "ru": 
    $button="create_ru.gif";
    $text = Array(
    'acc' =>     'Ńîçäŕíčĺ ŕęęŕóíňŕ',
    'create' => 'çŕâĺđřĺíî !',
    'failed' => 'íĺâîçěîćíî !',
    'not_all' => 'Çŕďîëíĺíű íĺ âńĺ ďîë˙',
    'playerson' => 'čăđîęîâ íŕ ńĺđâĺđĺ',
    'off' => 'ńĺé÷ŕń îňęëţ÷ĺí',
    'name' => 'Čě˙ Ŕęęŕóíňŕ',
        'tbc' => '?????????????? ?????',
    'password' => 'Ďŕđîëü',
    'ip_limit' => Array('Ń âŕřĺăî IP ',' ŕęęŕóíňîâ óćĺ ńîçäŕíî'),
    'char' => Array('Ďĺđńîíŕć','Đŕńŕ','Ęëŕńń','ËâË','Đŕńďîëîćĺíčĺ'),
        'backtext' => 'Back',
    );
    break; 
case "tr": 
    $button="create_tr.gif";
    $text = Array(
    'acc' =>     'Hesap Alýmý',
    'create' => 'tamamlandý !',
    'failed' => 'münkün deđil !',
    'not_all' => 'Gerekli alanlar boţ býrakýlmýţ',
    'playerson' => 'oyuncu çevrimiçi',
    'off' => 'çevrimdýţý',
    'name' => 'Hesap Özelliđi',
        'tbc' => 'Hesap Ţekli',
    'password' => 'Ţifre',
    'ip_limit' => Array('Bu IP adresi ile ',' hesap zaten açýlmýţ'),
    'char' => Array('Ýsim','Irk','Sýnýf','Seviye','Yer'),
        'backtext' => 'Geri',
    );
    break; 
case "hu":
    $button="create_en.gif";
    $text = Array(
    'acc' => 'Account létrehozása',
    'create' => 'Kész!',
    'failed' => 'Sikertelen!',
    'not_all' => 'Nincs kitöltve minden mező˙',
    'playerson' => 'Játékos Online',
    'off' => 'jelenleg nem fut',
    'name' => 'Account név',
    'tbc' => 'Account típusa',
    'password' => 'Jelszó',
    'ip_limit' => Array('Erről az IP-ről ',' már regisztráltak'),
    'char' => Array('Név','Faj','Kaszt','Szint','Pozició'),
    'backtext' => 'Vissza',
    );
}

$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', 
    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',
    530 => 'Outland | Blood Elf/Draenei Area',
    532 => 'Karazhan',
    560 => 'Old Hillsbrad',
    540 => 'The Shattered Halls',
    542 => 'The Blood Furnace',
    543 => 'Hellfire Ramparts',
    544 => 'Magtheridon\'s Lair',
    545 => 'The Steamvault',
    546 => 'The Underbog',
    547 => 'The Slave Pens',
    548 => 'Serpentshrine Cavern',
    550 => 'The Eye',
    552 => 'The Arcatraz',
    553 => 'The Botanica',
    554 => 'The Mechanar',
    555 => 'Shadow Labyrinth',
    556 => 'Sethekk Halls',
    557 => 'Mana-Tombs',
    558 => 'Auchenai Crypts',
    559 => 'Nagrand Arena',
    562 => 'Blade\'s Edge Arena',
    564 => 'Black Temple',
    565 => 'Gruul\'s Lair',
    566 => 'Eye of the Storm',
    568 => 'Zul\'Aman',
    37 => 'Azshara Crater',
    534 => 'Old Hyjal',    
);

$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),
    ),
    530 => Array(
        Array(12996,-4468,-5821,5821,'Outland',466),
        Array(10295,4770,-3641,41,'Nagrand',477),
        Array(9475,4447,-1416,1935,'Zangarmarsh',467),
        Array(5539,375,-1962,1481,'Hellfire Peninsula',465),
        Array(4225,-1275,-5614,-1947,'Shadowmoon Valley',473),
        Array(8845,3420,791,4408,'Blade\'s Edge Mountains',475),
        Array(7083,1683,-4600,-1000,'Terokkar Forest',478),
        Array(5483,-91,1739,5456,'Netherstorm',479),
        Array(-4487,-9412,7758,11041,'Eversong Woods',462),
        Array(-5.283,-8583,6066,8266,'Ghostlands',463),
        Array(-10500,-14570,-5508,-2793,'Azuremyst Isle',464),
        Array(-10075,-13337,-2933,-758,'Bloodmyst Isle',476),
        Array(-11066,-12123,-4314,-3609,'The Exodar',471),
        Array(-6400,-7612,9346,10153,'Silvermoon City',480),
        Array(6135,4829,-2344,-1473,'Shattrath City',481),
    ),
    566 => Array(
        Array(2660,389,1404,2918,'Eye of the Storm',482),
    ),
);

$def = Array(
    'character_race' => Array(
        1 => 'Human',
        2 => 'Orc',
        3 => 'Dwarf',
        4 => 'Night Elf',
        5 => 'Undead',
        6 => 'Tauren',
        7 => 'Gnome',
        8 => 'Troll',
        9 => 'Goblin',
                10 => 'Dranei',
                11 => 'Blood Elf',
    ),

    'character_class' => Array(
        1 => 'Warrior',
        2 => 'Paladin',
        3 => 'Hunter',
        4 => 'Rogue',
        5 => 'Priest',
        7 => 'Shaman',
        8 => 'Mage',
        9 => 'Warlock',
        11 => 'Druid',
    ),
        
        'character_rank' => Array(
        'alliance' => Array(
            1 => 'Private',
            2 => 'Corporal',
            3 => 'Sergeant',
            4 => 'Master Sergeant',
            5 => 'Sergeant Major',
            6 => 'Knight',
            7 => 'Knight-Lieutenant',
            8 => 'Knight-Captain',
            9 => 'Knight-Champion',
            10 => 'Lieutenant Commander',
            11 => 'Commander',
            12 => 'Marshal',
            13 => 'Field Marshal',
            14 => 'Grand Marshal'
        ),
        'horde' => Array(
            1 => 'Scout',
            2 => 'Grunt',
            3 => 'Sergeant',
            4 => 'Senior Sergeant',
            5 => 'First Sergeant',
            6 => 'Stone Guard',
            7 => 'Blood Guard',
            8 => 'Legionnare',
            9 => 'Centurion',
            10 => 'Champion',
            11 => 'Lieutenant General',
            12 => 'General',
            13 => 'Warlord',
            14 => 'High Warlord'
        )
    ),
);
    
         

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;
    }
}
class honor_system
{
    var $realm_db;
    var $mangos_db;
    
    function get_all_honor()
    {
        $q = $this->mangos_db->query("SELECT * FROM `character_kill` ORDER BY `guid`");
        while($res_row = $this->mangos_db->fetch_assoc($q))
        {
            if($res_row['type']==1){
                $honor_arr[$res_row['guid']] += $res_row['honor'];
            }elseif($res_row['type']==2){
                $honor_arr[$res_row['guid']] -= $res_row['honor'];
            }
        }
        return $honor_arr;
    }
    
    function get_character_honor($char_id)
    {
        $q = $this->mangos_db->query("SELECT * FROM `character_kill` WHERE `guid`='$char_id'");
        while($res_row = $this->mangos_db->fetch_assoc($q))
        {
            if($res_row['type']==1){
                $honor += $res_row['honor'];
            }elseif($res_row['type']==2){
                $honor -= $res_row['honor'];
            }
        }
        return $honor;
    }
    
    function calc_character_rank($honor_points)
    {
        $rank = 0;
        if($honor_points <= 0){
            $rank = 0; 
        }
        else{
            if($honor_points < 2000 and $honor_points > 500) $rank = 2;
            else if($honor_points <= 500 and $honor_points > 0) $rank = 1;
            else if ($honor_points >= 2000) $rank = round(($honor_points / 5000) + 1,0);
        }
        return $rank;
    }
}

function error($message, $file, $line, $db_error = false)
{
    global $siteerrors;
    $s = "\t\t".'Error: <strong>'.$message.'.</strong>'."\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) or ($mapid==530) or ($mapid==566))
        {
        $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='         <TR>
                <TD rowSpan=6><IMG height=110 
                  src="'.$img_base.'pixel.gif" width=15></TD>
                <TD vAlign=center align=left width=190><B 
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL 
                  for=username>'.$text["name"].':</LABEL> </B><BR><INPUT 
                  id=username style="WIDTH: 175px" tabIndex=1 maxLength=16 
                  size=18 name=username></TD>
                <TD rowSpan=6><IMG height=1 src="'.$img_base.'pixel.gif" width=15></TD></TR>
              <TR><TD width=190 height=1></TD></TR>
              <TR><TD width=190 height=1></TD></TR>
              <TR>
                <TD vAlign=center align=left width=190><B 
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL 
                  for=passw>'.$text["password"].':</LABEL> </B><BR><INPUT id=passw 
                  style="WIDTH: 175px" tabIndex=2 type=password maxLength=12 
                  size=18 name=passw></TD></TR>
                <TD vAlign=center align=left width=190><B
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL
                  for=tbc>'.$text["tbc"].':</LABEL> </B><BR><select size="1" name="tbc">
    <option selected value="1">TBC</option>
    <option value="0">WoW</option></select>
                                     </TD></TR>
              <TR>
                <TD vAlign=center align=left width=190><B 
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL 
                  for=email>E-mail:</LABEL> </B><BR><INPUT id=email 
                  style="WIDTH: 175px" tabIndex=2 maxLength=50 
                  size=18 name=email></TD></TR>
              <TR>
                <TD align=left>
                  <TABLE cellSpacing=0 cellPadding=0 border=0>
                    <TBODY>
                    <TR>
                      <TD><IMG height=3 
                        src="'.$img_base.'pixel.gif" width=1></TD>
                      <TD></TD>
                      <TD></TD></TR></TBODY></TABLE></TD></TR>
              <TR>
                <TD align=left colSpan=3>
                  <TABLE cellSpacing=0 cellPadding=0 border=0>
                    <TBODY>
                    <TR>
                      <TD><IMG height=39 
                        src="'.$img_base.'pixel.gif" width=19></TD>
                      <TD><INPUT class=button 
                        style="WIDTH: 168px; HEIGHT: 39px" tabIndex=3 type=image 
                        alt=Create src="'.$img_base.$button.'" 
                        value=Create border=0></TD>
                    </TR></TBODY></TABLE></TD></TR>';
    } 
    elseif  (empty($_POST['username']) or empty($_POST['passw']) or empty($_POST['email'])) 
    {

    $cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
'.$text["not_all"].'
<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';

    }
    else
    {
    $username = htmlspecialchars(trim("$_POST[username]"));
    $passw = trim($_POST['passw']);
    $email = htmlspecialchars(trim($_POST['email']));
        $tbc = trim($_POST['tbc']);
    $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='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
'.$text["ip_limit"][0].$ip.'<br>'.$ip_cr.$text["ip_limit"][1].'
<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
    } else
    {
    if($realm_db->query("INSERT INTO `account` (`username`,`password`,`email`,`last_ip`,`locked`,`tbc`) VALUES ('$username','$passw','$email','$ip','$lock_acc','$tbc')"))
        {
        $cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL>
'.$text["acc"].'<br><strong>'.$username.'</strong><br>'.$text["create"].'<br>
</SMALL></TD></TD></TR>';
        }
        else
        {
        $cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
'.$text["acc"].'<br><strong>'.$username.'</strong><br>'.$text["failed"].'
<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
        }
}


    
    $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.= "
                <tr class=txt>
                    <td></td>
                    <td>$name</td>
                    <td align='center'><img alt=$res_race src='".$img_base.$race."-$gender.gif' height='18' width='18'></td>
                    <td align='center'><img alt=$res_class src='".$img_base."$class.gif' height='18' width='18'></td>
                    <td align='center'>$lvl</td>
                    <td >$loc</td>
                </tr>";
    $i++;
    }

$title=get_realm_name();
$copyright=get_realm_name();
$status=get_realm_name();
if (test_realm())
    {
    $title.=(' ('.$onlineplayers.' '.$text["playerson"].')');
    $status = "<img alt=Online src='".$img_base."online.gif' height='18' width='18'>";
    } else
    {
    $title.=(' '.$text["off"] );
    $status = "<img alt=Offline src='".$img_base."offline.gif' height='18' width='18'>";
    }
//Please Dont Edit Copyright Line , Respect To Our Work!
$foorat="<center><font face=\"Arial\" size=\"2\"><b>This RoSPORA Licenced to $copyright</b></font><br><font face=\"Arial\" size=\"1\">RoSPORAis a free software released under the GNU/GPL<br>SPORA engine code is © copyright by <a href=\"mailto:[email protected]\">mirage666</a><br>RoSPORA re-desined engine code is © copyright by <a href=\"mailto:[email protected]\">PoWeRLoGY</a></font>";



// Main part !!!
?>
<HTML><HEAD><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><TITLE><?php print $title ?></TITLE>
<META http-equiv=Content-Type content="text/html; charset=<?php print $charset ?>"><LINK 
id=bnetstyle href="<?php print $img_base ?>style.css" type=text/css 
rel=stylesheet>
<link rel="Shortcut Icon" href="img/wowlogoanim.gif" type="image/gif">
<script type="text/javascript">
var weekdaystxt=["Nedele", "Pondeli", "Utery", "Streda", "Ctvrtek", "Patek", "Sobota"]

function showLocalTime(container, servermode, offsetMinutes, displayversion){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.displayversion=displayversion
var servertimestring=(servermode=="server-php")? '<? print date("F d, Y H:i:s", time())?>' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>'
this.localtime=this.serverdate=new Date(servertimestring)
this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time
this.updateTime()
this.updateContainer()
}

showLocalTime.prototype.updateTime=function(){
var thisobj=this
this.localtime.setSeconds(this.localtime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

showLocalTime.prototype.updateContainer=function(){
var thisobj=this
if (this.displayversion=="long")
this.container.innerHTML=this.localtime.toLocaleString()
else{
var hour=this.localtime.getHours()
var minutes=this.localtime.getMinutes()
var seconds=this.localtime.getSeconds()
var ampm=(hour>=12)? "PM" : "AM"
var dayofweek=weekdaystxt[this.localtime.getDay()]
this.container.innerHTML=formatField(hour, 1)+":"+formatField(minutes)+":"+formatField(seconds)+" "+ampm+" ("+dayofweek+")"
}
setTimeout(function(){thisobj.updateContainer()}, 1000) //update container every second
}

function formatField(num, isHour){
if (typeof isHour!="undefined"){ //if this is the hour field
var hour=(num>12)? num-12 : num
return (hour==0)? 12 : hour
}
return (num<=9)? "0"+num : num//if this is minute or sec field
}

</script>
<script language=javascript>
  <!--
    var styleSheet;
    var agt     = navigator.userAgent.toLowerCase();
    var appVer  = navigator.appVersion.toLowerCase();
    var verInt  = parseInt(appVer);
    var ie      = (appVer.indexOf('msie') != -1);
    var opera   = (agt.indexOf('opera') != -1);
    var mozilla = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('opera')==-1)
      && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1)
      && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
    var ns4     = (mozilla && (verInt == 4));

    if (ie && !opera) {
      document.styleSheets["bnetstyle"].addRule ("input", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("input", "border-style: solid");
      document.styleSheets["bnetstyle"].addRule ("input", "border-width: 1px");
      document.styleSheets["bnetstyle"].addRule ("input", "border-color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("input", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("textarea", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("textarea", "border-style: solid");
      document.styleSheets["bnetstyle"].addRule ("textarea", "border-width: 1px");
      document.styleSheets["bnetstyle"].addRule ("textarea", "border-color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("textarea", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Base-Color: #012158");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Arrow-Color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-3dLight-Color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-DarkShadow-Color: black");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Highlight-Color: black");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Shadow-Color: #00B3FF");

      document.styleSheets["bnetstyle"].addRule ("select", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("select", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("select.gray", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("select.gray", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("ul.thread", "margin-left: 22px;");
    }
  //-->
  </SCRIPT>
</HEAD>
<BODY text=#cccc99 vLink=#aaaaaa link=#ffffbb bgColor=#000000 leftMargin=0 
topMargin=0 marginheight="0" marginwidth="0">
<FORM name=login_form method=post>

<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=middle>
</center>
      <TABLE cellSpacing=0 cellPadding=0 background="<?php print $img_base ?>back_create.jpg" border=0 style="background-repeat: no-repeat;">
        <TBODY>
        <TR>
          <TD vAlign=top>
            <DIV style="POSITION: relative">
            <DIV 
            style="LEFT: 130px; WIDTH: 400px; POSITION: absolute; TOP: 0px"></DIV></DIV></TD>
          <TD><left><object width="210" height="172">
<param name="movie" value="img/backlogo.swf"/>
<param name="WMode" value="Transparent"/>
<embed src="img/backlogo.swf" width="210" height="172" wmode="transparent"/>
</embed>
</object>
</left><IMG height=169 src="<?php print $img_base ?>pixel.gif" 
          width=1></TD>
          <TD></TD></TR>
        <TR>
          <TD><IMG height=1 src="<?php print $img_base ?>pixel.gif" 
          width=203></TD>
          <TD>
          <TABLE cellSpacing=0 cellPadding=0 width=220 border=0>
          <TBODY>
<?php  
    if($accountoption==1)
    {
      echo"$cont"; 
    }
    else
    {
    echo "<br><br><br><br><center><strong><font face=\"Arial\" color=\"#FF0000\" size=\"2\">$accountmessage</font></center></strong><br><br><br><br><br>";
    }
?></TBODY></TABLE></TD>
          <TD><IMG height=1 src="<?php print $img_base ?>pixel.gif" 
          width=217></TD></TR>
        <TR>
          <TD colSpan=3>
            <TABLE cellSpacing=0 cellPadding=0 border=0>
              <TBODY>
              <TR>
                <TD colSpan=3><IMG height=17 
                  src="<?php print $img_base ?>pixel.gif" width=1></TD></TR>
              <TR>
                <TD width=106><IMG height=1 
                  src="<?php print $img_base ?>pixel.gif" width=106></TD>
                <TD width=410><SMALL>
            <br><strong class=title><center><?php print "$status";echo " "; print "$title";   ?></center></strong><br>
                 <center><?php print $timetext?> : <span id="timecontainer"></span>

             <script type="text/javascript">
          new showLocalTime("timecontainer", "server-php", 0, "short")
             </script></center><br>

              <table cellpadding='3' cellspacing='0' align='center'>
        <tbody>
<tr class=title>
            <td align='left' nowrap='nowrap' width=50></td>
            <td align='left' nowrap='nowrap' width=60><a href="<?php print $link.'0">'.$text['char'][0] ?></a></td>
            <td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'1">'.$text['char'][1] ?></a></td>
            <td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'2">'.$text['char'][2] ?></a></td>
            <td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'3">'.$text['char'][3] ?></a></td>
            <td align='left' nowrap='nowrap' width=100><a href="<?php print $link.'4">'.$text['char'][4] ?></a></td>
                </tr><?php  
    if($onlineoption==1)
    {
      echo"$list"; 
    }
    else
    {
    echo "<center><strong><font face=\"Arial\" color=\"#FF0000\" size=\"2\"><br>$onlinemessage</font></strong></center>";
    }
?>
<tr>
<td class='txt' align='center' colspan='6' nowrap='nowrap'><IMG height=1 src='<?php print $img_base ?>pixel.gif' width=400></td></tr>                    
                </tbody>
</table>

                  </SMALL></TD>
                <TD width=124><IMG height=1 
                  src="<?php print $img_base ?>pixel.gif" width=124></TD></TR>
              <TR>
                <TD colSpan=3><IMG height=100 
                  src="<?php print $img_base ?>pixel.gif" 
            width=1></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM></BODY>
</HTML>

Edited by Doktor.cz

Share this post


Link to post
Share on other sites

<?php
/* 
    SPORA  v1.2
    Simple Page Of Registration of Accounts for MangOs

    It is made in the form of one page with fields of input of the 
    information of an account and the list of players being on a server.

    14.09.2006        http://pomm.da.ru/
    
    Created by mirage666 (c) (mailto:[email protected] icq# 152263154)
        ####################################################################
        SPORA The Burning Crusade Edition Build V1.4 on SPORA 
        
        22.05.2007              http://powerlogy.blogspot.com/
                     
                                Contact @ : [email protected]
        !Turkiye!
*/
require_once( 'configuration.php' );
Switch ($lang)
{
case "en": 
    $button="create_en.gif";
    $text = Array(
    'acc' => 'Vytvoreni uctu',
    'create' => 'je hotovo !',
    'failed' => 'nebylo mozne !',
    'not_all' => 'Prosim vyplnte vsechny policka',
    'playerson' => 'players online',
    'off' => 'je offline',
    'name' => 'Jmeno uctu',
        'tbc' => 'Typ uctu',
    'password' => 'Heslo',
    'ip_limit' => Array('Z tve IP adresy jsou jiz',' ucty vytvoreny'),
    'char' => Array('Jmeno','Rasa','Povolani','LvL','Lokace'),
        'backtext' => 'Zpet',
    );
    break; 
case "ru": 
    $button="create_ru.gif";
    $text = Array(
    'acc' =>     'Ńîçäŕíčĺ ŕęęŕóíňŕ',
    'create' => 'çŕâĺđřĺíî !',
    'failed' => 'íĺâîçěîćíî !',
    'not_all' => 'Çŕďîëíĺíű íĺ âńĺ ďîë˙',
    'playerson' => 'čăđîęîâ íŕ ńĺđâĺđĺ',
    'off' => 'ńĺé÷ŕń îňęëţ÷ĺí',
    'name' => 'Čě˙ Ŕęęŕóíňŕ',
        'tbc' => '?????????????? ?????',
    'password' => 'Ďŕđîëü',
    'ip_limit' => Array('Ń âŕřĺăî IP ',' ŕęęŕóíňîâ óćĺ ńîçäŕíî'),
    'char' => Array('Ďĺđńîíŕć','Đŕńŕ','Ęëŕńń','ËâË','Đŕńďîëîćĺíčĺ'),
        'backtext' => 'Back',
    );
    break; 
case "tr": 
    $button="create_tr.gif";
    $text = Array(
    'acc' =>     'Hesap Alýmý',
    'create' => 'tamamlandý !',
    'failed' => 'münkün deđil !',
    'not_all' => 'Gerekli alanlar boţ býrakýlmýţ',
    'playerson' => 'oyuncu çevrimiçi',
    'off' => 'çevrimdýţý',
    'name' => 'Hesap Özelliđi',
        'tbc' => 'Hesap Ţekli',
    'password' => 'Ţifre',
    'ip_limit' => Array('Bu IP adresi ile ',' hesap zaten açýlmýţ'),
    'char' => Array('Ýsim','Irk','Sýnýf','Seviye','Yer'),
        'backtext' => 'Geri',
    );
    break; 
case "hu":
    $button="create_en.gif";
    $text = Array(
    'acc' => 'Account létrehozása',
    'create' => 'Kész!',
    'failed' => 'Sikertelen!',
    'not_all' => 'Nincs kitöltve minden mező˙',
    'playerson' => 'Játékos Online',
    'off' => 'jelenleg nem fut',
    'name' => 'Account név',
    'tbc' => 'Account típusa',
    'password' => 'Jelszó',
    'ip_limit' => Array('Erről az IP-ről ',' már regisztráltak'),
    'char' => Array('Név','Faj','Kaszt','Szint','Pozició'),
    'backtext' => 'Vissza',
    );
}

$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', 
    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',
    530 => 'Outland | Blood Elf/Draenei Area',
    532 => 'Karazhan',
    560 => 'Old Hillsbrad',
    540 => 'The Shattered Halls',
    542 => 'The Blood Furnace',
    543 => 'Hellfire Ramparts',
    544 => 'Magtheridon\'s Lair',
    545 => 'The Steamvault',
    546 => 'The Underbog',
    547 => 'The Slave Pens',
    548 => 'Serpentshrine Cavern',
    550 => 'The Eye',
    552 => 'The Arcatraz',
    553 => 'The Botanica',
    554 => 'The Mechanar',
    555 => 'Shadow Labyrinth',
    556 => 'Sethekk Halls',
    557 => 'Mana-Tombs',
    558 => 'Auchenai Crypts',
    559 => 'Nagrand Arena',
    562 => 'Blade\'s Edge Arena',
    564 => 'Black Temple',
    565 => 'Gruul\'s Lair',
    566 => 'Eye of the Storm',
    568 => 'Zul\'Aman',
    37 => 'Azshara Crater',
    534 => 'Old Hyjal',    
);

$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),
    ),
    530 => Array(
        Array(12996,-4468,-5821,5821,'Outland',466),
        Array(10295,4770,-3641,41,'Nagrand',477),
        Array(9475,4447,-1416,1935,'Zangarmarsh',467),
        Array(5539,375,-1962,1481,'Hellfire Peninsula',465),
        Array(4225,-1275,-5614,-1947,'Shadowmoon Valley',473),
        Array(8845,3420,791,4408,'Blade\'s Edge Mountains',475),
        Array(7083,1683,-4600,-1000,'Terokkar Forest',478),
        Array(5483,-91,1739,5456,'Netherstorm',479),
        Array(-4487,-9412,7758,11041,'Eversong Woods',462),
        Array(-5.283,-8583,6066,8266,'Ghostlands',463),
        Array(-10500,-14570,-5508,-2793,'Azuremyst Isle',464),
        Array(-10075,-13337,-2933,-758,'Bloodmyst Isle',476),
        Array(-11066,-12123,-4314,-3609,'The Exodar',471),
        Array(-6400,-7612,9346,10153,'Silvermoon City',480),
        Array(6135,4829,-2344,-1473,'Shattrath City',481),
    ),
    566 => Array(
        Array(2660,389,1404,2918,'Eye of the Storm',482),
    ),
);

$def = Array(
    'character_race' => Array(
        1 => 'Human',
        2 => 'Orc',
        3 => 'Dwarf',
        4 => 'Night Elf',
        5 => 'Undead',
        6 => 'Tauren',
        7 => 'Gnome',
        8 => 'Troll',
        9 => 'Goblin',
                10 => 'Dranei',
                11 => 'Blood Elf',
    ),

    'character_class' => Array(
        1 => 'Warrior',
        2 => 'Paladin',
        3 => 'Hunter',
        4 => 'Rogue',
        5 => 'Priest',
        7 => 'Shaman',
        8 => 'Mage',
        9 => 'Warlock',
        11 => 'Druid',
    ),
        
        'character_rank' => Array(
        'alliance' => Array(
            1 => 'Private',
            2 => 'Corporal',
            3 => 'Sergeant',
            4 => 'Master Sergeant',
            5 => 'Sergeant Major',
            6 => 'Knight',
            7 => 'Knight-Lieutenant',
            8 => 'Knight-Captain',
            9 => 'Knight-Champion',
            10 => 'Lieutenant Commander',
            11 => 'Commander',
            12 => 'Marshal',
            13 => 'Field Marshal',
            14 => 'Grand Marshal'
        ),
        'horde' => Array(
            1 => 'Scout',
            2 => 'Grunt',
            3 => 'Sergeant',
            4 => 'Senior Sergeant',
            5 => 'First Sergeant',
            6 => 'Stone Guard',
            7 => 'Blood Guard',
            8 => 'Legionnare',
            9 => 'Centurion',
            10 => 'Champion',
            11 => 'Lieutenant General',
            12 => 'General',
            13 => 'Warlord',
            14 => 'High Warlord'
        )
    ),
);
    
         

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;
    }
}
class honor_system
{
    var $realm_db;
    var $mangos_db;
    
    function get_all_honor()
    {
        $q = $this->mangos_db->query("SELECT * FROM `character_kill` ORDER BY `guid`");
        while($res_row = $this->mangos_db->fetch_assoc($q))
        {
            if($res_row['type']==1){
                $honor_arr[$res_row['guid']] += $res_row['honor'];
            }elseif($res_row['type']==2){
                $honor_arr[$res_row['guid']] -= $res_row['honor'];
            }
        }
        return $honor_arr;
    }
    
    function get_character_honor($char_id)
    {
        $q = $this->mangos_db->query("SELECT * FROM `character_kill` WHERE `guid`='$char_id'");
        while($res_row = $this->mangos_db->fetch_assoc($q))
        {
            if($res_row['type']==1){
                $honor += $res_row['honor'];
            }elseif($res_row['type']==2){
                $honor -= $res_row['honor'];
            }
        }
        return $honor;
    }
    
    function calc_character_rank($honor_points)
    {
        $rank = 0;
        if($honor_points <= 0){
            $rank = 0; 
        }
        else{
            if($honor_points < 2000 and $honor_points > 500) $rank = 2;
            else if($honor_points <= 500 and $honor_points > 0) $rank = 1;
            else if ($honor_points >= 2000) $rank = round(($honor_points / 5000) + 1,0);
        }
        return $rank;
    }
}

function error($message, $file, $line, $db_error = false)
{
    global $siteerrors;
    $s = "\t\t".'Error: <strong>'.$message.'.</strong>'."\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) or ($mapid==530) or ($mapid==566))
        {
        $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='         <TR>
                <TD rowSpan=6><IMG height=110 
                  src="'.$img_base.'pixel.gif" width=15></TD>
                <TD vAlign=center align=left width=190><B 
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL 
                  for=username>'.$text["name"].':</LABEL> </B><BR><INPUT 
                  id=username style="WIDTH: 175px" tabIndex=1 maxLength=16 
                  size=18 name=username></TD>
                <TD rowSpan=6><IMG height=1 src="'.$img_base.'pixel.gif" width=15></TD></TR>
              <TR><TD width=190 height=1></TD></TR>
              <TR><TD width=190 height=1></TD></TR>
              <TR>
                <TD vAlign=center align=left width=190><B 
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL 
                  for=passw>'.$text["password"].':</LABEL> </B><BR><INPUT id=passw 
                  style="WIDTH: 175px" tabIndex=2 type=password maxLength=12 
                  size=18 name=passw></TD></TR>
                <TD vAlign=center align=left width=190><B
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL
                  for=tbc>'.$text["tbc"].':</LABEL> </B><BR><select size="1" name="tbc">
    <option selected value="1">TBC</option>
    <option value="0">WoW</option></select>
                                     </TD></TR>
              <TR>
                <TD vAlign=center align=left width=190><B 
                  style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL 
                  for=email>E-mail:</LABEL> </B><BR><INPUT id=email 
                  style="WIDTH: 175px" tabIndex=2 maxLength=50 
                  size=18 name=email></TD></TR>
              <TR>
                <TD align=left>
                  <TABLE cellSpacing=0 cellPadding=0 border=0>
                    <TBODY>
                    <TR>
                      <TD><IMG height=3 
                        src="'.$img_base.'pixel.gif" width=1></TD>
                      <TD></TD>
                      <TD></TD></TR></TBODY></TABLE></TD></TR>
              <TR>
                <TD align=left colSpan=3>
                  <TABLE cellSpacing=0 cellPadding=0 border=0>
                    <TBODY>
                    <TR>
                      <TD><IMG height=39 
                        src="'.$img_base.'pixel.gif" width=19></TD>
                      <TD><INPUT class=button 
                        style="WIDTH: 168px; HEIGHT: 39px" tabIndex=3 type=image 
                        alt=Create src="'.$img_base.$button.'" 
                        value=Create border=0></TD>
                    </TR></TBODY></TABLE></TD></TR>';
    } 
    elseif  (empty($_POST['username']) or empty($_POST['passw']) or empty($_POST['email'])) 
    {

    $cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
'.$text["not_all"].'
<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';

    }
    else
    {
    $username = htmlspecialchars(trim("$_POST[username]"));
    $passw = trim($_POST['passw']);
    $email = htmlspecialchars(trim($_POST['email']));
        $tbc = trim($_POST['tbc']);
    $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='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
'.$text["ip_limit"][0].$ip.'<br>'.$ip_cr.$text["ip_limit"][1].'
<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
    } else
    {
            $user = strtoupper($username);
            $pass = strtoupper($passw);
            $encrypted2 = ($user.':'.$pass);

              $encrypted=hash('sha1', $encrypted2);
    if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES  ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))
        {
        $cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL>
'.$text["acc"].'<br><strong>'.$username.'</strong><br>'.$text["create"].'<br>
</SMALL></TD></TD></TR>';
        }
        else
        {
        $cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
'.$text["acc"].'<br><strong>'.$username.'</strong><br>'.$text["failed"].'
<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
        }
}
    
    $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.= "
                <tr class=txt>
                    <td></td>
                    <td>$name</td>
                    <td align='center'><img alt=$res_race src='".$img_base.$race."-$gender.gif' height='18' width='18'></td>
                    <td align='center'><img alt=$res_class src='".$img_base."$class.gif' height='18' width='18'></td>
                    <td align='center'>$lvl</td>
                    <td >$loc</td>
                </tr>";
    $i++;
    }

$title=get_realm_name();
$copyright=get_realm_name();
$status=get_realm_name();
if (test_realm())
    {
    $title.=(' ('.$onlineplayers.' '.$text["playerson"].')');
    $status = "<img alt=Online src='".$img_base."online.gif' height='18' width='18'>";
    } else
    {
    $title.=(' '.$text["off"] );
    $status = "<img alt=Offline src='".$img_base."offline.gif' height='18' width='18'>";
    }
//Please Dont Edit Copyright Line , Respect To Our Work!
$foorat="<center><font face=\"Arial\" size=\"2\"><b>This RoSPORA Licenced to $copyright</b></font><br><font face=\"Arial\" size=\"1\">RoSPORAis a free software released under the GNU/GPL<br>SPORA engine code is © copyright by <a href=\"mailto:[email protected]\">mirage666</a><br>RoSPORA re-desined engine code is © copyright by <a href=\"mailto:[email protected]\">PoWeRLoGY</a></font>";
// Main part !!!
?>
<HTML><HEAD><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><TITLE><?php print $title ?></TITLE>
<META http-equiv=Content-Type content="text/html; charset=<?php print $charset ?>"><LINK 
id=bnetstyle href="<?php print $img_base ?>style.css" type=text/css 
rel=stylesheet>
<link rel="Shortcut Icon" href="img/wowlogoanim.gif" type="image/gif">
<script type="text/javascript">
var weekdaystxt=["Nedele", "Pondeli", "Utery", "Streda", "Ctvrtek", "Patek", "Sobota"]

function showLocalTime(container, servermode, offsetMinutes, displayversion){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.displayversion=displayversion
var servertimestring=(servermode=="server-php")? '<? print date("F d, Y H:i:s", time())?>' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>'
this.localtime=this.serverdate=new Date(servertimestring)
this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time
this.updateTime()
this.updateContainer()
}

showLocalTime.prototype.updateTime=function(){
var thisobj=this
this.localtime.setSeconds(this.localtime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

showLocalTime.prototype.updateContainer=function(){
var thisobj=this
if (this.displayversion=="long")
this.container.innerHTML=this.localtime.toLocaleString()
else{
var hour=this.localtime.getHours()
var minutes=this.localtime.getMinutes()
var seconds=this.localtime.getSeconds()
var ampm=(hour>=12)? "PM" : "AM"
var dayofweek=weekdaystxt[this.localtime.getDay()]
this.container.innerHTML=formatField(hour, 1)+":"+formatField(minutes)+":"+formatField(seconds)+" "+ampm+" ("+dayofweek+")"
}
setTimeout(function(){thisobj.updateContainer()}, 1000) //update container every second
}

function formatField(num, isHour){
if (typeof isHour!="undefined"){ //if this is the hour field
var hour=(num>12)? num-12 : num
return (hour==0)? 12 : hour
}
return (num<=9)? "0"+num : num//if this is minute or sec field
}

</script>
<script language=javascript>
  <!--
    var styleSheet;
    var agt     = navigator.userAgent.toLowerCase();
    var appVer  = navigator.appVersion.toLowerCase();
    var verInt  = parseInt(appVer);
    var ie      = (appVer.indexOf('msie') != -1);
    var opera   = (agt.indexOf('opera') != -1);
    var mozilla = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('opera')==-1)
      && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1)
      && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
    var ns4     = (mozilla && (verInt == 4));

    if (ie && !opera) {
      document.styleSheets["bnetstyle"].addRule ("input", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("input", "border-style: solid");
      document.styleSheets["bnetstyle"].addRule ("input", "border-width: 1px");
      document.styleSheets["bnetstyle"].addRule ("input", "border-color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("input", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("textarea", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("textarea", "border-style: solid");
      document.styleSheets["bnetstyle"].addRule ("textarea", "border-width: 1px");
      document.styleSheets["bnetstyle"].addRule ("textarea", "border-color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("textarea", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Base-Color: #012158");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Arrow-Color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-3dLight-Color: #7F7F7F");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-DarkShadow-Color: black");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Highlight-Color: black");
      document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Shadow-Color: #00B3FF");

      document.styleSheets["bnetstyle"].addRule ("select", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("select", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("select.gray", "background-color: #040D1A");
      document.styleSheets["bnetstyle"].addRule ("select.gray", "color: #FFAC04");

      document.styleSheets["bnetstyle"].addRule ("ul.thread", "margin-left: 22px;");
    }
  //-->
  </SCRIPT>
</HEAD>
<BODY text=#cccc99 vLink=#aaaaaa link=#ffffbb bgColor=#000000 leftMargin=0 
topMargin=0 marginheight="0" marginwidth="0">
<FORM name=login_form method=post>

<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=middle>
</center>
      <TABLE cellSpacing=0 cellPadding=0 background="<?php print $img_base ?>back_create.jpg" border=0 style="background-repeat: no-repeat;">
        <TBODY>
        <TR>
          <TD vAlign=top>
            <DIV style="POSITION: relative">
            <DIV 
            style="LEFT: 130px; WIDTH: 400px; POSITION: absolute; TOP: 0px"></DIV></DIV></TD>
          <TD><left><object width="210" height="172">
<param name="movie" value="img/backlogo.swf"/>
<param name="WMode" value="Transparent"/>
<embed src="img/backlogo.swf" width="210" height="172" wmode="transparent"/>
</embed>
</object>
</left><IMG height=169 src="<?php print $img_base ?>pixel.gif" 
          width=1></TD>
          <TD></TD></TR>
        <TR>
          <TD><IMG height=1 src="<?php print $img_base ?>pixel.gif" 
          width=203></TD>
          <TD>
          <TABLE cellSpacing=0 cellPadding=0 width=220 border=0>
          <TBODY>
<?php  
    if($accountoption==1)
    {
      echo"$cont"; 
    }
    else
    {
    echo "<br><br><br><br><center><strong><font face=\"Arial\" color=\"#FF0000\" size=\"2\">$accountmessage</font></center></strong><br><br><br><br><br>";
    }
?></TBODY></TABLE></TD>
          <TD><IMG height=1 src="<?php print $img_base ?>pixel.gif" 
          width=217></TD></TR>
        <TR>
          <TD colSpan=3>
            <TABLE cellSpacing=0 cellPadding=0 border=0>
              <TBODY>
              <TR>
                <TD colSpan=3><IMG height=17 
                  src="<?php print $img_base ?>pixel.gif" width=1></TD></TR>
              <TR>
                <TD width=106><IMG height=1 
                  src="<?php print $img_base ?>pixel.gif" width=106></TD>
                <TD width=410><SMALL>
            <br><strong class=title><center><?php print "$status";echo " "; print "$title";   ?></center></strong><br>
                 <center><?php print $timetext?> : <span id="timecontainer"></span>

             <script type="text/javascript">
          new showLocalTime("timecontainer", "server-php", 0, "short")
             </script></center><br>

              <table cellpadding='3' cellspacing='0' align='center'>
        <tbody>
<tr class=title>
            <td align='left' nowrap='nowrap' width=50></td>
            <td align='left' nowrap='nowrap' width=60><a href="<?php print $link.'0">'.$text['char'][0] ?></a></td>
            <td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'1">'.$text['char'][1] ?></a></td>
            <td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'2">'.$text['char'][2] ?></a></td>
            <td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'3">'.$text['char'][3] ?></a></td>
            <td align='left' nowrap='nowrap' width=100><a href="<?php print $link.'4">'.$text['char'][4] ?></a></td>
                </tr><?php  
    if($onlineoption==1)
    {
      echo"$list"; 
    }
    else
    {
    echo "<center><strong><font face=\"Arial\" color=\"#FF0000\" size=\"2\"><br>$onlinemessage</font></strong></center>";
    }
?>
<tr>
<td class='txt' align='center' colspan='6' nowrap='nowrap'><IMG height=1 src='<?php print $img_base ?>pixel.gif' width=400></td></tr>                    
                </tbody>
</table>

                  </SMALL></TD>
                <TD width=124><IMG height=1 
                  src="<?php print $img_base ?>pixel.gif" width=124></TD></TR>
              <TR>
                <TD colSpan=3><IMG height=100 
                  src="<?php print $img_base ?>pixel.gif" 
            width=1></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM></BODY>
</HTML>

 

zkus to..

Edited by charlie

Share this post


Link to post
Share on other sites

ja mam upe stejny template takže by mi to taky hodně pomohlo .. pokoušim se tady o to ale nejak se mi to heslo nechce uložit :( .. těžko řict proč

 

Share this post


Link to post
Share on other sites

pri kopirovani tech zdrojaku to zmenilo nektere "<" na nesmyslne znaky, takze ty delaly problem.

 

ted jde acc vytvorit, ale do db se zapise nezakodovane, cili se nejde lognout.

 

id username I gmlevel

9 uzivatel uzivatel:server 0

Edited by Doktor.cz

Share this post


Link to post
Share on other sites

heh .. ja to delal podel sebe a mam to jinak než tady .. hash se fpoho vytvoři ale stejne se nede lognut :-D .. divne ne ? :-D

ale log na učet ktery se vytvori s databazi (administrator - administrator , player - player) tak na ty se lognut de :-D

 

Share this post


Link to post
Share on other sites

Jop.. zapomel sem tam jednu fci.. ted by to melo fachat.

 

jeste tu cast s INSERT INTo.. uprav na

 

$user = strtoupper($username);
            $pass = strtoupper($passw);
            $encrypted2 = ($user.':'.$pass);

              $encrypted=hash('sha1', $encrypted2);
    if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES  ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))

Share this post


Link to post
Share on other sites
Jop.. zapomel sem tam jednu fci.. ted by to melo fachat.

 

jeste tu cast s INSERT INTo.. uprav na

 

$user = strtoupper($username);
            $pass = strtoupper($passw);
            $encrypted2 = ($user.':'.$pass);

              $encrypted=hash('sha1', $encrypted2);
    if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES  ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))

 

ja t mam upa jinak a už mi to jde ;) .. a nemam to tak složitě .. ale viš jak .. každy si dela po svem ;)

 

Share this post


Link to post
Share on other sites
Jop.. zapomel sem tam jednu fci.. ted by to melo fachat.

 

jeste tu cast s INSERT INTo.. uprav na

 

$user = strtoupper($username);
            $pass = strtoupper($passw);
            $encrypted2 = ($user.':'.$pass);

              $encrypted=hash('sha1', $encrypted2);
    if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES  ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))

 

joo dik moc ted uz mi to vali :)

Share this post


Link to post
Share on other sites
vim že to do tohodle postu nepatři .. ale jak dal sem si new revizi 4014 a nejsou tam Questy :( .. nevite nekdo jak je tam nahodiit ?

kdyz uz menis revizi tak si zmen i DB :P samozrejme na kompatibilni

Share this post


Link to post
Share on other sites

<?php

/*

SPORA v1.2

Simple Page Of Registration of Accounts for MangOs

 

It is made in the form of one page with fields of input of the

information of an account and the list of players being on a server.

 

14.09.2006 http://pomm.da.ru/

 

Created by mirage666 © (mailto:[email protected] icq# 152263154)

####################################################################

SPORA The Burning Crusade Edition Build V1.4 on SPORA

 

22.05.2007 http://powerlogy.blogspot.com/

 

Contact @ : [email protected]

!Turkiye!

*/

require_once( 'configuration.php' );

Switch ($lang)

{

case "en":

$button="create_en.gif";

$text = Array(

'acc' => 'Vytvoreni uctu',

'create' => 'je hotovo !',

'failed' => 'nebylo mozne !',

'not_all' => 'Prosim vyplnte vsechny policka',

'playerson' => 'players online',

'off' => 'je offline',

'name' => 'Jmeno uctu',

'tbc' => 'Typ uctu',

'password' => 'Heslo',

'ip_limit' => Array('Z tve IP adresy jsou jiz',' ucty vytvoreny'),

'char' => Array('Jmeno','Rasa','Povolani','LvL','Lokace'),

'backtext' => 'Zpet',

);

break;

case "ru":

$button="create_ru.gif";

$text = Array(

'acc' => 'Ńîçäŕíčĺ ŕęęŕóíňŕ',

'create' => 'çŕâĺđřĺíî !',

'failed' => 'íĺâîçěîćíî !',

'not_all' => 'Çŕďîëíĺíű íĺ âńĺ ďîë˙',

'playerson' => 'čăđîęîâ íŕ ńĺđâĺđĺ',

'off' => 'ńĺé÷ŕń îňęëţ÷ĺí',

'name' => 'Čě˙ Ŕęęŕóíňŕ',

'tbc' => '?????????????? ?????',

'password' => 'Ďŕđîëü',

'ip_limit' => Array('Ń âŕřĺăî IP ',' ŕęęŕóíňîâ óćĺ ńîçäŕíî'),

'char' => Array('Ďĺđńîíŕć','Đŕńŕ','Ęëŕńń','ËâË','Đŕńďîëîćĺíčĺ'),

'backtext' => 'Back',

);

break;

case "tr":

$button="create_tr.gif";

$text = Array(

'acc' => 'Hesap Alýmý',

'create' => 'tamamlandý !',

'failed' => 'münkün deđil !',

'not_all' => 'Gerekli alanlar boţ býrakýlmýţ',

'playerson' => 'oyuncu çevrimiçi',

'off' => 'çevrimdýţý',

'name' => 'Hesap Özelliđi',

'tbc' => 'Hesap Ţekli',

'password' => 'Ţifre',

'ip_limit' => Array('Bu IP adresi ile ',' hesap zaten açýlmýţ'),

'char' => Array('Ýsim','Irk','Sýnýf','Seviye','Yer'),

'backtext' => 'Geri',

);

break;

case "hu":

$button="create_en.gif";

$text = Array(

'acc' => 'Account létrehozása',

'create' => 'Kész!',

'failed' => 'Sikertelen!',

'not_all' => 'Nincs kitöltve minden mező˙',

'playerson' => 'Játékos Online',

'off' => 'jelenleg nem fut',

'name' => 'Account név',

'tbc' => 'Account típusa',

'password' => 'Jelszó',

'ip_limit' => Array('Erről az IP-ről ',' már regisztráltak'),

'char' => Array('Név','Faj','Kaszt','Szint','Pozició'),

'backtext' => 'Vissza',

);

}

 

$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',

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',

530 => 'Outland | Blood Elf/Draenei Area',

532 => 'Karazhan',

560 => 'Old Hillsbrad',

540 => 'The Shattered Halls',

542 => 'The Blood Furnace',

543 => 'Hellfire Ramparts',

544 => 'Magtheridon\'s Lair',

545 => 'The Steamvault',

546 => 'The Underbog',

547 => 'The Slave Pens',

548 => 'Serpentshrine Cavern',

550 => 'The Eye',

552 => 'The Arcatraz',

553 => 'The Botanica',

554 => 'The Mechanar',

555 => 'Shadow Labyrinth',

556 => 'Sethekk Halls',

557 => 'Mana-Tombs',

558 => 'Auchenai Crypts',

559 => 'Nagrand Arena',

562 => 'Blade\'s Edge Arena',

564 => 'Black Temple',

565 => 'Gruul\'s Lair',

566 => 'Eye of the Storm',

568 => 'Zul\'Aman',

37 => 'Azshara Crater',

534 => 'Old Hyjal',

);

 

$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),

),

530 => Array(

Array(12996,-4468,-5821,5821,'Outland',466),

Array(10295,4770,-3641,41,'Nagrand',477),

Array(9475,4447,-1416,1935,'Zangarmarsh',467),

Array(5539,375,-1962,1481,'Hellfire Peninsula',465),

Array(4225,-1275,-5614,-1947,'Shadowmoon Valley',473),

Array(8845,3420,791,4408,'Blade\'s Edge Mountains',475),

Array(7083,1683,-4600,-1000,'Terokkar Forest',478),

Array(5483,-91,1739,5456,'Netherstorm',479),

Array(-4487,-9412,7758,11041,'Eversong Woods',462),

Array(-5.283,-8583,6066,8266,'Ghostlands',463),

Array(-10500,-14570,-5508,-2793,'Azuremyst Isle',464),

Array(-10075,-13337,-2933,-758,'Bloodmyst Isle',476),

Array(-11066,-12123,-4314,-3609,'The Exodar',471),

Array(-6400,-7612,9346,10153,'Silvermoon City',480),

Array(6135,4829,-2344,-1473,'Shattrath City',481),

),

566 => Array(

Array(2660,389,1404,2918,'Eye of the Storm',482),

),

);

 

$def = Array(

'character_race' => Array(

1 => 'Human',

2 => 'Orc',

3 => 'Dwarf',

4 => 'Night Elf',

5 => 'Undead',

6 => 'Tauren',

7 => 'Gnome',

8 => 'Troll',

9 => 'Goblin',

10 => 'Dranei',

11 => 'Blood Elf',

),

 

'character_class' => Array(

1 => 'Warrior',

2 => 'Paladin',

3 => 'Hunter',

4 => 'Rogue',

5 => 'Priest',

7 => 'Shaman',

8 => 'Mage',

9 => 'Warlock',

11 => 'Druid',

),

 

'character_rank' => Array(

'alliance' => Array(

1 => 'Private',

2 => 'Corporal',

3 => 'Sergeant',

4 => 'Master Sergeant',

5 => 'Sergeant Major',

6 => 'Knight',

7 => 'Knight-Lieutenant',

8 => 'Knight-Captain',

9 => 'Knight-Champion',

10 => 'Lieutenant Commander',

11 => 'Commander',

12 => 'Marshal',

13 => 'Field Marshal',

14 => 'Grand Marshal'

),

'horde' => Array(

1 => 'Scout',

2 => 'Grunt',

3 => 'Sergeant',

4 => 'Senior Sergeant',

5 => 'First Sergeant',

6 => 'Stone Guard',

7 => 'Blood Guard',

8 => 'Legionnare',

9 => 'Centurion',

10 => 'Champion',

11 => 'Lieutenant General',

12 => 'General',

13 => 'Warlord',

14 => 'High Warlord'

)

),

);

 

 

 

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;

}

}

class honor_system

{

var $realm_db;

var $mangos_db;

 

function get_all_honor()

{

$q = $this->mangos_db->query("SELECT * FROM `character_kill` ORDER BY `guid`");

while($res_row = $this->mangos_db->fetch_assoc($q))

{

if($res_row['type']==1){

$honor_arr[$res_row['guid']] += $res_row['honor'];

}elseif($res_row['type']==2){

$honor_arr[$res_row['guid']] -= $res_row['honor'];

}

}

return $honor_arr;

}

 

function get_character_honor($char_id)

{

$q = $this->mangos_db->query("SELECT * FROM `character_kill` WHERE `guid`='$char_id'");

while($res_row = $this->mangos_db->fetch_assoc($q))

{

if($res_row['type']==1){

$honor += $res_row['honor'];

}elseif($res_row['type']==2){

$honor -= $res_row['honor'];

}

}

return $honor;

}

 

function calc_character_rank($honor_points)

{

$rank = 0;

if($honor_points <= 0){

$rank = 0;

}

else{

if($honor_points < 2000 and $honor_points > 500) $rank = 2;

else if($honor_points <= 500 and $honor_points > 0) $rank = 1;

else if ($honor_points >= 2000) $rank = round(($honor_points / 5000) + 1,0);

}

return $rank;

}

}

 

function error($message, $file, $line, $db_error = false)

{

global $siteerrors;

$s = "\t\t".'Error: <strong>'.$message.'.</strong>'."\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) or ($mapid==530) or ($mapid==566))

{

$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=' <TR>

<TD rowSpan=6><IMG height=110

src="'.$img_base.'pixel.gif" width=15></TD>

<TD vAlign=center align=left width=190><B

style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL

for=username>'.$text["name"].':</LABEL> </B><BR><INPUT

id=username style="WIDTH: 175px" tabIndex=1 maxLength=16

size=18 name=username></TD>

<TD rowSpan=6><IMG height=1 src="'.$img_base.'pixel.gif" width=15></TD></TR>

<TR><TD width=190 height=1></TD></TR>

<TR><TD width=190 height=1></TD></TR>

<TR>

<TD vAlign=center align=left width=190><B

style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL

for=passw>'.$text["password"].':</LABEL> </B><BR><INPUT id=passw

style="WIDTH: 175px" tabIndex=2 type=password maxLength=12

size=18 name=passw></TD></TR>

<TD vAlign=center align=left width=190><B

style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL

for=tbc>'.$text["tbc"].':</LABEL> </B><BR><select size="1" name="tbc">

<option selected value="1">TBC</option>

<option value="0">WoW</option></select>

</TD></TR>

<TR>

<TD vAlign=center align=left width=190><B

style="FONT-SIZE: 8pt; COLOR: white; LETTER-SPACING: 3px; FONT-VARIANT: small-caps"><LABEL

for=email>E-mail:</LABEL> </B><BR><INPUT id=email

style="WIDTH: 175px" tabIndex=2 maxLength=50

size=18 name=email></TD></TR>

<TR>

<TD align=left>

<TABLE cellSpacing=0 cellPadding=0 border=0>

<TBODY>

<TR>

<TD><IMG height=3

src="'.$img_base.'pixel.gif" width=1></TD>

<TD></TD>

<TD></TD></TR></TBODY></TABLE></TD></TR>

<TR>

<TD align=left colSpan=3>

<TABLE cellSpacing=0 cellPadding=0 border=0>

<TBODY>

<TR>

<TD><IMG height=39

src="'.$img_base.'pixel.gif" width=19></TD>

<TD><INPUT class=button

style="WIDTH: 168px; HEIGHT: 39px" tabIndex=3 type=image

alt=Create src="'.$img_base.$button.'"

value=Create border=0></TD>

</TR></TBODY></TABLE></TD></TR>';

}

elseif (empty($_POST['username']) or empty($_POST['passw']) or empty($_POST['email']))

{

 

$cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>

'.$text["not_all"].'

<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';

 

}

else

{

$username = htmlspecialchars(trim("$_POST[username]"));

$passw = trim($_POST['passw']);

$email = htmlspecialchars(trim($_POST['email']));

$tbc = trim($_POST['tbc']);

$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='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>

'.$text["ip_limit"][0].$ip.'<br>'.$ip_cr.$text["ip_limit"][1].'

<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';

} else

{

$user = strtoupper($username);

$pass = strtoupper($passw);

$encrypted2 = ($user.':'.$pass);

 

$encrypted=hash('sha1', $encrypted2);

if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))

{

$cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL>

'.$text["acc"].'<br><strong>'.$username.'</strong><br>'.$text["create"].'<br>

</SMALL></TD></TD></TR>';

}

else

{

$cont='<TR><TD rowSpan=6><IMG height=182 width=1 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>

'.$text["acc"].'<br><strong>'.$username.'</strong><br>'.$text["failed"].'

<br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';

}

}

 

$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.= "

<tr class=txt>

<td></td>

<td>$name</td>

<td align='center'><img alt=$res_race src='".$img_base.$race."-$gender.gif' height='18' width='18'></td>

<td align='center'><img alt=$res_class src='".$img_base."$class.gif' height='18' width='18'></td>

<td align='center'>$lvl</td>

<td >$loc</td>

</tr>";

$i++;

}

 

$title=get_realm_name();

$copyright=get_realm_name();

$status=get_realm_name();

if (test_realm())

{

$title.=(' ('.$onlineplayers.' '.$text["playerson"].')');

$status = "<img alt=Online src='".$img_base."online.gif' height='18' width='18'>";

} else

{

$title.=(' '.$text["off"] );

$status = "<img alt=Offline src='".$img_base."offline.gif' height='18' width='18'>";

}

//Please Dont Edit Copyright Line , Respect To Our Work!

$foorat="<center><font face=\"Arial\" size=\"2\"><b>This RoSPORA Licenced to $copyright</b></font><br><font face=\"Arial\" size=\"1\">RoSPORAis a free software released under the GNU/GPL<br>SPORA engine code is © copyright by <a href=\"mailto:[email protected]\">mirage666</a><br>RoSPORA re-desined engine code is © copyright by <a href=\"mailto:[email protected]\">PoWeRLoGY</a></font>";

// Main part !!!

?>

<HTML><HEAD><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><TITLE><?php print $title ?></TITLE>

<META http-equiv=Content-Type content="text/html; charset=<?php print $charset ?>"><LINK

id=bnetstyle href="<?php print $img_base ?>style.css" type=text/css

rel=stylesheet>

<link rel="Shortcut Icon" href="img/wowlogoanim.gif" type="image/gif">

<script type="text/javascript">

var weekdaystxt=["Nedele", "Pondeli", "Utery", "Streda", "Ctvrtek", "Patek", "Sobota"]

 

function showLocalTime(container, servermode, offsetMinutes, displayversion){

if (!document.getElementById || !document.getElementById(container)) return

this.container=document.getElementById(container)

this.displayversion=displayversion

var servertimestring=(servermode=="server-php")? '<? print date("F d, Y H:i:s", time())?>' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>'

this.localtime=this.serverdate=new Date(servertimestring)

this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time

this.updateTime()

this.updateContainer()

}

 

showLocalTime.prototype.updateTime=function(){

var thisobj=this

this.localtime.setSeconds(this.localtime.getSeconds()+1)

setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second

}

 

showLocalTime.prototype.updateContainer=function(){

var thisobj=this

if (this.displayversion=="long")

this.container.innerHTML=this.localtime.toLocaleString()

else{

var hour=this.localtime.getHours()

var minutes=this.localtime.getMinutes()

var seconds=this.localtime.getSeconds()

var ampm=(hour>=12)? "PM" : "AM"

var dayofweek=weekdaystxt[this.localtime.getDay()]

this.container.innerHTML=formatField(hour, 1)+":"+formatField(minutes)+":"+formatField(seconds)+" "+ampm+" ("+dayofweek+")"

}

setTimeout(function(){thisobj.updateContainer()}, 1000) //update container every second

}

 

function formatField(num, isHour){

if (typeof isHour!="undefined"){ //if this is the hour field

var hour=(num>12)? num-12 : num

return (hour==0)? 12 : hour

}

return (num<=9)? "0"+num : num//if this is minute or sec field

}

 

</script>

<script language=javascript>

<!--

var styleSheet;

var agt = navigator.userAgent.toLowerCase();

var appVer = navigator.appVersion.toLowerCase();

var verInt = parseInt(appVer);

var ie = (appVer.indexOf('msie') != -1);

var opera = (agt.indexOf('opera') != -1);

var mozilla = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('opera')==-1)

&& (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1)

&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));

var ns4 = (mozilla && (verInt == 4));

 

if (ie && !opera) {

document.styleSheets["bnetstyle"].addRule ("input", "background-color: #040D1A");

document.styleSheets["bnetstyle"].addRule ("input", "border-style: solid");

document.styleSheets["bnetstyle"].addRule ("input", "border-width: 1px");

document.styleSheets["bnetstyle"].addRule ("input", "border-color: #7F7F7F");

document.styleSheets["bnetstyle"].addRule ("input", "color: #FFAC04");

 

document.styleSheets["bnetstyle"].addRule ("textarea", "background-color: #040D1A");

document.styleSheets["bnetstyle"].addRule ("textarea", "border-style: solid");

document.styleSheets["bnetstyle"].addRule ("textarea", "border-width: 1px");

document.styleSheets["bnetstyle"].addRule ("textarea", "border-color: #7F7F7F");

document.styleSheets["bnetstyle"].addRule ("textarea", "color: #FFAC04");

 

document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Base-Color: #012158");

document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Arrow-Color: #7F7F7F");

document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-3dLight-Color: #7F7F7F");

document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-DarkShadow-Color: black");

document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Highlight-Color: black");

document.styleSheets["bnetstyle"].addRule ("textarea", "scrollbar-Shadow-Color: #00B3FF");

 

document.styleSheets["bnetstyle"].addRule ("select", "background-color: #040D1A");

document.styleSheets["bnetstyle"].addRule ("select", "color: #FFAC04");

 

document.styleSheets["bnetstyle"].addRule ("select.gray", "background-color: #040D1A");

document.styleSheets["bnetstyle"].addRule ("select.gray", "color: #FFAC04");

 

document.styleSheets["bnetstyle"].addRule ("ul.thread", "margin-left: 22px;");

}

//-->

</SCRIPT>

</HEAD>

<BODY text=#cccc99 vLink=#aaaaaa link=#ffffbb bgColor=#000000 leftMargin=0

topMargin=0 marginheight="0" marginwidth="0">

<FORM name=login_form method=post>

 

<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>

<TBODY>

<TR>

<TD align=middle>

</center>

<TABLE cellSpacing=0 cellPadding=0 background="<?php print $img_base ?>back_create.jpg" border=0 style="background-repeat: no-repeat;">

<TBODY>

<TR>

<TD vAlign=top>

<DIV style="POSITION: relative">

<DIV

style="LEFT: 130px; WIDTH: 400px; POSITION: absolute; TOP: 0px"></DIV></DIV></TD>

<TD><left><object width="210" height="172">

<param name="movie" value="img/backlogo.swf"/>

<param name="WMode" value="Transparent"/>

<embed src="img/backlogo.swf" width="210" height="172" wmode="transparent"/>

</embed>

</object>

</left><IMG height=169 src="<?php print $img_base ?>pixel.gif"

width=1></TD>

<TD></TD></TR>

<TR>

<TD><IMG height=1 src="<?php print $img_base ?>pixel.gif"

width=203></TD>

<TD>

<TABLE cellSpacing=0 cellPadding=0 width=220 border=0>

<TBODY>

<?php

if($accountoption==1)

{

echo"$cont";

}

else

{

echo "<br><br><br><br><center><strong><font face=\"Arial\" color=\"#FF0000\" size=\"2\">$accountmessage</font></center></strong><br><br><br><br><br>";

}

?></TBODY></TABLE></TD>

<TD><IMG height=1 src="<?php print $img_base ?>pixel.gif"

width=217></TD></TR>

<TR>

<TD colSpan=3>

<TABLE cellSpacing=0 cellPadding=0 border=0>

<TBODY>

<TR>

<TD colSpan=3><IMG height=17

src="<?php print $img_base ?>pixel.gif" width=1></TD></TR>

<TR>

<TD width=106><IMG height=1

src="<?php print $img_base ?>pixel.gif" width=106></TD>

<TD width=410><SMALL>

<br><strong class=title><center><?php print "$status";echo " "; print "$title"; ?></center></strong><br>

<center><?php print $timetext?> : <span id="timecontainer"></span>

 

<script type="text/javascript">

new showLocalTime("timecontainer", "server-php", 0, "short")

</script></center><br>

 

<table cellpadding='3' cellspacing='0' align='center'>

<tbody>

<tr class=title>

<td align='left' nowrap='nowrap' width=50></td>

<td align='left' nowrap='nowrap' width=60><a href="<?php print $link.'0">'.$text['char'][0] ?></a></td>

<td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'1">'.$text['char'][1] ?></a></td>

<td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'2">'.$text['char'][2] ?></a></td>

<td align='center' nowrap='nowrap' width=40><a href="<?php print $link.'3">'.$text['char'][3] ?></a></td>

<td align='left' nowrap='nowrap' width=100><a href="<?php print $link.'4">'.$text['char'][4] ?></a></td>

</tr><?php

if($onlineoption==1)

{

echo"$list";

}

else

{

echo "<center><strong><font face=\"Arial\" color=\"#FF0000\" size=\"2\"><br>$onlinemessage</font></strong></center>";

}

?>

<tr>

<td class='txt' align='center' colspan='6' nowrap='nowrap'><IMG height=1 src='<?php print $img_base ?>pixel.gif' width=400></td></tr>

</tbody>

</table>

 

</SMALL></TD>

<TD width=124><IMG height=1

src="<?php print $img_base ?>pixel.gif" width=124></TD></TR>

<TR>

<TD colSpan=3><IMG height=100

src="<?php print $img_base ?>pixel.gif"

width=1></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM></BODY>

</HTML>

 

 

 

 

todle mam ale cast

$user = strtoupper($username);

$pass = strtoupper($passw);

$encrypted2 = ($user.':'.$pass);

 

$encrypted=hash('sha1', $encrypted2);

if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))

 

sem nepochopil kam mam napcat prepiste mi to pls a ja si t zkopcim a uz np .) diky moc predem

Share this post


Link to post
Share on other sites

nevim kam co vubec mam dat bohuzel a potrebuji to tedka :( teda co nejdrive nemoh by mi sem nejaky dobry clovek zkopcit cely ten index uz i stema kodovacimi srackami?:( nebo mi napsat a poslat nebo poradit na icq:354-168-872 pls:(

Share this post


Link to post
Share on other sites
Jop.. zapomel sem tam jednu fci.. ted by to melo fachat.

 

jeste tu cast s INSERT INTo.. uprav na

 

$user = strtoupper($username);
            $pass = strtoupper($passw);
            $encrypted2 = ($user.':'.$pass);

              $encrypted=hash('sha1', $encrypted2);
    if($realm_db->query("INSERT INTO `account` (`username`,`I`,`email`,`last_ip`,`locked`,`tbc`) VALUES  ('$username','$encrypted','$email','$ip','$lock_acc','$tbc')"))

 

Zdravim.

 

Tak toto jsem zvladnul,to jo,ale co jeset potrebuji,k tem registracim acc,pres web??

 

Tak musim mit nejaky server,to vim,Apache ci xampp. Pak vim ze musim mit forum+nejakou domenu kde je web.

Tak aby videl nekde onnline hrace a pod.Forum jsem uz nekolikrat prostudoval.Vim ze tu jsou navody,ale nekde se vzdy objevi nejaka chyba a pak to nejede jak ma.

Je jasny ze PHP moc nerozumim.

Proste potrebuji mit web kde bude onnline hraci,+registrace,kde bude aji to forum.

A jak to nejlepe udelat??Jde o to ze forum neni problem,domenu kde je web neni problem,ale moc nerozumim jak upravit do stylu wow,aby na forum vypadalo jak wow,a aji web aby vypadalo jako wow s obrazky a podobne.

Umi to nekdo a vi poradit????

 

 

Share this post


Link to post
Share on other sites
Zdravim.

 

Tak toto jsem zvladnul,to jo,ale co jeset potrebuji,k tem registracim acc,pres web??

 

Tak musim mit nejaky server,to vim,Apache ci xampp. Pak vim ze musim mit forum+nejakou domenu kde je web.

Tak aby videl nekde onnline hrace a pod.Forum jsem uz nekolikrat prostudoval.Vim ze tu jsou navody,ale nekde se vzdy objevi nejaka chyba a pak to nejede jak ma.

Je jasny ze PHP moc nerozumim.

Proste potrebuji mit web kde bude onnline hraci,+registrace,kde bude aji to forum.

A jak to nejlepe udelat??Jde o to ze forum neni problem,domenu kde je web neni problem,ale moc nerozumim jak upravit do stylu wow,aby na forum vypadalo jak wow,a aji web aby vypadalo jako wow s obrazky a podobne.

Umi to nekdo a vi poradit????

 

pokud mas phpbb forum tak si tam dej skin (template) WoWka...

jinak na registrace a online hrace potrebujes mit placeny hosting tusim...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×