Advertisement
Guest User

crabistryingtohelp

a guest
Mar 24th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.09 KB | None | 0 0
  1. <?php
  2.  
  3. if (!defined('MODULE_FILE')) {
  4. die ("You can't access this file directly...");
  5. }
  6.  
  7. require_once("mainfile.php");
  8. $module_name = basename(dirname(__FILE__));
  9. get_lang($module_name);
  10.  
  11. $userinfo = getusrinfo($user);
  12. $user_name = $userinfo['username']; // Username
  13. $user_id = $userinfo['user_id']; // User-ID
  14.  
  15. define('INDEX_FILE', true);
  16.  
  17. echo "<br /><center><b><a href='modules.php?name=Ranking_Top'>Rocarena Ranking: Top</a></b></center><br>";
  18.  
  19. if($_REQUEST['error']):
  20. echo "<br /><div style='color:#FF3333; font-weight:bold; font-size:16px; text-align:center;'>".$_REQUEST['error']."</div><br />";
  21. endif;
  22.  
  23. if($_REQUEST['info']):
  24. echo "<br /><div style='color:#5b9547; font-weight:bold; font-size:16px; text-align:center;'>".$_REQUEST['info']."</div><br />";
  25. endif;
  26.  
  27. // functions
  28. function array_msort($array, $cols){
  29. // clean cols
  30. $cols = (array) $cols;
  31. foreach ($cols as $col => $order) {
  32. if (is_int($col)) {
  33. // unassociative array.
  34. $cols[$order] = SORT_ASC;
  35. unset($cols[$col]);
  36. }
  37. }
  38.  
  39. $colarr = array();
  40. foreach ($cols as $col => $order) {
  41. $colarr[$col] = array();
  42. foreach ($array as $k => $row) { $colarr[$col]['_'.$k] = strtolower($row[$col]); }
  43. }
  44. $params = array();
  45. foreach ($cols as $col => $order) {
  46. $params[] =& $colarr[$col];
  47. foreach ((array) $order as $i=> $orderArg)
  48. {
  49. $uniqueFlag = $col.'_'.$i.'_flag';
  50. $$uniqueFlag = $orderArg;
  51. $params[] = &$$uniqueFlag;
  52. }
  53. }
  54.  
  55. call_user_func_array('array_multisort', $params);
  56. $sorted = array();
  57. $keys = array();
  58. $first = true;
  59. foreach ($colarr as $col => $arr) {
  60. foreach ($arr as $k => $v) {
  61. if ($first) { $keys[$k] = substr($k,1); }
  62. $k = $keys[$k];
  63. if (!isset($sorted[$k])) $sorted[$k] = $array[$k];
  64. $sorted[$k][$col] = $array[$k][$col];
  65. }
  66. $first = false;
  67. }
  68. $array = $sorted;
  69. return $array;
  70. }
  71.  
  72. function adjustRankingOrder($array){
  73. foreach($array as $player_name => $player_data):
  74. if($player_name == ''):
  75. continue;
  76. endif;
  77.  
  78. $loses = (is_numeric($player_data["loses"]) ? $player_data["loses"] : 0);
  79. $tours = (is_numeric($player_data["tours"]) ? $player_data["tours"] : 0);
  80. $wins = (is_numeric($player_data["wins"]) ? $player_data["wins"] : 0);
  81.  
  82. $order_total_wins = $wins + $tours;
  83. $adamsnumber = $wins - $losses;
  84.  
  85. $wins_percentage = number_format($wins * 100 / ($wins + $loses), 1, ',', '');
  86.  
  87. if($wins + $tours - $loses >= 0):
  88. $players_positive[$player_name] = array(
  89. 'order_total_wins' => (int)$order_total_wins,
  90. 'wins' => (int)$wins,
  91. 'loses' => (int)$loses,
  92. 'tours' => (int)$tours,
  93. 'wins_percentage' => $wins_percentage,
  94. 'difference' => (int)$order_total_wins - $loses,
  95. 'adamsnumber' => (int)$wins-$loses
  96. );
  97. else:
  98. $players_negative[$player_name] = array(
  99. 'order_total_wins' => (int)$order_total_wins,
  100. 'wins' => (int)$wins,
  101. 'loses' => (int)$loses,
  102. 'tours' => (int)$tours,
  103. 'wins_percentage' => $wins_percentage,
  104. 'difference' => (int)$order_total_wins - $loses
  105. );
  106. endif;
  107. endforeach;
  108.  
  109. $players_positive = array_msort($players_positive, array('difference' => SORT_DESC, 'adamsnumber' => SORT_DESC, 'loses' => SORT_ASC));
  110. $players_negative = array_msort($players_negative, array('order_total_wins' => SORT_DESC, 'difference' => SORT_DESC, 'loses' => SORT_ASC));
  111.  
  112. return array_merge($players_positive, $players_negative);
  113. }
  114.  
  115. // ---------
  116. $qry_tours = $db->sql_query("SELECT * FROM ".$prefix."_ranking_top WHERE deleted <> 1");
  117.  
  118. $ranking_array = array();
  119.  
  120. while($obj_tours = mysql_fetch_object($qry_tours)):
  121. $obj_tours->player_name = trim($obj_tours->player_name);
  122.  
  123. $ranking_array[$obj_tours->player_name]['wins'] = $obj_tours->matches_won;
  124. $ranking_array[$obj_tours->player_name]['loses'] = $obj_tours->matches_lost;
  125. $ranking_array[$obj_tours->player_name]['tours'] = $obj_tours->championships_won;
  126. endwhile;
  127.  
  128. // admin management
  129. // access
  130. if(userCanManageRanking($user_id))
  131. {
  132. echo '<table border="0" width="100%;">
  133. <tr>
  134. <td align="right">
  135. Admin Management
  136. </td>
  137. </tr>
  138. <tr>
  139. <td align="right">
  140. <a style="float:right;" href="modules.php?name=Ranking_Top&op=manage_ranking_top">Manage Ranking</a>
  141. </td>
  142. </tr>
  143. </table>
  144. <br />';
  145. }
  146.  
  147. $ranking_array = adjustRankingOrder($ranking_array);
  148. /*
  149. if($_SERVER['REMOTE_ADDR'] == '108.162.229.35'){
  150. echo "<pre>";
  151. print_r($ranking_array);
  152. exit();
  153. }*/
  154. echo '<br />
  155. <center>
  156. <img src="modules/Ranking_Top/images/rocarenarankingTOP.png" />
  157. <br />
  158. <!--<img src="modules/Ranking_Top/images/rrti.png" />-->
  159. </center>
  160. <br />
  161. <br />
  162. <br />
  163. <table width="100%" style="font-size:11px; border-collapse: collapse; border:0px solid #fed192;" cellpadding="5">
  164. <th>Rank</th>
  165. <th>Player</th>
  166. <th>Matches Won</th>
  167. <th>Matches Lost</th>
  168. <th>Win %</th>
  169. <th>Championships</th>';
  170.  
  171. $increment = 1;
  172.  
  173. $array_colors = array(
  174. 1 => '#D4A017',
  175. 2 => '#C0C0C0',
  176. 3 => '#A67D3D'/*,
  177. 4 => '#3fbe03',
  178. 5 => '#36a702',
  179. 6 => '#329f02',
  180. 7 => '#319b02',
  181. 8 => '#2f9502',
  182. 9 => '#2e9102',
  183. 10 => '#2d8d02',
  184. 11 => '#2a8402',
  185. 12 => '#298002',
  186. 13 => '#277b02',
  187. 14 => '#267702',
  188. 15 =>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement