Advertisement
Guest User

Untitled

a guest
Aug 9th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.97 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 genratePointsInfoArrayForAllUser($allData,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
  84. $pointFinalArrayStructure = array();
  85. $totalPointArray = array();
  86. $metadata = getMetaData();
  87. $availableBalance = 0;
  88. // $subIds = $pickedTeamArray->subs;
  89. // $gkId = $pickedTeamArray->subGk;
  90. $users = [1 , 2];
  91. foreach($users as $key => $user){
  92. $gameweek = 1;
  93. $gameWeekPlayerdata = _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek);
  94. array_push($totalPointArray, $gameWeekPlayerdata['point']);
  95. $gameWeekPlayerdata['totalPoints'] = $gameWeekPlayerdata['point'] + 25;
  96. array_push($pointFinalArrayStructure, $gameWeekPlayerdata);
  97. }
  98. $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
  99. echo json_encode($pointFinalArrayStructure);
  100. }
  101.  
  102.  
  103. function genratePointsInfoArrayForAllGameWeek($allData,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
  104. $pointFinalArrayStructure = array();
  105. $totalPointArray = array();
  106. $metadata = getMetaData();
  107. $availableBalance = 0;
  108. // $subIds = $pickedTeamArray->subs;
  109. // $gkId = $pickedTeamArray->subGk;
  110. foreach($gameWeekArray as $key => $gameweek){
  111. $gameWeekPlayerdata = _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek);
  112. array_push($totalPointArray, $gameWeekPlayerdata['point']);
  113. array_push($pointFinalArrayStructure, $gameWeekPlayerdata);
  114. }
  115. $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
  116. $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
  117. echo json_encode($pointFinalArrayStructure);
  118. }
  119.  
  120. function _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek) {
  121. $pointArray = array();
  122. $subsPointCount = 0;
  123. foreach ($allData as $key => $row) {
  124. $playtime = $row['playing_time'];
  125. $playerId = $row['player_id'];
  126. $playerPoint = $row['player_point'];
  127. foreach($pickedTeamArray as $key => $value) {
  128. if(in_array($playerId, $value)){
  129. $player['id'] = $playerId;
  130. $player['points'] = (float) $playerPoint;
  131. if(isCaptain($playerId, $captain_id)) {
  132. $player['captain'] = true;
  133. $player['points'] = $player['points'] * 2;
  134. }
  135. else {
  136. $player['captain'] = false;
  137. }
  138.  
  139. if(isViceCaptain($playerId, $vice_captain_id)){
  140. $player['is_vice_captain'] = true;
  141. }
  142. else {
  143. $player['is_vice_captain'] = false;
  144. }
  145. $substitute = false;
  146. if(in_array($playerId, $pickedTeamArray->subs)) {
  147. array_push($metadata['pickedTeam']['subs'], $player);
  148. $substitute = true;
  149. }
  150. elseif(in_array($playerId, $pickedTeamArray->subGk)) {
  151. array_push($metadata['pickedTeam']['subGk'], $player);
  152. $substitute = true;
  153. }
  154. else
  155. array_push($metadata['pickedTeam'][$key], $player);
  156. $playerHasPlayed = checkPlayerHasPlayed($playtime);
  157. if($playerHasPlayed && !$substitute) {
  158. array_push($pointArray, $player['points']);
  159. }
  160. else if(!$playerHasPlayed && !$substitute) {
  161. $subsPointCount++ ;
  162. }
  163. }
  164. }
  165. }
  166. $subPointArr = getPointFromSubstitutePlayer($pickedTeamArray, $allData ,$subsPointCount);
  167. $gameWeekPointArr =array_merge($pointArray, $subPointArr);
  168. $metadata['point'] = array_sum($gameWeekPointArr);
  169. $metadata['game_week'] = $gameweek;
  170. return $metadata;
  171. }
  172.  
  173. function filterViceCaptain($v) {
  174. return $v['is_vice_captain'];
  175. }
  176.  
  177. function filterCaptain($v) {
  178. return $v['captain'];
  179. }
  180.  
  181. function array_find($needle, $haystack)
  182. {
  183. foreach ($haystack as $item)
  184. {
  185. if (strpos($item, $needle) !== FALSE)
  186. {
  187. return $item;
  188. break;
  189. }
  190. }
  191. }
  192.  
  193. function decodePlayingTeam($pointFinalArrayStructure){
  194. $finalArray = $pointFinalArrayStructure[0]['pickedTeam'];
  195. $newArray = array();
  196. $captain_id = null;
  197. $vice_captain_id = null;
  198. $singleMergedArray = array();
  199. foreach ($finalArray as $key => $value) {
  200. if($key != 'subGk' && $key!= 'subs') {
  201. $newArray[$key] = array_map(create_function('$o', 'return $o["id"];'), $value);
  202. foreach ($value as $item) {
  203. array_push($singleMergedArray, $item);
  204. }
  205. }
  206. }
  207. $captain_id_index = array_search(true, array_column($singleMergedArray, 'captain'));
  208. $vice_captain_id_index = array_search(true, array_column($singleMergedArray, 'is_vice_captain'));
  209. $data = array (
  210. 'pickedTeam' => json_encode($newArray),
  211. 'captain_id' => $singleMergedArray[$captain_id_index]['id'],
  212. 'vice_captain_id' => $singleMergedArray[$vice_captain_id_index]['id'],
  213. );
  214. return $data;
  215. }
  216.  
  217.  
  218.  
  219. $sqlSel = "select * from players where game_week = 1";
  220. $results = $conn->query($sqlSel);
  221. $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
  222.  
  223. genratePointsInfoArrayForAllUser($allData, $infoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
  224. // calculateInitialAvailableBalance($allData, $infoArray, 100)
  225.  
  226.  
  227. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement