public function view($username) { $username = urldecode($username); if (empty($username) || User::count(array('conditions' => array('username = ?', $username))) != 1) { redirect('home'); } $this_user = User::find_by_username($username); $this->data['user'] = $this_user; $this->data['subtitle'] = $this_user->display_name; $this->data['scores'] = User_score::get_scores_for_user($this_user->id); if (isset($_GET['recalc'])) { error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE ^ E_WARNING); set_time_limit(0); foreach ($this->data['scores'] as $score) { $chart = Ranked_file::find($score->file_id); $calculated_difficulty = $this->_process_everything($chart->raw_file, $chart->rate); $score->difficulty_score = $calculated_difficulty; } } $approved_scores = User_score::get_scores_for_user_approved($this_user->id, "difficulty_score DESC"); $overall_leaderboard = Leaderboards_cache::find(array('conditions' => array('type = ?', 1), 'order' => 'id desc')); $overall_leaderboard = (array) json_decode(base64_decode($overall_leaderboard->data)); $speed_leaderboard = Leaderboards_cache::find(array('conditions' => array('type = ?', 2), 'order' => 'id desc')); $speed_leaderboard = (array) json_decode(base64_decode($speed_leaderboard->data)); $jumpstream_leaderboard = Leaderboards_cache::find(array('conditions' => array('type = ?', 3), 'order' => 'id desc')); $jumpstream_leaderboard = (array) json_decode(base64_decode($jumpstream_leaderboard->data)); $jack_leaderboard = Leaderboards_cache::find(array('conditions' => array('type = ?', 4), 'order' => 'id desc')); $jack_leaderboard = (array) json_decode(base64_decode($jack_leaderboard->data)); $technical_leaderboard = Leaderboards_cache::find(array('conditions' => array('type = ?', 5), 'order' => 'id desc')); $technical_leaderboard = (array) json_decode(base64_decode($technical_leaderboard->data)); $stamina_leaderboard = Leaderboards_cache::find(array('conditions' => array('type = ?', 6), 'order' => 'id desc')); $stamina_leaderboard = (array) json_decode(base64_decode($stamina_leaderboard->data)); $i = 1; foreach ($overall_leaderboard as $row) { if ($row->username == $this_user->display_name) { $this->data['overall_rank'] = $i; $this->data['overall_score'] = $row->average_score; } $i++; } $i = 1; foreach ($speed_leaderboard as $row) { if ($row->username == $this_user->display_name) { $this->data['speed_rank'] = $i; $this->data['speed_score'] = $row->average_score; } $i++; } $i = 1; foreach ($jumpstream_leaderboard as $row) { if ($row->username == $this_user->display_name) { $this->data['jumpstream_rank'] = $i; $this->data['jumpstream_score'] = $row->average_score; } $i++; } $i = 1; foreach ($jack_leaderboard as $row) { if ($row->username == $this_user->display_name) { $this->data['jack_rank'] = $i; $this->data['jack_score'] = $row->average_score; } $i++; } $i = 1; foreach ($technical_leaderboard as $row) { if ($row->username == $this_user->display_name) { $this->data['technical_rank'] = $i; $this->data['technical_score'] = $row->average_score; } $i++; } $i = 1; foreach ($stamina_leaderboard as $row) { if ($row->username == $this_user->display_name) { $this->data['stamina_rank'] = $i; $this->data['stamina_score'] = $row->average_score; } $i++; } foreach ($approved_scores as $score) { $this->data['top_score'] = $score->difficulty_score; break; } $categories_required = 1; $individual_required = 1; if ($this->data['top_score'] < 15) { $categories_required = 1; $individual_required = 1; } else { if ($this->data['top_score'] < 20) { $categories_required = 2; $individual_required = 1; } else { if ($this->data['top_score'] < 24) { $categories_required = 2; $individual_required = 2; } else { if ($this->data['top_score'] < 28) { $categories_required = 3; $individual_required = 2; } else { if ($this->data['top_score'] < 31) { $categories_required = 3; $individual_required = 3; } else { $categories_required = 3; $individual_required = 5; } } } } } $this->data['categories_required'] = $categories_required; $this->data['individual_required'] = $individual_required; $this->content_view = "profiles/view"; }