diff --git a/common.php b/common.php
index bcb85feb..43fdbc09 100644
--- a/common.php
+++ b/common.php
@@ -28,7 +28,7 @@ session_start();
define('MYAAC', true);
define('MYAAC_VERSION', '0.1.3');
-define('DATABASE_VERSION', 1);
+define('DATABASE_VERSION', 2);
define('TABLE_PREFIX', 'myaac_');
define('START_TIME', microtime(true));
define('MYAAC_OS', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? 'WINDOWS' : 'LINUX');
diff --git a/config.php b/config.php
index 62fc4251..c0a159a6 100644
--- a/config.php
+++ b/config.php
@@ -75,6 +75,10 @@ $config = array(
//'2' => 'Your Second World Name'
),
+ // items
+ 'outfit_images_url' => 'http://outfit-images.ots.me/outfit.php', // set to animoutfit.php for animated outfit
+ 'item_images_url' => 'http://item-images.ots.me/960/', // set to images/items if you host your own items in images folder
+
// account
'account_management' => true, // disable if you're using other method to manage users (fe. tfs account manager)
'account_mail_verify' => false, // force users to confirm their email addresses when registering account
@@ -86,6 +90,7 @@ $config = array(
'account_country' => true, // user will be able to set country of origin when registering account, this information will be viewable in others places aswell
'account_change_character_name' => false, // can user change their character name for premium points?
'account_change_character_name_points' => 30, // cost of name change
+ 'characters_per_account' => 10, // max. number of characters per account
// mail
'mail_enabled' => false, // is aac maker configured to send e-mails?
@@ -133,8 +138,6 @@ $config = array(
1 => 'Sample town'
),
- 'characters_per_account' => 10, // max. number of characters per account
-
// guilds
'guild_management' => true, // enable guild management system on the site?
'guild_need_level' => 1, // min. level to form a guild
@@ -155,6 +158,7 @@ $config = array(
'online_vocations' => false, // display vocation statistics?
'online_vocations_images' => false, // display vocation images?
'online_skulls' => false, // display skull images
+ 'online_outfit' => true,
'online_afk' => false,
// support list page
@@ -171,6 +175,7 @@ $config = array(
'highscores_vocation_box' => true, // show 'Choose a vocation' box on the highscores (allowing peoples to sort highscores by vocation)?
'highscores_vocation' => true, // show player vocation under his nickname?
'highscores_frags' => false, // show 'Frags' tab (best fraggers on the server)? Only 0.3
+ 'highscores_outfit' => true, // show player outfit?
'highscores_country_box' => false, // doesnt work yet! (not implemented)
'highscores_groups_hidden' => 4, // this group id and higher won't be shown on the highscores
@@ -181,6 +186,7 @@ $config = array(
'magic_level' => false,
'balance' => false,
'marriage_info' => true, // only 0.3
+ 'outfit' => true,
'creation_date' => true,
'quests' => true,
'skills' => true,
diff --git a/images/blackskull.gif b/images/black_skull.gif
similarity index 100%
rename from images/blackskull.gif
rename to images/black_skull.gif
diff --git a/images/redskull.gif b/images/red_skull.gif
similarity index 100%
rename from images/redskull.gif
rename to images/red_skull.gif
diff --git a/images/whiteskull.gif b/images/white_skull.gif
similarity index 100%
rename from images/whiteskull.gif
rename to images/white_skull.gif
diff --git a/index.php b/index.php
index e46ed855..2a1dd32c 100644
--- a/index.php
+++ b/index.php
@@ -217,10 +217,10 @@ if($load_it)
}
ob_start();
- $hooks->trigger(HOOK_BEFORE_PAGE);
-
- if(!$ignore)
- require($file);
+ if($hooks->trigger(HOOK_BEFORE_PAGE)) {
+ if(!$ignore)
+ require($file);
+ }
if($config['backward_support'] && isset($main_content[0]))
$content .= $main_content;
diff --git a/install/includes/schema.sql b/install/includes/schema.sql
index a8384c19..4082dc74 100644
--- a/install/includes/schema.sql
+++ b/install/includes/schema.sql
@@ -146,8 +146,8 @@ CREATE TABLE `myaac_movies`
CREATE TABLE `myaac_news`
(
`id` INT(11) NOT NULL AUTO_INCREMENT,
- `title` VARCHAR(50) NOT NULL,
- `body` VARCHAR(10000) NOT NULL,
+ `title` VARCHAR(100) NOT NULL,
+ `body` TEXT NOT NULL,
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - news, 2 - ticket, 3 - article',
`date` INT(11) NOT NULL DEFAULT 0,
`category` TINYINT(1) NOT NULL DEFAULT 0,
diff --git a/system/functions.php b/system/functions.php
index f324fdd7..e5748e2c 100644
--- a/system/functions.php
+++ b/system/functions.php
@@ -148,7 +148,7 @@ function getItemImage($id, $count = 1)
$file_name .= '-' . $count;
global $config;
- return '
';
+ return '
';
}
function getFlagImage($country)
diff --git a/system/hooks.php b/system/hooks.php
index 3a45d310..bf9d0fc8 100644
--- a/system/hooks.php
+++ b/system/hooks.php
@@ -51,7 +51,7 @@ class Hook
require(BASE . $this->_file);
}
- return false;
+ return true;
}
public function name() {return $this->_name;}
diff --git a/system/libs/pot/OTS_Account.php b/system/libs/pot/OTS_Account.php
index 0d2579e2..08f858bf 100644
--- a/system/libs/pot/OTS_Account.php
+++ b/system/libs/pot/OTS_Account.php
@@ -916,6 +916,9 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
+ if($ip == NULL)
+ $ip = '0';
+
return $this->db->query('INSERT INTO ' . $this->db->tableName(TABLE_PREFIX . 'account_actions') . ' (' . $this->db->fieldName('account_id') . ', ' . $this->db->fieldName('ip') . ', ' . $this->db->fieldName('date') . ', ' . $this->db->fieldName('action') . ') VALUES (' . $this->db->quote($this->getId()).', INET_ATON(' . $this->db->quote($ip) . '), UNIX_TIMESTAMP(NOW()), ' . $this->db->quote($action).')');
}
diff --git a/system/migrations/2.php b/system/migrations/2.php
new file mode 100644
index 00000000..db5fd70f
--- /dev/null
+++ b/system/migrations/2.php
@@ -0,0 +1,6 @@
+query("ALTER TABLE `" . TABLE_PREFIX . "faq` MODIFY `answer` VARCHAR(1020) NOT NULL DEFAULT '';");
+ $db->query("ALTER TABLE `" . TABLE_PREFIX . "movies` MODIFY `title` VARCHAR(100) NOT NULL DEFAULT '';");
+ $db->query("ALTER TABLE `" . TABLE_PREFIX . "news` MODIFY `title` VARCHAR(100) NOT NULL DEFAULT '';");
+ $db->query("ALTER TABLE `" . TABLE_PREFIX . "news` MODIFY `body` TEXT NOT NULL DEFAULT '';");
+?>
diff --git a/system/pages/characters.php b/system/pages/characters.php
index b0e8c68d..ee982b1c 100644
--- a/system/pages/characters.php
+++ b/system/pages/characters.php
@@ -60,29 +60,46 @@ function generate_player_lookup($player)
$player_eq[$i] = $empty_slots[$i];
}
- //for($i = 1; $i < 11; $i++)
- //{
- //if(!itemImageExists($player_eq[$i]))
- // Items::generate($player_eq[$i]);
- //}
+ if(PHP_VERSION_ID == NULL || PHP_VERSION_ID < 70000) {
+ for($i = 1; $i < 11; $i++)
+ {
+ if(!itemImageExists($player_eq[$i]))
+ Items::generate($player_eq[$i]);
+ }
+ }
+
+ for($i = 1; $i < 11; $i++)
+ {
+ if(check_number($player_eq[$i]))
+ $player_eq[$i] = getItemImage($player_eq[$i]);
+ else
+ $player_eq[$i] = '
';
+ }
+
+ $skulls = array(
+ 1 => 'skull_yellow',
+ 2 => 'skull_green',
+ 3 => 'skull_white',
+ 4 => 'skull_red',
+ 5 => 'skull_black'
+ );
return '
-'.getItemImage($player_eq[2]).' | '.getItemImage($player_eq[6]).' | '.getItemImage($player_eq[9]).' |
- '.($player->getSkull() > 0 ? ' ' : '').' |
+'.$player_eq[2].' | '.$player_eq[6].' | '.$player_eq[9].' |
+ '.($player->getSkullTime() > 0 && ($player->getSkull() == 4 || $player->getSkull() == 5) ? ' ' : '').' |
|
-'.getItemImage($player_eq[1]).' | '.getItemImage($player_eq[4]).' | '.getItemImage($player_eq[7]).' | '.getItemImage($player_eq[8]).' |
+'.$player_eq[1].' | '.$player_eq[4].' | '.$player_eq[7].' | '.$player_eq[8].' |
-
|
-'.getItemImage($player_eq[3]).' | '.getItemImage($player_eq[5]).' | '.getItemImage($player_eq[10]).' |
+'.$player_eq[3].' | '.$player_eq[5].' | '.$player_eq[10].' |
|
@@ -148,6 +165,9 @@ if($player->isLoaded() && !$player->isDeleted())
 |
+
+  . '&addons=' . $player->getLookAddons() . '&head=' . $player->getLookHead() . '&body=' . $player->getLookBody() . '&legs=' . $player->getLookLegs() . '&feet=' . $player->getLookFeet() . ') >
+
Character Information |
diff --git a/system/pages/highscores.php b/system/pages/highscores.php
index 4abf4845..660a8c71 100644
--- a/system/pages/highscores.php
+++ b/system/pages/highscores.php
@@ -99,6 +99,10 @@ $deleted = 'deleted';
if(fieldExist('deletion', 'players'))
$deleted = 'deletion';
+$outfit = '';
+if($config['highscores_outfit'])
+ $outfit = ', lookbody, lookfeet, lookhead, looklegs, looktype, lookaddons';
+
$offset = $_page * 100;
if($skill <= POT::SKILL_LAST) { // skills
if(fieldExist('skill_fist', 'players')) {// tfs 1.0
@@ -112,14 +116,14 @@ if($skill <= POT::SKILL_LAST) { // skills
POT::SKILL_FISH => 'skill_fishing',
);
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . ', ' . $skill_ids[$skill] . ' as value FROM accounts,players WHERE players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND accounts.id = players.account_id ORDER BY ' . $skill_ids[$skill] . ' DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . $outfit . ', ' . $skill_ids[$skill] . ' as value FROM accounts,players WHERE players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND accounts.id = players.account_id ORDER BY ' . $skill_ids[$skill] . ' DESC LIMIT 101 OFFSET '.$offset);
}
else
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',value,level,vocation' . $promotion . ' FROM accounts,players,player_skills WHERE players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND players.id = player_skills.player_id AND player_skills.skillid = '.$skill.' AND accounts.id = players.account_id ORDER BY value DESC, count DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',value,level,vocation' . $promotion . $outfit . ' FROM accounts,players,player_skills WHERE players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id > 6 AND players.id = player_skills.player_id AND player_skills.skillid = '.$skill.' AND accounts.id = players.account_id ORDER BY value DESC, count DESC LIMIT 101 OFFSET '.$offset);
}
else if($skill == 666 && $config['otserv_version'] == TFS_03) // frags
{
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . ',COUNT(`player_killers`.`player_id`) as value' .
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,vocation' . $promotion . $outfit . ',COUNT(`player_killers`.`player_id`) as value' .
' FROM `accounts`, `players`, `player_killers` ' .
' WHERE players.' . $deleted . ' = 0 AND players.group_id < '.$config['highscores_groups_hidden'].' '.$add_sql.' AND players.id = player_killers.player_id AND accounts.id = players.account_id' .
' GROUP BY `player_id`' .
@@ -129,10 +133,10 @@ else if($skill == 666 && $config['otserv_version'] == TFS_03) // frags
else
{
if($skill == POT::SKILL__MAGLEVEL) {
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',maglevel,level,vocation' . $promotion . ' FROM accounts, players WHERE players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY maglevel DESC, manaspent DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',maglevel,level,vocation' . $promotion . $outfit . ' FROM accounts, players WHERE players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY maglevel DESC, manaspent DESC LIMIT 101 OFFSET '.$offset);
}
else { // level
- $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,experience,vocation' . $promotion . ' FROM accounts, players WHERE players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY level DESC, experience DESC LIMIT 101 OFFSET '.$offset);
+ $skills = $db->query('SELECT accounts.country, players.id,players.name' . $online . ',level,experience,vocation' . $promotion . $outfit . ' FROM accounts, players WHERE players.' . $deleted . ' = 0 '.$add_sql.' AND players.group_id < '.$config['highscores_groups_hidden'].' AND players.id > 6 AND accounts.id = players.account_id ORDER BY level DESC, experience DESC LIMIT 101 OFFSET '.$offset);
$list = 'experience';
}
}
@@ -150,6 +154,9 @@ else
# |
Rank |
+
+ Outfit |
+
Name |
|
@@ -177,15 +184,18 @@ foreach($skills as $player)
{
if($skill == POT::SKILL__MAGIC)
$player['value'] = $player['maglevel'];
-
- if($skill == POT::SKILL__LEVEL)
+ else if($skill == POT::SKILL__LEVEL)
$player['value'] = $player['level'];
echo '
';
if($config['account_country'])
echo '' . getFlagImage($player['country']) . ' | ';
echo '
- ' . ($offset + $i) . '. |
+ ' . ($offset + $i) . '. | ';
+ if($config['highscores_outfit'])
+ echo ' | ';
+
+echo '
' . $player['name'] . '
diff --git a/system/pages/news.php b/system/pages/news.php
index e11bbbc1..81d14512 100644
--- a/system/pages/news.php
+++ b/system/pages/news.php
@@ -98,7 +98,8 @@ define('NEWS', 1);
define('TICKET', 2);
define('ARTICLE', 3);
-define('BODY_LIMIT', 10000); // maximum news body length
+define('TITLE_LIMIT', 100);
+define('BODY_LIMIT', 65535); // maximum news body length
$canEdit = hasFlag(FLAG_CONTENT_NEWS) || superAdmin();
if($canEdit)
@@ -143,9 +144,10 @@ if($canEdit)
$player_id = $news['player_id'];
}
else {
- News::update($id, $p_title, $body, $type, $category, $player_id, $comments);
- $action = $p_title = $body = $comments = '';
- $type = $category = $player_id = 0;
+ if(News::update($id, $p_title, $body, $type, $category, $player_id, $comments, $errors)) {
+ $action = $p_title = $body = $comments = '';
+ $type = $category = $player_id = 0;
+ }
}
}
else if($action == 'hide') {
@@ -214,7 +216,7 @@ if(!$news_cached)
'.date("j M Y", $news['date']).' -
';
//if admin show button to delete (hide) ticker
- $tickers_to_add .= short_text($news['body'], 60).'
+ $tickers_to_add .= short_text(strip_tags($news['body']), 100).'
';
//if admin show button to delete (hide) ticker
$tickers_to_add .= $news['body'] . $admin_options . '
@@ -300,7 +302,7 @@ if(!$news_cached)
Title: |
- |
+ |
@@ -456,28 +458,41 @@ if(!$news_cached)
if($cache->enabled() && !$canEdit)
$cache->set('news_' . $template_name . '_' . NEWS, $tmp_content, 120);
- echo $tmp_content;
+ echo $tmp_content;
}
else
echo $news_cached;
class News
{
+ static public function verify($title, $body, &$errors)
+ {
+ if(!isset($title[0]) || !isset($body[0])) {
+ $errors[] = 'Please fill all inputs.';
+ return false;
+ }
+
+ if(strlen($title) > TITLE_LIMIT) {
+ $errors[] = 'News title cannot be longer than ' . TITLE_LIMIT . ' characters.';
+ return false;
+ }
+
+ if(strlen($body) > BODY_LIMIT) {
+ $errors[] = 'News content cannot be longer than ' . BODY_LIMIT . ' characters.';
+ return false;
+ }
+
+ return true;
+ }
+
static public function add($title, $body, $type, $category, $player_id, $comments, &$errors)
{
global $db;
- if(strlen($body) <= BODY_LIMIT)
- {
- if(isset($title[0]) && isset($body[0])) {
- $db->insert(TABLE_PREFIX . 'news', array('title' => $title, 'body' => $body, 'type' => $type, 'date' => time(), 'category' => $category, 'player_id' => isset($player_id) ? $player_id : 0, 'comments' => $comments));
- }
- else
- $errors[] = 'Please fill all inputs.';
- }
- else
- $errors[] = 'News content cannot be longer than ' . BODY_LIMIT . ' characters.';
+ if(!News::verify($title, $body, $errors))
+ return false;
- return !count($errors);
+ $db->insert(TABLE_PREFIX . 'news', array('title' => $title, 'body' => $body, 'type' => $type, 'date' => time(), 'category' => $category, 'player_id' => isset($player_id) ? $player_id : 0, 'comments' => $comments));
+ return true;
}
static public function get($id) {
@@ -485,9 +500,14 @@ class News
return $db->select(TABLE_PREFIX . 'news', array('id' => $id));
}
- static public function update($id, $title, $body, $type, $category, $player_id, $comments) {
+ static public function update($id, $title, $body, $type, $category, $player_id, $comments, &$errors)
+ {
global $db;
+ if(!News::verify($title, $body, $errors))
+ return false;
+
$db->update(TABLE_PREFIX . 'news', array('title' => $title, 'body' => $body, 'type' => $type, 'category' => $category, 'last_modified_by' => isset($player_id) ? $player_id : 0, 'last_modified_date' => time(), 'comments' => $comments), array('id' => $id));
+ return true;
}
static public function delete($id, &$errors)
diff --git a/system/pages/online.php b/system/pages/online.php
index 34f7627d..cd70c5bc 100644
--- a/system/pages/online.php
+++ b/system/pages/online.php
@@ -42,11 +42,15 @@ if(fieldExist('skull_time', 'players')) {
$skull_time = 'skull_time';
}
+$outfit = '';
+if($config['online_outfit'])
+ $outfit = ', lookbody, lookfeet, lookhead, looklegs, looktype, lookaddons';
+
$vocs = array(0, 0, 0, 0, 0);
if(tableExist('players_online')) // tfs 1.0
- $playersOnline = $db->query('SELECT `accounts`.`country`, `players`.`name`, `level`, `vocation`, `' . $skull_time . '` as `skulltime`, `' . $skull_type . '` as `skull` FROM `accounts`, `players`, `players_online` WHERE `players`.`id` = `players_online`.`player_id` AND `accounts`.`id` = `players`.`account_id` ORDER BY ' . $order);
+ $playersOnline = $db->query('SELECT `accounts`.`country`, `players`.`name`, `level`, `vocation`' . $outfit . ', `' . $skull_time . '` as `skulltime`, `' . $skull_type . '` as `skull` FROM `accounts`, `players`, `players_online` WHERE `players`.`id` = `players_online`.`player_id` AND `accounts`.`id` = `players`.`account_id` ORDER BY ' . $order);
else
- $playersOnline = $db->query('SELECT `accounts`.`country`, `players`.`name`, `level`, `vocation`, ' . $promotion . ' `' . $skull_time . '` as `skulltime`, `' . $skull_type . '` as `skull` FROM `accounts`, `players` WHERE `players`.`online` > 0 AND `accounts`.`id` = `players`.`account_id` ORDER BY ' . $order);
+ $playersOnline = $db->query('SELECT `accounts`.`country`, `players`.`name`, `level`, `vocation`' . $outfit . ', ' . $promotion . ' `' . $skull_time . '` as `skulltime`, `' . $skull_type . '` as `skull` FROM `accounts`, `players` WHERE `players`.`online` > 0 AND `accounts`.`id` = `players`.`account_id` ORDER BY ' . $order);
$players = 0;
$data = '';
@@ -72,6 +76,9 @@ foreach($playersOnline as $player)
if($config['account_country'])
$data .= '' . getFlagImage($player['country']) . ' | ';
+ if($config['online_outfit'])
+ $data .= ' | ';
+
$data .= '' . getPlayerLink($player['name']) . $skull . ' |
'.$player['level'].' |
'.$config['vocations'][$player['vocation']].' |
@@ -195,6 +202,9 @@ if($config['online_skulls']): ?>
# |
+
+ Outfit |
+
Name |
Level |
Vocation |
@@ -205,7 +215,31 @@ if($config['online_skulls']): ?>
endif;
//search bar
-echo ' ';
+echo '
+';
/* temporary disable it - shows server offline
// update online players counter
diff --git a/templates/kathrine/template.php b/templates/kathrine/template.php
index f46eab3d..133f7c92 100644
--- a/templates/kathrine/template.php
+++ b/templates/kathrine/template.php
@@ -12,10 +12,10 @@ defined('MYAAC') or die('Direct access not allowed!');
var category = '
";
-
-
-
-
- Witaj na Śląskim serwerze. Przed rozpoczęciem gry zapoznaj z podstroną Server Info.
- O pomoc w grze zawsze możesz poprosić na kanale Help.
-
- Ostatnio zarejestrował się:
- query('SELECT `name` FROM `players` ORDER BY `id` DESC LIMIT 1');
- $newestMember = $newestMember->fetch();
- echo getPlayerLink($newestMember['name']) . '. Witamy!';
- ?>
- |
-
-
- '.
- '
-
- TOP 5 - ' . $name . ' |
- ';
-
- $i = 1;
- foreach($list as $str)
- echo '' . $str . ' ';
- echo
- '
- ';
- }
- ?>
+ trigger(HOOK_TIBIACOM_BORDER_3); ?>
-
-
- 'S',
- 2 => 'D',
- 3 => 'P',
- 4 => 'K'
- ),
- array(
- 1 => 'MS',
- 2 => 'ED',
- 3 => 'RP',
- 4 => 'EK'
- )
- );
-
- //players
- $top_array = array();
- $top_players_query = $db->query(
- 'SELECT `name`, `level`, `experience`, `vocation`, `promotion`, `online` FROM `players`' .
- ' WHERE players.deleted = 0 AND players.group_id < '.$config['highscores_groups_hidden'] .
- ' ORDER BY `experience` DESC' .
- ' LIMIT 5');
-
- $i = 0;
- foreach($top_players_query as $player)
- {
- $top_array[$i++] =
- '' . $i . '. |
-
- '.($player['online']>0 ? "".$player['name']."" : "".$player['name']."").'
- ('.$player['level'].' '.$vocation_name_short[$player['promotion']][$player['vocation']].')
- | ';
- }
- write_top('Players', $top_array);
-
- //powergamers
- $top_array = array();
- $today = getZeroDay();
- $top_powergamers_query = $db->query(
- 'SELECT `wodz_exphistory`.`exp_change` as exp_change, `name`, `players`.`level`, `players`.`experience`, `vocation`, `promotion`, `online`' .
- ' FROM `wodz_exphistory`, `players`' .
- ' WHERE players.id = wodz_exphistory.player_id AND `date` = ' . $today . ' ORDER BY `exp_change` DESC LIMIT 5');
-
- $i = 0;
- foreach($top_powergamers_query as $player)
- {
- $top_array[$i++] =
- '' . $i . '. |
-
- '.($player['online']>0 ? "".$player['name']."" : "".$player['name']."").'
- ('.$player['level'].' '.$vocation_name_short[$player['promotion']][$player['vocation']].')
- |
- ' . formatExperience($player['exp_change']) . ' | ';
- }
- write_top('Powergamers (Today)', $top_array, 3);
-
- //guilds
- $top_array = array();
- $top_guilds_query = $db->query(
- 'SELECT `name`, `total_level`' .
- ' FROM `guilds`' .
- ' ORDER BY `total_level` DESC' .
- ' LIMIT 5');
-
- $i = 0;
- foreach($top_guilds_query as $guild)
- {
- $top_array[$i++] =
- '' . $i . '. |
- ' . getGuildLink($guild['name']) . ' |
- ' . $guild['total_level'] . ' | ';
- }
- write_top('Guilds', $top_array, 3);
- ?>
-
-
-
-
-
| |