Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $result = array();
- //ini_set('display_errors', 'On');
- $count = 0;
- $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"}}}}}';
- $data = json_decode($string, true);
- foreach ($data as $k=>$v){
- foreach ($v as $k=>$v){
- if ($k == "series_type"){
- $result['seriestype'] = $v;
- }
- foreach ($v as $k=>$v){
- if ($k == "mapname"){
- $result['mapname'] = $v;
- }
- if ($k == "winner"){
- $result['winner'] = $v;
- }
- foreach ($v as $k=>$v){
- if ($k == "name"){
- $count++;
- if ($count == 1){
- $result['team1'] = $v;
- }elseif ($count == 2){
- $result['team2'] = $v;
- }
- }
- if (strlen($k) == 17){
- if ($v['roundsplayed'] and $v['roundsplayed'] >= 1){ // its saving some data from spectators that didnt play, check against that.
- if ($v['damage'] == ""){$result[$k]['damage'] = 0;}else{$result[$k]['damage'] = $v['damage'];}
- if ($v['kills'] == ""){$result[$k]['kills'] = 0;}else{$result[$k]['kills'] = $v['kills'];}
- if ($v['deaths'] == ""){$result[$k]['deaths'] = 0;}else{$result[$k]['deaths'] = $v['deaths'];}
- if ($v['assists'] == ""){$result[$k]['assists'] = 0;}else{$result[$k]['assists'] = $v['assists'];}
- if ($v['teamkills'] == ""){$result[$k]['tk'] = 0;}else{$result[$k]['tk'] = $v['teamkills'];}
- if ($v['headshot_kills'] == ""){$result[$k]['hs'] = 0;}else{$result[$k]['hs'] = $v['headshot_kills'];}
- if ($v['roundsplayed'] == ""){$result[$k]['rp'] = 0;}else{$result[$k]['rp'] = $v['roundsplayed'];}
- if ($v['2k'] == ""){$result[$k]['2k'] = 0;}else{$result[$k]['2k'] = $v['2kill_rounds'];}
- if ($v['3k'] == ""){$result[$k]['3k'] = 0;}else{$result[$k]['3k'] = $v['3kill_rounds'];}
- if ($v['4k'] == ""){$result[$k]['4k'] = 0;}else{$result[$k]['4k'] = $v['4kill_rounds'];}
- if ($v['5k'] == ""){$result[$k]['5k'] = 0;}else{$result[$k]['5k'] = $v['5kill_rounds'];}
- if ($v['bomb_defuses'] == ""){$result[$k]['bd'] = 0;}else{$result[$k]['bd'] = $v['bomb_defuses'];}
- if ($v['bomb_plants'] == ""){$result[$k]['bp'] = 0;}else{$result[$k]['bp'] = $v['bomb_plants'];}
- }
- }
- }
- }
- }
- }
- $db_host = "**";
- $db_user = "**";
- $db_pass = "**";
- $db_name = "**";
- try {
- $conn = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- } catch(PDOException $e) {
- echo 'ERROR: ' . $e->getMessage();
- }
- $matchid = "1"; // idk how you want to get match id
- // 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
- $team1 = strtolower(str_replace(' ', '', str_replace('.', '', $result['team1'])));
- $team2 = strtolower(str_replace(' ', '', str_replace('.', '', $result['team2'])));
- // I feel like theres an easier way to do this but im not sure
- if ($result['winner'] == "team1"){
- $winner = $team1;
- }elseif($result['winner'] == "team2"){
- $winner = $team2;
- }
- // table name syntax : match_[id]_[team1]_[team2]_[series type]_[map]_[winner]
- $tablename = "match_" . $matchid . "_" . $team1 . "_vs_" . $team2 . "_" . $result['seriestype'] . "_" . $result['mapname'] . "_" . $winner;
- $createtable = $conn->prepare("
- CREATE TABLE `" . $tablename . "` (
- `steam_id` varchar(17) NOT NULL,
- `kills` int(11) NOT NULL,
- `deaths` int(11) NOT NULL,
- `assists` int(11) NOT NULL,
- `tk` int(11) NOT NULL,
- `hs` int(11) NOT NULL,
- `rp` int(11) NOT NULL,
- `2k` int(11) NOT NULL,
- `3k` int(11) NOT NULL,
- `4k` int(11) NOT NULL,
- `5k` int(11) NOT NULL,
- `bp` int(11) NOT NULL,
- `bd` int(11) NOT NULL
- )");
- $createtable->execute();
- foreach ($result as $k=>$v){
- if (strlen($k) == 17){/*
- $getstats = $conn->prepare("SELECT * FROM user_stats WHERE steam_id=:1");
- $getstats->bindParam(':1', $k);
- $getstats->execute();
- if ($getstats->rowCount() != 0){
- $q_stats = $getstats->fetch(PDO::FETCH_ASSOC);
- $id = $q_stats['steam_id'];
- $q_kills = $q_stats['kills']; $d_kills = $result[$id]['kills']; $t_kills = $q_kills + $d_kills;
- $q_deaths = $q_stats['deaths']; $d_deaths = $result[$id]['deaths']; $t_deaths = $q_deaths + $d_deaths;
- $q_assists = $q_stats['assists']; $d_assists = $result[$id]['assists']; $t_assists = $q_assists + $d_assists;
- $q_tk = $q_stats['tk']; $d_tk = $result[$id]['tk']; $t_tk = $q_tk + $d_tk;
- $q_hs = $q_stats['hs']; $d_hs = $result[$id]['hs']; $t_hs = $q_hs + $d_hs;
- $q_rp = $q_stats['rp']; $d_rp = $result[$id]['rp']; $t_rp = $q_rp + $d_rp;
- $q_2k = $q_stats['2k']; $d_2k = $result[$id]['2k']; $t_2k = $q_2k + $d_2k;
- $q_3k = $q_stats['3k']; $d_3k = $result[$id]['3k']; $t_3k = $q_3k + $d_3k;
- $q_4k = $q_stats['4k']; $d_4k = $result[$id]['4k']; $t_4k = $q_4k + $d_4k;
- $q_5k = $q_stats['5k']; $d_5k = $result[$id]['5k']; $t_5k = $q_5k + $d_5k;
- $q_bd = $q_stats['bd']; $d_bd = $result[$id]['bd']; $t_bd = $q_bd + $d_bd;
- $q_bp = $q_stats['bp']; $d_bp = $result[$id]['bp']; $t_bp = $q_bp + $d_bp;
- $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");
- $sendstats->bindParam(':1', $id);
- $sendstats->bindParam(':2', $t_kills);
- $sendstats->bindParam(':3', $t_deaths);
- $sendstats->bindParam(':4', $t_assists);
- $sendstats->bindParam(':5', $t_tk);
- $sendstats->bindParam(':6', $t_hs);
- $sendstats->bindParam(':7', $t_rp);
- $sendstats->bindParam(':8', $t_2k);
- $sendstats->bindParam(':9', $t_3k);
- $sendstats->bindParam(':10', $t_4k);
- $sendstats->bindParam(':11', $t_5k);
- $sendstats->bindParam(':12', $t_bp);
- $sendstats->bindParam(':13', $t_bd);
- $r = $sendstats->execute();*/
- $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)");
- $getstats->bindParam(':1', $k);
- $getstats->bindParam(':2', $result[$k]['kills']);
- $getstats->bindParam(':3', $result[$k]['deaths']);
- $getstats->bindParam(':4', $result[$k]['assists']);
- $getstats->bindParam(':5', $result[$k]['tk']);
- $getstats->bindParam(':6', $result[$k]['hs']);
- $getstats->bindParam(':7', $result[$k]['rp']);
- $getstats->bindParam(':8', $result[$k]['2k']);
- $getstats->bindParam(':9', $result[$k]['3k']);
- $getstats->bindParam(':10', $result[$k]['4k']);
- $getstats->bindParam(':11', $result[$k]['5k']);
- $getstats->bindParam(':12', $result[$k]['bp']);
- $getstats->bindParam(':13', $result[$k]['bd']);
- $r = $getstats->execute();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement