Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $servername = "localhost";
- $username = "root";
- $password = "root";
- $dbname = "testing";
- $conn = new mysqli($servername, $username, $password, $dbname);
- $infoArray = new stdClass();
- $infoArray->defs = [98, 34, 101, 97];
- $infoArray->fwds = [212, 92];
- $infoArray->gk = [74];
- $infoArray->mid = [16, 409, 454, 453];
- $infoArray->subs = [25, 38 ,228];
- $infoArray->subGk = [260];
- $captain_id = 212;
- $vice_captain_id = 98;
- $totalMoney = 100;
- function checkPlayerHasPlayed($playtime) {
- $playerHasPlayed = false;
- if($playtime > 0) {
- $playerHasPlayed = true;
- }
- return $playerHasPlayed;
- }
- function isCaptain($playerId, $captain_id) {
- if($playerId == $captain_id)
- return true;
- else
- return false;
- }
- function isViceCaptain($playerId, $vice_captain_id) {
- if($playerId == $vice_captain_id)
- return true;
- else
- return false;
- }
- function getPointFromSubstitutePlayer( $pickedTeam, $allData, $count ) {
- $pointsArray = array();
- if($count > 0) {
- $subPlayers = $pickedTeam->subs;
- $subPlayersWithInfo = array();
- foreach ($subPlayers as $key => $id) {
- $key = array_search($id, array_column($allData, 'player_id'));
- if($allData[$key]) {
- $subPlayersWithInfo = $allData[$key];
- if(checkPlayerHasPlayed($subPlayersWithInfo['playing_time'])) {
- array_push($pointsArray, $subPlayersWithInfo['player_point']);
- if(count($pointsArray) > $count) {
- break;
- }
- }
- }
- }
- }
- return $pointsArray;
- }
- function getMetaData () {
- $metadata = array(
- 'pickedTeam' =>array (
- 'defs' =>array(),
- 'mid' =>array(),
- 'fwds' =>array(),
- 'gk' =>array(),
- 'subs' => array(),
- 'subGk' => array()
- )
- );
- return $metadata;
- }
- // $availabLeBalance = calculateInitialAvailableBalance($infoArray, $conn, $totalMoney) {;
- function generatePointsInfoArrayForAllUser($allData,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
- $pointFinalArrayStructure = array();
- $totalPointArray = array();
- $metadata = getMetaData();
- $users = [1 , 2];
- foreach($users as $key => $user){
- $gameweek = 1;
- $gameWeekPlayerdata = _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek);
- array_push($totalPointArray, $gameWeekPlayerdata['point']);
- $gameWeekPlayerdata['totalPoints'] = $gameWeekPlayerdata['point'] + 25;
- array_push($pointFinalArrayStructure, $gameWeekPlayerdata);
- }
- $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
- echo json_encode($pointFinalArrayStructure);
- }
- function generatePointsInfoArrayForAllGameWeek($allData,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
- $pointFinalArrayStructure = array();
- $totalPointArray = array();
- $metadata = getMetaData();
- foreach($gameWeekArray as $key => $gameweek){
- $gameWeekPlayerdata = _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek);
- array_push($totalPointArray, $gameWeekPlayerdata['point']);
- array_push($pointFinalArrayStructure, $gameWeekPlayerdata);
- }
- $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
- $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
- echo json_encode($pointFinalArrayStructure);
- }
- function _getPointsArray($allData, $pickedTeamArray, $captain_id, $vice_captain_id, $metadata, $gameweek) {
- $pointArray = array();
- $subsPointCount = 0;
- foreach ($allData as $key => $row) {
- $playtime = $row['playing_time'];
- $playerId = $row['player_id'];
- $playerPoint = $row['player_point'];
- foreach($pickedTeamArray as $key => $value) {
- if(in_array($playerId, $value)){
- $player['id'] = $playerId;
- $player['points'] = (float) $playerPoint;
- if(isCaptain($playerId, $captain_id)) {
- $player['captain'] = true;
- $player['points'] = $player['points'] * 2;
- }
- else {
- $player['captain'] = false;
- }
- if(isViceCaptain($playerId, $vice_captain_id)){
- $player['is_vice_captain'] = true;
- }
- else {
- $player['is_vice_captain'] = false;
- }
- $substitute = false;
- if(in_array($playerId, $pickedTeamArray->subs)) {
- array_push($metadata['pickedTeam']['subs'], $player);
- $substitute = true;
- }
- elseif(in_array($playerId, $pickedTeamArray->subGk)) {
- array_push($metadata['pickedTeam']['subGk'], $player);
- $substitute = true;
- }
- else
- array_push($metadata['pickedTeam'][$key], $player);
- $playerHasPlayed = checkPlayerHasPlayed($playtime);
- if($playerHasPlayed && !$substitute) {
- array_push($pointArray, $player['points']);
- }
- else if(!$playerHasPlayed && !$substitute) {
- $subsPointCount++ ;
- }
- }
- }
- }
- $subPointArr = getPointFromSubstitutePlayer($pickedTeamArray, $allData ,$subsPointCount);
- $gameWeekPointArr =array_merge($pointArray, $subPointArr);
- $metadata['point'] = array_sum($gameWeekPointArr);
- $metadata['game_week'] = $gameweek;
- return $metadata;
- }
- function filterViceCaptain($v) {
- return $v['is_vice_captain'];
- }
- function filterCaptain($v) {
- return $v['captain'];
- }
- function array_find($needle, $haystack)
- {
- foreach ($haystack as $item)
- {
- if (strpos($item, $needle) !== FALSE)
- {
- return $item;
- break;
- }
- }
- }
- function decodePlayingTeam($pointFinalArrayStructure){
- $finalArray = $pointFinalArrayStructure[0]['pickedTeam'];
- $newArray = array();
- $captain_id = null;
- $vice_captain_id = null;
- $singleMergedArray = array();
- foreach ($finalArray as $key => $value) {
- $newArray[$key] = array_map(create_function('$o', 'return $o["id"];'), $value);
- foreach ($value as $item) {
- array_push($singleMergedArray, $item);
- }
- }
- $captain_id_index = array_search(true, array_column($singleMergedArray, 'captain'));
- $vice_captain_id_index = array_search(true, array_column($singleMergedArray, 'is_vice_captain'));
- $data = array (
- 'pickedTeam' => json_encode($newArray),
- 'captain_id' => $singleMergedArray[$captain_id_index]['id'],
- 'vice_captain_id' => $singleMergedArray[$vice_captain_id_index]['id'],
- );
- return $data;
- }
- $sqlSel = "select * from players where game_week = 1";
- $results = $conn->query($sqlSel);
- $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
- // genratePointsInfoArrayForAllUser($allData, $infoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
- generatePointsInfoArrayForAllGameWeek($allData, $infoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
- // calculateInitialAvailableBalance($allData, $infoArray, 100)
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement