Пример #1
0
 public function index()
 {
     error_reporting(0);
     $this->content_view = 'home';
     $this->data['announcements'] = Announcement::get_announcements();
     $this->load->helper('twitch');
     load_api_interface();
     $result = json_decode(file_get_contents("https://api.twitch.tv/kraken/streams?game=StepMania&limit=4"));
     $this->data['streams'] = $result->streams;
     $this->data['recent_scores'] = User_score::get_recent_scores();
     $this->data['new_songs'] = Ranked_file::get_recent_files();
     $this->data['new_packs'] = Pack::get_recent_packs();
     $this->data['online_users'] = User::get_online_users();
     $this->data['leaderboards'] = Leaderboards_cache::get_all_lbs();
 }
 public static function get_all_lbs()
 {
     $lbs = array();
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 1), 'order' => 'id desc'));
     $lbs['overall_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 2), 'order' => 'id desc'));
     $lbs['speed_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 3), 'order' => 'id desc'));
     $lbs['jumpstream_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 4), 'order' => 'id desc'));
     $lbs['jack_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 5), 'order' => 'id desc'));
     $lbs['technical_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 6), 'order' => 'id desc'));
     $lbs['stamina_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     return $lbs;
 }
 public function generate_cache()
 {
     set_time_limit(0);
     $overall_leaderboards = User_score::get_overall_leaderboard();
     $this->data['overall_leaderboards'] = $overall_leaderboards;
     $lc = Leaderboards_cache::create(array('type' => 1, 'data' => base64_encode(json_encode($overall_leaderboards))));
     $speed_leaderboards = User_score::get_speed_leaderboard();
     $lc = Leaderboards_cache::create(array('type' => 2, 'data' => base64_encode(json_encode($speed_leaderboards))));
     $jumpstream_leaderboards = User_score::get_jumpstream_leaderboard();
     $lc = Leaderboards_cache::create(array('type' => 3, 'data' => base64_encode(json_encode($jumpstream_leaderboards))));
     $jack_leaderboards = User_score::get_jack_leaderboard();
     $lc = Leaderboards_cache::create(array('type' => 4, 'data' => base64_encode(json_encode($jack_leaderboards))));
     $technical_leaderboards = User_score::get_technical_leaderboard();
     $lc = Leaderboards_cache::create(array('type' => 5, 'data' => base64_encode(json_encode($technical_leaderboards))));
     $stamina_leaderboards = User_score::get_stamina_leaderboard();
     $lc = Leaderboards_cache::create(array('type' => 6, 'data' => base64_encode(json_encode($stamina_leaderboards))));
     $old_caches = Leaderboards_cache::all(array('order' => 'id ASC', 'limit' => 6));
     foreach ($old_caches as $oc) {
         $oc->delete();
     }
     $this->content_view = "lc";
 }
 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";
 }
Пример #5
0
 public function get_home_leaderboard()
 {
     $lb = Leaderboards_cache::find(array('conditions' => array('type = ?', 1), 'order' => 'id desc'));
     $this->data['overall_leaderboards'] = (array) json_decode(base64_decode($lb->data));
     $this->content_view = "ajax/home_leaderboard";
 }