Advertisement
Guest User

Untitled

a guest
May 17th, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.07 KB | None | 0 0
  1. <?php
  2.  
  3. $result = array();
  4. //ini_set('display_errors', 'On');
  5. $count = 0;
  6.  
  7.  
  8. $string = '{"Stats":{"series_type":"bo1","map1":{"team2":{"76561198176797755":{"damage":"3906","kills":"11","headshot_kills":"5","deaths":"18","assists":"3","roundsplayed":"19","2kill_rounds":"3","name":"Spice"},"76561198049368790":{"damage":"2798","deaths":"19","roundsplayed":"19","name":"yolett$ - $$$","kills":"11","headshot_kills":"7","2kill_rounds":"3","assists":"2","3kill_rounds":"1"},"76561198112692914":{"damage":"3001","kills":"10","headshot_kills":"4","deaths":"17","roundsplayed":"19","name":"-DJ-","assists":"3","2kill_rounds":"1"},"76561198066876800":{"damage":"1424","deaths":"17","roundsplayed":"19","name":"*Echo Fox* ChiefNab","kills":"10","assists":"2","headshot_kills":"4","2kill_rounds":"3"},"76561198022378138":{"damage":"1171","kills":"10","roundsplayed":"19","2kill_rounds":"2","name":"soco LFTeam","headshot_kills":"5","deaths":"16","assists":"2","bomb_defuses":"1"},"score":"3","name":"Omega"},"team1":{"76561198263842338":{"damage":"2900","kills":"16","headshot_kills":"6","deaths":"10","assists":"4","roundsplayed":"19","name":"dunzoid","bomb_plants":"6","2kill_rounds":"3","3kill_rounds":"2"},"76561197962053192":{"damage":"4396","deaths":"13","roundsplayed":"19","name":"HYFR","assists":"2","kills":"19","headshot_kills":"10","3kill_rounds":"1","2kill_rounds":"5","4kill_rounds":"1"},"76561198174386530":{"damage":"1053","deaths":"12","roundsplayed":"19","name":"\u272a iDentity","kills":"8","2kill_rounds":"1","headshot_kills":"1","assists":"1","bomb_plants":"1"},"76561198120842203":{"damage":"2622","bomb_plants":"2","deaths":"10","roundsplayed":"19","name":"Tyg3r","kills":"10","headshot_kills":"3","2kill_rounds":"2","assists":"2","3kill_rounds":"1"},"76561198120140240":{"damage":"3614","kills":"34","headshot_kills":"22","deaths":"8","roundsplayed":"19","3kill_rounds":"5","name":"\u272aKennan","2kill_rounds":"5","4kill_rounds":"1","teamkills":"1","assists":"3"},"score":"16","name":"Alpha"},"mapname":"de_overpass","winner":"team1","demo_filename":"10man1_map1_de_overpass.dem"},"map0":{"team1":{"76561197962053192":{"damage":"175"},"76561198263842338":{"damage":"85"},"76561198120140240":{"damage":"100"}},"team2":{"76561198176797755":{"damage":"119"},"76561198049368790":{"damage":"33"},"76561198112692914":{"damage":"27"}}}}}';
  9.  
  10.  
  11.  
  12. $data = json_decode($string, true);
  13.  
  14. foreach ($data as $k=>$v){
  15. foreach ($v as $k=>$v){
  16. if ($k == "series_type"){
  17. $result['seriestype'] = $v;
  18. }
  19. foreach ($v as $k=>$v){
  20. if ($k == "mapname"){
  21. $result['mapname'] = $v;
  22. }
  23. if ($k == "winner"){
  24. $result['winner'] = $v;
  25. }
  26. foreach ($v as $k=>$v){
  27. if ($k == "name"){
  28. $count++;
  29. if ($count == 1){
  30. $result['team1'] = $v;
  31. }elseif ($count == 2){
  32. $result['team2'] = $v;
  33. }
  34. }
  35.  
  36. if (strlen($k) == 17){
  37. if ($v['roundsplayed'] and $v['roundsplayed'] >= 1){ // its saving some data from spectators that didnt play, check against that.
  38. if ($v['damage'] == ""){$result[$k]['damage'] = 0;}else{$result[$k]['damage'] = $v['damage'];}
  39. if ($v['kills'] == ""){$result[$k]['kills'] = 0;}else{$result[$k]['kills'] = $v['kills'];}
  40. if ($v['deaths'] == ""){$result[$k]['deaths'] = 0;}else{$result[$k]['deaths'] = $v['deaths'];}
  41. if ($v['assists'] == ""){$result[$k]['assists'] = 0;}else{$result[$k]['assists'] = $v['assists'];}
  42. if ($v['teamkills'] == ""){$result[$k]['tk'] = 0;}else{$result[$k]['tk'] = $v['teamkills'];}
  43. if ($v['headshot_kills'] == ""){$result[$k]['hs'] = 0;}else{$result[$k]['hs'] = $v['headshot_kills'];}
  44. if ($v['roundsplayed'] == ""){$result[$k]['rp'] = 0;}else{$result[$k]['rp'] = $v['roundsplayed'];}
  45. if ($v['2k'] == ""){$result[$k]['2k'] = 0;}else{$result[$k]['2k'] = $v['2kill_rounds'];}
  46. if ($v['3k'] == ""){$result[$k]['3k'] = 0;}else{$result[$k]['3k'] = $v['3kill_rounds'];}
  47. if ($v['4k'] == ""){$result[$k]['4k'] = 0;}else{$result[$k]['4k'] = $v['4kill_rounds'];}
  48. if ($v['5k'] == ""){$result[$k]['5k'] = 0;}else{$result[$k]['5k'] = $v['5kill_rounds'];}
  49. if ($v['bomb_defuses'] == ""){$result[$k]['bd'] = 0;}else{$result[$k]['bd'] = $v['bomb_defuses'];}
  50. if ($v['bomb_plants'] == ""){$result[$k]['bp'] = 0;}else{$result[$k]['bp'] = $v['bomb_plants'];}
  51. }
  52. }
  53. }
  54. }
  55. }
  56. }
  57.  
  58. $db_host = "**";
  59. $db_user = "**";
  60. $db_pass = "**";
  61. $db_name = "**";
  62. try {
  63. $conn = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
  64. $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  65. } catch(PDOException $e) {
  66. echo 'ERROR: ' . $e->getMessage();
  67. }
  68.  
  69.  
  70. $matchid = "1"; // idk how you want to get match id
  71.  
  72.  
  73. // this could be removed by making sure no spaces or . are used when making the config, would suggest leaving this hear but possibly finding another way
  74. $team1 = strtolower(str_replace(' ', '', str_replace('.', '', $result['team1'])));
  75. $team2 = strtolower(str_replace(' ', '', str_replace('.', '', $result['team2'])));
  76.  
  77.  
  78. // I feel like theres an easier way to do this but im not sure
  79. if ($result['winner'] == "team1"){
  80. $winner = $team1;
  81. }elseif($result['winner'] == "team2"){
  82. $winner = $team2;
  83. }
  84.  
  85.  
  86. // table name syntax : match_[id]_[team1]_[team2]_[series type]_[map]_[winner]
  87. $tablename = "match_" . $matchid . "_" . $team1 . "_vs_" . $team2 . "_" . $result['seriestype'] . "_" . $result['mapname'] . "_" . $winner;
  88.  
  89. $createtable = $conn->prepare("
  90. CREATE TABLE `" . $tablename . "` (
  91. `steam_id` varchar(17) NOT NULL,
  92. `kills` int(11) NOT NULL,
  93. `deaths` int(11) NOT NULL,
  94. `assists` int(11) NOT NULL,
  95. `tk` int(11) NOT NULL,
  96. `hs` int(11) NOT NULL,
  97. `rp` int(11) NOT NULL,
  98. `2k` int(11) NOT NULL,
  99. `3k` int(11) NOT NULL,
  100. `4k` int(11) NOT NULL,
  101. `5k` int(11) NOT NULL,
  102. `bp` int(11) NOT NULL,
  103. `bd` int(11) NOT NULL
  104. )");
  105.  
  106. $createtable->execute();
  107.  
  108.  
  109. foreach ($result as $k=>$v){
  110. if (strlen($k) == 17){/*
  111. $getstats = $conn->prepare("SELECT * FROM user_stats WHERE steam_id=:1");
  112. $getstats->bindParam(':1', $k);
  113. $getstats->execute();
  114. if ($getstats->rowCount() != 0){
  115. $q_stats = $getstats->fetch(PDO::FETCH_ASSOC);
  116. $id = $q_stats['steam_id'];
  117. $q_kills = $q_stats['kills']; $d_kills = $result[$id]['kills']; $t_kills = $q_kills + $d_kills;
  118. $q_deaths = $q_stats['deaths']; $d_deaths = $result[$id]['deaths']; $t_deaths = $q_deaths + $d_deaths;
  119. $q_assists = $q_stats['assists']; $d_assists = $result[$id]['assists']; $t_assists = $q_assists + $d_assists;
  120. $q_tk = $q_stats['tk']; $d_tk = $result[$id]['tk']; $t_tk = $q_tk + $d_tk;
  121. $q_hs = $q_stats['hs']; $d_hs = $result[$id]['hs']; $t_hs = $q_hs + $d_hs;
  122. $q_rp = $q_stats['rp']; $d_rp = $result[$id]['rp']; $t_rp = $q_rp + $d_rp;
  123. $q_2k = $q_stats['2k']; $d_2k = $result[$id]['2k']; $t_2k = $q_2k + $d_2k;
  124. $q_3k = $q_stats['3k']; $d_3k = $result[$id]['3k']; $t_3k = $q_3k + $d_3k;
  125. $q_4k = $q_stats['4k']; $d_4k = $result[$id]['4k']; $t_4k = $q_4k + $d_4k;
  126. $q_5k = $q_stats['5k']; $d_5k = $result[$id]['5k']; $t_5k = $q_5k + $d_5k;
  127. $q_bd = $q_stats['bd']; $d_bd = $result[$id]['bd']; $t_bd = $q_bd + $d_bd;
  128. $q_bp = $q_stats['bp']; $d_bp = $result[$id]['bp']; $t_bp = $q_bp + $d_bp;
  129. $sendstats = $conn->prepare("UPDATE `user_stats` SET `kills`=:2,`deaths`=:3,`assists`=:4,`tk`=:5,`hs`=:6,`rp`=:7,`2k`=:8,`3k`=:9,`4k`=:10,`5k`=:11,`bp`=:12,`bd`=:13 WHERE steam_id=:1");
  130. $sendstats->bindParam(':1', $id);
  131. $sendstats->bindParam(':2', $t_kills);
  132. $sendstats->bindParam(':3', $t_deaths);
  133. $sendstats->bindParam(':4', $t_assists);
  134. $sendstats->bindParam(':5', $t_tk);
  135. $sendstats->bindParam(':6', $t_hs);
  136. $sendstats->bindParam(':7', $t_rp);
  137. $sendstats->bindParam(':8', $t_2k);
  138. $sendstats->bindParam(':9', $t_3k);
  139. $sendstats->bindParam(':10', $t_4k);
  140. $sendstats->bindParam(':11', $t_5k);
  141. $sendstats->bindParam(':12', $t_bp);
  142. $sendstats->bindParam(':13', $t_bd);
  143. $r = $sendstats->execute();*/
  144. $getstats = $conn->prepare("INSERT INTO `" . $tablename . "`(`steam_id`, `kills`, `deaths`, `assists`, `tk`, `hs`, `rp`, `2k`, `3k`, `4k`, `5k`, `bp`, `bd`) VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13)");
  145. $getstats->bindParam(':1', $k);
  146. $getstats->bindParam(':2', $result[$k]['kills']);
  147. $getstats->bindParam(':3', $result[$k]['deaths']);
  148. $getstats->bindParam(':4', $result[$k]['assists']);
  149. $getstats->bindParam(':5', $result[$k]['tk']);
  150. $getstats->bindParam(':6', $result[$k]['hs']);
  151. $getstats->bindParam(':7', $result[$k]['rp']);
  152. $getstats->bindParam(':8', $result[$k]['2k']);
  153. $getstats->bindParam(':9', $result[$k]['3k']);
  154. $getstats->bindParam(':10', $result[$k]['4k']);
  155. $getstats->bindParam(':11', $result[$k]['5k']);
  156. $getstats->bindParam(':12', $result[$k]['bp']);
  157. $getstats->bindParam(':13', $result[$k]['bd']);
  158. $r = $getstats->execute();
  159. }
  160. }
  161. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement