diff --git a/system/init.php b/system/init.php index 5bebe93a..72419473 100644 --- a/system/init.php +++ b/system/init.php @@ -120,6 +120,7 @@ define('USE_ACCOUNT_NAME', fieldExist('name', 'accounts')); $tmp = ''; if($cache->enabled() && $cache->fetch('vocations', $tmp)) { $config['vocations'] = unserialize($tmp); + $config['vocation_last'] = $cache->get('vocation_last'); } else { $vocations = new DOMDocument(); @@ -135,14 +136,15 @@ else { $config['vocations'] = array(); foreach($vocations->getElementsByTagName('vocation') as $vocation) { $id = $vocation->getAttribute('id'); - //if($id == $vocation->getAttribute('fromvoc')) - $config['vocations'][$id] = $vocation->getAttribute('name'); - //else - // $config['vocations'][$id] = $vocation->getAttribute('name'); + if($id == $vocation->getAttribute('fromvoc')) + $config['vocation_last'] = $id; + + $config['vocations'][$id] = $vocation->getAttribute('name'); } if($cache->enabled()) { $cache->set('vocations', serialize($config['vocations']), 120); + $cache->set('vocation_last', $config['vocation_last'], 120); } } unset($tmp, $id, $vocation); diff --git a/system/pages/guilds.php b/system/pages/guilds.php index 03c96aa0..429d9c53 100644 --- a/system/pages/guilds.php +++ b/system/pages/guilds.php @@ -316,8 +316,8 @@ if($action == 'show') if($level_in_guild > $rank->getLevel() || $guild_leader) if($guild_leader_char->getName() != $player->getName()) echo ' <font size=1>{<a href="?subtopic=guilds&action=kickplayer&guild='.urlencode($guild->getName()).'&name='.urlencode($player->getName()).'">KICK</a>}</font>'; - if($player->isOnline()) - $s_members_online++; + //if($player->isOnline()) + // $s_members_online++; echo '</FORM></TD><TD align="right" width="10%">'.$player->getLevel().'</TD><TD align="right" width="20%"><font color="'.($player->isOnline() ? 'green"><b>Online' : 'red"><b>Offline').'</b></font></TD></TR>'; } echo '</TABLE></TD></TR>'; diff --git a/system/pages/online.php b/system/pages/online.php index 3bd19169..7880aa7e 100644 --- a/system/pages/online.php +++ b/system/pages/online.php @@ -52,7 +52,12 @@ if($config['online_outfit']) { } } -$vocs = array(0, 0, 0, 0, 0); +if($config['online_vocations']) { + $vocs = array(); + foreach($config['vocations'] as $id => $name) + $vocs[$id] = 0; +} + if(tableExist('players_online')) // tfs 1.0 $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 @@ -90,7 +95,8 @@ foreach($playersOnline as $player) <td>'.$config['vocations'][$player['vocation']].'</td> </tr>'; - $vocs[$player['vocation']]++; + if($config['online_vocations']) + $vocs[$player['vocation']]++; } if(!$players): ?> @@ -180,7 +186,7 @@ if($config['online_vocations']): ?> </tr> <?php - for($i = 1; $i < 5; $i++) + for($i = 1; $i <= $config['vocation_last']; $i++) echo '<tr bgcolor="' . getStyle($i) . '"> <td width="25%">' . $config['vocations'][$i] . '</td> <td width="75%">' . $vocs[$i] . '</td>