| 1 | <?php
|
|---|
| 2 |
|
|---|
| 3 | include_once(dirname(__FILE__).'/../../includes/zip.lib.php');
|
|---|
| 4 | include_once(dirname(__FILE__).'/../../includes/dbc.php');
|
|---|
| 5 | include_once(dirname(__FILE__).'/CreateAddon.php');
|
|---|
| 6 |
|
|---|
| 7 | //ini_set('memory_limit', '100M');
|
|---|
| 8 |
|
|---|
| 9 | function CreateZipFromDir(&$Zip, $Path, $ZipPath)
|
|---|
| 10 | {
|
|---|
| 11 | $FileList = scandir($Path);
|
|---|
| 12 | foreach ($FileList as $FileName)
|
|---|
| 13 | {
|
|---|
| 14 | if (file_exists($Path.$FileName) and ($FileName != '.') and ($FileName != '..'))
|
|---|
| 15 | {
|
|---|
| 16 | if (is_dir($Path.$FileName)) CreateZipFromDir($Zip, $Path.$FileName.'/', $ZipPath.$FileName.'/');
|
|---|
| 17 | else $Zip->addFile(file_get_contents($Path.$FileName), $ZipPath.$FileName);
|
|---|
| 18 | }
|
|---|
| 19 | }
|
|---|
| 20 | }
|
|---|
| 21 |
|
|---|
| 22 | function OutputAoWoWToFile($ExportId)
|
|---|
| 23 | {
|
|---|
| 24 | global $System;
|
|---|
| 25 |
|
|---|
| 26 | $Output = '';
|
|---|
| 27 | $Export = new Export($System);
|
|---|
| 28 | $Export->Id = $ExportId;
|
|---|
| 29 | $Export->Init();
|
|---|
| 30 | if (function_exists('gzcompress'))
|
|---|
| 31 | {
|
|---|
| 32 | $SaveFilename = $Export->TempDir.'CzAoWoW_SQL.zip';
|
|---|
| 33 | $SQLFilename = 'CzAoWoW_SQL.sql';
|
|---|
| 34 | $BufferZip = $Export->ExportToAoWoWSQL();
|
|---|
| 35 | $ZipFile = new zipfile();
|
|---|
| 36 | $ZipFile->addFile($BufferZip, $SQLFilename);
|
|---|
| 37 | $Buffer = $ZipFile->file();
|
|---|
| 38 | file_put_contents($SaveFilename, $Buffer);
|
|---|
| 39 | } else $Output .= ShowMessage('Funkce pro tvorbu Zip souboru není podporována.', MESSAGE_CRITICAL);
|
|---|
| 40 | //$Output .= '<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
|---|
| 41 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
|---|
| 42 | // '</script>';
|
|---|
| 43 |
|
|---|
| 44 | $Output .= 'Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
|
|---|
| 45 | '<a href="'.$System->Link('/'.$Export->TempDirRelative.'CzAoWoW_SQL.zip').'">'.$SQLFilename.'</a><br />'.
|
|---|
| 46 | '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.';
|
|---|
| 47 | return $Output;
|
|---|
| 48 | }
|
|---|
| 49 |
|
|---|
| 50 | function OutputAoWoWToHTML($ExportId)
|
|---|
| 51 | {
|
|---|
| 52 | global $System;
|
|---|
| 53 |
|
|---|
| 54 | $Export = new Export($System);
|
|---|
| 55 | $Export->Id = $ExportId;
|
|---|
| 56 |
|
|---|
| 57 | $Output = 'Vygenerovaný SQL kód: <br /><pre class="SQLCode">'.
|
|---|
| 58 | htmlspecialchars($Export->ExportToAoWoWSQL()).
|
|---|
| 59 | '</pre>';
|
|---|
| 60 | return $Output ;
|
|---|
| 61 | }
|
|---|
| 62 |
|
|---|
| 63 | function OutputMangosSQLToFile($ExportId)
|
|---|
| 64 | {
|
|---|
| 65 | global $System;
|
|---|
| 66 |
|
|---|
| 67 | $Output = '';
|
|---|
| 68 | $Export = new Export($System);
|
|---|
| 69 | $Export->Id = $ExportId;
|
|---|
| 70 | $Export->Init();
|
|---|
| 71 | if (function_exists('gzcompress'))
|
|---|
| 72 | {
|
|---|
| 73 | $SaveFilename = $Export->TempDir.'CzWoW_SQL.zip';
|
|---|
| 74 | $SQLFilename = 'CzWoW_SQL.sql';
|
|---|
| 75 | $BufferZip = $Export->ExportToMangosSQL();
|
|---|
| 76 | $ZipFile = new zipfile();
|
|---|
| 77 | $ZipFile->addFile($BufferZip, $SQLFilename);
|
|---|
| 78 | $Buffer = $ZipFile->file();
|
|---|
| 79 | file_put_contents($SaveFilename, $Buffer);
|
|---|
| 80 | } else $Output .= ShowMessage('Funkce pro tvorbu Zip souboru není podporována.', MESSAGE_CRITICAL);
|
|---|
| 81 | //$Output .= '<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
|---|
| 82 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
|---|
| 83 | // '</script>';
|
|---|
| 84 |
|
|---|
| 85 | $Output .= 'Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
|
|---|
| 86 | '<a href="'.$System->Link('/'.$Export->TempDirRelative.'CzWoW_SQL.zip').'">'.$SQLFilename.'</a><br />'.
|
|---|
| 87 | '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.';
|
|---|
| 88 | return $Output;
|
|---|
| 89 | }
|
|---|
| 90 |
|
|---|
| 91 | function OutputMangosSQLToHTML($ExportId)
|
|---|
| 92 | {
|
|---|
| 93 | global $System;
|
|---|
| 94 |
|
|---|
| 95 | $Export = new Export($System);
|
|---|
| 96 | $Export->Id = $ExportId;
|
|---|
| 97 | $Export->Init();
|
|---|
| 98 | $Output = 'Vygenerovaný SQL kód: <br /><pre class="SQLCode">'.
|
|---|
| 99 | htmlspecialchars($Export->ExportToMangosSQL()).
|
|---|
| 100 | '</pre>';
|
|---|
| 101 | return $Output;
|
|---|
| 102 | }
|
|---|
| 103 |
|
|---|
| 104 | function OutputAddon($ExportId)
|
|---|
| 105 | {
|
|---|
| 106 | global $System;
|
|---|
| 107 |
|
|---|
| 108 | if (function_exists('gzcompress'))
|
|---|
| 109 | {
|
|---|
| 110 | $Addon = new ExportAddon($System);
|
|---|
| 111 | $Addon->Id = $ExportId;
|
|---|
| 112 | $Addon->Init();
|
|---|
| 113 | $Output = $Addon->MakeAddon();
|
|---|
| 114 |
|
|---|
| 115 | $Output .= 'Generování addonu...<br />';
|
|---|
| 116 | $SaveFilename = $Addon->TempDir.'CzWoW_Addon-'.$Addon->ClientVersion['Version'].'.zip';
|
|---|
| 117 | $Zip = new zipfile();
|
|---|
| 118 | CreateZipFromDir($Zip, $Addon->TempDir.'CzWoW/', 'CzWoW/');
|
|---|
| 119 | $Zip->addFile(file_get_contents(dirname(__FILE__).'/files/'.$Addon->ClientVersion['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');
|
|---|
| 120 | $Zip->addFile(file_get_contents(dirname(__FILE__).'/files/'.$Addon->ClientVersion['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');
|
|---|
| 121 | $Zip->addFile(file_get_contents(dirname(__FILE__).'/files/'.$Addon->ClientVersion['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc');
|
|---|
| 122 | $Zip->addFile(file_get_contents(dirname(__FILE__).'/files/'.$Addon->ClientVersion['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');
|
|---|
| 123 | $Zip->addFile(file_get_contents(dirname(__FILE__).'/files/'.$Addon->ClientVersion['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml');
|
|---|
| 124 | $Zip->addFile(file_get_contents(dirname(__FILE__).'/files/'.$Addon->ClientVersion['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');
|
|---|
| 125 | $Buffer = $Zip->file();
|
|---|
| 126 | file_put_contents($SaveFilename, $Buffer);
|
|---|
| 127 | $Output .= 'Hotovo<br /><br />';
|
|---|
| 128 | } else $Output = ShowMessage('Funkce pro tvorbu Zip souboru není podporována.', MESSAGE_CRITICAL);
|
|---|
| 129 | //$Output .= '<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
|---|
| 130 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
|---|
| 131 | // '</script>';
|
|---|
| 132 |
|
|---|
| 133 | $Output .= 'Soubor ke stažení: '.
|
|---|
| 134 | '<a href="'.$System->Link('/'.$Addon->TempDirRelative.'CzWoW_Addon-'.$Addon->ClientVersion['Version'].'.zip').'">CzWoW_Addon-'.$Addon->ClientVersion['Version'].'.zip</a><br />'.
|
|---|
| 135 | '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.';
|
|---|
| 136 | $Output .= '<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.';
|
|---|
| 137 | return $Output;
|
|---|
| 138 | }
|
|---|
| 139 |
|
|---|
| 140 | function OutputXMLToFile($ExportId)
|
|---|
| 141 | {
|
|---|
| 142 | global $System;
|
|---|
| 143 |
|
|---|
| 144 | $Output = '';
|
|---|
| 145 | $Export = new Export($System);
|
|---|
| 146 | $Export->Id = $ExportId;
|
|---|
| 147 | $Export->Init();
|
|---|
| 148 | if (function_exists('gzcompress'))
|
|---|
| 149 | {
|
|---|
| 150 | $SaveFilename = $Export->TempDir.'CzWoW_XML.zip';
|
|---|
| 151 | $SQLFilename = 'CzWoW_XML.sql';
|
|---|
| 152 | $BufferZip = $Export->ExportToXML();
|
|---|
| 153 | $ZipFile = new zipfile();
|
|---|
| 154 | $ZipFile->addFile($BufferZip, $SQLFilename);
|
|---|
| 155 | $Buffer = $ZipFile->file();
|
|---|
| 156 | file_put_contents($SaveFilename, $Buffer);
|
|---|
| 157 | } else $Output .= ShowMessage('Funkce pro tvorbu Zip souboru není podporována.', MESSAGE_CRITICAL);
|
|---|
| 158 | //$Output .= '<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
|---|
| 159 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
|---|
| 160 | // '</script>';
|
|---|
| 161 |
|
|---|
| 162 | $Output .= 'Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
|
|---|
| 163 | '<a href="'.$System->Link('/'.$Export->TempDirRelative.'CzWoW_XML.zip').'">CzWoW_SQL.zip</a><br />'.
|
|---|
| 164 | '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.';
|
|---|
| 165 | return $Output;
|
|---|
| 166 | }
|
|---|
| 167 |
|
|---|
| 168 | function OutputXMLToHTML($ExportId)
|
|---|
| 169 | {
|
|---|
| 170 | global $System;
|
|---|
| 171 |
|
|---|
| 172 | $Export = new Export($System);
|
|---|
| 173 | $Export->Id = $ExportId;
|
|---|
| 174 | $Export->Init();
|
|---|
| 175 | $Output = 'Vygenerované XML: <br /><pre class="SQLCode">'.
|
|---|
| 176 | htmlspecialchars($Export->ExportToXML()).
|
|---|
| 177 | '</pre>';
|
|---|
| 178 | return $Output;
|
|---|
| 179 | }
|
|---|
| 180 |
|
|---|
| 181 | function OutputDBCToFile($ExportId)
|
|---|
| 182 | {
|
|---|
| 183 | global $System;
|
|---|
| 184 |
|
|---|
| 185 | $Export = new Export($System);
|
|---|
| 186 | $Export->Id = $ExportId;
|
|---|
| 187 | $Export->Init();
|
|---|
| 188 |
|
|---|
| 189 | $Output = '';
|
|---|
| 190 | $DbResult = $System->Database->query('SELECT `Id` FROM `ExportTask` WHERE (`Export` = '.$ExportId.
|
|---|
| 191 | ') AND ((`TimeFinish` < `TimeStart`) OR (`TimeFinish` IS NULL))');
|
|---|
| 192 | if ($DbResult->num_rows == 0)
|
|---|
| 193 | {
|
|---|
| 194 | if (array_key_exists('Regenerate', $_POST))
|
|---|
| 195 | {
|
|---|
| 196 | $System->Database->query('UPDATE `ExportTask` SET `TimeQueued` = NOW(), `Progress`=0 , `TimeStart` = NULL, `TimeFinish` = NULL WHERE `Export` = '.$ExportId);
|
|---|
| 197 | $Output .= ShowMessage('Soubor zařazen znovu ke zpracování do fronty.');
|
|---|
| 198 | $System->ModuleManager->Modules['Log']->WriteLog('Zadání úlohy pro vygenerování dbc souboru', LOG_TYPE_DOWNLOAD);
|
|---|
| 199 | } else {
|
|---|
| 200 | $Output .= '<form action="?Action=View&Tab=7&ExportId='.$ExportId.'" method="post">'.
|
|---|
| 201 | '<input type="submit" name="Regenerate" value="'.T('Regenerate').'"/></form><br />';
|
|---|
| 202 | }
|
|---|
| 203 | }
|
|---|
| 204 |
|
|---|
| 205 | $Output .= 'U DBC souborů export textů funguje jinak, protože generování je náročné, '.
|
|---|
| 206 | 'jsou požadavky zařazovány do fronty a postupně zpracovávány.<br />'.
|
|---|
| 207 | 'DBC soubory je nutné zabalit do souboru patch-enGB-5.MPQ uvnitř složky "DBFilesClient" a '.
|
|---|
| 208 | 'hru spouštět přes upravený spouštěcí soubor. Zabalit je můžete pomocí programu '.
|
|---|
| 209 | '<a href="../download/mpqediten32.zip">Ladik\'s MPQ Editor</a>. Stav vygenerování '.
|
|---|
| 210 | 'můžete sledovat na této stránce.<br /><br />';
|
|---|
| 211 |
|
|---|
| 212 | $DbResult = $System->Database->query('SELECT * FROM `ExportTask` WHERE `Export` = '.$ExportId);
|
|---|
| 213 | if ($DbResult->num_rows == 0)
|
|---|
| 214 | {
|
|---|
| 215 | $System->Database->query('INSERT INTO `ExportTask` (`Export` ,`TimeQueued`, `Progress` ) VALUES ('.$ExportId.', NOW(), 0)');
|
|---|
| 216 | $System->ModuleManager->Modules['Log']->WriteLog('Zadání úlohy pro vygenerování DBC souboru', LOG_TYPE_DOWNLOAD);
|
|---|
| 217 | $System->Database->query('UPDATE `ExportTask` SET `Progress`=0 WHERE `Export`='.$Export->Id);
|
|---|
| 218 | }
|
|---|
| 219 |
|
|---|
| 220 | $DbResult = $System->Database->query('SELECT `TimeFinish` FROM `ExportTask` WHERE `Export` = '.$ExportId);
|
|---|
| 221 | $ExportTask = $DbResult->fetch_assoc();
|
|---|
| 222 | if ($ExportTask['TimeFinish'] <> '')
|
|---|
| 223 | {
|
|---|
| 224 | $Output .= '<strong>Souhrný balík: <a href="'.$System->Link('/'.$Export->TempDirRelative.'CzWoW_DBC.zip').'">CzWoW_DBC.zip</a></strong><br/>';
|
|---|
| 225 | $DbResult = $System->Database->query('SELECT `Group`.* FROM `ExportGroup` JOIN `Group` ON `Group`.`Id` = `ExportGroup`.`Group` WHERE `ExportGroup`.`Export`='.$Export->Id.' AND `Group`.`DBCFileName` != ""');
|
|---|
| 226 | while ($Group = $DbResult->fetch_assoc())
|
|---|
| 227 | {
|
|---|
| 228 | if (file_exists($Export->TempDir.'dbc/'.$Group['DBCFileName'].'.dbc'))
|
|---|
| 229 | $Output .= '<a href="'.$System->Link('/'.$Export->TempDirRelative.'dbc/'.$Group['DBCFileName'].'.dbc').'">'.$Group['DBCFileName'].'.dbc</a><br/>';
|
|---|
| 230 | }
|
|---|
| 231 | } else {
|
|---|
| 232 | $Output .= ShowProgress($Export);
|
|---|
| 233 |
|
|---|
| 234 | }
|
|---|
| 235 | return $Output;
|
|---|
| 236 | }
|
|---|
| 237 |
|
|---|
| 238 | function ShowProgress($Export)
|
|---|
| 239 | {
|
|---|
| 240 | global $System;
|
|---|
| 241 |
|
|---|
| 242 | $Output = '';
|
|---|
| 243 | $Output .= 'Fronta zpracování exportů. Zobrazuje procenta dokončení: <br /><br />';
|
|---|
| 244 |
|
|---|
| 245 | $Output .= '<script src="'.$System->Link('/style/jquery.js').'"></script>'.
|
|---|
| 246 | '<script>'.
|
|---|
| 247 | '$(document).ready(function() {'.
|
|---|
| 248 | 'var refreshId = setInterval(function() {'.
|
|---|
| 249 | '$("#progress").load("'.$System->Link('/export/progress?i='.$_GET['ExportId']).'"); '.
|
|---|
| 250 | '}, 1000);'.
|
|---|
| 251 | '});'.
|
|---|
| 252 | '</script>';
|
|---|
| 253 |
|
|---|
| 254 | $Output .= ' <div id="progress">'.$System->ModuleManager->Modules['Export']->GetTaskProgress($_GET['ExportId'] * 1).
|
|---|
| 255 | '</div><br />';
|
|---|
| 256 |
|
|---|
| 257 | // Check if process task is running
|
|---|
| 258 | $Timeout = 60 * 60 * 2; // two hours
|
|---|
| 259 | $DbResult = $System->Database->query('SELECT * FROM `ExportTask` '.
|
|---|
| 260 | 'LEFT JOIN `Export` ON `Export`.`Id` = `ExportTask`.`Export` '.
|
|---|
| 261 | 'WHERE ((`Export`.`OutputType` = 9) OR (`Export`.`OutputType` = 10)) AND '.
|
|---|
| 262 | '(`TimeFinish` IS NULL) AND (`TimeQueued` < (NOW() - '.$Timeout.'))');
|
|---|
| 263 | if ($DbResult->num_rows > 0)
|
|---|
| 264 | {
|
|---|
| 265 | $System->ModuleManager->Modules['Log']->WriteLog('ProcesTask nepracuje přes 2 hodiny, pravděpodobně nepracuje!', LOG_TYPE_ERROR);
|
|---|
| 266 | }
|
|---|
| 267 | return $Output;
|
|---|
| 268 | }
|
|---|
| 269 |
|
|---|
| 270 | function OutputEXEToFile($ExportId)
|
|---|
| 271 | {
|
|---|
| 272 | global $System;
|
|---|
| 273 |
|
|---|
| 274 | $Export = new Export($System);
|
|---|
| 275 | $Export->Id = $ExportId;
|
|---|
| 276 | $Export->Init();
|
|---|
| 277 | $Export->LoadFilters();
|
|---|
| 278 |
|
|---|
| 279 | $Output = '';
|
|---|
| 280 | // Allow to regenerate output if it was previously finished
|
|---|
| 281 | $DbResult = $System->Database->query('SELECT `Id` FROM `ExportTask` WHERE (`Export` = '.$ExportId.
|
|---|
| 282 | ') AND ((`TimeFinish` < `TimeStart`) OR (`TimeFinish` IS NULL))');
|
|---|
| 283 | if ($DbResult->num_rows == 0)
|
|---|
| 284 | {
|
|---|
| 285 | if (array_key_exists('Regenerate', $_POST))
|
|---|
| 286 | {
|
|---|
| 287 | $System->Database->query('UPDATE `ExportTask` SET `TimeQueued` = NOW(), `Progress`=0, `TimeStart` = NULL, `TimeFinish` = NULL WHERE `Export` = '.$ExportId);
|
|---|
| 288 | $Output .= ShowMessage('Soubor zařazen znovu ke zpracování do fronty.');
|
|---|
| 289 | $System->ModuleManager->Modules['Log']->WriteLog('Zadání úlohy pro vygenerování exe souboru', LOG_TYPE_DOWNLOAD);
|
|---|
| 290 | } else {
|
|---|
| 291 | $Output .= '<form action="?Action=View&Tab=7&ExportId='.$ExportId.'" method="post">'.
|
|---|
| 292 | '<input type="submit" name="Regenerate" value="'.T('Regenerate').'"/></form><br />';
|
|---|
| 293 | }
|
|---|
| 294 | }
|
|---|
| 295 |
|
|---|
| 296 | $Output .= 'U souhrné instalace češtiny funguje export textů jinak, protože generování je náročné, jsou požadavky zařazovány do fronty a postupně zpracovávány.<br /><br />';
|
|---|
| 297 |
|
|---|
| 298 | // Start task for the first time if export task was not yet started
|
|---|
| 299 | $DbResult = $System->Database->query('SELECT * FROM `ExportTask` WHERE `Export` = '.$ExportId);
|
|---|
| 300 | if ($DbResult->num_rows == 0)
|
|---|
| 301 | {
|
|---|
| 302 | $System->Database->query('INSERT INTO `ExportTask` (`Export`, `TimeStart` ) VALUES ('.$ExportId.', NOW())');
|
|---|
| 303 | $System->ModuleManager->Modules['Log']->WriteLog('Zadání úlohy pro vygenerování DBC souboru', LOG_TYPE_DOWNLOAD);
|
|---|
| 304 | }
|
|---|
| 305 |
|
|---|
| 306 | $DbResult = $System->Database->query('SELECT `TimeFinish` FROM `ExportTask` WHERE `Export` = '.$ExportId);
|
|---|
| 307 | $ExportTask = $DbResult->fetch_assoc();
|
|---|
| 308 | if ($ExportTask['TimeFinish'] <> '')
|
|---|
| 309 | {
|
|---|
| 310 | $FileName = 'Instalace_CzechWoW_'.$Export->ClientVersion['Version'].'.exe';
|
|---|
| 311 | $Output .= '<strong>Souhrný EXE balík: <a href="'.$System->Link('/'.$Export->TempDirRelative.$FileName).'">'.$FileName.'</a></strong><br/>';
|
|---|
| 312 | } else {
|
|---|
| 313 | $Output .= ShowProgress($Export);
|
|---|
| 314 | }
|
|---|
| 315 | return $Output;
|
|---|
| 316 | }
|
|---|
| 317 |
|
|---|
| 318 | function OutputLua($ExportId)
|
|---|
| 319 | {
|
|---|
| 320 | global $System;
|
|---|
| 321 |
|
|---|
| 322 | $Export = new Export($System);
|
|---|
| 323 | $Export->Id = $ExportId;
|
|---|
| 324 | $Export->Init();
|
|---|
| 325 |
|
|---|
| 326 | if (function_exists('gzcompress'))
|
|---|
| 327 | {
|
|---|
| 328 | $Output = 'Generování lua souborů...<br />';
|
|---|
| 329 | $Export->ExportToLua();
|
|---|
| 330 | $SaveFilename = $Export->TempDir.'CzWoW_Lua.zip';
|
|---|
| 331 | $ZipFile = new zipfile();
|
|---|
| 332 | CreateZipFromDir($ZipFile, $Export->TempDir.'lua/', '');
|
|---|
| 333 | $Buffer = $ZipFile->file();
|
|---|
| 334 | file_put_contents($SaveFilename, $Buffer);
|
|---|
| 335 | $Output .= 'Hotovo<br /><br />';
|
|---|
| 336 | } else $Output = ShowMessage('Funkce pro tvorbu Zip souboru není podporována.', MESSAGE_CRITICAL);
|
|---|
| 337 | //$Output .= '<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
|---|
| 338 | // 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
|
|---|
| 339 | // '</script>';
|
|---|
| 340 |
|
|---|
| 341 | $Output .= '<strong>Soubory:</strong><br/>'.
|
|---|
| 342 | 'Souhrný archív <a href="'.$System->Link('/'.$Export->TempDirRelative.'CzWoW_Lua.zip').'">CzWoW_Lua.zip</a><br />';
|
|---|
| 343 | $DbResult = $System->Database->query('SELECT `Group`.* FROM `ExportGroup` JOIN `Group` ON `Group`.`Id` = `ExportGroup`.`Group` WHERE `ExportGroup`.`Export`='.$Export->Id.' AND `Group`.`LuaFileName` != ""');
|
|---|
| 344 | while ($Group = $DbResult->fetch_assoc())
|
|---|
| 345 | {
|
|---|
| 346 | $Output .= '<a href="'.$System->Link('/'.$Export->TempDirRelative.'lua/'.$Group['LuaFileName'].'.lua').'">'.$Group['LuaFileName'].'.lua</a><br/>';
|
|---|
| 347 | }
|
|---|
| 348 | $Output .= '<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).';
|
|---|
| 349 | return $Output;
|
|---|
| 350 | }
|
|---|
| 351 |
|
|---|
| 352 | function ExportOutput($ExportId, $Type)
|
|---|
| 353 | {
|
|---|
| 354 | if ($Type == 1) $Output = OutputMangosSQLToHTML($ExportId);
|
|---|
| 355 | else if ($Type == 2) $Output = OutputMangosSQLToFile($ExportId);
|
|---|
| 356 | else if ($Type == 3) $Output = OutputAoWoWToHTML($ExportId);
|
|---|
| 357 | else if ($Type == 4) $Output = OutputAoWoWToFile($ExportId);
|
|---|
| 358 | else if ($Type == 5) $Output = OutputXMLToHTML($ExportId);
|
|---|
| 359 | else if ($Type == 6) $Output = OutputXMLToFile($ExportId);
|
|---|
| 360 | else if ($Type == 7) $Output = OutputAddon($ExportId);
|
|---|
| 361 | else if ($Type == 8) $Output = OutputLua($ExportId);
|
|---|
| 362 | else if ($Type == 9) $Output = OutputDBCToFile($ExportId);
|
|---|
| 363 | else if ($Type == 10) $Output = OutputEXEToFile($ExportId);
|
|---|
| 364 | else $Output = ShowMessage('Nebyl vybrán žádný formát výstupu.', MESSAGE_CRITICAL);
|
|---|
| 365 | return $Output;
|
|---|
| 366 | }
|
|---|