debug=1;
$db->Execute('SET ANSI_NULLS ON');
$db->Execute('SET ANSI_WARNINGS ON');
define('_Stats01',"select distinct Login, count(*) as COUNT from cabal_auth_table group by Login");
define('_Stats03',"Select count(*) as COUNT from cabal_character_table");
define('_Stats04',"Select count(*) as COUNT from Guild");
define('_WTOP_HERO',"select NAME,Lev,RESETS,style,CharacterIDX from cabal_character_table where nation != 3 order by RESETS desc, lev desc");
define('_WTOP_GUILD',"select GUILDNAME, GUILDNO, ( select count(*) from GuildMember as gm where gm.GuildNo = g.GuildNo ) as MEMB from Guild as g order by MEMB desc");
switch(@$_GET['callback']){
case 'servstats':
//$gs = @fsockopen($_config[0]['ip'], $_config[0]['gs_port'], $errno, $errstr,0.5);
$rs = $db->Execute(_Stats01);
// $login = array('Logout','Logined');
foreach ($rs as $row) {
if ($row['LOGIN'] ==1) $stats['Logined'] = $row['COUNT'];
else $stats['Logined'] = 0;
$total += $row['COUNT'];
}
$stats['Accounts'] =$total;
$rs = $db2->Execute(_Stats03);
$row = $rs->FetchRow();
$stats['Characters'] = $row['COUNT'];
$rs = $db2->Execute(_Stats04);
$row = $rs->FetchRow();
$stats['Guilds'] = $row['COUNT'];
switch (@$_GET['style']) {
default:
case 'inline':
echo 'document.write(\'
';
foreach ($stats as $s1 => $s) echo ' '.$s.'';
echo '
\');';
break;
case 'li':
case '2':
echo 'document.write(\'';
foreach ($stats as $s1 => $s) echo ' - '.$s1.': '.$s.'
';
echo '
\');';
break;
case 'json':
echo 'servStats({"data":[';
foreach ($stats as $s1 => $s) echo '{"label":"'.$s1.'","value":"'.$s.'"},';
echo '{}]})';
break;
}
break;
case 'tophero':
$top = (ctype_digit($_GET['top'])) && ($_GET['top']<=50) ? $_GET['top'] : 5;
$rs = $db2->SelectLimit(_WTOP_HERO, $top,0,array() );
$row = $rs->GetArray();
$result = array();
foreach ($row as $r1 => $r) {
$style = decode_style($r['style']);
$result[$r1]['CL'] = $style['Class'];
$result[$r1]['CLNO'] = $style['Class_Name'];
foreach ($r as $r2 => $r3)
if (ctype_upper($r2)) $result[$r1][$r2] = $r3;
}
echo 'topHero({"CharList":'.array2json($result).'})';
break;
case 'topguild':
$db->debug=1;
$top = (ctype_digit($_GET['top'])) && ($_GET['top']<=50) ? $_GET['top'] : 5;
$rs = $db2->SelectLimit(_WTOP_GUILD,$top,0,array());
$row = $rs->GetArray();
$result = array();
foreach ($row as $r1 => $r) {
//$result[$r1]['GMARK'] = urlencode(bin2hex($r['G_MARK']));;
foreach ($r as $r2 => $r3)
if (ctype_upper(preg_replace('/_/i','',$r2))) $result[$r1][$r2] = $r3;
}
echo 'topGuilds({"GuildList":'.array2json($result).'})';
break;
default:
$rs = $db->Execute(_Stats01);
// $login = array('Logout','Logined');
foreach ($rs as $row) {
if ($row['LOGIN'] ==1) $stats['Logined'] = $row['COUNT'];
else $stats['Logined'] = 0;
$total += $row['COUNT'];
}
$stats['Accounts'] =$total;
$rs = $db2->Execute(_Stats03);
$row = $rs->FetchRow();
$stats['Characters'] = $row['COUNT'];
$rs = $db2->Execute(_Stats04);
$row = $rs->FetchRow();
$stats['Guilds'] = $row['COUNT'];
$top = (ctype_digit($_GET['top'])) && ($_GET['top']<=50) ? $_GET['top'] : 5;
$rs = $db2->SelectLimit(_WTOP_HERO, $top,0,array() );
$row = $rs->GetArray();
$cresult = array();
foreach ($row as $r1 => $r) {
$style = decode_style($r['style']);
$cresult[$r1]['CL'] = $style['Class'];
$cresult[$r1]['CLNO'] = $style['Class_Name'];
foreach ($r as $r2 => $r3)
if (ctype_upper($r2)) $cresult[$r1][$r2] = $r3;
}
$top = (ctype_digit($_GET['top'])) && ($_GET['top']<=50) ? $_GET['top'] : 5;
$rs = $db2->SelectLimit(_WTOP_GUILD,$top,0,array());
$row = $rs->GetArray();
$result = array();
foreach ($row as $r1 => $r) {
foreach ($r as $r2 => $r3)
if (ctype_upper(preg_replace('/_/i','',$r2))) $result[$r1][$r2] = $r3;
}
$result = array('GuildList'=>$result,'CharList'=>$cresult,'Stats'=>$stats);
echo 'srvFeed('.array2json($result).')';
break;
}
$db->close;
$db2->close;
?>