Merge branch 'master' of mojotrollz.eu:wow-server/mojo_zero_web into pagestate

This commit is contained in:
Ulf Gebhardt 2014-11-12 17:28:51 +01:00
commit d97ad458eb
22 changed files with 290 additions and 32 deletions

View File

@ -0,0 +1,65 @@
<?php
class player_races {
const HUMAN = 1;
const HUMAN_NAME = 'human';
const ORK = 2;
const ORK_NAME = 'ork';
const DWARF = 3;
const DWARF_NAME = 'dwarf';
const NIGHTELF = 4;
const NIGHTELF_NAME = 'nightelf';
const SCOURGE = 5;
const SCOURGE_NAME = 'scourge';
const TAUREN = 6;
const TAUREN_NAME = 'tauren';
const GNOME = 7;
const GNOME_NAME = 'gnome';
const TROLL = 8;
const TROLL_NAME = 'troll';
public static function name($race){
switch($race){
case self::HUMAN:
return self::HUMAN_NAME;
case self::ORK:
return self::ORK_NAME;
case self::DWARF:
return self::DWARF_NAME;
case self::NIGHTELF:
return self::NIGHTELF_NAME;
case self::SCOURGE:
return self::SCOURGE_NAME;
case self::TAUREN:
return self::TAUREN_NAME;
case self::GNOME:
return self::GNOME_NAME;
case self::TROLL:
return self::TROLL_NAME;
default:
return 'race not valid';
}
}
public static function is($class){
switch($class){
case self::HUMAN:
case self::ORK:
case self::DWARF:
case self::NIGHTELF:
case self::SCOURGE:
case self::TAUREN:
case self::GNOME:
case self::TROLL:
return true;
default:
return false;
}
}
}

View File

@ -7,7 +7,7 @@ class CHAR_STATS extends \SYSTEM\DB\QQ {
//pg
'',
//mys
'SELECT race,COUNT(*) FROM characters group by race;',
'SELECT race,COUNT(*) as count FROM characters group by race ORDER BY count DESC;',
new \DBD\mangos_chars()
);}}

View File

@ -0,0 +1,13 @@
<?php
namespace DBD;
class CLASS_STATS extends \SYSTEM\DB\QQ {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT class,COUNT(*) as count FROM characters group by class ORDER BY count DESC;',
new \DBD\mangos_chars()
);}}

View File

@ -0,0 +1,13 @@
<?php
namespace DBD;
class COUNT_GUILDS extends \SYSTEM\DB\QQ {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT COUNT(*) as count FROM guild;',
new \DBD\mangos_chars()
);}}

View File

@ -0,0 +1,14 @@
<?php
namespace DBD;
class FACTION_BALANCE extends \SYSTEM\DB\QQ {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT sum(case when race = 1 or race = 3 or race = 4 or race = 7 then 1 else 0 end) class_alliance,
sum(case when race = 2 or race = 5 or race = 6 or race = 8 then 1 else 0 end) class_horde FROM characters;',
new \DBD\mangos_chars()
);}}

View File

@ -17,4 +17,5 @@
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_start','');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_character','');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_menu','');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_achievements','');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/user_database','');

View File

@ -61,6 +61,11 @@ class page_mojotrollz extends \SYSTEM\API\api_default {
throw new ERROR("You need to be logged in to view this ressource.");}
return new user_database();}
public static function page_user_achievements(){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in to view this ressource.");}
return new user_achievements();}
public static function page_user_logout(){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in to view this ressource.");}

View File

@ -0,0 +1 @@
function init_user_achievements(){}

View File

@ -0,0 +1 @@
test

View File

@ -0,0 +1,23 @@
<?php
class user_achievements extends SYSTEM\PAGE\Page {
public static function js(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'user_achievements/js/user_achievements.js'));}
public static function css (){
return array();}
public function html(){
$vars = array();
$vars['PICPATH'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=default_page&id=';
$vars['PIC'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=race&id=';
$vars['PI'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id=';
$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_achievements/tpl/user_achievements.tpl'), $vars);
}
}

View File

@ -70,6 +70,7 @@ html, body {
}
#frame_content {
width: 100%;
margin-left: 10px;
margin-right: 10px;
margin-bottom: 10px;
@ -81,14 +82,19 @@ html, body {
height: 26px;
}
#frame_character{
width: 100%;
#char_container{
height: 250px;
position: absolute;
bottom: 0;
}
#frame_character{
float: left;
width: 70%;
}
#frame_menu{
float: left;
width: 200px;
width: 30%;
}

View File

@ -17,10 +17,11 @@
<div class="threecol_row" style="">
<div id="frame_left_border" class="threecol_col" style="background: url(${PICPATH}border_left.png) repeat-y;"></div>
<div id="frame_content_user">
<div id="frame_menu" style="">
</div>
<div id="frame_content" style=""></div>
<div id="frame_content" style="background: url(${PICPATH}background.png)no repeat;"></div>
<div id="char_container">
<div id="frame_character"></div>
<div id="frame_menu" style=""></div>
</div>
</div>
<div id="frame_right_border" class="threecol_col" style="background: url(${PICPATH}border_right.png) repeat-y;"></div>
</div>

View File

