1 | <?php
|
---|
2 |
|
---|
3 | //include_once('../includes/global.php');
|
---|
4 | include_once('../includes/zip.lib.php');
|
---|
5 | include_once('../includes/dbc.php');
|
---|
6 | include_once('export.php');
|
---|
7 | include_once('create_addon.php');
|
---|
8 |
|
---|
9 | //ini_set('memory_limit', '100M');
|
---|
10 |
|
---|
11 | function CreateZipFromDir(&$Zip, $Path, $ZipPath)
|
---|
12 | {
|
---|
13 | //echo($Path.'<br />');
|
---|
14 | $FileList = scandir($Path);
|
---|
15 | foreach($FileList as $FileName)
|
---|
16 | {
|
---|
17 | if(file_exists($Path.$FileName) and ($FileName != '.') and ($FileName != '..'))
|
---|
18 | {
|
---|
19 | //echo($Path.$FileName.'<br />');
|
---|
20 | if(is_dir($Path.$FileName)) CreateZipFromDir($Zip, $Path.$FileName.'/', $ZipPath.$FileName.'/');
|
---|
21 | else $Zip->addFile(file_get_contents($Path.$FileName), $ZipPath.$FileName);
|
---|
22 | }
|
---|
23 | }
|
---|
24 | }
|
---|
25 |
|
---|
26 | function OutputAoWoWToFile($ExportId)
|
---|
27 | {
|
---|
28 | global $System, $Config;
|
---|
29 |
|
---|
30 | $Export = new Export($System);
|
---|
31 | $Export->Id = $ExportId;
|
---|
32 | $Export->Init();
|
---|
33 | if(function_exists('gzcompress'))
|
---|
34 | {
|
---|
35 | $SaveFilename = $Export->TempDir.'CzAoWoW_SQL.zip';
|
---|
36 | $SQLFilename = 'CzAoWoW_SQL.sql';
|
---|
37 | $BufferZip = $Export->ExportToAoWoWSQL();
|
---|
38 | $ZipFile = new zipfile();
|
---|
39 | $ZipFile->addFile($BufferZip, $SQLFilename);
|
---|
40 | $Buffer = $ZipFile->file();
|
---|
41 | file_put_contents($SaveFilename, $Buffer);
|
---|
42 | } else echo('Funkce pro tvorbu Zip souboru není podporována!');
|
---|
43 | //echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
44 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
---|
45 | // '</script>');
|
---|
46 |
|
---|
47 | echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
|
---|
48 | '<a href="'.$SaveFilename.'">'.$SQLFilename.'</a><br />'.
|
---|
49 | 'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
|
---|
50 |
|
---|
51 | }
|
---|
52 |
|
---|
53 | function OutputAoWoWToHTML($ExportId)
|
---|
54 | {
|
---|
55 | global $System, $Config;
|
---|
56 |
|
---|
57 | $Export = new Export($System);
|
---|
58 | $Export->Id = $ExportId;
|
---|
59 |
|
---|
60 | echo('Vygenerovaný SQL kód: <br /><pre class="SQLCode">');
|
---|
61 | echo(htmlspecialchars($Export->ExportToAoWoWSQL()));
|
---|
62 | echo('</pre>');
|
---|
63 | }
|
---|
64 |
|
---|
65 | function OutputMangosSQLToFile($ExportId)
|
---|
66 | {
|
---|
67 | global $System, $Config;
|
---|
68 |
|
---|
69 | $Export = new Export($System);
|
---|
70 | $Export->Id = $ExportId;
|
---|
71 | $Export->Init();
|
---|
72 | if(function_exists('gzcompress'))
|
---|
73 | {
|
---|
74 | $SaveFilename = $Export->TempDir.'CzWoW_SQL.zip';
|
---|
75 | $SQLFilename = 'CzWoW_SQL.sql';
|
---|
76 | $BufferZip = $Export->ExportToMangosSQL();
|
---|
77 | $ZipFile = new zipfile();
|
---|
78 | $ZipFile->addFile($BufferZip, $SQLFilename);
|
---|
79 | $Buffer = $ZipFile->file();
|
---|
80 | file_put_contents($SaveFilename, $Buffer);
|
---|
81 | } else echo('Funkce pro tvorbu Zip souboru není podporována!');
|
---|
82 | //echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
83 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
---|
84 | // '</script>');
|
---|
85 |
|
---|
86 | echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
|
---|
87 | '<a href="'.$SaveFilename.'">'.$SQLFilename.'</a><br />'.
|
---|
88 | 'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
|
---|
89 | }
|
---|
90 |
|
---|
91 | function OutputMangosSQLToHTML($ExportId)
|
---|
92 | {
|
---|
93 | global $System;
|
---|
94 |
|
---|
95 | $Export = new Export($System);
|
---|
96 | $Export->Id = $ExportId;
|
---|
97 | $Export->Init();
|
---|
98 | echo('Vygenerovaný SQL kód: <br /><pre class="SQLCode">');
|
---|
99 | echo(htmlspecialchars($Export->ExportToMangosSQL()));
|
---|
100 | echo('</pre>');
|
---|
101 | }
|
---|
102 |
|
---|
103 | function OutputAddon($ExportId)
|
---|
104 | {
|
---|
105 | global $System;
|
---|
106 |
|
---|
107 | if(function_exists('gzcompress'))
|
---|
108 | {
|
---|
109 | $Addon = new ExportAddon($System);
|
---|
110 | $Addon->Id = $ExportId;
|
---|
111 | $Addon->Init();
|
---|
112 | $Addon->MakeAddon();
|
---|
113 |
|
---|
114 | echo('Generování addonu...<br />');
|
---|
115 | $SaveFilename = $Addon->TempDir.'CzWoW_Addon-'.$Addon->ClientVersion['Version'].'.zip';
|
---|
116 | $Zip = new zipfile();
|
---|
117 | CreateZipFromDir($Zip, $Addon->TempDir.'CzWoW/', 'CzWoW/');
|
---|
118 | $Zip->addFile(file_get_contents('files/'.$Addon->ClientVersion['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');
|
---|
119 | $Zip->addFile(file_get_contents('files/'.$Addon->ClientVersion['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');
|
---|
120 | $Zip->addFile(file_get_contents('files/'.$Addon->ClientVersion['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc');
|
---|
121 | $Zip->addFile(file_get_contents('files/'.$Addon->ClientVersion['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');
|
---|
122 | $Zip->addFile(file_get_contents('files/'.$Addon->ClientVersion['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml');
|
---|
123 | $Zip->addFile(file_get_contents('files/'.$Addon->ClientVersion['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');
|
---|
124 | $Buffer = $Zip->file();
|
---|
125 | file_put_contents($SaveFilename, $Buffer);
|
---|
126 | echo('Hotovo<br /><br />');
|
---|
127 | } else echo('Funkce pro tvorbu Zip souboru není podporována!');
|
---|
128 | //echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
129 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
---|
130 | // '</script>');
|
---|
131 |
|
---|
132 | echo('Soubor ke stažení: '.
|
---|
133 | '<a href="'.$SaveFilename.'">CzWoW_Addon-'.$Addon->ClientVersion['Version'].'.zip</a><br />'.
|
---|
134 | 'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
|
---|
135 | echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.');
|
---|
136 | }
|
---|
137 |
|
---|
138 | function OutputXMLToFile($ExportId)
|
---|
139 | {
|
---|
140 | global $Config, $System;
|
---|
141 |
|
---|
142 | $Export = new Export($System);
|
---|
143 | $Export->Id = $ExportId;
|
---|
144 | $Export->Init();
|
---|
145 | if(function_exists('gzcompress'))
|
---|
146 | {
|
---|
147 | $SaveFilename = $Export->TempDir.'CzWoW_XML.zip';
|
---|
148 | $SQLFilename = 'CzWoW_XML.sql';
|
---|
149 | $BufferZip = $Export->ExportToXML();
|
---|
150 | $ZipFile = new zipfile();
|
---|
151 | $ZipFile->addFile($BufferZip, $SQLFilename);
|
---|
152 | $Buffer = $ZipFile->file();
|
---|
153 | file_put_contents($SaveFilename, $Buffer);
|
---|
154 | } else echo('Funkce pro tvorbu Zip souboru není podporována!');
|
---|
155 | //echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
156 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
---|
157 | // '</script>');
|
---|
158 |
|
---|
159 | echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
|
---|
160 | '<a href="'.$SaveFilename.'">CzWoW_SQL.zip</a><br />'.
|
---|
161 | 'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
|
---|
162 | }
|
---|
163 |
|
---|
164 | function OutputXMLToHTML($ExportId)
|
---|
165 | {
|
---|
166 | global $System;
|
---|
167 |
|
---|
168 | $Export = new Export($System);
|
---|
169 | $Export->Id = $ExportId;
|
---|
170 | $Export->Init();
|
---|
171 | echo('Vygenerované XML: <br /><pre class="SQLCode">');
|
---|
172 | echo(htmlspecialchars($Export->ExportToXML()));
|
---|
173 | echo('</pre>');
|
---|
174 | }
|
---|
175 |
|
---|
176 | function OutputDBCToFile($ExportId)
|
---|
177 | {
|
---|
178 | global $System;
|
---|
179 |
|
---|
180 | echo('<form action="?Action=View&Tab=7&ExportId='.$ExportId.'" method="post"><input type="submit" name="Regenerate" value="Přegenerovat"/></form><br />');
|
---|
181 | echo('U DBC souborů export textů funguje jinak, protože generování je náročné, jsou požadavky zařazovány do fronty a postupně zpracovávány.<br />DBC soubory je nutné zabalit do souboru patch-enGB-5.MPQ uvnitř složky "DBFilesClient" a hru spouštět přes program wowme.exe (WoW Model Edit) u verzí klienta starší než 3.2.0. Od této verze již wowme není potřeba. Zabalit je můžete pomocí programu <a href="../download/mpqediten32.zip">Ladik\'s MPQ Editor</a>. Stav vygenerování můžete sledovat na této stránce.<br /><br />');
|
---|
182 |
|
---|
183 | $DbResult = $System->Database->query('SELECT * FROM ExportTask WHERE Export = '.$ExportId);
|
---|
184 | if($DbResult->num_rows == 0)
|
---|
185 | {
|
---|
186 | $System->Database->query('INSERT INTO ExportTask (`Export` ,`TimeStart` ) VALUES ('.$ExportId.', NOW())');
|
---|
187 | WriteLog('Zadání úlohy pro vygenerování dbc souboru', LOG_TYPE_DOWNLOAD);
|
---|
188 | }
|
---|
189 |
|
---|
190 | if(array_key_exists('Regenerate', $_POST))
|
---|
191 | {
|
---|
192 | $System->Database->query('UPDATE ExportTask SET TimeStart = NOW(), TimeFinish = NULL WHERE Export = '.$ExportId);
|
---|
193 | echo('Soubor zařazen znovu ke zpracování.<br/><br/>');
|
---|
194 | }
|
---|
195 | $DbResult = $System->Database->query('SELECT * FROM `ExportTask` WHERE `Export` = '.$ExportId);
|
---|
196 | $ExportTask = $DbResult->fetch_assoc();
|
---|
197 | if($ExportTask['TimeFinish'] > $ExportTask['TimeStart'])
|
---|
198 | {
|
---|
199 | echo('<strong>Souhrný balík: <a href="../tmp/Export/'.$ExportTask['Export'].'/CzWoW_DBC.zip">CzWoW_DBC.zip</a></strong><br/>');
|
---|
200 | $Export = new Export($System);
|
---|
201 | $Export->Id = $ExportId;
|
---|
202 | $Export->Init();
|
---|
203 | $DbResult = $System->Database->query('SELECT `Group`.* FROM `ExportGroup` JOIN `Group` ON `Group`.`Id` = `ExportGroup`.`Group` WHERE `ExportGroup`.`Export`='.$Export->Id.' AND `Group`.`DBCFileName` != ""');
|
---|
204 | while($Group = $DbResult->fetch_assoc())
|
---|
205 | {
|
---|
206 | if(file_exists($Export->TempDir.'dbc/'.$Group['DBCFileName'].'.dbc')) echo('<a href="'.$Export->TempDir.'dbc/'.$Group['DBCFileName'].'.dbc">'.$Group['DBCFileName'].'.dbc</a><br/>');
|
---|
207 | }
|
---|
208 | } else echo('<strong>Soubor čeká na zpracování ve frontě.</strong><br/>');
|
---|
209 | }
|
---|
210 |
|
---|
211 | function OutputLua($ExportId)
|
---|
212 | {
|
---|
213 | global $System, $Config;
|
---|
214 |
|
---|
215 | $Export = new Export($System);
|
---|
216 | $Export->Id = $ExportId;
|
---|
217 | $Export->Init();
|
---|
218 |
|
---|
219 | if(function_exists('gzcompress'))
|
---|
220 | {
|
---|
221 | echo('Generování lua souborů...<br />');
|
---|
222 | $Export->ExportToLua();
|
---|
223 | $SaveFilename = $Export->TempDir.'CzWoW_Lua.zip';
|
---|
224 | $ZipFile = new zipfile();
|
---|
225 | CreateZipFromDir($ZipFile, $Export->TempDir.'lua/', '');
|
---|
226 | $Buffer = $ZipFile->file();
|
---|
227 | file_put_contents($SaveFilename, $Buffer);
|
---|
228 | echo('Hotovo<br /><br />');
|
---|
229 | } else echo('Funkce pro tvorbu Zip souboru není podporována!');
|
---|
230 | //echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
231 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
---|
232 | // '</script>');
|
---|
233 |
|
---|
234 | echo('<strong>Soubory:</strong><br/>'.
|
---|
235 | 'Souhrný archív <a href="'.$SaveFilename.'">CzWoW_Lua.zip</a><br />');
|
---|
236 | $DbResult = $System->Database->query('SELECT `Group`.* FROM `ExportGroup` JOIN `Group` ON `Group`.`Id` = `ExportGroup`.`Group` WHERE `ExportGroup`.`Export`='.$Export->Id.' AND `Group`.`LuaFileName` != ""');
|
---|
237 | while($Group = $DbResult->fetch_assoc())
|
---|
238 | {
|
---|
239 | echo('<a href="'.$Export->TempDir.'lua/'.$Group['LuaFileName'].'.lua">'.$Group['LuaFileName'].'.lua</a><br/>');
|
---|
240 | }
|
---|
241 | echo('<br /><br /><strong>Použití ve hře</strong><br />Ze souborů vytvořte MPQ archív a nahrajte ho do hry do podsložky jako Data/enUS/patch-enUS-5.MPQ nebo Data/enUS/patch-enGB-5.MPQ. Pro starší verze hry než 3.2.0 je nutné spouštět hru pomocí programu WoWMe.exe (WoW Model Editor Fix).');
|
---|
242 | }
|
---|
243 |
|
---|
244 | function ExportOutput($ExportId, $Type)
|
---|
245 | {
|
---|
246 | if($Type == 1) OutputMangosSQLToHTML($ExportId);
|
---|
247 | else if($Type == 2) OutputMangosSQLToFile($ExportId);
|
---|
248 | else if($Type == 3) OutputAoWoWToHTML($ExportId);
|
---|
249 | else if($Type == 4) OutputAoWoWToFile($ExportId);
|
---|
250 | else if($Type == 5) OutputXMLToHTML($ExportId);
|
---|
251 | else if($Type == 6) OutputXMLToFile($ExportId);
|
---|
252 | else if($Type == 7) OutputAddon($ExportId);
|
---|
253 | else if($Type == 8) OutputLua($ExportId);
|
---|
254 | else if($Type == 9) OutputDBCToFile($ExportId);
|
---|
255 | else echo('Nebyl vybrán žádný formát výstupu');
|
---|
256 | }
|
---|
257 |
|
---|
258 | ?>
|
---|