/** * Get a list of the completed achievements by the guild * @param String $sort Define what the list should be sorted by: timestamp|id|name * @param String $sortFlag Can be asc|desc */ public function getAchievements($sort = FALSE, $sortFlag = 'asc') { $achievements['achievementsCompleted'] = $this->characterData['achievements']['achievementsCompleted']; $achievements['achievementsCompletedTimestamp'] = $this->characterData['achievements']['achievementsCompletedTimestamp']; $id_list = ''; for ($i = 0; $i < count($achievements['achievementsCompleted']); $i++) { // Build the new array to return $achievement[$i]['id'] = $achievements['achievementsCompleted'][$i]; $achievement[$i]['timestamp'] = $achievements['achievementsCompletedTimestamp'][$i]; $achievement[$i]['url'] = $GLOBALS['wowarmory']['urls']['achievement'] . "=" . $achievements['achievementsCompleted'][$i]; $achievement[$i]['url'] .= "&who=" . $this->name . "&when=" . $achievement[$i]['timestamp']; $id_list .= $achievement[$i]['id'] . ','; } $id_list = substr($id_list, 0, -1); $achievementdata = new Achievements($id_list, 'character', $this->region); $id_list = null; for ($i = 0; $i < count($achievements['achievementsCompleted']); $i++) { $achievement[$i]['name'] = $achievementdata->getAchievement($achievement[$i]['id'], 'title'); } $achievements = null; $achievementdata = null; if ($sort) { return $this->sortAchievements($achievement, $sort, $sortFlag); } return $achievement; }
error_log('Bad Signed JSON signature!'); return null; } return $data; } function base64_url_decode($input) { return base64_decode(strtr($input, '-_', '+/')); } //TAG:ACHIEVEMENTS // Handle the case where the user wants to read an achievement if (getParam('f') == 'ra') { // don't need to user-validate, just fetch achievement require "Achievements.php"; $name = getParam('n'); echo Achievements::getAchievement($name); exit(0); } $user = validatePlayer(); if (!$user) { $msg = "ERROR: Could not validate user"; restReturn($msg); trigger_error($msg, E_USER_ERROR); } $params = $_REQUEST; $functions = array('i' => 'initGame', 'h' => 'getWordHashes', 's' => 'submitWordList', 'c' => 'challengeOtherUser', 'r' => 'getMyResult', 'r' => 'respondToInvite', 'f' => 'getFbRequests', 'ra' => 'getAchievement', 'b' => 'getBalance'); $passToClient['uid'] = $user; // Which function should we dispatch? PHP 5.2 doesn't have lambdas. :( $f = getParam('f'); if ($f) { $call = isset($functions[$f]) ? $functions[$f] : false;