/**
  * 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;
 }
示例#2
0
        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;