From 318c726bf177910e209684eeb444c96415005bbf Mon Sep 17 00:00:00 2001 From: Jason Clemons Date: Fri, 12 Jul 2013 17:45:38 -0400 Subject: [PATCH 1/2] colored achievement tiles --- source/2.0/includes/classes/api.class.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/2.0/includes/classes/api.class.php b/source/2.0/includes/classes/api.class.php index 6e74895..75d7167 100644 --- a/source/2.0/includes/classes/api.class.php +++ b/source/2.0/includes/classes/api.class.php @@ -143,7 +143,14 @@ public function fetch_achievements($gamertag, $gameid, $region) { $achievements['achievements'][$i]['id'] = $achievement['Id']; $achievements['achievements'][$i]['title'] = ''; $achievements['achievements'][$i]['artwork']['locked'] = $achievement['IsHidden'] ? 'https://live.xbox.com/Content/Images/HiddenAchievement.png' : $achievement['TileUrl']; - $achievements['achievements'][$i]['artwork']['unlocked'] = ''; + // figure out the colored achievement tile (still hit or miss...) + preg_match('~/.*/.*/(.*?)\.jpg~si', $achievement['TileUrl'], $base64); + preg_match('~/ach/0/[0-9][0-9a-z]?[0-9a-z]?[0-9a-z]?~', base64_decode($base64[1]), $coloredtile); + if(empty($coloredtile[0])) { + $achievements['achievements'][$i]['artwork']['unlocked'] = ''; + } else { + $achievements['achievements'][$i]['artwork']['unlocked'] = 'https://image-ssl.xboxlive.com/global/t.' . dechex($json['Game']['Id']) . $coloredtile[0] . '/'; + } if(!empty($achievement['Name'])) { $achievements['achievements'][$i]['title'] = $this->clean($achievement['Name']); From d98d968778afe696cc48606e014f991f7ec20b05 Mon Sep 17 00:00:00 2001 From: Jason Clemons Date: Fri, 12 Jul 2013 17:56:13 -0400 Subject: [PATCH 2/2] minor fix for colored achievement tiles --- source/2.0/includes/classes/api.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/2.0/includes/classes/api.class.php b/source/2.0/includes/classes/api.class.php index 75d7167..f95e729 100644 --- a/source/2.0/includes/classes/api.class.php +++ b/source/2.0/includes/classes/api.class.php @@ -149,7 +149,7 @@ public function fetch_achievements($gamertag, $gameid, $region) { if(empty($coloredtile[0])) { $achievements['achievements'][$i]['artwork']['unlocked'] = ''; } else { - $achievements['achievements'][$i]['artwork']['unlocked'] = 'https://image-ssl.xboxlive.com/global/t.' . dechex($json['Game']['Id']) . $coloredtile[0] . '/'; + $achievements['achievements'][$i]['artwork']['unlocked'] = 'https://image-ssl.xboxlive.com/global/t.' . dechex($json['Game']['Id']) . $coloredtile[0]; } if(!empty($achievement['Name'])) {