1 | <?php
|
---|
2 |
|
---|
3 | include('includes/global.php');
|
---|
4 |
|
---|
5 | $LanguageList = GetLanguageList();
|
---|
6 |
|
---|
7 | if(array_key_exists('Version', $_GET)) $_SESSION['StatVersion'] = $_GET['Version'];
|
---|
8 | if(!array_key_exists('StatVersion', $_SESSION)) $_SESSION['StatVersion'] = $Config['Web']['GameVersion'];
|
---|
9 |
|
---|
10 | if(!isset($_SESSION['language']))
|
---|
11 | {
|
---|
12 | if($User->Licence(LICENCE_USER))
|
---|
13 | {
|
---|
14 | $_SESSION['language'] = $User->Language;
|
---|
15 | } else $_SESSION['language'] = '';
|
---|
16 | }
|
---|
17 | if(array_key_exists('language', $_GET)) {
|
---|
18 | if($_GET['language'] == '') $_SESSION['language'] = '';
|
---|
19 | else {
|
---|
20 | $_SESSION['language'] = $_GET['language'] * 1;
|
---|
21 | }
|
---|
22 | }
|
---|
23 | if(!array_key_exists($_SESSION['language'], $LanguageList)) $_SESSION['language'] = '';
|
---|
24 |
|
---|
25 |
|
---|
26 | function ShowStatTable()
|
---|
27 | {
|
---|
28 | global $System, $User, $Config;
|
---|
29 |
|
---|
30 | $Output = '';
|
---|
31 |
|
---|
32 | $BuildNumber = GetBuildNumber($_SESSION['StatVersion']);
|
---|
33 | if(is_numeric($_SESSION['language'])) $LanguageFilter = 'AND (`Language`='.$_SESSION['language'].')';
|
---|
34 | else $LanguageFilter = ' AND (`Language`!='.$Config['OriginalLanguage'].')';
|
---|
35 |
|
---|
36 | $GroupListQuery = 'SELECT `Id`, `TablePrefix`, `Name` FROM `Group`';
|
---|
37 | $Query = '';
|
---|
38 | $DbResult = $System->Database->query($GroupListQuery);
|
---|
39 | if($DbResult->num_rows > 0)
|
---|
40 | {
|
---|
41 | while($DbRow = $DbResult->fetch_assoc())
|
---|
42 | {
|
---|
43 | $Query .= 'SELECT (SELECT COUNT(DISTINCT(`Entry`)) FROM ('.
|
---|
44 | 'SELECT `T`.`Entry` FROM `'.$DbRow['TablePrefix'].'` AS `T` '.
|
---|
45 | 'WHERE (`Complete` = 1) '.$LanguageFilter.' '.
|
---|
46 | 'AND (`VersionStart` <= '.$BuildNumber.') AND (`VersionEnd` >= '.$BuildNumber.')'.
|
---|
47 | ') AS `C1`) AS `Translated`, '.
|
---|
48 | '(SELECT COUNT(DISTINCT(`Entry`)) FROM ('.
|
---|
49 | 'SELECT `T`.`Entry` FROM `'.$DbRow['TablePrefix'].'` AS `T` '.
|
---|
50 | 'WHERE (`Language` = '.$Config['OriginalLanguage'].') '.
|
---|
51 | 'AND (`VersionStart` <= '.$BuildNumber.') AND (`VersionEnd` >= '.$BuildNumber.')'.
|
---|
52 | ') AS `C2`) AS `Total`, "'.$DbRow['Name'].'" AS `Name` UNION ';
|
---|
53 | }
|
---|
54 | $Query = substr($Query, 0, - 6);
|
---|
55 |
|
---|
56 | $DbResult = $System->Database->query('SELECT COUNT(*) FROM ('.$GroupListQuery.') AS `T`');
|
---|
57 | $DbRow = $DbResult->fetch_row();
|
---|
58 | $PageList = GetPageList($DbRow[0]);
|
---|
59 | $Output .= $PageList['Output'];
|
---|
60 |
|
---|
61 | $Output .= '<table class="BaseTable">';
|
---|
62 | $TableColumns = array(
|
---|
63 | array('Name' => 'Name', 'Title' => 'Jméno'),
|
---|
64 | array('Name' => 'Translated', 'Title' => 'Přeložených'),
|
---|
65 | array('Name' => 'Total', 'Title' => 'Anglických'),
|
---|
66 | array('Name' => 'Percent', 'Title' => 'Procenta'),
|
---|
67 | );
|
---|
68 |
|
---|
69 | $Order = GetOrderTableHeader($TableColumns, 'Name', 0);
|
---|
70 | $Output .= $Order['Output'];
|
---|
71 |
|
---|
72 | $Translated = 0;
|
---|
73 | $Total = 0;
|
---|
74 | $DbResult = $System->Database->query('SELECT *, ROUND(`Translated` / `Total` * 100, 2) AS `Percent` FROM ('.$Query.') AS `C3` '.$Order['SQL'].$PageList['SQLLimit']);
|
---|
75 | while($Group = $DbResult->fetch_assoc())
|
---|
76 | {
|
---|
77 | $Output .= '<tr><td>'.$Group['Name'].'</td><td>'.$Group['Translated'].'</td><td>'.$Group['Total'].'</td><td>'.ProgressBar(150, $Group['Percent']).'</td></tr>';
|
---|
78 | $Translated += $Group['Translated'];
|
---|
79 | $Total += $Group['Total'];
|
---|
80 | }
|
---|
81 | if($Total <> 0) $TotalCount = round($Translated / $Total * 100, 2);
|
---|
82 | else $TotalCount = 0;
|
---|
83 | $Output .= '<tr><td><strong>Celkem</strong></td><td><strong>'.$Translated.'</strong></td><td><strong>'.$Total.'</strong></td><td><strong>'.ProgressBar(150, $TotalCount).'</strong></td></tr>'.
|
---|
84 | '</table>';
|
---|
85 | }
|
---|
86 | return($Output);
|
---|
87 | }
|
---|
88 |
|
---|
89 | // Show client version selection
|
---|
90 | $Output = 'Verze klienta: ';
|
---|
91 | $DbResult = $System->Database->query('SELECT `Version`, `Title` FROM `ClientVersion` WHERE `Imported`=1 ORDER BY `Version`');
|
---|
92 | while($DbRow = $DbResult->fetch_assoc())
|
---|
93 | $Output .= '<a href="?Version='.$DbRow['Version'].'" title="'.$DbRow['Title'].'">'.$DbRow['Version'].'</a> ';
|
---|
94 | $Output .= '<br/>';
|
---|
95 |
|
---|
96 | // Show language selection
|
---|
97 | $Output .= 'Jazyk: ';
|
---|
98 | $Lang = '<a href="?language=">Všechny</a>';
|
---|
99 | if($_SESSION['language'] == '') $Output .= '<strong>'.$Lang.'</strong> ';
|
---|
100 | else $Output .= $Lang;
|
---|
101 | foreach($LanguageList as $Language)
|
---|
102 | if($Language['Enabled'] == 1)
|
---|
103 | {
|
---|
104 | $Lang = ' <a href="?language='.$Language['Id'].'">'.$Language['Name'].'</a>';
|
---|
105 | if($Language['Id'] == $_SESSION['language']) $Output .= '<strong>'.$Lang.'</strong> ';
|
---|
106 | else $Output .= $Lang;
|
---|
107 | }
|
---|
108 |
|
---|
109 | if(is_numeric($_SESSION['language'])) $LanguageName = $LanguageList[$_SESSION['language']]['Name'];
|
---|
110 | else $LanguageName = 'Všechny';
|
---|
111 | $Output .= '<br/><br /><h3>Statistika dokončení překladů jazyka '.$LanguageName.' pro verzi '.$_SESSION['StatVersion'].'</h3><br/>';
|
---|
112 | $Output .= ShowStatTable();
|
---|
113 |
|
---|
114 | $Output .= '<div>Počet stáhnutí přeložených textů v SQL souboru: <strong>';
|
---|
115 | $ID = $System->Database->query('SELECT count(distinct(`IP`)) FROM `Log` WHERE `Type` = 2');
|
---|
116 | $Line = $ID->fetch_row();
|
---|
117 | $Output .= $Line[0];
|
---|
118 | $Output .= '</strong></div>';
|
---|
119 |
|
---|
120 | $Output .= '<div>Počet stáhnutí: <strong>';
|
---|
121 | $ID = $System->Database->query('SELECT count(distinct(`IP`)) FROM `Log` WHERE `Type` = 0');
|
---|
122 | $Line = $ID->fetch_row();
|
---|
123 | $Output .= $Line[0];
|
---|
124 | $Output .= '</strong></div>';
|
---|
125 |
|
---|
126 | ShowPage($Output);
|
---|
127 |
|
---|
128 | ?>
|
---|