diff --git a/mojotrollz/api/api_mojotrollz.php b/mojotrollz/api/api_mojotrollz.php index 4f25d0c..884a1aa 100644 --- a/mojotrollz/api/api_mojotrollz.php +++ b/mojotrollz/api/api_mojotrollz.php @@ -1,2 +1,9 @@ $value){ + if(method_exists('charcreation_validator',$key)){ + call_user_func('charcreation_validator::'.$key,$value);} + } + } + return JsonResult::toString(\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)); + } + + private static function session_default(){ + return array( 'char_name' => self::DEFAULT_CHAR_NAME, + 'char_gender' => self::DEFAULT_CHAR_GENDER, + 'char_race' => self::DEFAULT_CHAR_RACE, + 'char_class' => self::DEFAULT_CHAR_CLASS, + 'char_skin_color' => self::DEFAULT_CHAR_APPEARANCE, + 'char_hair' => self::DEFAULT_CHAR_APPEARANCE, + 'char_hair_color' => self::DEFAULT_CHAR_APPEARANCE, + 'char_face' => self::DEFAULT_CHAR_APPEARANCE, + 'char_facial_hair' => self::DEFAULT_CHAR_APPEARANCE, + 'char_facial_hair_color' => self::DEFAULT_CHAR_APPEARANCE, + 'char_skill_tree' => 0, + 'char_equip' => 0, + 'char_guild' => 0, + 'char_spawn' => 0);} + + public static function checkClassRace($class,$race){ + switch($race){ + case 'human': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock', 'paladin')); + case 'ork': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'warlock')); + case 'dwarf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'paladin')); + case 'undead': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock')); + case 'nightelf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'druid')); + case 'tauren': return in_array($class, array('warrior', 'hunter', 'shaman', 'druid')); + case 'gnome': return in_array($class, array('warrior', 'rogue', 'mage', 'warlock')); + case 'troll': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'priest', 'mage')); + default: return false; + } + } +} + diff --git a/mojotrollz/api/charcreation/charcreation_validator.php b/mojotrollz/api/charcreation/charcreation_validator.php new file mode 100644 index 0000000..5a9ec92 --- /dev/null +++ b/mojotrollz/api/charcreation/charcreation_validator.php @@ -0,0 +1,68 @@ + 12 || //strlen($value) < 2 || + preg_match('/[^A-Za-z]/',$value)){ + $data['char_name'] = charcreation::DEFAULT_CHAR_NAME; + } else { + $data['char_name'] = $value;} + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + + public static function char_gender($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_gender'] = ($value == ('female' || 'male')) ? $value : charcreation::DEFAULT_CHAR_GENDER; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_race($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_race'] = $value; + if(!charcreation::checkClassRace($data['char_class'], $data['char_race'])){ + $data['char_class'] = charcreation::DEFAULT_CHAR_CLASS;} + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_class($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_class'] = $value; + if(!charcreation::checkClassRace($data['char_class'], $data['char_race'])){ + $data['char_race'] = charcreation::DEFAULT_CHAR_RACE;} + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + + public static function char_skin_color($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_skin_color'] = $value; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_hair($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_hair'] = $value; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_hair_color($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_hair_color'] = $value; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_face($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_face'] = $value; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_facial_hair($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_facial_hair'] = $value; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + public static function char_facial_hair_color($value){ + $data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); + $data['char_facial_hair_color'] = $value; + \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data); + } + + public static function char_skill_tree($value){} + public static function char_equip($value){} + public static function char_guild($value){} + public static function char_spawn($value){} +} \ No newline at end of file diff --git a/mojotrollz/api/client/AuthCmd.php b/mojotrollz/api/client/AuthCmd.php new file mode 100644 index 0000000..0302e28 --- /dev/null +++ b/mojotrollz/api/client/AuthCmd.php @@ -0,0 +1,16 @@ + account has been closed and is no longer available for use. Please go to /banned.html for further information. + const REALM_AUTH_NO_MATCH=0x04; ///< The information you have entered is not valid. Please check the spelling of the account name and password. If you need help in retrieving a lost or stolen password, see for more information + const REALM_AUTH_UNKNOWN2=0x05; ///< The information you have entered is not valid. Please check the spelling of the account name and password. If you need help in retrieving a lost or stolen password, see for more information + const REALM_AUTH_ACCOUNT_IN_USE=0x06; ///< This account is already logged into . Please check the spelling and try again. + const REALM_AUTH_PREPAID_TIME_LIMIT=0x07; ///< You have used up your prepaid time for this account. Please purchase more to continue playing + const REALM_AUTH_SERVER_FULL=0x08; ///< Could not log in to at this time. Please try again later. + const REALM_AUTH_WRONG_BUILD_NUMBER=0x09; ///< Unable to validate game version. This may be caused by file corruption or interference of another program. Please visit for more information and possible solutions to this issue. + const REALM_AUTH_UPDATE_CLIENT=0x0a; ///< Downloading + const REALM_AUTH_UNKNOWN3=0x0b; ///< Unable to connect + const REALM_AUTH_ACCOUNT_FREEZED=0x0c; ///< This account has been temporarily suspended. Please go to /banned.html for further information + const REALM_AUTH_UNKNOWN4=0x0d; ///< Unable to connect + const REALM_AUTH_UNKNOWN5=0x0e; ///< Connected. + const REALM_AUTH_PARENTAL_CONTROL=0x0f; ///< Access to this account has been blocked by parental controls. Your settings may be changed in your account preferences at +}; \ No newline at end of file diff --git a/mojotrollz/api/client/client.php b/mojotrollz/api/client/client.php new file mode 100644 index 0000000..23a03d2 --- /dev/null +++ b/mojotrollz/api/client/client.php @@ -0,0 +1,348 @@ + 0); +logdebug("--> a=%s",a.AsHexStr()); +Sha1Hash userhash,xhash,uhash; +userhash.UpdateData(_authstr); +userhash.Finalize(); +xhash.UpdateData(salt.AsByteArray(),salt.GetNumBytes()); +xhash.UpdateData(userhash.GetDigest(),userhash.GetLength()); +xhash.Finalize(); +x.SetBinary(xhash.GetDigest(),xhash.GetLength()); +logdebug("--> x=%s",x.AsHexStr()); +v=g.ModExp(x,N); +logdebug("--> v=%s",v.AsHexStr()); +A=g.ModExp(a,N); +logdebug("--> A=%s",A.AsHexStr()); +uhash.UpdateBigNumbers(&A, &B, NULL); +uhash.Finalize(); +u.SetBinary(uhash.GetDigest(), 20); +logdebug("--> u=%s",u.AsHexStr()); +S=(B - k*g.ModExp(x,N) ).ModExp((a + u * x),N); +logdebug("--> S=%s",S.AsHexStr()); +ASSERT(S.AsDword() > 0); + + +// calc M1 & M2 +unsigned int i=0; +char S1[16+1],S2[16+1]; // 32/2=16 :) +1 for \0 +// split it into 2 seperate strings, interleaved +for(i=0;i<16;i++){ + S1[i]=S.AsByteArray()[i*2]; + S2[i]=S.AsByteArray()[i*2+1]; +} + +// hash each one: +Sha1Hash S1hash,S2hash; +S1hash.UpdateData((const uint8*)S1,16); +S1hash.Finalize(); +S2hash.UpdateData((const uint8*)S2,16); +S2hash.Finalize(); +// Re-combine them +char S_hash[40]; +for(i=0;i<20;i++){ + S_hash[i*2]=S1hash.GetDigest()[i]; + S_hash[i*2+1]=S2hash.GetDigest()[i]; +} +_key.SetBinary((uint8*)S_hash,40); // used later when authing to world +logdebug("--> SessionKey=%s",_key.AsHexStr()); + +char Ng_hash[20]; +Sha1Hash userhash2,Nhash,ghash; +userhash2.UpdateData((const uint8*)user.c_str(),user.length()); +userhash2.Finalize(); +//printchex((char*)userhash2.GetDigest(),userhash2.GetLength(),true); +Nhash.UpdateBigNumbers(&N,NULL); +Nhash.Finalize(); +ghash.UpdateBigNumbers(&g,NULL); +ghash.Finalize(); +for(i=0;i<20;i++)Ng_hash[i] = Nhash.GetDigest()[i]^ghash.GetDigest()[i]; +//printchex(Ng_hash,20,true); + +BigNumber t_acc,t_Ng_hash; +t_acc.SetBinary((const uint8*)userhash2.GetDigest(),userhash2.GetLength()); +t_Ng_hash.SetBinary((const uint8*)Ng_hash,20); + + +Sha1Hash M1hash,M2hash; + +M1hash.UpdateBigNumbers(&t_Ng_hash,&t_acc,&salt,&A,&B,NULL); +M1hash.UpdateData((const uint8*)S_hash,40); +M1hash.Finalize(); + +M2hash.UpdateBigNumbers(&A,NULL); +M2hash.UpdateData((const uint8*)M1hash.GetDigest(),M1hash.GetLength()); +M2hash.UpdateData((const uint8*)S_hash,40); +M2hash.Finalize(); + +logdebug("== Common Hashes =="); +logdebug("--> M1=%s",toHexDump(M1hash.GetDigest(),M1hash.GetLength(),false).c_str()); +logdebug("--> M2=%s",toHexDump(M2hash.GetDigest(),M2hash.GetLength(),false).c_str()); + +// Calc CRC & CRC_hash +// i don't know yet how to calc it, so set it to zero +char crc_hash[20]; +memset(crc_hash,0,20); + +logdebug("--> CRC=%s",toHexDump((uint8*)crc_hash,20,false).c_str()); + + +// now lets prepare the packet +ByteBuffer packet; +packet << (uint8)AUTH_LOGON_PROOF; +packet.append(A.AsByteArray(),A.GetNumBytes()); +packet.append(M1hash.GetDigest(),M1hash.GetLength()); +packet.append(crc_hash,20); +packet << (uint8)0; // number of keys = 0 +packet << (uint8)0; // 1.11.x compatibility (needs one more 0) + +A = g^a +B = kv + g^b +u = H(A, B) +x = H(s, p) +S = (B - kg^x) ^ (a + ux) +K = H(S) +M = H(H(N) xor H(g), H(I), s, A, B, K) + */ + +$N = self::bchexdec($N); +$B = self::bchexdec($B); +$a = rand(1,19*8); +$x = 0; +$v = 0; +//$S = self::bchexdec($read['S']); +$salt = self::bchexdec($salt); +$unk2 = self::bchexdec($unk2); +$g = self::bchexdec($g); +$k = 3;// init BNs, default k to 3 +$user = 'ADMINISTRATOR'; // upper +$user_pass = 'ADMINISTRATOR'; // upper +$auth_str = $user.":".$user_pass; + +$userhash = sha1($auth_str); +$x = sha1($salt.$auth_str); +$v= bcpow($g, $x, $N); +$A = bcpow($g, $a, $N); +$u = sha1($A.$B); +$S= bcpow((bcsub($B, bcmul($k, bcpow($g, $x, $N)))),(bcadd($a, bcmul($u, $x))),$N); //(B - k*g.ModExp(x,N) ).ModExp((a + u * x),N); + +// calc M1 & M2 +$i = 0; +$S1 = ''; +$S2 = ''; +// split it into 2 seperate strings, interleaved +for($i=0;$i<16;$i++){ + $S1 .= substr($S, ($i*2)*2,2); + $S2 .= substr($S, ($i*2+1)*2,2); +} +// hash each one: +$S1hash = sha1($S1); +$S2hash = sha1($S2); +// Re-combine them +$S_hash = ''; +for($i=0;$i<20;$i++){ + $S_hash .= substr($S1hash, $i*2,2); + $S_hash .= substr($S2hash, $i*2,2); +} +$key = $S_hash;// used later when authing to world(session key) + +$userhash2 = sha1($user); +$Nhash = sha1($N); +$ghash = sha1($g); +$Ng_hash = ''; +for($i=0;$i<20;$i++){ + $Ng_hash .= hexdec(substr($Nhash, $i*2,2))^hexdec(substr($ghash, $i*2,2));}; + +$t_acc = $userhash2; +$t_Ng_hash = $Ng_hash; + +$M1hash = sha1($t_Ng_hash.$t_acc.$salt.$A.$B); +$M2hash = sha1($M1hash.$S_hash); + +$A_hex = self::bcdechex($A); + +// Calc CRC & CRC_hash +// i don't know yet how to calc it, so set it to zero +//... +$res = array( 'N' => $N, + 'A' => $A, + 'B' => $B, + 'g' => $g, + 'a' => $a, + 'u' => $u, + 'x' => $x, + 'v' => $v, + 'S' => $S, + 'salt' => $salt, + 'unk2' => $unk2, + 'user' => $user, + 'user_pass' => $user_pass, + 'auth_str' => $auth_str, + 'A_hex' => $A_hex, + 'M1hash' => $M1hash, + substr($A_hex,1,2), substr($A_hex,3,2),substr($A_hex,5,2),substr($A_hex,7,2),substr($A_hex,9,2),substr($A_hex,11,2),substr($A_hex,13,2),substr($A_hex,15,2),substr($A_hex,17,2),substr($A_hex,19,2),substr($A_hex,21,2),substr($A_hex,23,2),substr($A_hex,25,2),substr($A_hex,27,2),substr($A_hex,29,2),substr($A_hex,31,2),substr($A_hex,33,2),substr($A_hex,35,2),substr($A_hex,37,2),substr($A_hex,39,2),substr($A_hex,41,2),substr($A_hex,43,2),substr($A_hex,45,2),substr($A_hex,47,2),substr($A_hex,49,2),substr($A_hex,51,2),substr($A_hex,53,2),substr($A_hex,55,2),substr($A_hex,57,2),substr($A_hex,59,2),substr($A_hex,61,2),substr($A_hex,63,2)); +new WARNING(print_r($res,true)); + $out = pack('hh32h20hhhhhhhhhhhhhhhhhhhhhh', //'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',//'hh32h20hhhhhhhhhhhhhhhhhhhhhh', + AuthCmd::AUTH_LOGON_PROOF, //Command + $A_hex,//substr($A_hex,1,2), substr($A_hex,3,2),substr($A_hex,5,2),substr($A_hex,7,2),substr($A_hex,9,2),substr($A_hex,11,2),substr($A_hex,13,2),substr($A_hex,15,2),substr($A_hex,17,2),substr($A_hex,19,2),substr($A_hex,21,2),substr($A_hex,23,2),substr($A_hex,25,2),substr($A_hex,27,2),substr($A_hex,29,2),substr($A_hex,31,2),substr($A_hex,33,2),substr($A_hex,35,2),substr($A_hex,37,2),substr($A_hex,39,2),substr($A_hex,41,2),substr($A_hex,43,2),substr($A_hex,45,2),substr($A_hex,47,2),substr($A_hex,49,2),substr($A_hex,51,2),substr($A_hex,53,2),substr($A_hex,55,2),substr($A_hex,57,2),substr($A_hex,59,2),substr($A_hex,61,2),substr($A_hex,63,2), //A self::bcdechex($A), substr($A_hex,1,64),// $A_hex,// + $M1hash, //0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, //M1 $M1hash,//substr($M1hash,1,40),//$M1hash,// + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //CRC + 0x00, //Keys + 0x00 //unk + ); + return $out; + } + + public static function import($ip){ + new INFO('Tryin to Connect to '.$ip); + $errno = $errstr = ''; + $fp = fsockopen($ip , 3724, $errno, $errstr, 1000); + //socket_set_blocking( $fp, false ); + if (!$fp) { + new ERROR("ERROR: $errno - $errstr"); + } else { + new INFO('Connection established'); + + $out = self::logon_challenge(); + new WARNING($out); + //new WARNING(bin2hex($out)); + fwrite($fp, $out); + $read = fread($fp, 119);//stream_get_contents($fp); //fread($fp, 1); + $read = self::server_logon_challenge($read); + new WARNING(print_r($read,true)); + $out = self::logon_proof($read['N'],$read['B'],$read['salt'],$read['unk2']); + new WARNING($out); + fwrite($fp, $out); + fclose($fp); + new WARNING("success"); + } + } + + private static function bchexdec($hex) + { + $dec = 0; + $len = strlen($hex); + for ($i = 1; $i <= $len; $i++) { + $dec = bcadd($dec, bcmul(strval(hexdec($hex[$i - 1])), bcpow('16', strval($len - $i)))); + } + return $dec; + } + private static function bcdechex($dec) { + $last = bcmod($dec, 16); + $remain = bcdiv(bcsub($dec, $last), 16); + if($remain == 0) { + return dechex($last); + } else { + return self::bcdechex($remain).dechex($last); + } + } +} diff --git a/mojotrollz/api/database/database.php b/mojotrollz/api/database/database.php new file mode 100644 index 0000000..b8138e2 --- /dev/null +++ b/mojotrollz/api/database/database.php @@ -0,0 +1,17 @@ +&1');} + public static function pull(){ + return shell_exec('/home/mojotrolls/mojo_zero/src/database/mojo/pull 2>&1');} + public static function push(){ + return shell_exec('/home/mojotrolls/mojo_zero/src/database/mojo/push 2>&1');} + public static function push_dev(){ + return shell_exec('/home/mojotrolls/mojo_zero/src/database/mojo/push_dev 2>&1');} + public static function commit($comment){ + return shell_exec('/home/mojotrolls/mojo_zero/src/database/mojo/commit '.$comment.' 2>&1');} +} diff --git a/mojotrollz/api/db/wow_db.php b/mojotrollz/api/db/wow_db.php deleted file mode 100644 index d17fe9f..0000000 --- a/mojotrollz/api/db/wow_db.php +++ /dev/null @@ -1,7 +0,0 @@ -&1'); + ($res == 1) ? new WOW_STATS_REALM_ONLINE() : new WOW_STATS_REALM_OFFLINE(); + return ($res == 1) ? 'on' : 'off';} + + public static function start(){ + return shell_exec('/home/mojotrolls/mojo_zero/realm start 2>&1');} + public static function stop(){ + return shell_exec('/home/mojotrolls/mojo_zero/realm stop 2>&1');} +} \ No newline at end of file diff --git a/mojotrollz/api/server/server.php b/mojotrollz/api/server/server.php new file mode 100644 index 0000000..44b569c --- /dev/null +++ b/mojotrollz/api/server/server.php @@ -0,0 +1,14 @@ +&1');} + public static function deploy(){ + return shell_exec('/home/mojotrolls/mojo_zero/deploy 2>&1');} + public static function revert(){ + return shell_exec('/home/mojotrolls/mojo_zero/revert 2>&1');} + public static function rights(){ + return shell_exec('/home/mojotrolls/mojo_zero/rights 2>&1');} + public static function update(){ + return shell_exec('/home/mojotrolls/mojo_zero/update 2>&1');} +} + diff --git a/mojotrollz/api/world/world.php b/mojotrollz/api/world/world.php new file mode 100644 index 0000000..6355320 --- /dev/null +++ b/mojotrollz/api/world/world.php @@ -0,0 +1,11 @@ +&1'); + ($res == 1) ? new WOW_STATS_WORLD_ONLINE() : new WOW_STATS_WORLD_OFFLINE(); + return ($res == 1) ? 'on' : 'off';} + public static function start(){ + return shell_exec('/home/mojotrolls/mojo_zero/world start 2>&1');} + public static function stop(){ + return shell_exec('/home/mojotrolls/mojo_zero/world stop 2>&1');} +} diff --git a/mojotrollz/autoload.inc.php b/mojotrollz/autoload.inc.php index d7f0970..82d87c0 100644 --- a/mojotrollz/autoload.inc.php +++ b/mojotrollz/autoload.inc.php @@ -1,9 +1,8 @@ registerFolder(dirname(__FILE__).'/tbl/definitions/','DBD\DEFINITIONS'); //$autoload->registerFolder(dirname(__FILE__).'/tbl/data/','DBD\DATA'); //$autoload->registerFolder(dirname(__FILE__).'/tbl/data_processed/','DBD\DATA_PROCESSED'); \ No newline at end of file diff --git a/mojotrollz/dbd/db/mangos_chars.php b/mojotrollz/dbd/db/mangos_chars.php index e1e6b98..5ce9680 100644 --- a/mojotrollz/dbd/db/mangos_chars.php +++ b/mojotrollz/dbd/db/mangos_chars.php @@ -4,5 +4,5 @@ namespace DBD; class mangos_chars extends \SYSTEM\DB\DBInfoMYS { public function __construct() { - parent::__construct('mangos_one_chars', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');} + parent::__construct('mangos_zero_chars', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');} } diff --git a/mojotrollz/dbd/db/mangos_world.php b/mojotrollz/dbd/db/mangos_world.php index d75586b..f1eba89 100644 --- a/mojotrollz/dbd/db/mangos_world.php +++ b/mojotrollz/dbd/db/mangos_world.php @@ -4,5 +4,5 @@ namespace DBD; class mangos_world extends \SYSTEM\DB\DBInfoMYS { public function __construct() { - parent::__construct('mangos_one_world', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');} + parent::__construct('mangos_zero_world', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');} } \ No newline at end of file diff --git a/mojotrollz/dbd/qq/ONLINE_STATS.php b/mojotrollz/dbd/qq/ONLINE_STATS.php new file mode 100644 index 0000000..fd05c7b --- /dev/null +++ b/mojotrollz/dbd/qq/ONLINE_STATS.php @@ -0,0 +1,21 @@ + gain Mojo +(- Donate -> gain Mojo) +- News +- Server Status + - Accounts count + - Characters count + - Uptime + - Top 10 +-Account + - Vote Stuff + - Accepte Votereward quests (no payment on website) + - Characters + - Inventory/Bank/GBank/Aditional Bank + - Model/Items/Stats... + - Skilltree(ig) -> share options?! + - Database (able 2 tag entrys for bugged/blizzlike/working...) + - Quests + - Creatures + Drop + - Items + - Skilltree(web) + - Archievements + - OnKill + - First kill mob + - Kill mob + - Kill Player + - OnQuestComplete + - OnRoll (100/1) (in lootroll) + - OnCraft + - OnLearn + - OnAHSell + - OnAHBuy + - OnAHCancel + - OnExplore + - OnDeath + - OnLoot (recieve any type of item) + - Minigames?! + - Low lvl materials + - lvling + - Round base duel +- Gm Tool + - Edit Database + - Deploy Database + - Servercontroll + - Shutdown + - Update + - Ticket Management + - Ingame Mail + - Character Management + - Backup + - Bugreports/Database error list/crashes + +# Login +- Required Data of the User + - Nick + - Password +- Forgotten Password? + - EMail + Link + - if set ask Date of Birth, ICQ number, Name, Lastname, Charactername +- Allow openid for login + +# Register +- Reuqired Data of the User + - Nickname + - Password x2 + - Captcha + - EMail +- Optional Data of the User(can be set later in profile, not while registering) + - Name + - Lastname + - ICQ + - Date of Birth +- Allow openid for retriving informations/registering + +# Server Info +- Name +- Game Version 2.4.3 +- Client Download +- Realmlist (file or text) +- Rates + Custom Content +- Average Lvltime guessed + +# Vote +- Set Charactername whom 2 send to. (if logged in -> character list is provided, if not you can type random name, leave blank or randomize for random character) +- Limitation of votes + +# News +- Server news, chronologically, requires one picture! (no more posts without pictures) + +# Server Status +- Accounts count +- Characters count +- Average Lvl time (only if its acceptable!) +- Uptime +- Top 10 + - TOP PVE + - TOP PVP + - TOP Quest + - TOP Guild + - TOP Playtime + - TOP BossKills + - TOP Firstkills + - TOP Firstkills Boss + - TOP Duels + +# Skilltree(web) -> costs mojo(how 2 transfere?) (should mostly start a quest to unlock the feature) +- Survival Tree - Character + - [C] Mojo Postbox (unlocks quest) + - [C] HS Cooldownreduction (unlocks quest) + - 3x + - [C/A] Dual Specc(changed on website/spell) + - on 8 x 1 chars + - [C/A] Dual Gear (changed on website/spell) + - on 8 x 1 chars + - [C] Tripple Gear + - on 1 char + - [C] Tripple Specc + - [C] Click on Button Spell -> to make ur char look nice -> buy skill click on button on website 2 gain shit + - [C] Tabarts(normal tabart quests) + - [C] Mana/Hp Pot quest(daily 5x pot on choise + task) + - [C] Scroll quests(daily 1x scroll of choise, insta completed) + - [C] Summon Trainer of ur Class 1d cd (spell?) (not in instances) (not indoor?) + - [C] Summon Trader + - [C] Summon Repairer + - [C] Multichar + - lvl 19 pvp + - lvl 39 pvp + - lvl 60 pvp/pve + + normal 70. + - [C] Craft cooldownreduction + 5% x 5 + - [C] MoreQuests in Questlog + - 10x 1 +- Trader Tree(Web Tree) - account + - [A] Database access + - Quests + - Items + - Creatures + - [A] AH Access (if Char is in City (CIIC)) + - Buy(only bid/also buyout) + - Sell(only bid/also buyout) + - [A] Bank Access (CIIC) + - Put + - Pop + - [A] Guildbank Access (CIIC) + - Put + - Pop + - [A] AH fee reduction + - [A] AH item count+ + - [A] Aditional Website bank per account(items are charbound) + - 5 + - 10 + - 15 + - 20 + - 25 + x3 pages +1 per alt max 6 + - [A] In between bank for characters on the same account (char in city can put/pop from that bank - not bop items ofc) + - 2 Slots + - 5 Slots + - 10 Slots + - [A] Permanent Auctions (1x bigger fee, keeps item in ah till all of that kind(or number) are sold) + - 1x 10 + - [A] Permanent Auctions dont count as normal auctions + - [A] Send Mail/Read Mail + - normal + - with gold + - with item + - with cod + - [A] Mojo AH (items/chars) for mojo (chars for green) + - [A] Trade AH (offer item/s, request item/s) + - [A] Charbank (have more then 8 chars on 1 acc) + - [A] Lend Chars -> chars can be logged by authorized pplz, but will be restored to the version before logging -> temporary transfere + - [A] Log more chars from one account +- GM Tree - account + - Ability to mark a quest as working(giving mojo if confirmed) + - Ability to mark a quest as bugged + - Ability to mark a quest as blizzlike + - .g i command available (all chars) + - .s i command available (all chars) + - .player reputation available (all chars) + - Ability to mark a Item as working + - Ability to mark a Item as bugged + - Ability to mark a Item as blizzlike + - Ability to mark a Mob as working + - Ability to mark a Mob as bugged + - Ability to mark a Mob as blizzlike + - GM character (testserver) + - GM character (liveserver) + - Moderator Character (liveserver) + - ingame commands for bugreport?! + +- Skills may require + - Approve + - Mojo(web) + - Bugreports / Accepted Bugreports + - Fixes / Accepted Fixes + - Playtime + - Gold + - Other Skills + - Character lvl x + - Achievement x + - Character Spell x + - Duel Win/loose \ No newline at end of file diff --git a/mojotrollz/files/register_files.php b/mojotrollz/files/register_files.php index 6e49c35..a1f901d 100644 --- a/mojotrollz/files/register_files.php +++ b/mojotrollz/files/register_files.php @@ -4,4 +4,5 @@ \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/buttons/','buttons','*.png'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/backgrounds/','backgrounds','*.png'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/wow_city_icons/','wow_city_icons','*.png'); -\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/default_page/','default_page','*.png'); \ No newline at end of file +\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/default_page/','default_page','*.png'); +\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/','skilltree','*.*'); \ No newline at end of file diff --git a/mojotrollz/files/skilltree/left.png b/mojotrollz/files/skilltree/left.png new file mode 100644 index 0000000..3ddc583 Binary files /dev/null and b/mojotrollz/files/skilltree/left.png differ diff --git a/mojotrollz/files/skilltree/left_yellow.png b/mojotrollz/files/skilltree/left_yellow.png new file mode 100644 index 0000000..ace6074 Binary files /dev/null and b/mojotrollz/files/skilltree/left_yellow.png differ diff --git a/mojotrollz/files/skilltree/leftdown.png b/mojotrollz/files/skilltree/leftdown.png new file mode 100644 index 0000000..c71226e Binary files /dev/null and b/mojotrollz/files/skilltree/leftdown.png differ diff --git a/mojotrollz/files/skilltree/leftdown_yellow.png b/mojotrollz/files/skilltree/leftdown_yellow.png new file mode 100644 index 0000000..839b058 Binary files /dev/null and b/mojotrollz/files/skilltree/leftdown_yellow.png differ diff --git a/mojotrollz/files/skilltree/mini-pal.gif b/mojotrollz/files/skilltree/mini-pal.gif new file mode 100644 index 0000000..cc2a679 Binary files /dev/null and b/mojotrollz/files/skilltree/mini-pal.gif differ diff --git a/mojotrollz/files/skilltree/right.png b/mojotrollz/files/skilltree/right.png new file mode 100644 index 0000000..8c10398 Binary files /dev/null and b/mojotrollz/files/skilltree/right.png differ diff --git a/mojotrollz/files/skilltree/right_yellow.png b/mojotrollz/files/skilltree/right_yellow.png new file mode 100644 index 0000000..8674ecb Binary files /dev/null and b/mojotrollz/files/skilltree/right_yellow.png differ diff --git a/mojotrollz/files/skilltree/rightdown.png b/mojotrollz/files/skilltree/rightdown.png new file mode 100644 index 0000000..77da4f8 Binary files /dev/null and b/mojotrollz/files/skilltree/rightdown.png differ diff --git a/mojotrollz/files/skilltree/rightdown_yellow.png b/mojotrollz/files/skilltree/rightdown_yellow.png new file mode 100644 index 0000000..b8cd956 Binary files /dev/null and b/mojotrollz/files/skilltree/rightdown_yellow.png differ diff --git a/mojotrollz/files/skilltree/spacer.gif b/mojotrollz/files/skilltree/spacer.gif new file mode 100644 index 0000000..583637c Binary files /dev/null and b/mojotrollz/files/skilltree/spacer.gif differ diff --git a/mojotrollz/files/skilltree/tooltip.gif b/mojotrollz/files/skilltree/tooltip.gif new file mode 100644 index 0000000..a643df7 Binary files /dev/null and b/mojotrollz/files/skilltree/tooltip.gif differ diff --git a/mojotrollz/files/wowicons/UI-EmptySlot.png b/mojotrollz/files/wowicons/UI-EmptySlot.png new file mode 100644 index 0000000..f4e1971 Binary files /dev/null and b/mojotrollz/files/wowicons/UI-EmptySlot.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-ammo.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-ammo.png new file mode 100644 index 0000000..41f2f9f Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-ammo.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-back.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-back.png new file mode 100644 index 0000000..f5338bf Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-back.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-chest.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-chest.png new file mode 100644 index 0000000..9a8db3e Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-chest.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-empty.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-empty.png new file mode 100644 index 0000000..966f9b4 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-empty.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-empty2.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-empty2.png new file mode 100644 index 0000000..aa656e7 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-empty2.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-feet.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-feet.png new file mode 100644 index 0000000..86dd981 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-feet.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-finger.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-finger.png new file mode 100644 index 0000000..b26c9ad Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-finger.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-hands.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-hands.png new file mode 100644 index 0000000..c254747 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-hands.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-head.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-head.png new file mode 100644 index 0000000..b48b953 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-head.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-legs.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-legs.png new file mode 100644 index 0000000..8aa0da3 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-legs.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-mainhand.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-mainhand.png new file mode 100644 index 0000000..b8c0b50 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-mainhand.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-neck.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-neck.png new file mode 100644 index 0000000..8477166 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-neck.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-ranged.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-ranged.png new file mode 100644 index 0000000..50b626b Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-ranged.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-relic.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-relic.png new file mode 100644 index 0000000..17fb805 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-relic.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-secondaryhand.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-secondaryhand.png new file mode 100644 index 0000000..286f115 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-secondaryhand.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-shirt.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-shirt.png new file mode 100644 index 0000000..233d269 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-shirt.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-shoulder.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-shoulder.png new file mode 100644 index 0000000..8838503 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-shoulder.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-tabard.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-tabard.png new file mode 100644 index 0000000..1d4cea9 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-tabard.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-trinket.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-trinket.png new file mode 100644 index 0000000..2efce39 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-trinket.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-waist.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-waist.png new file mode 100644 index 0000000..24ef757 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-waist.png differ diff --git a/mojotrollz/files/wowicons/Ui-paperdoll-slot-wrists.png b/mojotrollz/files/wowicons/Ui-paperdoll-slot-wrists.png new file mode 100644 index 0000000..7ebef57 Binary files /dev/null and b/mojotrollz/files/wowicons/Ui-paperdoll-slot-wrists.png differ diff --git a/mojotrollz/files/wowicons/default.png b/mojotrollz/files/wowicons/default.png new file mode 100644 index 0000000..3bd7c37 Binary files /dev/null and b/mojotrollz/files/wowicons/default.png differ diff --git a/mojotrollz/files/wowicons/default_default.png b/mojotrollz/files/wowicons/default_default.png new file mode 100644 index 0000000..abb4c79 Binary files /dev/null and b/mojotrollz/files/wowicons/default_default.png differ diff --git a/mojotrollz/files/wowicons/default_female.png b/mojotrollz/files/wowicons/default_female.png new file mode 100644 index 0000000..abb4c79 Binary files /dev/null and b/mojotrollz/files/wowicons/default_female.png differ diff --git a/mojotrollz/files/wowicons/default_male.png b/mojotrollz/files/wowicons/default_male.png new file mode 100644 index 0000000..abb4c79 Binary files /dev/null and b/mojotrollz/files/wowicons/default_male.png differ diff --git a/mojotrollz/files/wowicons/warrior.png b/mojotrollz/files/wowicons/warrior.png index 7051fab..cae71b5 100644 Binary files a/mojotrollz/files/wowicons/warrior.png and b/mojotrollz/files/wowicons/warrior.png differ diff --git a/mojotrollz/log/WOW_STATS_PLAYER_ONLINE.php b/mojotrollz/log/WOW_STATS_PLAYER_ONLINE.php new file mode 100644 index 0000000..e682195 --- /dev/null +++ b/mojotrollz/log/WOW_STATS_PLAYER_ONLINE.php @@ -0,0 +1,5 @@ +id =$id; + } + public function html(){ + $data = \SYSTEM\locale::getStrings(\DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT); + if(!array_key_exists($this->id, $data)){ + return $data['default'];} + return $data[$this->id]; + } +} + diff --git a/mojotrollz/page/default_page/css/default_page.css b/mojotrollz/page/default_page/css/default_page.css index 04b4ec1..1940807 100644 --- a/mojotrollz/page/default_page/css/default_page.css +++ b/mojotrollz/page/default_page/css/default_page.css @@ -1,3 +1,7 @@ +#mojopulse { + padding-top: 15px; +} + body { color: gold; } @@ -45,7 +49,7 @@ body { #frame_main { //width: 1000px; position: absolute; - width: 60%; + width: 1000px; top: 20%; left: 20%; //-webkit-box-shadow: 3px 3px 4px 2px rgba(0, 0, 0, 1); @@ -79,19 +83,20 @@ body { #frame_content_left { float: left; color: black; - width: 30%; + width: 300px; } #frame_content_center { - width: 30%; + width: 300px; margin: 1.5%; - margin-left: 34.5%; + margin-left: 320px; } #frame_content_right { float: right; - width: 30%; - margin: 1.5%; + width: 280px; + margin-left: 1.5%; + margin-right: 1.5%; } #frame_footer{ diff --git a/mojotrollz/page/default_page/default_page.php b/mojotrollz/page/default_page/default_page.php index 6c8cfac..887c59a 100644 --- a/mojotrollz/page/default_page/default_page.php +++ b/mojotrollz/page/default_page/default_page.php @@ -8,30 +8,34 @@ class default_page extends SYSTEM\PAGE\Page { ''. ''. ''. + ''. + ''. + ''. ''. + ''. ''. + ''. + ''. ''; } private function css (){ return ''. ''. - ''; + ''. + ''; } public function html(){ $vars = array(); $vars['js'] = $this->js(); $vars['css'] = $this->css(); - $vars['default_page_welcome'] = \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/default_page_welcome.tpl'), array()); - $vars['default_page_serverinfo'] = \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/default_page_serverinfo.tpl'), - array('database_version' => wow_db::version())); - $vars['default_page_login'] = \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/default_page_login.tpl'), array()); - $vars['default_page_toolbar'] = \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/default_page_toolbar.tpl'), array()); $vars['PICPATH'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=default_page&id='; $vars['copyright'] = ''; $vars['inprint'] = ''; - $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE)); + $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE), + \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_SERVERINFO), + \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_BASIC)); return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/default_page.tpl'), $vars); } } \ No newline at end of file diff --git a/mojotrollz/page/default_page/default_page.tpl b/mojotrollz/page/default_page/default_page.tpl index cef302f..4f24732 100644 --- a/mojotrollz/page/default_page/default_page.tpl +++ b/mojotrollz/page/default_page/default_page.tpl @@ -15,51 +15,9 @@
-
+
-
-
${default_page_welcome}
-
-
-
-
-
-
-
-
-
-
${default_page_login}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
${default_page_serverinfo}
-
-
-
-
-
-
-
-
-
-
-
${default_page_toolbar}
-
+
+ placeholder="${basic_password}" + minlength="5" data-validation-minlength-message="${basic_password_short}" + maxlength="16" data-validation-maxlength-message="${basic_password_long}" + required data-validation-required-message="${basic_password_miss}"/>
+ id="login_submit">${basic_login}
- \ No newline at end of file + +
\ No newline at end of file diff --git a/mojotrollz/page/default_page/default_page_serverinfo.tpl b/mojotrollz/page/default_start/default_page_serverinfo.tpl similarity index 51% rename from mojotrollz/page/default_page/default_page_serverinfo.tpl rename to mojotrollz/page/default_start/default_page_serverinfo.tpl index ea8dca7..db4d48a 100644 --- a/mojotrollz/page/default_page/default_page_serverinfo.tpl +++ b/mojotrollz/page/default_start/default_page_serverinfo.tpl @@ -5,9 +5,11 @@

