Sort armory characters by highest item level instead of progression.

This commit is contained in:
Andrew Tomaka 2011-12-04 04:01:56 -05:00
parent d450267066
commit 578d9da5ba

View file

@ -268,7 +268,7 @@ function wow() {
// build our mutli curl request // build our mutli curl request
$mh = curl_multi_init(); $mh = curl_multi_init();
foreach($characters as $character=>$data) { foreach($characters as $character=>$data) {
$url = sprintf('http://us.battle.net/api/wow/character/crushridge/%s?fields=progression,talents', $url = sprintf('http://us.battle.net/api/wow/character/crushridge/%s?fields=items,talents',
$character); $character);
$characters[$character] = curl_prep($url); $characters[$character] = curl_prep($url);
@ -288,23 +288,8 @@ function wow() {
curl_multi_getcontent($characters[$character]) curl_multi_getcontent($characters[$character])
); );
// merge heroic and normal ragnaros //find the average item level
$bosses = $json->progression->raids[$currentInstance]->bosses; $ilvl = $json->items->averageItemLevel;
$bosses[6]->heroicKills = $bosses[7]->heroicKills;
unset($bosses[7]);
// find the boss with the lowest kills
$leastN = 1000;
$leastH = 1000;
foreach($bosses as $boss) {
// -1 means that the boss has never but killed on normal, but
// has been on heroic so it's safe to reset to 0 for our purposes.
if($boss->normalKills == -1) $boss->normalKills = 0;
if(($boss->normalKills + $boss->heroicKills) < $leastN) {
$leastN = $boss->normalKills + $boss->heroicKills;
}
if($boss->heroicKills < $leastH) $leastH = $boss->heroicKills;
}
//find our active talent tree //find our active talent tree
foreach($json->talents as $talent) { foreach($json->talents as $talent) {
@ -317,17 +302,16 @@ function wow() {
'name' => $character, 'name' => $character,
'level' => $json->level, 'level' => $json->level,
'class' => $CLASSES[$json->class], 'class' => $CLASSES[$json->class],
'progression' => $leastH > 0 ? $leastH * 100 : $leastN, 'ilvl' => $ilvl,
'armory' => sprintf('http://us.battle.net/wow/en/character/crushridge/%s/advanced',$character), 'armory' => sprintf('http://us.battle.net/wow/en/character/crushridge/%s/advanced',$character),
'spec_icon' => $talent->icon, 'spec_icon' => $talent->icon,
'spec_name' => $talent->name, 'spec_name' => $talent->name,
); );
} }
// & notation for a variable to be passed by reference is actually // & notation for a variable to be passed by reference is actually
// deprecated and will cause a warning in 5.3. However, it is // deprecated and will cause a warning in 5.3. However, it is
// required to work in 5.2 // required to work in 5.2
usort(&$characterData,'progression_sort'); usort(&$characterData,'ilvl_sort');
$data = $characterData; $data = $characterData;
@ -336,7 +320,7 @@ function wow() {
if(!isset($character['name'])) return false; if(!isset($character['name'])) return false;
if(!isset($character['level'])) return false; if(!isset($character['level'])) return false;
if(!isset($character['class'])) return false; if(!isset($character['class'])) return false;
if(!isset($character['progression'])) return false; if(!isset($character['ilvl'])) return false;
if(!isset($character['armory'])) return false; if(!isset($character['armory'])) return false;
if(!isset($character['spec_icon'])) return false; if(!isset($character['spec_icon'])) return false;
if(!isset($character['spec_name'])) return false; if(!isset($character['spec_name'])) return false;
@ -384,8 +368,8 @@ function github_sort($a, $b) {
return strtotime($a->pushed_at) < strtotime($b->pushed_at); return strtotime($a->pushed_at) < strtotime($b->pushed_at);
} }
function progression_sort($a, $b) { function ilvl_sort(&$a, &$b) {
return $a['progression'] < $b['progression']; return $a['ilvl'] < $b['ilvl'];
} }
function shutdown() { function shutdown() {