PHP Code:
<table width="100%" cellspacing="0" cellpadding="3">
<tr><td align="center" class="page_title">Ranglisten und Statistiken</td></tr>
<tr>
<td width="50%" align="left" valign="top" style="border-bottom:1px solid #c0c0c0;">
<label style="float:left; width:180px;"><b>Verfügbare Ranglisten:</b></label> | <a href="index.php?site=ranking&rnk=players">Spielerrangliste</a> | <a href="index.php?site=ranking&rnk=gws">Guildwarrangliste</a> | <a href="index.php?site=ranking&rnk=vote">Voterangliste</a> | <a href="index.php?site=ranking&rnk=guilds">Gildenrangliste</a> |
<br /><label style="float:left; width:180px;"><b>Verfügbare Statistiken:</b></label> | <a href="index.php?site=ranking&rnk=election">Ergebnisse der letzten Lordwahl</a> | <a href="index.php?site=ranking&rnk=stats">Allgemeine Serverstatistiken</a> | <a href="index.php?site=ranking&rnk=usercnt">Userzahlen</a> |
</td>
</tr>
<tr>
<td>
<?php
require_once('./includes/xinc_ranking.php');
if (antisql($_GET['rnk']) == 'players') {
$pfad = 'index.php?site=ranking&rnk=players';
$lord_a = @odbc_fetch_array(@odbc_exec($connection, "SELECT TOP 1 m_szName FROM [CHARACTER_01_DBF].[dbo].[tblLord] a LEFT JOIN [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] b ON RIGHT('0000000' + CONVERT(VARCHAR(7),a.idLord),7)= b.m_idPlayer ORDER BY s_date DESC"));
$result_q = @odbc_exec($connection, '
USE [CHARACTER_01_DBF]
SELECT TOP '.$show_top.' [MultiServer], [m_szName], [m_nLevel], [m_nJob], [TotalPlayTime], [CreateTime]
FROM [CHARACTER_TBL]
WHERE [m_chAuthority] = \'F\' AND [isblock] != \'D\' '.$where_online.'
GROUP BY [m_szName], [m_nJob], [m_nLevel], [TotalPlayTime], [dwWorldID], [MultiServer], [CreateTime] ORDER BY '.$order.'');
$rank=1;
echo ' <table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="100%" align="center" valign="top"><h2>Spielerrangliste</h2></td></tr>
<tr>
<td width="100%" align="center" valign="top">
| '.$show_offlineuser.' | <a href="'.$pfad.'&top=10'.$snumber.$get_online.'">Top 10</a> | <a href="'.$pfad.'&top=50'.$snumber.$get_online.'">Top 50</a> | <a href="'.$pfad.'&top=100'.$snumber.$get_online.'">Top 100</a> | <a href="'.$pfad.'&top=200'.$snumber.$get_online.'">Top 200</a> | <a href="'.$pfad.'&top=300'.$snumber.$get_online.'">Top 300</a> | '.$show_onlineuser.' |
</td>
</tr>
<tr>
<td align="center" valign="top">
<table align="center" style="border:#c0c0c0 1px solid;" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td align="center" class="ranking" width="35px"></td>
<td align="left" class="ranking">Spielername</td>
<td align="center" class="ranking"><a href="'.$pfad.'&top='.$show_top.'&r12'.$get_online.'">Level</a></td>
<td align="center" class="ranking"><a href="'.$pfad.'&top='.$show_top.'&r11'.$get_online.'">Klasse</a></td>
<td align="center" class="ranking"><a href="'.$pfad.'&top='.$show_top.'&r13'.$get_online.'">Spielzeit</a></td>
<td align="center" class="ranking">Erstellt am</td>
</tr>';
while($result_a = @odbc_fetch_array($result_q)) {
if ($lord_a['m_szName'] == $result_a['m_szName']) {$lord = '<img src="../images/ranking/lord.png" height="16" alt="" title="::: Lord :::" style="margin-left:1px;"/>';} else {$lord = '';}
echo ' <tr>
<td align="center">'.rankIcon($rank).'</td>
<td align="left">'.getUserOnlineState($result_a['MultiServer']).$lord.' <b>'.$result_a['m_szName'].'</b></td>
<td align="center">'.$result_a['m_nLevel'].'</td>
<td align="center">'.getjob($result_a['m_nJob']).'</td>
<td align="center">'.sectohrs($result_a['TotalPlayTime']).'</td>
<td align="center">'.substr($result_a['CreateTime'],8,2).'.'.substr($result_a['CreateTime'],5,2).'.'.substr($result_a['CreateTime'],0,4).'</td>
</tr>'; $rank++;
}
echo ' </table>
</td>
</tr>
</table>';
}
elseif (antisql($_GET['rnk']) == 'gws') {
$pfad = 'index.php?site=ranking&rnk=gws';
$result_q = @odbc_exec($connection, '
USE [CHARACTER_01_DBF]
SELECT TOP '.$show_top.' char.[m_idPlayer], char.[m_szName], char.[MultiServer], char.[m_nLevel], SUM(gwjp.[Point]) as [Punkte], gt.[m_szGuild], COUNT(gwjp.[Point]) as [Teilnahmen], SUM(gwjp.[Point])/COUNT(gwjp.[Point]) as [Quotient]
FROM [CHARACTER_TBL] AS char
LEFT JOIN [tblCombatJoinPlayer] AS gwjp ON gwjp.[PlayerID] = [m_idPlayer]
LEFT JOIN [GUILD_MEMBER_TBL] AS gmt ON gmt.[m_idPlayer] = char.[m_idPlayer]
LEFT JOIN [GUILD_TBL] AS gt ON gt.[m_idGuild] = gmt.[m_idGuild]
WHERE [m_chAuthority] = \'F\' AND [isblock] != \'D\'
GROUP BY char.[m_idPlayer], char.[m_szName], gt.[m_szGuild], char.[m_nLevel], char.[MultiServer]
HAVING COUNT(gwjp.[Point]) >= '.$_CONFIG['gws_min'].'
ORDER BY '.$order.'');
/*
$result_q = @odbc_exec($connection, '
USE [CHARACTER_01_DBF]
SELECT TOP '.$show_top.' char.[m_szName], char.[m_nLevel], SUM(X.[Point]) as [Punkte], COUNT(X.[Point]) as [Teilnahmen], SUM(X.[Point])/COUNT(X.[Point]) as [Quotient], COUNT(X.[PlayerID]) AS MVP
FROM [tblCombatInfo] AS CI
CROSS APPLY (SELECT TOP 1 [PlayerID], [CombatID], [Point] FROM [tblCombatJoinPlayer] AS JP WHERE JP.CombatID = CI.[CombatID] ORDER BY JP.[Point] DESC) AS X
LEFT JOIN [CHARACTER_TBL] AS char ON X.[PlayerID] = [m_idPlayer]
WHERE CI.[Status] = 30 AND m_chAuthority = \'F\' AND isblock != \'D\'
GROUP BY X.[PlayerID], char.[m_idPlayer], char.[m_szName], char.[m_nLevel]
ORDER BY '.$order.'');
SELECT COUNT(X.[PlayerID]) AS MVP
FROM [tblCombatInfo] AS CI
CROSS APPLY (SELECT TOP 1 [PlayerID], [CombatID], [Point] FROM [tblCombatJoinPlayer] AS JP WHERE JP.CombatID = CI.[CombatID] ORDER BY JP.[Point] DESC) AS X
WHERE CI.[Status] = 30 AND x.[PlayerID] = '.$result['m_idPlayer'].' GROUP BY X.[PlayerID] ORDER BY MVP DESC
*/
$rank=1;
echo ' <table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="100%" align="center" valign="top"><h2>Guildwarrangliste</h2></td></tr>
<tr>
<td width="100%" align="center" valign="top">
| <a href="'.$pfad.'&top=10'.$snumber.'">Top 10</a> | <a href="'.$pfad.'&top=50'.$snumber.'">Top 50</a> | <a href="'.$pfad.'&top=100'.$snumber.'">Top 100</a> | <a href="'.$pfad.'&top=200'.$snumber.'">Top 200</a> | <a href="'.$pfad.'&top=300'.$snumber.'">Top 300</a> |
</td>
</tr>
<tr>
<td align="center" valign="top">
<table align="center" style="border:#c0c0c0 1px solid;" cellpadding="1" cellspacing="0" width="100%">
<tr>
<td align="center" class="ranking" width="35px"></td>
<td align="left" class="ranking">Spielername</td>
<td align="left" class="ranking">Gilde</td>
<td align="center" class="ranking"><a href="'.$pfad.'&top='.$show_top.'&r21">Punkte</a></td>
<td align="center" class="ranking"><a href="'.$pfad.'&top='.$show_top.'&r22">Bestrittene GWs</a></td>
<td align="center" class="ranking"><a href="'.$pfad.'&top='.$show_top.'&r23">Punkte pro GW</a></td>
</tr>';
while($result_a = @odbc_fetch_array($result_q)) {
echo ' <tr>
<td align="center">'.rankIcon($rank).'</td>
<td align="left">'.getUserOnlineState($result_a['MultiServer']).' <b>'.$result_a['m_szName'].'</b></td>
<td align="left">'.$result_a['m_szGuild'].'</td>
<td align="center">'.$result_a['Punkte'].'</td>
<td align="center">'.$result_a['Teilnahmen'].'</td>
<td align="center">'.$result_a['Quotient'].'</td>
</tr>'; $rank++;
}
echo ' </table>
</td>
</tr>
</table>';
}
elseif (antisql($_GET['rnk']) == 'vote') {
$pfad = 'index.php?site=ranking&rnk=vote';
$lastmonth = mktime(00,00,00,date('m'),01,date('Y'));
$test = 'SELECT TOP '.$show_top.' [character], COUNT(*) as [count] FROM [WEBSITE_DBF].[dbo].[VOTE_TBL] WHERE [votetime] > '.$lastmonth.' group by [character] order by [count] DESC';
$vote_q = @odbc_exec($connection, $test);
$rank=1;
echo ' <table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="100%" align="center" valign="top"><h2>Voterangliste</h2></td></tr>
<tr>
<td width="100%" align="center" valign="top">
| <a href="'.$pfad.'&top=10">Top 10</a> | <a href="'.$pfad.'&top=50">Top 50</a> | <a href="'.$pfad.'&top=100">Top 100</a> | <a href="'.$pfad.'&top=200">Top 200</a> | <a href="'.$pfad.'&top=300">Top 300</a> |
</td>
</tr>
<tr>
<td align="center" valign="top">
<table align="center" style="border:#c0c0c0 1px solid;" cellpadding="1" cellspacing="0">
<tr>
<td align="center" style="width: 30px;" class="ranking"></td>
<td align="left" style="width:150px;" class="ranking">Spielername</td>
<td align="center" style="width:100px;" class="ranking">Diesen Monat</td>
<td align="center" style="width:120px;" class="ranking">Insgesamte Votes</td>
<td align="center" style="width:150px;" class="ranking">Zuletzt gevotet</td>
</tr>';
while($vote_a = @odbc_fetch_array($vote_q)){
$lastvoted = date("d.m.Y, H:i", @odbc_result(@odbc_exec($connection, 'SELECT TOP 1 [votetime] FROM [WEBSITE_DBF].[dbo].[VOTE_TBL] WHERE [character] = \''.$vote_a['character'].'\' order by [votetime] desc'), 'votetime'));
$totalvoted = @odbc_result(@odbc_exec($connection, 'SELECT COUNT([character]) as [count] FROM [WEBSITE_DBF].[dbo].[VOTE_TBL] WHERE [character] = \''.$vote_a['character'].'\' group by [character]'), 'count');
echo ' <tr>
<td align="center">'.rankIcon($rank).'</td>
<td align="left"><b>'.$vote_a['character'].'</b></td>
<td align="center">'.$vote_a['count'].'</td>
<td align="center">'.$totalvoted.'</td>
<td align="center">'.$lastvoted.'</td>
</tr>';$rank++;
}
echo ' </table>
</td>
</tr>
</table>';
}
elseif (antisql($_GET['rnk']) == 'guilds') {
$pfad = 'index.php?site=ranking&rnk=guilds';
if(!isset($_GET['top'])) {$show_top = 30;}
$guild_q = @odbc_exec($connection, '
USE [CHARACTER_01_DBF]
SELECT TOP '.$show_top.' cjg.[GuildID], g.[m_szGuild], ch.[m_szName], g.[m_nLevel], COUNT(cjg.StraightWin) as Wins, SUM(cjg.Point) as Points, g.[CreateTime]
FROM [tblCombatJoinGuild] AS cjg
LEFT JOIN [GUILD_TBL] AS g ON cjg.GuildID = g.[m_idGuild]
LEFT JOIN [GUILD_MEMBER_TBL] AS gmt ON cjg.GuildID = gmt.[m_idGuild]
LEFT JOIN [CHARACTER_TBL] AS ch ON gmt.[m_idPlayer] = ch.[m_idPlayer]
WHERE StraightWin > 0 AND [Status] = 31 AND g.[m_szGuild] != \'\' AND gmt.[m_nMemberLv] = 0 AND ch.[m_chAuthority] = \'F\' AND ch.[isblock] != \'D\' AND ch.[BlockTime] < '.date('Ydm').'
GROUP BY cjg.[GuildID], g.[m_szGuild], ch.[m_szName], g.[m_nLevel], g.[CreateTime]
ORDER BY Wins DESC, Points DESC
');
$rank=1;
echo ' <table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="100%" align="center" valign="top"><h2>Gildenrangliste</h2></td></tr>
<tr>
<td width="100%" align="center" valign="top">
| <a href="'.$pfad.'&top=10">Top 10</a> | <a href="'.$pfad.'&top=50">Top 50</a> | <a href="'.$pfad.'&top=100">Top 100</a> | <a href="'.$pfad.'&top=200">Top 200</a> | <a href="'.$pfad.'&top=300">Top 300</a> |
</td>
</tr>
<tr>
<td align="center" valign="top">
<table width="100%" align="center" style="border:#c0c0c0 1px solid;" cellpadding="1" cellspacing="0">
<tr>
<td align="center" class="ranking"></td>
<td align="left" class="ranking">Name</td>
<td align="left" class="ranking">Leader</td>
<td align="center" class="ranking">Level</td>
<td align="center" class="ranking">Siege</td>
<td align="center" class="ranking">Erstellt am</td>
</tr>';
while($guild_a = @odbc_fetch_array($guild_q)) {
echo ' <tr>
<td align="center">'.rankIcon($rank).'</td>
<td align="left"><b>'.$guild_a['m_szGuild'].'</b></td>
<td align="left">'.$guild_a['m_szName'].'</td>
<td align="center">'.$guild_a['m_nLevel'].'</td>
<td align="center">'.$guild_a['Wins'].'</td>
<td align="center">'.substr($guild_a['CreateTime'],8,2).'.'.substr($guild_a['CreateTime'],5,2).'.'.substr($guild_a['CreateTime'],0,4).'</td>
</tr>';$rank++;
}
echo ' </table>
</td>
</tr>
<tr><td align="center" class="zehn" style="padding-top:5px;">Es werden nur Gilden aufgelistet, die an mindestens einem Guildwar teilnahmen und deren Leader nicht gebannt/gelöscht ist.</td></tr>
</table>';
}
elseif (antisql($_GET['rnk']) == 'election') {
$pfad = 'index.php?site=ranking&rnk=election';
$electionid = @odbc_result(@odbc_exec($connection, 'SELECT TOP 1 [idElection] FROM [CHARACTER_01_DBF].[dbo].[tblLordCandidates] ORDER BY [idElection] DESC'), 'idElection');
$elections_q = @odbc_exec($connection, 'SELECT [idElection], [idPlayer], [nVote] FROM [CHARACTER_01_DBF].[dbo].[tblLordCandidates] WHERE [idElection] = '.$electionid.' AND [isleftout] = \'F\' ORDER BY [nVote] DESC, [s_date] ASC');
$totalvotes = @odbc_result(@odbc_exec($connection, 'SELECT sum([nVote]) as nVote FROM [CHARACTER_01_DBF].[dbo].[tblLordCandidates] WHERE [idElection] = '.$electionid.''), 'nVote');
$beteiligung = round(@odbc_num_rows(@odbc_exec($connection, 'SELECT [m_szName] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [m_nLevel] = 175 AND [m_chAuthority] = \'F\' AND [isblock] = \'F\''))/12,0);
$rank = 1;
echo ' <table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="100%" align="center" valign="top"><h2>Ergebnisse der letzten Lordwahl</h2></td></tr>
<tr>
<td width="100%" align="center" valign="top">*</td>
</tr>
<tr>
<td align="center" valign="top">
<table width="530" align="center" style="border:#c0c0c0 1px solid;" cellpadding="1" cellspacing="0">
<tr>
<td align="center" width="30px" class="ranking"></td>
<td align="center" width="200px" class="ranking">Spielername</td>
<td align="center" width="150px" class="ranking">Stimmen (total)</td>
<td align="center" width="150px" class="ranking">Stimmen (Prozent)</td>
</tr>';
while($election_a = @odbc_fetch_array($elections_q)) {
if (strlen($election_a['idPlayer']) == 1) {$idPlayer = '000000'.$election_a['idPlayer'];}
else if (strlen($election_a['idPlayer']) == 2) {$idPlayer = '00000'.$election_a['idPlayer'];}
else if (strlen($election_a['idPlayer']) == 3) {$idPlayer = '0000'.$election_a['idPlayer'];}
else if (strlen($election_a['idPlayer']) == 4) {$idPlayer = '000'.$election_a['idPlayer'];}
else if (strlen($election_a['idPlayer']) == 5) {$idPlayer = '00'.$election_a['idPlayer'];}
else if (strlen($election_a['idPlayer']) == 6) {$idPlayer = '0'.$election_a['idPlayer'];}
else {$idPlayer = $election_a['idPlayer'];}
if($election_a['nVote'] != 0) {$round = round($election_a['nVote']/$totalvotes*100,2);} else {$round = 0;}
if($totalvotes != 0) {$roundTotal = round($totalvotes/$beteiligung*100,2);} else {$roundTotal = 0;}
$charname = @odbc_result(@odbc_exec($connection, 'SELECT [m_szName] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [m_idPlayer] = '.$idPlayer.''), 'm_szName');
echo ' <tr>
<td align="center">'.$rank.'</td>
<td align="center">'.$charname.'</td>
<td align="center">'.$election_a['nVote'].'</td>
<td align="center">'.$round.' %</td>
</tr>';$rank++;
}
echo ' </table>
<br />
<table width="530" align="center" style="border:#c0c0c0 1px solid;" cellpadding="1" cellspacing="0">
<tr>
<td align="left" width="210px" style="padding-left:20px;">Insgesamte Anzahl der Stimmen</td>
<td align="center" width="150px">'.$totalvotes.'</td>
<td align="center" width="150px"></td>
</tr>
<tr>
<td align="left" style="padding-left:20px;">Geschätzte Wahlbeteiligung*</td>
<td align="center">'.$roundTotal.' %</td>
<td align="center"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="zehn" align="center" style="padding-top:50px;">
* Wahlberechtigt sind alle Spieler, die das 175. Level erreicht und/oder überschritten haben und aktiv auf dem Server spielen <i>(entspricht ca. '.$beteiligung.' Spielern)</i>.
</td>
</tr>
</table>';
}
elseif (antisql($_GET['rnk']) == 'stats') {
$pfad = 'index.php?site=ranking&rnk=stats';
// Linke Spalte - Charakterzusammensetzung
$me00 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '1' and isblock != 'D'"));
$me01 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '6' and isblock != 'D' or m_nJob = '16' and isblock != 'D' or m_nJob = '24' and isblock != 'D'"));
$me02 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '32' and isblock != 'D'"));
$me03 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '7' and isblock != 'D' or m_nJob = '17' and isblock != 'D' or m_nJob = '25' and isblock != 'D'"));
$me04 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '33' and isblock != 'D'"));
$ac00 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '2' and isblock != 'D'"));
$ac01 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '8' and isblock != 'D' or m_nJob = '18' and isblock != 'D' or m_nJob = '26' and isblock != 'D'"));
$ac02 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '34' and isblock != 'D'"));
$ac03 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '9' and isblock != 'D' or m_nJob = '19' and isblock != 'D' or m_nJob = '27' and isblock != 'D'"));
$ac04 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '35' and isblock != 'D'"));
$as00 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '3' and isblock != 'D'"));
$as01 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '10' and isblock != 'D' or m_nJob = '20' and isblock != 'D' or m_nJob = '28' and isblock != 'D'"));
$as02 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '36' and isblock != 'D'"));
$as03 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '11' and isblock != 'D' or m_nJob = '21' and isblock != 'D' or m_nJob = '29' and isblock != 'D'"));
$as04 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '37' and isblock != 'D'"));
$ma00 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '4' and isblock != 'D'"));
$ma01 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '12' and isblock != 'D' or m_nJob = '22' and isblock != 'D' or m_nJob = '30' and isblock != 'D'"));
$ma02 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '38' and isblock != 'D'"));
$ma03 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '13' and isblock != 'D' or m_nJob = '23' and isblock != 'D' or m_nJob = '31' and isblock != 'D'"));
$ma04 = @odbc_num_rows(@odbc_exec($connection, "SELECT [m_nJob] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_nJob = '39' and isblock != 'D'"));
// Mittlere Spalte - Allgemeine Serverinformationen
$accounts = @odbc_num_rows(@odbc_exec($connection, 'SELECT [account] FROM [ACCOUNT_DBF].[dbo].[ACCOUNT_TBL]'));
$characters = @odbc_num_rows(@odbc_exec($connection, 'SELECT [m_szName] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL]'));
$guilds = @odbc_num_rows(@odbc_exec($connection, 'SELECT [m_szGuild] FROM [CHARACTER_01_DBF].[dbo].[GUILD_TBL] WHERE [m_szGuild] != \'\''));
$peak = @odbc_result(@odbc_exec($connection, 'SELECT TOP 1 [number] FROM [LOGGING_01_DBF].[dbo].[LOG_USER_CNT_TBL] ORDER BY [number] DESC'), 'number');
$usr1 = @odbc_num_rows(@odbc_exec($connection, 'SELECT [MultiServer] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] = 1'));
$usr2 = @odbc_num_rows(@odbc_exec($connection, 'SELECT [MultiServer] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] = 2'));
$usr3 = @odbc_num_rows(@odbc_exec($connection, 'SELECT [MultiServer] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] = 3'));
$usr0 = $usr1+$usr2+$usr3;
$gms = @odbc_num_rows(@odbc_exec($connection, 'SELECT [m_szName],[multiserver] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [m_chAuthority] != \'F\' AND [isblock] != \'D\''));
$gmso = @odbc_num_rows(@odbc_exec($connection, 'SELECT [m_szName],[multiserver] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] where m_chAuthority != \'F\' AND [multiserver] != 0 AND [isblock] != \'D\''));
$lord = @odbc_result(@odbc_exec($connection, "SELECT TOP 1 m_szName FROM [CHARACTER_01_DBF].[dbo].[tblLord] a LEFT JOIN [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] b ON RIGHT('0000000' + CONVERT(VARCHAR(7),a.idLord),7)= b.m_idPlayer ORDER BY s_date DESC"), 'm_szname');
$gilde = @odbc_result(@odbc_exec($connection, 'SELECT TOP 1 m_szGuild FROM [CHARACTER_01_DBF].[dbo].[tblCombatJoinGuild] JG LEFT JOIN [CHARACTER_01_DBF].[dbo].[tblCombatInfo] CI ON JG.CombatID = CI.CombatID LEFT JOIN [CHARACTER_01_DBF].[dbo].[GUILD_TBL] G ON JG.GuildID = G.m_idGuild WHERE CI.[Status] = \'30\' ORDER BY JG.CombatID DESC, Point DESC'), 'm_szGuild');
$mvp = @odbc_result(@odbc_exec($connection, "SELECT TOP 1 m_szName FROM [CHARACTER_01_DBF].[dbo].[tblCombatJoinPlayer] JP LEFT JOIN [CHARACTER_01_DBF].[dbo].[tblCombatInfo] CI ON JP.CombatID = CI.CombatID LEFT JOIN [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] C ON JP.PlayerID = C.m_idPlayer WHERE CI.[Status] = '30' ORDER BY JP.CombatID DESC, Point DESC"), 'm_szname');
// Rechte Spalte - Voteabfragen
$vote_tt = mktime(06,00,00,date('m')-1,31,date('y'));
$vote_t = @odbc_fetch_array(@odbc_exec($connection, 'SELECT COUNT([voteid]) as count FROM [WEBSITE_DBF].[dbo].[VOTE_TBL] where [voteid] = 0 AND votetime > '.$vote_tt.''));
$filestring=file_get_contents("http://topofgames.com/sitedetails_37580.html"); $pos = strpos($filestring,"class=\"hitsrow\">"); $vote_thp = intval(str_replace(",","",substr($filestring,$pos+16,7)))/27;
$vote_xt = mktime(00,00,00,date('m'),01,date('y'));
$vote_x = @odbc_fetch_array(@odbc_exec($connection, 'SELECT COUNT([voteid]) as count FROM [WEBSITE_DBF].[dbo].[VOTE_TBL] where [voteid] = 1 AND votetime > '.$vote_xt.''));
$filestring=file_get_contents("http://www.xtremetop100.com/flyff-online"); $pos = strpos($filestring,"Sapphire Flyff - V19 GW"); $vote_xhp = intval(substr($filestring,$pos+451,7));
$vote_gt = mktime(07,00,00,date('m'),01,date('y'));
$vote_g = @odbc_fetch_array(@odbc_exec($connection, 'SELECT COUNT([voteid]) as count FROM [WEBSITE_DBF].[dbo].[VOTE_TBL] where [voteid] = 2 AND votetime > '.$vote_gt.''));
$filestring=file_get_contents("http://www.gtop100.com/flyff"); $pos = strpos($filestring,"Sapphire Flyff - V19 GW"); $vote_ghp = intval(substr($filestring,$pos+359,7));
//Ideen: Total Accounts/Characters, Onlineuser, Penya-/Perinumlauf,
echo ' <table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="100%" align="center" valign="top" colspan="3"><h2>Allgemeine Serverstatistiken</h2></td></tr>
<tr>
<td width="33%" align="center" valign="top">
<table width="100%" align="left" cellpadding="0" cellspacing="0"><tr><td align="left"><b>Charakterstatistiken:</b></td></tr></table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Mercenarys:</td><td>'.$me00.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Blades:</td><td>'.$me03.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Knights:</td><td>'.$me01.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Slayer:</td><td>'.$me04.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Templars:</td><td>'.$me02.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Magicians:</td><td>'.$ma00.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Elementoren:</td><td>'.$ma01.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Psykeeper:</td><td>'.$ma03.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Mentalisten:</td><td>'.$ma02.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Arkanisten:</td><td>'.$ma04.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Acrobats:</td><td>'.$ac00.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Jester:</td><td>'.$ac01.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Ranger:</td><td>'.$ac03.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Harlequins:</td><td>'.$ac02.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Crackshooter:</td><td>'.$ac04.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Assists:</td><td>'.$as00.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Ringmaster:</td><td>'.$as01.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Billposter:</td><td>'.$as03.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Seraph:</td><td>'.$as02.'</td></tr>
<tr><td align="left" style="padding-left:20px;">- Forcemaster:</td><td>'.$as04.'</td></tr>
</table>
</td>
<td width="33%" align="center" valign="top">
<table width="100%" align="left" cellpadding="0" cellspacing="0"><tr><td align="left"><b>Serverstatus:</b></td></tr></table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">';
foreach($_CONFIG['allg_svr_states'] as $id => $port) {echo '<tr><td align="left">- Channel #0'.$id.':</td> <td>'.checkServerState($port).'</td></tr>';}
echo ' </table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;"><tr><td align="left"><b>Sonstiges:</b></td></tr></table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Accounts:</td> <td>'.$accounts.'</td></tr>
<tr><td align="left">Charaktere:</td> <td>'.$characters.'</td></tr>
<tr><td align="left">Gilden:</td> <td>'.$guilds.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Serverpeak:</td> <td>'.$peak.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">User online:</td><td>'.$usr0.'</td></tr>
<tr><td align="left">- auf Channel #01:</td> <td>'.$usr1.'</td></tr>
<tr><td align="left">- auf Channel #02:</td> <td>'.$usr2.'</td></tr>
<tr><td align="left">- auf Channel #03:</td> <td>'.$usr3.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">GMs:</td> <td>'.$gms.'</td></tr>
<tr><td align="left">GMs online:</td> <td><a href="index.php?site=team">'.$gmso.'</a></td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" width="140px">Derzeitiger Lord:</td> <td>'.$lord.'</td></tr>
<tr><td align="left">GS-Sieger:</td> <td>'.$gilde.'</td></tr>
<tr><td align="left">MVP:</td> <td>'.$mvp.'</td></tr>
</table>
</td>
<td width="34%" align="center" valign="top">
<table width="100%" align="left" cellpadding="0" cellspacing="0"><tr><td align="left"><b>Votestatistiken:</b></td></tr></table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" colspan="2"><b>Top of Games:</b></td></tr>
<tr><td align="left" style="padding-left:20px; width:120px;">- Homepagevotes:</td><td>'.$vote_t['count'].'</td></tr>
<tr><td align="left" style="padding-left:20px; width:120px;">- Toplistvotes:</td><td>'.$vote_thp.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" colspan="2"><b>XtremeTop100:</b></td></tr>
<tr><td align="left" style="padding-left:20px; width:120px;">- Homepagevotes:</td><td>'.$vote_x['count'].'</td></tr>
<tr><td align="left" style="padding-left:20px; width:120px;">- Toplistvotes:</td><td>'.$vote_xhp.'</td></tr>
</table>
<table width="100%" align="left" cellpadding="0" cellspacing="0" style="margin-top:15px;">
<tr><td align="left" colspan="2"><b>GTop100:</b></td></tr>
<tr><td align="left" style="padding-left:20px; width:120px;">- Homepagevotes:</td><td>'.$vote_g['count'].'</td></tr>
<tr><td align="left" style="padding-left:20px; width:120px;">- Toplistvotes:</td><td>'.$vote_ghp.'</td></tr>
</table>
</td>
</tr>
</table>';
}
elseif (antisql($_GET['rnk']) == 'usercnt') {
$pfad = 'index.php?site=ranking&rnk=usercnt';
for($i=0; $i<=$_CONFIG['usercnt_days']; $i++) {$tag[] = date('md', mktime(00,00,00,date('m'),date('d')-$i,date('y')));}
for($i=$_CONFIG['usercnt_time_top']; $i>=$_CONFIG['usercnt_time_bottom']; $i--) {if(strlen($i) == 1) {$i = '0'.$i;} $zeit[] = $i;}
$top = 80;
echo ' <table cellspacing="0" cellpadding="3" width="100%">
<tr><td colspan="6" width="100%" align="center" valign="top" colspan="3"><h2>Unsere Userzahlen</h2></td></tr>
<tr>
<td colspan="6" valign="middle" style="padding-bottom:25px;">
Anmerkung: In die Liste wird nur der Maximalwert pro Stunde <i>(Zeitraum: Von '.$_CONFIG['usercnt_time_bottom'].'-'.$_CONFIG['usercnt_time_top'].' Uhr)</i> am Tag der letzten '.$_CONFIG['usercnt_days'].' Tage aufgenommen, wenn in der jeweiligen Stunde mehr als '.$_CONFIG['usercnt_min_user'].' Spieler online gewesen sind.
</td>
</tr>
<tr>
<td width="260px" align="left"><b><u>Datum / Uhrzeit</u></b></td>
<td align="center"><b><u>Userzahl</u></b></td>
<td align="center"><b><u>auf Channel 01</u></b></td>
<td align="center"><b><u>auf Channel 02</u></b></td>
<td align="center"><b><u>auf Channel 03</u></b></td>
</tr>';
foreach ($tag as $date) {
echo ' <tr>
<td colspan="6"><hr /></td>
</tr>';
foreach ($zeit as $time) {
$abfrage = '
SELECT TOP 1 [s_date], [number], [m_01], [m_02], [m_03] FROM [LOGGING_01_DBF].[dbo].[LOG_USER_CNT_TBL]
WHERE [number] > '.$_CONFIG['usercnt_min_user'].' AND [s_date] LIKE \'2012'.$date.$time.'%\'
ORDER BY [number] DESC';
$test_q = @odbc_exec($connection, $abfrage);
$ger = array("<b>Mo</b>", "<b>Di</b>", "<b>Mi</b>", "<b>Do</b>", "<b>Fr</b>", "<b>Sa</b>", "<b>So</b>");
$eng = array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
while ($test = @odbc_fetch_array($test_q)) {
if($_CONFIG['allg_user_up'] == $test['number']) {$class_peak=' style="color:#ff0000; font-weight:bold;"'; $peakanm='<i>(Serverpeak)</i>';} else {$class_peak=''; $peakanm='';}
echo ' <tr>
<td align="left"'.$class_peak.'>'.str_replace($eng, $ger, date('D, d.m.Y, H:i', strtotime($test['s_date']))).' Uhr '.$peakanm.'</td>
<td align="center"'.$class_peak.'>'.$test['number'].'</td>
<td align="center"'.$class_peak.'>'.$test['m_01'].'</td>
<td align="center"'.$class_peak.'>'.$test['m_02'].'</td>
<td align="center"'.$class_peak.'>'.$test['m_03'].'</td>
</tr>';
}
}
}
echo ' </table>';
}
?>
</td>
</tr>
</table>