Database Version: ${database_version}

Server Status

+This Server is currently closed for the Public. Be gone.

Realm Server: ${realm_status}

World Server: ${world_status}

+

Players Online: ${player_online}

Server Help

-

Download realmlist.wtf

-

Download WoW 1.12

\ No newline at end of file +

Download realmlist.wtf

+

Download WoW 1.12

\ No newline at end of file diff --git a/mojotrollz/page/default_page/default_page_toolbar.tpl b/mojotrollz/page/default_start/default_page_toolbar.tpl similarity index 100% rename from mojotrollz/page/default_page/default_page_toolbar.tpl rename to mojotrollz/page/default_start/default_page_toolbar.tpl diff --git a/mojotrollz/page/default_start/default_page_welcome.tpl b/mojotrollz/page/default_start/default_page_welcome.tpl new file mode 100644 index 0000000..820db93 --- /dev/null +++ b/mojotrollz/page/default_start/default_page_welcome.tpl @@ -0,0 +1,11 @@ +

Welcome Traveler

+

Welcome to WoW Hardmode. +
+ This site is under construction. +
+ Feel free to snoop around. +

+
+
+ +
\ No newline at end of file diff --git a/mojotrollz/page/default_start/default_start.php b/mojotrollz/page/default_start/default_start.php new file mode 100644 index 0000000..e586ef9 --- /dev/null +++ b/mojotrollz/page/default_start/default_start.php @@ -0,0 +1,24 @@ +${default_page_welcome} +
+
+
+
+
+
+
+
+
+
${default_page_login}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
${default_page_serverinfo}
+
+
+
+
+
+
+
+
+
+
+
${default_page_toolbar}
\ No newline at end of file diff --git a/mojotrollz/page/page_mojotrollz.php b/mojotrollz/page/page_mojotrollz.php index 24c7db5..e8c7c2f 100644 --- a/mojotrollz/page/page_mojotrollz.php +++ b/mojotrollz/page/page_mojotrollz.php @@ -3,41 +3,66 @@ class page_mojotrollz extends \SYSTEM\API\api_default { public static function default_page(){ + if(\SYSTEM\SECURITY\Security::isLoggedIn()){ + return new user_default();} return new default_page();} + + //Default Start + public static function page_default_start(){ + return new default_start();} - public static function action_wizard_details(){ + //Wizard + public static function page_wizard_details(){ return new wizard_details();} - public static function action_wizard_visuals(){ + public static function page_wizard_visuals(){ return new wizard_visuals();} - public static function action_wizard_friend(){ + public static function page_wizard_friend(){ return new wizard_friend();} - public static function action_wizard_skills(){ + public static function page_wizard_skills(){ return new wizard_skills();} - public static function action_wizard_spawn(){ + public static function page_wizard_spawn(){ return new wizard_spawn();} - public static function action_wizard_summ(){ + public static function page_wizard_summ(){ return new wizard_summ();} - public static function action_wizard_reg(){ + public static function page_wizard_reg(){ return new wizard_reg();} - public static function action_wizard_toolbar(){ - return new wizard_toolbar();} + public static function page_wizard_toolbar($last,$next){ + return new wizard_toolbar($last,$next);} - public static function action_user_news(){ - return new user_news();} - - public static function action_user_guild(){ - return new user_guild();} - - public static function action_user_bank(){ - return new user_bank();} + //Get Info Data + public static function page_default_info($id){ + return new default_info($id);} - public static function action_user_logout(){ + //User Area + public static function page_user_start(){ + if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ + throw new ERROR("You need to be logged in to view this ressource.");} + return new user_start();} + + public static function page_user_character(){ + if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ + throw new ERROR("You need to be logged in to view this ressource.");} + return new user_character();} + + public static function page_user_menu(){ + if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ + throw new ERROR("You need to be logged in to view this ressource.");} + return new user_menu();} + + public static function page_user_database(){ + if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ + throw new ERROR("You need to be logged in to view this ressource.");} + return new user_database();} + + public static function page_user_logout(){ + if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ + throw new ERROR("You need to be logged in to view this ressource.");} return new user_logout();} } diff --git a/mojotrollz/page/register_page_classes.php b/mojotrollz/page/register_page_classes.php deleted file mode 100644 index 85100ae..0000000 --- a/mojotrollz/page/register_page_classes.php +++ /dev/null @@ -1,15 +0,0 @@ -'. + ''. + ''. + ''. + ''. + ''. + ''. + ''. + ''; + } + + private function css (){ + return ''. + ''. + ''; + } + + public function html(){ + $vars = array(); + $vars['js'] = $this->js(); + $vars['css'] = $this->css(); + $vars['PICPATH'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=default_page&id='; + $vars['copyright'] = ''; + $vars['inprint'] = ''; + $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE), + \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_SERVERINFO), + \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_BASIC)); + return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_default/user_default.tpl'), $vars); + + } +} \ No newline at end of file diff --git a/mojotrollz/page/user_default/user_default.tpl b/mojotrollz/page/user_default/user_default.tpl new file mode 100644 index 0000000..2356f12 --- /dev/null +++ b/mojotrollz/page/user_default/user_default.tpl @@ -0,0 +1,35 @@ + + + + ${mojotrollz_page_title} + + ${css} + ${js} + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + \ No newline at end of file diff --git a/mojotrollz/page/user_guild/guild.tpl b/mojotrollz/page/user_guild/guild.tpl deleted file mode 100644 index a188979..0000000 --- a/mojotrollz/page/user_guild/guild.tpl +++ /dev/null @@ -1,55 +0,0 @@ -
- -
- My Guild -
- -
- Wanted -
-
-
-

Guild Achievements

-
- - - - -
-
-
- - - - -
-
-
- - - - - -
-
-
- -
- - -
- -
-
- - - Molanor
- -
-
\ No newline at end of file diff --git a/mojotrollz/page/user_guild/js/user_guild.js b/mojotrollz/page/user_guild/js/user_guild.js deleted file mode 100644 index 18840e2..0000000 --- a/mojotrollz/page/user_guild/js/user_guild.js +++ /dev/null @@ -1,13 +0,0 @@ -function user_guild (){ - $('.hakkar').qtip({ - content: 'Downed Hakkar', - position: { - corner: { - target: 'topRight', - tooltip: 'bottomLeft' - } - } -}); - - -} diff --git a/mojotrollz/page/user_guild/user_guild.php b/mojotrollz/page/user_guild/user_guild.php deleted file mode 100644 index 64a9026..0000000 --- a/mojotrollz/page/user_guild/user_guild.php +++ /dev/null @@ -1,25 +0,0 @@ -js(); - $vars['css'] = $this->css(); - $vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=wowicons&id='; - $vars['BG'] = \SYSTEM\IMG\img::getURL('backgrounds'); - $vars['BUTTONS'] = \SYSTEM\IMG\img::getURL('buttons'); - $vars['WOW_BOSS_ICONS'] = \SYSTEM\IMG\img::getURL('wow_boss_icons'); - $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE)); - $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT_RACES)); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_guild/guild.tpl'), $vars); - - } -} \ No newline at end of file diff --git a/mojotrollz/page/user_menu/user_menu.php b/mojotrollz/page/user_menu/user_menu.php new file mode 100644 index 0000000..126612b --- /dev/null +++ b/mojotrollz/page/user_menu/user_menu.php @@ -0,0 +1,8 @@ + +
  • News
  • +
  • Database
  • +
  • Logout
  • + + + \ No newline at end of file diff --git a/mojotrollz/page/user_news/news.tpl b/mojotrollz/page/user_news/news.tpl deleted file mode 100644 index f2ba8f8..0000000 --- a/mojotrollz/page/user_news/news.tpl +++ /dev/null @@ -1 +0,0 @@ -abc \ No newline at end of file diff --git a/mojotrollz/page/user_news/user_news.php b/mojotrollz/page/user_news/user_news.php deleted file mode 100644 index 1d7fb12..0000000 --- a/mojotrollz/page/user_news/user_news.php +++ /dev/null @@ -1,22 +0,0 @@ -js(); - $vars['css'] = $this->css(); - $vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=img&cat=wowicons&id='; - $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE)); - $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT_RACES)); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_news/news.tpl'), $vars); - - } -} \ No newline at end of file diff --git a/mojotrollz/page/user_start/user_start.php b/mojotrollz/page/user_start/user_start.php new file mode 100644 index 0000000..b49a4e5 --- /dev/null +++ b/mojotrollz/page/user_start/user_start.php @@ -0,0 +1,15 @@ + +

    Server Info

    +

    Realmlist: ${realmlist}

    +

    Server Version: ${server_version}

    +

    Client Version: ${client_version}

    +
    + +

    Realm Server: ${realm_status}

    +

    World Server: ${world_status}

    +

    Players Online: ${player_online}

    + +

    Server Help

    +

    Download realmlist.wtf

    +

    Download WoW 1.12

    + \ No newline at end of file diff --git a/mojotrollz/page/wizard_details/details.tpl b/mojotrollz/page/wizard_details/details.tpl index a4a099a..3ca7c98 100644 --- a/mojotrollz/page/wizard_details/details.tpl +++ b/mojotrollz/page/wizard_details/details.tpl @@ -1,47 +1,47 @@ -
    -
    - - +
    + +
    - - - - + + + +
    - - - - + + + +
    - - - - + + + +
    - - - - + + + +
    - - + +
    - - + +
    - - + +
    - - + + +
    +
    - -