@ -6,6 +6,9 @@ function init_user_menu(){
$("#btn_db").click(function(){
sys.load('user_database');
});
$("#btn_achieve").click(function(){
sys.load('user_achievements');
});
}
function register_logout(){
$("#btn_logout").click(function(){

View File

@ -1,5 +1,8 @@
<div class="">
<li><a id="btn_news" href="#">News</a></li>
<div style="width: 180px; background: white" class="">
<li><a id="btn_news" href="#user_start">News</a></li>
<li><a id="btn_achieve" href="#user_achievements">Achievements</a></li>
<li><a id="btn_inv" href="#">Inventory</a></li>
<li><a id="btn_arm" href="#">Armory</a></li>
<li><a id="btn_db" href="#">Database</a></li>
<li><a id="btn_logout" href="#">Logout</a></li>

View File

@ -1 +0,0 @@
${race}

View File

@ -0,0 +1,14 @@
<tr>
<td>
<img style="margin: 5px;" width="30" src="${PIC}${race}_male.png">
</td>
<td style="">
<img style="margin: 5px;" width="30" src="${PIC}${race}_female.png">
</td>
<td>
<p style="margin: 5px;">${race}</p>
</td>
<td>
<p style="margin: 5px;">${count}</p>
</td>
</tr>

View File

@ -0,0 +1,11 @@
<tr>
<td>
<img style="margin: 5px;" width="30" src="${PI}${class}.png">
</td>
<td>
<p style="margin: 5px;">${class}</p>
</td>
<td>
<p style="margin: 5px;">${count}</p>
</td>
</tr>

View File

@ -0,0 +1 @@
Alliance: ${class_alliance} Horde: ${class_horde}

View File

@ -0,0 +1,41 @@
<div style="background: url(${PICPATH}background.png)no repeat;">
<div style="float: left; width: 250px;">
<H3>Server Info</H3>
<p>Realmlist: ${realmlist}</p>
<p>Server Version: ${server_version}</p>
<p>Client Version: ${client_version}</p>
<br>
<p><b>Crossfaction Raids: enabled</b></p>
<br>
<p>Realm Server: ${realm_status}</p>
<p>World Server: ${world_status}</p>
<p>Players Online: ${player_online}</p>
<H3>Server Help</H3>
<p><a href="${url_realmlistwtf}" target="_blank">Download realmlist.wtf</a></p>
<p><a href="${url_wowclient}" target="_blank">Download WoW 1.12</a></p>
</div>
<div style="float: left;">
<H3>Racial Pluralism</H3>
<table>${char_stats}</table>
<br>
<p><font style="font-size: 10pt;"> ${factionbalance}</font></p>
</div>
<div style="float: left; margin-left: 20px;">
<H3>Class Diffusion</H3>
<table>${class_stats}</table>
</div>
<div style="float: left; margin-left: 20px;">
<H3>Guilds <font style="font-size: 10pt;"> overallcount:${guildcount}</font></H3>
</div>
<div style="float: left; margin-left: 20px;">
<!--<H4>Richest Player: ${richest}</H4>
<H4>Most Votes: ${mostvotes}</H4>
<H4>Most Achievements: ${mostachievements}</H4>
<H4>Most PvP Kills: ${mostpvp}</H4>
<H4>Staff:</H4> -->
</div>
</div>

View File

@ -6,23 +6,82 @@ class user_start extends SYSTEM\PAGE\Page {
public static function css (){
return array();}
public static function get_char_statistics(){
private function switch_order($race){
switch($race){
case 1:
return '1';
case 2:
return '3';
case 3:
return '7';
case 4:
return '4';
case 5:
return '2';
case 6:
return '8';
case 7:
return '6';
case 8:
return '5';
default:
return '';
}
}
public function get_char_statistics(){
$result = '';
$chars = \DBD\CHAR_STATS::QA();
foreach ($chars as $race){
$vars = array();
$result = SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/char_stats_realm.tpl'), $vars);
$vars['race'] = player_races::name($race['race']);
$vars['count'] = $race['count'];
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/tpl/char_stats_realm.tpl'), $vars);
}
return $result;
}
public function get_class_statistics(){
$result = '';
$chars = \DBD\CLASS_STATS::QA();
foreach ($chars as $class){
$vars = array();
$vars['class'] = player_classes::name($class['class']);
$vars['count'] = $class['count'];
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/tpl/class_stats_realm.tpl'), $vars);
}
return $result;
}
public function get_faction_balance(){
$balance = \DBD\FACTION_BALANCE::Q1();
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/tpl/faction_balance.tpl'), $balance);
}
public function html(){
$vars = array();
$vars['char_stats'] = $this->get_char_statistics();
$vars['class_stats'] = $this->get_class_statistics();
$vars['guildcount'] = \DBD\COUNT_GUILDS::Q1()['count'];
$vars['realm_status'] = realm::status();
$vars['world_status'] = world::status();
$vars['player_online'] = database::player_online();
$vars['factionbalance'] = $this->get_faction_balance();
$vars['PICPATH'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=default_page&id=';
$vars['PIC'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=race&id=';
$vars['PI'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id=';
$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_start/user_start.tpl'), $vars);
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/tpl/user_start.tpl'), $vars);
}
}

View File

@ -1,16 +0,0 @@
<div style="float: left;">
<H3>Server Info</H3>
<p>Realmlist: ${realmlist}</p>
<p>Server Version: ${server_version}</p>
<p>Client Version: ${client_version}</p>
<br>
<p>Realm Server: ${realm_status}</p>
<p>World Server: ${world_status}</p>
<p>Players Online: ${player_online}</p>
<H3>Server Help</H3>
<p><a href="${url_realmlistwtf}" target="_blank">Download realmlist.wtf</a></p>
<p><a href="${url_wowclient}" target="_blank">Download WoW 1.12</a></p>
</div>
<div style="background: white; height: 10px; width: 10px; float: left">${char_stats}</div>

2
system

@ -1 +1 @@
Subproject commit 8d259452fa874c185a2593b4660fe1a74292c2ba
Subproject commit b3bf40d17d3c707d7af17943b1f6ff147c0e71a6