Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if (!defined('MODULE_FILE')) {
- die ("You can't access this file directly...");
- }
- require_once("mainfile.php");
- $module_name = basename(dirname(__FILE__));
- get_lang($module_name);
- $userinfo = getusrinfo($user);
- $user_name = $userinfo['username']; // Username
- $user_id = $userinfo['user_id']; // User-ID
- define('INDEX_FILE', true);
- echo "<br /><center><b><a href='modules.php?name=Ranking_Top'>Rocarena Ranking: Top</a></b></center><br>";
- if($_REQUEST['error']):
- echo "<br /><div style='color:#FF3333; font-weight:bold; font-size:16px; text-align:center;'>".$_REQUEST['error']."</div><br />";
- endif;
- if($_REQUEST['info']):
- echo "<br /><div style='color:#5b9547; font-weight:bold; font-size:16px; text-align:center;'>".$_REQUEST['info']."</div><br />";
- endif;
- // functions
- function array_msort($array, $cols){
- // clean cols
- $cols = (array) $cols;
- foreach ($cols as $col => $order) {
- if (is_int($col)) {
- // unassociative array.
- $cols[$order] = SORT_ASC;
- unset($cols[$col]);
- }
- }
- $colarr = array();
- foreach ($cols as $col => $order) {
- $colarr[$col] = array();
- foreach ($array as $k => $row) { $colarr[$col]['_'.$k] = strtolower($row[$col]); }
- }
- $params = array();
- foreach ($cols as $col => $order) {
- $params[] =& $colarr[$col];
- foreach ((array) $order as $i=> $orderArg)
- {
- $uniqueFlag = $col.'_'.$i.'_flag';
- $$uniqueFlag = $orderArg;
- $params[] = &$$uniqueFlag;
- }
- }
- call_user_func_array('array_multisort', $params);
- $sorted = array();
- $keys = array();
- $first = true;
- foreach ($colarr as $col => $arr) {
- foreach ($arr as $k => $v) {
- if ($first) { $keys[$k] = substr($k,1); }
- $k = $keys[$k];
- if (!isset($sorted[$k])) $sorted[$k] = $array[$k];
- $sorted[$k][$col] = $array[$k][$col];
- }
- $first = false;
- }
- $array = $sorted;
- return $array;
- }
- function adjustRankingOrder($array){
- foreach($array as $player_name => $player_data):
- if($player_name == ''):
- continue;
- endif;
- $loses = (is_numeric($player_data["loses"]) ? $player_data["loses"] : 0);
- $tours = (is_numeric($player_data["tours"]) ? $player_data["tours"] : 0);
- $wins = (is_numeric($player_data["wins"]) ? $player_data["wins"] : 0);
- $order_total_wins = $wins + $tours;
- $adamsnumber = $wins - $losses;
- $wins_percentage = number_format($wins * 100 / ($wins + $loses), 1, ',', '');
- if($wins + $tours - $loses >= 0):
- $players_positive[$player_name] = array(
- 'order_total_wins' => (int)$order_total_wins,
- 'wins' => (int)$wins,
- 'loses' => (int)$loses,
- 'tours' => (int)$tours,
- 'wins_percentage' => $wins_percentage,
- 'difference' => (int)$order_total_wins - $loses,
- 'adamsnumber' => (int)$wins-$loses
- );
- else:
- $players_negative[$player_name] = array(
- 'order_total_wins' => (int)$order_total_wins,
- 'wins' => (int)$wins,
- 'loses' => (int)$loses,
- 'tours' => (int)$tours,
- 'wins_percentage' => $wins_percentage,
- 'difference' => (int)$order_total_wins - $loses
- );
- endif;
- endforeach;
- $players_positive = array_msort($players_positive, array('difference' => SORT_DESC, 'adamsnumber' => SORT_DESC, 'loses' => SORT_ASC));
- $players_negative = array_msort($players_negative, array('order_total_wins' => SORT_DESC, 'difference' => SORT_DESC, 'loses' => SORT_ASC));
- return array_merge($players_positive, $players_negative);
- }
- // ---------
- $qry_tours = $db->sql_query("SELECT * FROM ".$prefix."_ranking_top WHERE deleted <> 1");
- $ranking_array = array();
- while($obj_tours = mysql_fetch_object($qry_tours)):
- $obj_tours->player_name = trim($obj_tours->player_name);
- $ranking_array[$obj_tours->player_name]['wins'] = $obj_tours->matches_won;
- $ranking_array[$obj_tours->player_name]['loses'] = $obj_tours->matches_lost;
- $ranking_array[$obj_tours->player_name]['tours'] = $obj_tours->championships_won;
- endwhile;
- // admin management
- // access
- if(userCanManageRanking($user_id))
- {
- echo '<table border="0" width="100%;">
- <tr>
- <td align="right">
- Admin Management
- </td>
- </tr>
- <tr>
- <td align="right">
- <a style="float:right;" href="modules.php?name=Ranking_Top&op=manage_ranking_top">Manage Ranking</a>
- </td>
- </tr>
- </table>
- <br />';
- }
- $ranking_array = adjustRankingOrder($ranking_array);
- /*
- if($_SERVER['REMOTE_ADDR'] == '108.162.229.35'){
- echo "<pre>";
- print_r($ranking_array);
- exit();
- }*/
- echo '<br />
- <center>
- <img src="modules/Ranking_Top/images/rocarenarankingTOP.png" />
- <br />
- <!--<img src="modules/Ranking_Top/images/rrti.png" />-->
- </center>
- <br />
- <br />
- <br />
- <table width="100%" style="font-size:11px; border-collapse: collapse; border:0px solid #fed192;" cellpadding="5">
- <th>Rank</th>
- <th>Player</th>
- <th>Matches Won</th>
- <th>Matches Lost</th>
- <th>Win %</th>
- <th>Championships</th>';
- $increment = 1;
- $array_colors = array(
- 1 => '#D4A017',
- 2 => '#C0C0C0',
- 3 => '#A67D3D'/*,
- 4 => '#3fbe03',
- 5 => '#36a702',
- 6 => '#329f02',
- 7 => '#319b02',
- 8 => '#2f9502',
- 9 => '#2e9102',
- 10 => '#2d8d02',
- 11 => '#2a8402',
- 12 => '#298002',
- 13 => '#277b02',
- 14 => '#267702',
- 15 =>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement