Fibinger Ádám
2020-07-31 7e1ea4d5fb16450ce81f9b7f39784e7a84b73f9b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
include 'vendor/autoload.php';
 
use TableGenerator\DataObject;
use Wargasz\FileHelper;
 
$nyers_json = file_get_contents('teams_20200712.json');
$json = json_decode($nyers_json, true);
 
if (!is_array($json))
{
    echo "Nem jó a fájl!";
    return false;
}
 
$csapatok = [];
$warning = [];
 
foreach ($json as $team)
{
    $jatekosok = [];
 
    foreach ($team['players'] as $playerName)
    {
        $jatekosok[] = $playerName['inGameName'];
    };
 
    $csapatok[] = [
        'name'    => $team['name'],
        'captain' => $team['captain']['inGameName'],
        'players' => $jatekosok
    ];
 
    if (count($jatekosok) > 8)
    {
        $warning[] = [
            'team' => $team['name'],
            'msg'  => 'Túl sok játékos a csapatban!',
        ];
    }
}
 
$table = [];
 
foreach ($csapatok as &$csapat)
{
    $teamFolderName = 'workdir/' . FileHelper::normalizeString($csapat['name']);
    if (!file_exists($teamFolderName))
    {
        mkdir($teamFolderName, 0777, true);
    }
 
    // https://r6.tracker.network/profile/pc/Fiber.I
    foreach ($csapat['players'] as $playerName)
    {
        $playerFileName = $teamFolderName . '/' . FileHelper::normalizeString($playerName) . '.html';
 
        if (!file_exists($playerFileName))
        {
            $trackerUrl = 'https://r6.tracker.network/profile/pc/' . $playerName;
 
            echo "Downloading: $trackerUrl => $playerFileName" . PHP_EOL;
 
            if (!FileHelper::downloadFiles($trackerUrl, $playerFileName))
            {
                echo "Cannot get: $trackerUrl" . PHP_EOL;
            }
        }
 
        $player = new \Wargasz\TrackerHtmlParser($playerFileName);
 
        $playerData = $player->getPlayerData($playerName);
 
        $csapat['playerData'][$playerName] = $playerData;
 
        $team = [
            'team'    => $csapat['name'],
            'captain' => $csapat['captain'] == $playerName,
        ];
 
        $table[] = array_merge($team, $playerData);
    }
}
 
$cols = [
    'team'          => 'Csapat Név',
    'name'          => 'Név',
    'captain'       => ['Kapitány',
        function ($a, $originalRowData) {
            return $a ? "Igen" : "Nem";
        }
    ],
    'valid'         => [
        'Valid',
        function ($a, $originalRowData) {
            return $a ? $originalRowData['level'] >= 100 ? "Igen" : "Nem-LVL" : "Nem-NoUser";
        }
    ],
    'level'         => 'LvL',
    'alias_history' => 'Alias history'
];
 
$do = new DataObject($cols, $table);
 
$HTMLTable = (new \TableGenerator\Render\HTMLTable(['id' => 'ccup']))->setDataObject($do);
ob_start();
$HTMLTable->renderTable();
file_put_contents('result.html', ob_get_clean());