Advertisement
Guest User

Untitled

a guest
Aug 9th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.82 KB | None | 0 0
  1. <?php
  2.  
  3. $servername = "localhost";
  4. $username = "root";
  5. $password = "root";
  6. $dbname = "testing";
  7. $conn = new mysqli($servername, $username, $password, $dbname);
  8.  
  9. $infoArray = new stdClass();
  10. $infoArray->defs = [98, 34, 101, 97];
  11. $infoArray->fwds = [212, 92];
  12. $infoArray->gk = [74];
  13. $infoArray->mid = [16, 409, 454, 453];
  14. $infoArray->subs = [25, 38 ,228];
  15. $infoArray->subGk = [260];
  16. $captain_id = 212;
  17. $vice_captain_id = 98;
  18. $totalMoney = 100;
  19.  
  20.  
  21. function checkPlayerHasPlayed($playtime) {
  22. $playerHasPlayed = false;
  23. if($playtime > 0) {
  24. $playerHasPlayed = true;
  25. }
  26. return $playerHasPlayed;
  27.  
  28. }
  29.  
  30. function isCaptain($playerId, $captain_id) {
  31. if($playerId == $captain_id)
  32. return true;
  33. else
  34. return false;
  35. }
  36.  
  37. function isViceCaptain($playerId, $vice_captain_id) {
  38. if($playerId == $vice_captain_id)
  39. return true;
  40. else
  41. return false;
  42. }
  43.  
  44.  
  45. function getPointFromSubstitutePlayer( $pickedTeam, $allData, $count ) {
  46. $pointsArray = array();
  47. if($count > 0) {
  48. $subPlayers = $pickedTeam->subs;
  49. $subPlayersWithInfo = array();
  50. foreach ($subPlayers as $key => $id) {
  51. $key = array_search($id, array_column($allData, 'player_id'));
  52. if($allData[$key]) {
  53. $subPlayersWithInfo = $allData[$key];
  54. if(checkPlayerHasPlayed($subPlayersWithInfo['playing_time'])) {
  55. array_push($pointsArray, $subPlayersWithInfo['player_point']);
  56. if(count($pointsArray) > $count) {
  57. break;
  58. }
  59. }
  60. }
  61.  
  62. }
  63. }
  64. return $pointsArray;
  65. }
  66.  
  67.  
  68. function getMetaData () {
  69. $metadata = array(
  70. 'pickedTeam' =>array (
  71. 'defs' =>array(),
  72. 'mid' =>array(),
  73. 'fwds' =>array(),
  74. 'gk' =>array(),
  75. 'subs' => array(),
  76. 'subGk' => array()
  77. )
  78. );
  79. return $metadata;
  80. }
  81. // $availabLeBalance = calculateInitialAvailableBalance($infoArray, $conn, $totalMoney) {;
  82.  
  83. function generatePointsInfoArrayForAllUser($allData,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
  84. $pointFinalArrayStructure = array();
  85. $totalPointArray = array();
  86. $metadata = getMetaData();
  87. $users = [1 , 2];
  88. foreach($users as $key => $user){
  89. $gameweek = 1;
  90. $gameWeekPlayerdata = _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek);
  91. array_push($totalPointArray, $gameWeekPlayerdata['point']);
  92. $gameWeekPlayerdata['totalPoints'] = $gameWeekPlayerdata['point'] + 25;
  93. array_push($pointFinalArrayStructure, $gameWeekPlayerdata);
  94. }
  95. $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
  96. echo json_encode($pointFinalArrayStructure);
  97. }
  98.  
  99.  
  100. function generatePointsInfoArrayForAllGameWeek($allData,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
  101. $pointFinalArrayStructure = array();
  102. $totalPointArray = array();
  103. $metadata = getMetaData();
  104. foreach($gameWeekArray as $key => $gameweek){
  105. $gameWeekPlayerdata = _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek);
  106. array_push($totalPointArray, $gameWeekPlayerdata['point']);
  107. array_push($pointFinalArrayStructure, $gameWeekPlayerdata);
  108. }
  109. $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
  110. $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
  111. echo json_encode($pointFinalArrayStructure);
  112. }
  113.  
  114. function _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek) {
  115. $pointArray = array();
  116. $subsPointCount = 0;
  117. foreach ($allData as $key => $row) {
  118. $playtime = $row['playing_time'];
  119. $playerId = $row['player_id'];
  120. $playerPoint = $row['player_point'];
  121. foreach($pickedTeamArray as $key => $value) {
  122. if(in_array($playerId, $value)){
  123. $player['id'] = $playerId;
  124. $player['points'] = (float) $playerPoint;
  125. if(isCaptain($playerId, $captain_id)) {
  126. $player['captain'] = true;
  127. $player['points'] = $player['points'] * 2;
  128. }
  129. else {
  130. $player['captain'] = false;
  131. }
  132.  
  133. if(isViceCaptain($playerId, $vice_captain_id)){
  134. $player['is_vice_captain'] = true;
  135. }
  136. else {
  137. $player['is_vice_captain'] = false;
  138. }
  139. $substitute = false;
  140. if(in_array($playerId, $pickedTeamArray->subs)) {
  141. array_push($metadata['pickedTeam']['subs'], $player);
  142. $substitute = true;
  143. }
  144. elseif(in_array($playerId, $pickedTeamArray->subGk)) {
  145. array_push($metadata['pickedTeam']['subGk'], $player);
  146. $substitute = true;
  147. }
  148. else
  149. array_push($metadata['pickedTeam'][$key], $player);
  150. $playerHasPlayed = checkPlayerHasPlayed($playtime);
  151. if($playerHasPlayed && !$substitute) {
  152. array_push($pointArray, $player['points']);
  153. }
  154. else if(!$playerHasPlayed && !$substitute) {
  155. $subsPointCount++ ;
  156. }
  157. }
  158. }
  159. }
  160. $subPointArr = getPointFromSubstitutePlayer($pickedTeamArray, $allData ,$subsPointCount);
  161. $gameWeekPointArr =array_merge($pointArray, $subPointArr);
  162. $metadata['point'] = array_sum($gameWeekPointArr);
  163. $metadata['game_week'] = $gameweek;
  164. return $metadata;
  165. }
  166.  
  167. function filterViceCaptain($v) {
  168. return $v['is_vice_captain'];
  169. }
  170.  
  171. function filterCaptain($v) {
  172. return $v['captain'];
  173. }
  174.  
  175. function array_find($needle, $haystack)
  176. {
  177. foreach ($haystack as $item)
  178. {
  179. if (strpos($item, $needle) !== FALSE)
  180. {
  181. return $item;
  182. break;
  183. }
  184. }
  185. }
  186.  
  187. function decodePlayingTeam($pointFinalArrayStructure){
  188. $finalArray = $pointFinalArrayStructure[0]['pickedTeam'];
  189. $newArray = array();
  190. $captain_id = null;
  191. $vice_captain_id = null;
  192. $singleMergedArray = array();
  193. foreach ($finalArray as $key => $value) {
  194. $newArray[$key] = array_map(create_function('$o', 'return $o["id"];'), $value);
  195. foreach ($value as $item) {
  196. array_push($singleMergedArray, $item);
  197. }
  198. }
  199. $captain_id_index = array_search(true, array_column($singleMergedArray, 'captain'));
  200. $vice_captain_id_index = array_search(true, array_column($singleMergedArray, 'is_vice_captain'));
  201. $data = array (
  202. 'pickedTeam' => json_encode($newArray),
  203. 'captain_id' => $singleMergedArray[$captain_id_index]['id'],
  204. 'vice_captain_id' => $singleMergedArray[$vice_captain_id_index]['id'],
  205. );
  206. return $data;
  207. }
  208.  
  209.  
  210.  
  211. $sqlSel = "select * from players where game_week = 1";
  212. $results = $conn->query($sqlSel);
  213. $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
  214.  
  215. // genratePointsInfoArrayForAllUser($allData, $infoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
  216. generatePointsInfoArrayForAllGameWeek($allData, $infoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
  217. // calculateInitialAvailableBalance($allData, $infoArray, 100)
  218.  
  219.  
  220. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement