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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'vendor/autoload.php';
 
use TableGenerator\DataObject;
use Wargasz\FileHelper;
 
$twig = \Wargasz\TwigFactory::getEnvironment('templates/');
 
$messages = [];
 
if (!empty($_POST['teams_json']))
{
    $forceDownload = isset($_POST['force_download']) && $_POST['force_download'] == 'on';
 
    $parser = new \Wargasz\BattlefyTeamParser($_POST['teams_json']);
 
    $table = $parser->getTeamData($forceDownload);
    $messages = $parser->getMessages();
 
    $cols = [
        'team'          => 'Csapat Név',
        'name'          => ['Név',
            function ($a, $originalRowData) {
                return '<a href="https://r6.tracker.network/profile/pc/' . $a . '">' . $a . '</a>';
            }
        ],
        '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'
    ];
 
    file_put_contents(\Wargasz\BattlefyTeamParser::getWorkDir() . '/source-' . time() . '.json', $_POST['teams_json']);
    file_put_contents(\Wargasz\BattlefyTeamParser::getWorkDir() . '/parsed.json', json_encode($parser->getParsedTeamData()));
 
    //fixme: szétszedni, hogy ez ne a táblázatot írja meg egyből, hanem a nyers adatokat és azt olvassa vissza
    $do = new DataObject($cols, $table);
 
    $HTMLTable = (new \TableGenerator\Render\HTMLTable(['id' => 'ccup']))->setDataObject($do);
    ob_start();
    $HTMLTable->renderTable();
    $tableData = ob_get_clean();
    file_put_contents('result.html', $tableData);
}
else
{
    $tableData = file_get_contents('result.html');
}
 
echo $twig->render('index.twig', [
    'table'    => $tableData,
    'messages' => $messages
]);