/** * Get the members of a clan, **/ public function getMembers() { $members_array = query_array('SELECT uname, accounts.active_email as email, clan_name, level, days, clan_founder, player_id, member_level FROM clan JOIN clan_player ON _clan_id = :clan_id AND clan_id = _clan_id JOIN players ON player_id = clan_player._player_id join account_players on player_id = account_players._player_id join accounts on account_id = _account_id AND active = 1 ORDER BY level, health DESC', [':clan_id' => $this->id()]); $max = query_item('SELECT max(level) AS max FROM clan JOIN clan_player ON _clan_id = :clan_id AND clan_id = _clan_id JOIN players ON player_id = _player_id AND active = 1', [':clan_id' => $this->id()]); // Modify the members by reference foreach ($members_array as &$member) { $member['leader'] = false; $member['size'] = floor(($member['level'] - $member['days'] < 1 ? 0 : $member['level'] - $member['days']) / $max * 2) + 1; // Calc the member display size based on their level relative to the max. if ($member['member_level'] >= 1) { $member['leader'] = true; $member['size'] = max($member['size'] + 2, 3); } $member['gravatar_url'] = generate_gravatar_url($member['player_id']); } return $members_array; }
}*/ $changed = PlayerDAO::saveDetails($char); redirect('/stats.php?changed=' . (int) $changed . ($profile_changed ? '&profile_changed=1' : '')); } /* if(false && DEBUG){ $description = 'This is a description here and all'; $goals = 'Kill ninja of the ramen clan'; $beliefs = 'I believe in a one true ninja god'; $instincts = 'When I hear whistling, I duck'; $traits = 'Hardy, nervous, meaty, silent'; } */ $player = self_info(); //$player['created_date']=$player['created_date']? date("c", strtotime($player['created_date'])) : null; $class_theme = class_theme($char->class_identity()); $level_category = level_category($player['level']); $status_list = get_status_list(); $gravatar_url = generate_gravatar_url($player['player_id']); $gurl = $gravatar_url; $rank_display = get_rank($char_id); // rank display. $profile_editable = $player['messages']; $parts = get_certain_vars(get_defined_vars(), ['player', 'level_category', 'status_list', 'description', 'goals', 'beliefs', 'instincts', 'traits', 'dev', 'changed']); // Set the parts array's player clan if any is found. if ($parts['player_clan'] = get_clan_by_player_id($char_id)) { // Set the char clan name and id for later usage. $parts['clan_name'] = $parts['player_clan']->getName(); $parts['clan_id'] = $parts['player_clan']->getID(); } display_page('stats.tpl', 'Ninja Stats', $parts, array('quickstat' => 'player'));
} // Get the player's kills for this date. $kills_today = query_item('select sum(killpoints) from levelling_log where _player_id = :player_id and killsdate = CURRENT_DATE and killpoints > 0', array(':player_id' => $target_id)); $viewers_clan = $viewing_player_obj instanceof Player && $viewing_player_obj->vo ? get_clan_by_player_id($viewing_player_obj->vo->player_id) : null; // Attack Legal section $params = array('required_turns' => 0, 'ignores_stealth' => true); // 0 for unstealth. $AttackLegal = new AttackLegal($username, $target, $params); $attack_allowed = $AttackLegal->check(false); $attack_error = $AttackLegal->getError(); $sel_rank_spot = "SELECT rank_id FROM rankings WHERE player_id = :char_id limit 1"; $rank_spot = query_item($sel_rank_spot, array(':char_id' => $player_info['player_id'])); // Display the player info. $status_list = get_status_list($player); $level_category = level_category($player_info['level']); $gurl = $gravatar_url = generate_gravatar_url($target_player_obj); if ($char_id && !$attack_error && !$self) { // They're not dead or otherwise unattackable. // Attack or Duel $skillDAO = new SkillDAO(); $combat_skills = $skillDAO->getSkillsByTypeAndClass($viewing_player_obj->vo->_class_id, 'combat', $viewing_player_obj->vo->level)->fetchAll(); $targeted_skills = $skillDAO->getSkillsByTypeAndClass($viewing_player_obj->vo->_class_id, 'targeted', $viewing_player_obj->vo->level)->fetchAll(); // *** todo When Smarty3 is released, remove fetch all and change template to new foreach-as syntax *** // Check all the combat toggles to see if they should be checked on the profile page. foreach ($combat_skills as &$skill) { $skill['checked'] = 0; if (isset($combat_toggles[$skill['skill_internal_name']]) && $combat_toggles[$skill['skill_internal_name']]) { $skill['checked'] = 1; // Save the setting associatively back to the original array. } }