Changeset 286 for trunk/export/index.php
- Timestamp:
- Dec 22, 2009, 10:22:38 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/export/index.php
r268 r286 7 7 //php index.php "action=result" 'ExportSetting=a:10:{s:11:"users-order";s:838:",459,1,2,499,304,462,407,379,58,400,392,119,281,590,277,159,192,588,503,586,131,195,288,208,537,426,337,146,30,122,598,399,596,28,8,319,174,33,165,188,269,18,84,331,578,591,147,579,592,289,303,567,243,502,144,285,161,568,351,163,547,262,256,141,536,301,318,214,486,172,154,466,446,335,127,563,76,293,173,325,580,290,153,543,23,196,509,552,237,389,317,177,52,594,416,539,473,573,17,5,139,452,148,362,210,346,35,553,71,68,394,143,369,515,448,140,445,32,171,211,347,226,152,403,245,217,27,7,268,549,86,81,348,370,476,132,562,307,575,583,291,555,548,16,474,182,556,535,320,252,359,264,338,533,405,577,250,221,582,197,230,72,242,213,409,472,186,554,523,492,378,413,512,581,352,518,485,602,601,604,603,606,607,595,609,617,614,618,616,613,622,624,638,641,643,626,627,648,639,652,642,650,26,156,640,633,635,653,637,654,636,284,531,585,629,651,647";s:15:"users-selection";a:44:{i:0;s:3:"459";i:1;s:1:"1";i:2;s:1:"2";i:3;s:3:"499";i:4;s:3:"304";i:5;s:3:"462";i:6;s:3:"407";i:7;s:3:"379";i:8;s:3:"400";i:9;s:3:"281";i:10;s:3:"277";i:11;s:3:"159";i:12;s:3:"588";i:13;s:3:"503";i:14;s:3:"586";i:15;s:3:"131";i:16;s:3:"195";i:17;s:3:"288";i:18;s:3:"208";i:19;s:3:"537";i:20;s:3:"426";i:21;s:3:"337";i:22;s:3:"122";i:23;s:3:"319";i:24;s:3:"174";i:25;s:3:"165";i:26;s:3:"188";i:27;s:3:"269";i:28;s:2:"18";i:29;s:3:"331";i:30;s:3:"578";i:31;s:3:"579";i:32;s:3:"592";i:33;s:3:"567";i:34;s:3:"568";i:35;s:3:"446";i:36;s:3:"580";i:37;s:3:"362";i:38;s:3:"549";i:39;s:3:"562";i:40;s:3:"556";i:41;s:3:"618";i:42;s:3:"613";i:43;s:3:"622";}s:6:"groups";a:18:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";i:3;s:1:"4";i:4;s:1:"5";i:5;s:1:"6";i:6;s:1:"7";i:7;s:1:"8";i:8;s:2:"10";i:9;s:2:"11";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"14";i:13;s:2:"15";i:14;s:2:"16";i:15;s:2:"17";i:16;s:2:"18";i:17;s:2:"19";}s:10:"Diacritics";b:1;s:11:"language-cz";b:1;s:11:"language-sk";b:1;s:14:"language-other";b:0;s:6:"Export";s:11:"AoWoWImport";s:9:"language1";b:0;s:9:"language2";b:0;}' 8 8 9 if(!isset($_SERVER['REMOTE_ADDR'])) 9 // Load commandline parameters 10 if(!array_key_exists('REMOTE_ADDR', $_SERVER)) 10 11 { 11 12 foreach($_SERVER['argv'] as $parameter) … … 14 15 { 15 16 $index = substr($parameter,0,strpos($parameter, '=')); 16 17 17 $parameter = substr($parameter,strpos($parameter, '=')+1); 18 //echo ($index.' ---- '.$parameter); 18 19 $_GET[$index] = $parameter; 19 20 } 20 } 21 } 21 22 } 22 23 … … 24 25 if(array_key_exists('ExportSetting', $_COOKIE)) 25 26 $_SESSION['ExportSetting'] = $_COOKIE['ExportSetting']; 26 27 else $_SESSION['ExportSetting'] = ''; 27 28 28 29 setcookie('ExportSetting', $_SESSION['ExportSetting'], time() + 60 * 60 * 24 * 100); … … 69 70 unset($Addon_verses[count($Addon_verses) - 1]); 70 71 unset($Addon_verses[count($Addon_verses) - 1]); 71 72 73 74 } 75 76 77 72 $result = '['; 73 foreach($Addon_verses as $version) { 74 $result .= "'".$version."',"; 75 } 76 $result = substr($result,0,strlen($result)-1); 77 $result .= "]"; 78 break; 78 79 case 'sources': 79 80 $dirs = scandir('../source', 1); … … 81 82 unset($dirs[count($dirs) - 1]); 82 83 unset($dirs[count($dirs) - 1]); 83 84 85 86 } 87 88 89 84 $result = '['; 85 foreach($dirs as $dir) { 86 $result .= "'".$dir."',"; 87 } 88 $result = substr($result,0,strlen($result)-1); 89 $result .= "]"; 90 break; 90 91 case 'sql': 91 92 $dirs = scandir('../source', 1); … … 93 94 unset($dirs[count($dirs) - 1]); 94 95 unset($dirs[count($dirs) - 1]); 95 96 97 98 99 } 100 101 102 96 $result = '['; 97 foreach($dirs as $dir) { 98 if ($TranslationTree[1]['LastVersion'] >= GetBuildNumber($dir)) 99 $result .= "'".$dir."',"; 100 } 101 if ($result <> '[') $result = substr($result,0,strlen($result)-1); 102 $result .= "]"; 103 break; 103 104 case 'DBC': 104 105 $sql = 'SELECT Version FROM wow_client_version WHERE DBCColumns_GameTips <> "" AND DBCColumns_Spell <> "" ORDER BY BuildNumber DESC'; 105 106 $ID = $Database->SQLCommand($sql); 106 107 $result = '['; 107 108 while($Line = mysql_fetch_assoc($ID)) 108 109 { 109 110 } 111 112 113 110 $result .= "'".$Line['Version']."',"; 111 } 112 $result = substr($result,0,strlen($result)-1); 113 $result .= "]"; 114 break; 114 115 case 'Lua': 115 116 $dirs = scandir('../source', 1); 116 117 118 117 $result = '['; 118 foreach($dirs as $dir) { 119 $ok = true; 119 120 foreach($TranslationTree as $Group) 120 121 { 121 122 if(($Group['LuaFileName'] != '') and ($Group['TablePrefix'] != '')) 122 123 { 123 124 125 126 127 128 } 129 130 131 124 if ((file_exists('../source/'.$dir.'/lua/'.$Group['LuaFileName'].'.lua') == false)) 125 $ok = false; 126 } 127 } 128 if ($ok) $result .= "'".$dir."',"; 129 } 130 $result = substr($result,0,strlen($result)-1); 131 $result .= "]"; 132 break; 132 133 } 133 134 return($result); … … 138 139 if ($str <> 'null') 139 140 { 140 $str = substr($str, 2,strlen($str)-4);141 $versions = explode("','", $str);141 $str = substr($str, 2, strlen($str) - 4); 142 $versions = explode("','", $str); 142 143 foreach($versions as $version) 143 144 { 144 145 echo('<option value="'.$version.'"'); 145 if($Selected == $version) echo(' selected="selected"'); echo('>'.$version.'</option>'); 146 if($Selected == $version) echo(' selected="selected"'); 147 echo('>'.$version.'</option>'); 146 148 } 147 149 } … … 150 152 function WriteSetting($ExportSetting) 151 153 { 152 153 154 155 154 echo('<textarea rows="10" cols="100">'.serialize($ExportSetting).'</textarea><br />'. 155 'Odkaz ke stažení s vlastním nastavením: '. 156 '<a href="?action=output&ExportSetting='.htmlspecialchars(serialize($ExportSetting)).'">Odkaz vlastního exportu</a><br />'. 157 'I když se nastavení ukládá, pro jistotu si jej můžete uložit nebo poslat příteli.'); 156 158 } 157 159 158 160 if(array_key_exists('ExportSetting', $_GET)) 159 161 { 160 162 $ExportSetting = unserialize(stripcslashes(stripcslashes($_GET['ExportSetting']))); 161 163 } else 162 164 { 163 164 165 166 167 168 169 //print_r($_POST);170 165 if(array_key_exists('UserID', $_SESSION) and ($_SESSION['UserID'] != '')) 166 { 167 $DbResult = $Database->SQLCommand('SELECT ExportSetting FROM user WHERE ID='.$_SESSION['UserID']); 168 $DbRow = mysql_fetch_assoc($DbResult); 169 $ExportSetting = unserialize($DbRow['ExportSetting']); 170 171 //print_r($_POST); 172 } else $ExportSetting = unserialize($_SESSION['ExportSetting']); 171 173 } 172 174 if(!isset($ExportSetting['users-selection'])) $ExportSetting['users-selection'] = array(); … … 186 188 foreach($FileList as $FileName) 187 189 { 188 189 190 if(file_exists($Path.$FileName) and ($FileName != '.') and ($FileName != '..')) 191 { 190 192 //echo($Path.$FileName.'<br />'); 191 192 else $Zip->addFile(file_get_contents($Path.$FileName), $ZipPath.$FileName); 193 193 if(is_dir($Path.$FileName)) CreateZipFromDir($Zip, $Path.$FileName.'/', $ZipPath.$FileName.'/'); 194 else $Zip->addFile(file_get_contents($Path.$FileName), $ZipPath.$FileName); 195 } 194 196 } 195 197 } … … 201 203 if (array_key_exists('Version',$_POST)) $ExportSetting['Version'] = $_POST['Version']; 202 204 if (array_key_exists('Export',$_POST)) $ExportSetting['Export'] = $_POST['Export']; 203 204 205 205 switch($ExportSetting['Export']) 206 { 207 case 'MangosSQLCompressed': 206 208 if(function_exists('gzcompress')) 207 209 { 208 209 210 $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/'; 211 if(!file_exists($TempDir)) mkdir($TempDir, 0777, true); 210 212 $SaveFilename = $TempDir.'CzWoW_SQL.zip'; 211 213 $SQLFilename = 'CzWoW_SQL.sql'; … … 223 225 '<a href="'.$SaveFilename.'">'.$SQLFilename.'</a><br />'. 224 226 '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.'); 225 226 227 break; 228 case 'MangosSQLDirect': 227 229 echo('Vygenerovaný SQL kód: <br /><pre class="SQLCode">'); 228 230 echo(htmlspecialchars(ExportToMangosSQL($ExportSetting))); 229 231 echo('</pre>'); 230 231 232 break; 233 case 'AoWoWSQLCompressed': 232 234 if(function_exists('gzcompress')) 233 235 { 234 235 236 $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/'; 237 if(!file_exists($TempDir)) mkdir($TempDir, 0777, true); 236 238 $SaveFilename = $TempDir.'CzAoWoW_SQL.zip'; 237 239 $SQLFilename = 'CzAoWoW_SQL.sql'; … … 249 251 '<a href="'.$SaveFilename.'">'.$SQLFilename.'</a><br />'. 250 252 '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.'); 251 252 253 break; 254 case 'AoWoWSQLDirect': 253 255 echo('Vygenerovaný SQL kód: <br /><pre class="SQLCode">'); 254 256 echo(htmlspecialchars(ExportToAoWoWSQL($ExportSetting))); 255 257 echo('</pre>'); 256 257 258 259 258 break; 259 case 'AoWoWImport': 260 require_once('../aowow/configs/config.php'); 261 echo('<div style="font-size: xx-small;">'); 260 262 echo('Gewneruji SQL kód '); 261 263 $AoWoWSQL = ExportToAoWoWSQL($ExportSetting); 262 264 echo('<strong>Hotovo</strong><br />'); 263 265 264 265 266 $Database->SelectDatabase($AoWoWconf['mangos']['db']); 267 $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']); 266 268 267 268 269 echo('Aktualizuji aktuality '); 270 $Database->SQLCommand("UPDATE `aowow_news` SET `text_loc0` = 'Poslední aktualizace dat ".Date ("d. n. Y, H:i:s")." ', `text_loc8` = 'Poslední aktualizace dat ".Date ("d. n. Y, H:i:s")." ' WHERE `aowow_news`.`id` =3"); 269 271 echo('<strong>Hotovo</strong><br />'); 270 272 271 272 273 274 { 275 276 277 278 279 280 { 281 282 283 273 echo('Mažu dočasné soubory '); 274 $files = scandir('../aowow/cache/mangos'); 275 foreach($files as $file) 276 { 277 $end = substr($file, strlen($file) - 3); 278 if($end == 'aww') unlink('../aowow/cache/mangos/'.$file); 279 } 280 $files = scandir('../aowow/cache/templates/wowhead'); 281 foreach($files as $file) 282 { 283 $end = substr($file, strlen($file) - 3); 284 if ($end == 'php') unlink('../aowow/cache/templates/wowhead/'.$file); 285 } 284 286 echo ('<strong>Hotovo</strong><br />'); 285 287 … … 288 290 foreach($BufferArray as $Line) 289 291 { 290 291 292 }292 if($Line <> '') $Database->SQLCommand($Line); 293 echo('. '); 294 } 293 295 echo('<strong>Hotovo</strong><br />'); 294 295 296 297 298 299 296 297 // TODO aowow_itemenchantmet, aowow_char_titles, aowow_factions, aowow_itemset, aowow_spelldispeltype, aowow_spellmechanic, aowow_spellrange, aowow_zones 298 299 $Database->SelectDatabase($Config['Database']['Database']); 300 $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']); 301 echo('</div>'); 300 302 WriteLog('Plnění AoWoW databáze překladem', 4); 301 302 303 break; 304 case 'XMLCompressed': 303 305 if(function_exists('gzcompress')) 304 306 { 305 306 307 $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/'; 308 if(!file_exists($TempDir)) mkdir($TempDir, 0777, true); 307 309 $SaveFilename = $TempDir.'CzWoW_XML.zip'; 308 310 $SQLFilename = 'CzWoW_XML.sql'; … … 321 323 '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.'); 322 324 break; 323 325 case 'XMLDirect': 324 326 echo('Vygenerované XML: <br /><pre class="SQLCode">'); 325 327 echo(htmlspecialchars(ExportToXML($ExportSetting))); 326 328 echo('</pre>'); 327 328 329 330 331 329 break; 330 /*case 'Server': 331 if(Licence(LICENCE_ADMIN)) 332 { 333 $Buffer = ExportToMangosSQL($ExportSetting); 332 334 $Database->SelectDatabase($Config['Database']['DatabaseMangos']); 333 335 $BufferArray = explode("\n", $Buffer); 334 336 echo('Přenášení dat do serveru...<br />'); 335 337 foreach($BufferArray as $Line) 336 338 { 337 338 339 339 $Database->SQLCommand($Line); 340 echo('.'); 341 } 340 342 echo("<br />Hotovo<br />"); 341 342 343 344 345 346 347 348 349 350 351 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');352 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');353 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc'); 354 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');355 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml'); 356 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua'); 357 358 359 360 361 362 363 364 365 366 367 368 369 370 343 } else echo('Nemáte oprávnění.'); 344 break;*/ 345 case 'Addon': 346 if(function_exists('gzcompress')) { 347 $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW-'.$ExportSetting['Version'].'/'; 348 echo('Generování addonu...'.$ExportSetting['Export'].'<br />'); 349 MakeAddon($ExportSetting); 350 $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Addon-'.$ExportSetting['Version'].'.zip'; 351 $Zip = new zipfile(); 352 CreateZipFromDir($Zip, $TempDir, 'CzWoW/'); 353 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml'); 354 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml'); 355 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc'); 356 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua'); 357 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml'); 358 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua'); 359 $Buffer = $Zip->file(); 360 file_put_contents($SaveFilename, $Buffer); 361 echo('Hotovo<br /><br />'); 362 } else echo('Funkce pro tvorbu Zip souboru není podporována!'); 363 echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'. 364 'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'. 365 '</script>'); 366 367 echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '. 368 '<a href="'.$SaveFilename.'">CzWoW_Addon-'.$ExportSetting['Version'].'.zip</a><br />'. 369 '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.'); 370 echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.'); 371 break; 372 case 'VerseCZ': 371 373 if(function_exists('gzcompress')) 372 374 { 373 375 $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT verse FROM verseclient ORDER BY DATE DESC LIMIT 1')); 374 376 $TempDir = $Config['Web']['TempFolder'].'Addon/CzWoW/'; 375 377 echo('Generování addonu...<br />'); 376 378 MakeAddon($ExportSetting); 377 379 MakeReadme($ExportSetting); … … 379 381 $SaveFilename = $Config['Web']['TempFolder'].'Addon/CzWoW_'.$Line['verse'].'.zip'; 380 382 $Zip = new zipfile(); 381 383 CreateZipFromDir($Zip, $TempDir, 'Interface/AddOns/CzWoW/'); 382 384 //addon 383 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'Interface/AddOns/CzWoW/OptionsFrame.xml'); 384 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'Interface/AddOns/CzWoW/CzWoW.xml'); 385 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'Interface/AddOns/CzWoW/CzWoW.toc'); 386 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'Interface/AddOns/CzWoW/CzWoW.lua'); 387 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'Interface/AddOns/CzWoW/GameMenuFrame.xml'); 388 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'Interface/AddOns/CzWoW/Localization.lua'); 389 390 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/FRIZQT__.ttf'), 'Fonts/FRIZQT__.ttf'); 391 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/MORPHEUS.ttf'), 'Fonts/MORPHEUS.ttf'); 392 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/SKURRI.ttf'), 'Fonts/SKURRI.ttf'); 385 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'Interface/AddOns/CzWoW/OptionsFrame.xml'); 386 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'Interface/AddOns/CzWoW/CzWoW.xml'); 387 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'Interface/AddOns/CzWoW/CzWoW.toc'); 388 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'Interface/AddOns/CzWoW/CzWoW.lua'); 389 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'Interface/AddOns/CzWoW/GameMenuFrame.xml'); 390 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'Interface/AddOns/CzWoW/Localization.lua'); 391 //fonty 392 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/FRIZQT__.ttf'), 'Fonts/FRIZQT__.ttf'); 393 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/MORPHEUS.ttf'), 'Fonts/MORPHEUS.ttf'); 394 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/SKURRI.ttf'), 'Fonts/SKURRI.ttf'); 393 395 //readme 394 $Zip->addFile(file_get_contents($Config['Web']['TempFolder'].'Addon/CzWoW/CZWOW-Readme.txt'), 'CZWOW-Readme.txt'); 395 396 396 $Zip->addFile(file_get_contents($Config['Web']['TempFolder'].'Addon/CzWoW/CZWOW-Readme.txt'), 'CZWOW-Readme.txt'); 397 398 $Buffer = $Zip->file(); 397 399 file_put_contents($SaveFilename, $Buffer); 398 400 WriteLog('Vytvořena verze češtiny pro clienta '.$Line['verse'], 4); 399 401 400 402 echo('Hotovo<br /><br />'); 401 403 } else echo('Funkce pro tvorbu Zip souboru není podporována!'); 402 404 403 405 echo('Odkaz ke stažení: '. 404 406 '<a href="'.$SaveFilename.'">'.$SaveFilename.'</a><br />'); 405 406 407 408 409 407 break; 408 case 'DBC': 409 410 echo('<br /><br /><br />U dbc souborů export textů funguje jinak, protože generování je náročné na výpočet provádí se přes noc kdy je server nejmíň vytížen. Nyní jste zadali úlohu, která se provede v noci. Zítra si můžete stáhnout vygenerovaný soubor v sekci <a href="../download.php">Stahování</a>.<br /><br />Dbc soubory je nutné zabalit do souboru patch-enGB-5.MPQ uvnitř složky "DBFilesClient" a hru spouštět přes wowme.exe. Zabalit to můžete pomocí programu <a href="../download/mpqediten32.zip">Ladik\'s MPQ Editor</a>. Stav vygenerování můžete sledovat na stránce <a href="../download.php">Stahování</a>, kde si také můžete zítra stáhnout soubor.<br /><br />'); 411 410 412 //TODO: pouze jedna aktivní úloha na uživatele 411 413 $sql = 'SELECT * FROM tasks WHERE Active = 1 AND User = '.$_SESSION['UserID']; 412 414 $ID = $Database->SQLCommand($sql); 413 414 415 415 if (mysql_num_rows($ID) > 0) 416 { 417 echo ('Nemůžete zadat stejný požadavek dvakrát za den. Bylo pouze aktualizováno nastavení exportu!'); 416 418 $Database->SQLCommand('UPDATE `wowpreklad`.`tasks` SET `ExportSetting` = "'.addslashes(serialize($ExportSetting)).'" WHERE Active = 1 AND User = '.$_SESSION['UserID']); 417 419 } else { 418 420 $Database->SQLCommand('INSERT INTO `wowpreklad`.`tasks` (`User` ,`ExportSetting` ,`Date` ) VALUES ("'.$_SESSION['UserID'].'", "'.addslashes(serialize($ExportSetting)).'", NOW( ))'); 419 420 421 422 423 421 } 422 WriteLog('Zadání úlohy pro vygenerování dbc souboru', 2); 423 424 425 /* 424 426 if(function_exists('gzcompress')) 425 427 { 426 428 $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/dbc/'; 427 429 echo('Generování dbc souborů...<br />'); 428 430 ExportToDBC($ExportSetting); 429 431 $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_DBC.zip'; 430 432 $Zip = new zipfile(); 431 432 433 CreateZipFromDir($Zip, $TempDir, 'DBCClientFiles/'); 434 $Buffer = $Zip->file(); 433 435 file_put_contents($SaveFilename, $Buffer); 434 436 echo('Hotovo<br /><br />'); 435 437 } else echo('Funkce pro tvorbu Zip souboru není podporována!'); 436 438 echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'. … … 441 443 '<a href="'.$SaveFilename.'">CzWoW_DBC.zip</a><br />'. 442 444 '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.'); 443 444 445 446 447 445 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 Data/enUS jako patch-enUS-5.MPQ. Hru spusťte pomocí programu WoWMe.exe (WoW Model Editor Fix).'); 446 */ 447 448 break; 449 case 'Lua': 448 450 if(function_exists('gzcompress')) 449 451 { 450 452 $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/lua/'; 451 453 echo('Generování lua souborů...<br />'); 452 454 ExportToLUA($ExportSetting); 453 455 $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Lua.zip'; 454 456 $Zip = new zipfile(); 455 456 457 CreateZipFromDir($Zip, $TempDir, ''); 458 $Buffer = $Zip->file(); 457 459 file_put_contents($SaveFilename, $Buffer); 458 460 echo('Hotovo<br /><br />'); 459 461 } else echo('Funkce pro tvorbu Zip souboru není podporována!'); 460 462 echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'. … … 465 467 '<a href="'.$SaveFilename.'">CzWoW_Lua.zip</a><br />'. 466 468 '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.'); 467 468 469 } 470 471 472 469 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 Data/enUS jako patch-enUS-5.MPQ. Hru spusťte pomocí programu WoWMe.exe (WoW Model Editor Fix).'); 470 break; 471 } 472 //statistika výstupu 473 if ($ExportSetting['Export'] <> 'AoWoWSQLDirect' and $ExportSetting['Export'] <> 'XMLDirect' and $ExportSetting['Export'] <> 'AoWoWImport' and $ExportSetting['Export'] <> 'MangosSQLDirect') { 474 echo '<br /><br />'; 473 475 foreach($TranslationTree as $Group) 474 476 if($Group['TablePrefix'] != '' and (in_array($Group['Id'], $ExportSetting['groups']))) 475 477 echo('<div class="state-image"><img alt="'.$Group['TablePrefix'].'" src="../img_statistic.php?group='.$Group['Id'].'&user='.$_SESSION['UserID'].'" title="statistika překladů '.$Group['Name'].'"/></div>'); 476 478 } 477 478 479 480 WriteLog('Generování SQL výstupu: Typ exportu: <strong>'.$ExportSetting['Export'].'</strong>, Diakritika: <strong>'.$ExportSetting['Diacritics'].'</strong>', 2); 479 481 break; 480 482 case 'output': … … 486 488 487 489 if(array_key_exists('ExportSetting', $_GET)) 488 490 $ExportSetting = unserialize(stripcslashes(stripcslashes($_GET['ExportSetting']))); 489 491 490 492 echo('<strong>Krok 3. - Typ výstupu</strong><br /><br />'); 491 493 echo('<form action="?action=result" method="post"><div>'. 492 494 '<table><tr><td>'. 493 495 '<fieldset><legend>Forma výstupu</legend>'. 494 496 RadioButton('Export', 'MangosSQLDirect', $ExportSetting['Export'] == 'MangosSQLDirect', 'UpdateVersion('.GetVersions('MangosSQLDirect').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - přímo zobrazit<br />'. 495 496 497 497 RadioButton('Export', 'MangosSQLCompressed', $ExportSetting['Export'] == 'MangosSQLCompressed', 'UpdateVersion('.GetVersions('MangosSQLCompressed').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - komprimovaný soubor<br />'. 498 RadioButton('Export', 'AoWoWSQLDirect', $ExportSetting['Export'] == 'AoWoWSQLDirect', 'UpdateVersion('.GetVersions('AoWoWSQLDirect').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - přímo zobrazit<br />'. 499 RadioButton('Export', 'AoWoWSQLCompressed', $ExportSetting['Export'] == 'AoWoWSQLCompressed', 'UpdateVersion('.GetVersions('AoWoWSQLCompressed').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - komprimovaný soubor<br />'. 498 500 RadioButton('Export', 'XMLDirect', $ExportSetting['Export'] == 'XMLDirect', 'UpdateVersion('.GetVersions('XMLDirect').',\''.$ExportSetting['Version'].'\')').'XML - přímo zobrazit<br />'. 499 500 501 501 RadioButton('Export', 'XMLCompressed', $ExportSetting['Export'] == 'XMLCompressed', 'UpdateVersion('.GetVersions('XMLCompressed').',\''.$ExportSetting['Version'].'\')').'XML - komprimovaný soubor<br />'. 502 RadioButton('Export', 'Addon', $ExportSetting['Export'] == 'Addon', 'UpdateVersion('.GetVersions('Addon').',\''.$ExportSetting['Version'].'\')').'Addon - komprimovaný soubor<br />'. 503 RadioButton('Export', 'Lua', $ExportSetting['Export'] == 'Lua', 'UpdateVersion('.GetVersions('Lua').',\''.$ExportSetting['Version'].'\')').'Lua skripty - komprimovaný soubor<br />'); 502 504 if(Licence(LICENCE_USER)) { 503 505 echo(RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC', 'UpdateVersion('.GetVersions('DBC').',\''.$ExportSetting['Version'].'\')').'DBC - komprimovaný soubor (pouze přihlášení)<br />'); 504 505 506 506 } else { 507 echo (' <span style="padding: 20px"> Pro export do souborů dbc musíte být přihlášen</span>'); 508 } 507 509 if(Licence(LICENCE_ADMIN)) { 508 510 // echo(RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC', 'UpdateVersion('.GetVersions('DBC').',\''.$ExportSetting['Version'].'\')').'DBC - komprimovaný soubor (pouze admin)<br />'); 509 511 echo(RadioButton('Export', 'AoWoWImport', $ExportSetting['Export'] == 'AoWoWImport', 'UpdateVersion('.GetVersions('AoWoWImport').',\''.$ExportSetting['Version'].'\')').'Importovat do AoWoW (pouze admin)<br />'); 510 511 } 512 512 echo(RadioButton('Export', 'VerseCZ', $ExportSetting['Export'] == 'VerseCZ', 'UpdateVersion('.GetVersions('VerseCZ').',\''.$ExportSetting['Version'].'\')').'Vytvoření verze češtiny <a href="../download.php?createverse" Title="Před konečným exportováním napište popis k verzi" Target="_NEW">Popis k verzi</a> (pouze admin)<br />'); 513 } 514 //echo(' 513 515 echo('</fieldset>'); 514 516 echo('<fieldset><legend>Dostupné verze výstupu</legend>'); 515 516 517 echo('<select id="Version" size="5" name="Version">'); 518 WriteOption(GetVersions($ExportSetting['Export']),$ExportSetting['Version']); 517 519 echo('</select></fieldset>'); 518 519 520 521 522 523 524 525 526 520 echo('</td>'); 521 echo('<td class="Description">Zvolte způsob, jakým mají být získána výstupní data. V případě přímého zobrazení může být do vašeho prohlížeče přenášeno vysoké množství dat, což může vést k jeho přetížení.<br /><br />Poté zvolte pro kterou verzi hry mají být data získána. Pokud verze není přesná zvolte nejbližší.<br /><br />Addon je potřeba nakopírovat do složky klienta Interface/AddOns a ve hře lze zpřístupnit jeho možnosti pomocí příkazu /czwow.<br />'); 522 echo('</td></tr></table>'); 523 echo('<br /><input type="submit" value="Dokončit" />'); 524 echo('</div></form><br />'); 525 echo('<fieldset><legend>Nastavení exportu pro zálohování</legend>'); 526 WriteSetting($ExportSetting); 527 echo ('</fieldset>'); 528 break; 527 529 case 'parameters': 528 530 $ExportSetting['users-order'] = $_POST['users-order']; 529 531 $ExportSetting['users-selection'] = array(); 530 532 $UsersList = explode(',', $_POST['users-order']); 531 532 533 534 535 533 foreach($UsersList as $Index => $Item) 534 { 535 if(array_key_exists('user_'.$Item, $_POST)) $ExportSetting['users-selection'][] = $Item; 536 } 537 //if(array_key_exists('users', $_POST)) $ExportSetting['users'] = $_POST['users']; 536 538 echo('<strong>Krok 2. - Volba parametrů</strong><br /><br />'); 537 539 echo('<form action="?action=output" method="post"><div>'); 538 540 echo('<table><tr><td>'); 539 541 echo('<fieldset><legend>Jazyk</legend>'. 540 542 CheckBox('Diacritics', $ExportSetting['Diacritics'] == 'checked').'Včetně diakritiky<br /><br />'); … … 551 553 echo(SelectOption($Group['Id'], $Group['Name'].' ('.$Group['TablePrefix'].')', in_array($Group['Id'], $ExportSetting['groups']))); 552 554 553 554 555 echo('</select></fieldset><br /></td><td class="Description">Vyberte skupiny textů, z kterých bude sestaven export. Přidržením CTRL nebo SHIFT můžete provádět výběr více položek.</td></tr></table><input type="submit" value="Pokračovat" />'); 556 echo('</div></form>'); 555 557 break; 556 558 default: 557 559 echo('<strong>Krok 1. - Výběr překladatelů</strong><br /><br />'); 558 560 echo('<script type="text/javascript" src="'.$Config['Web']['BaseURL'].'style/jquery.js"></script> 559 561 <script type="text/javascript" src="'.$Config['Web']['BaseURL'].'style/jquery-ui.js"></script> 560 562 <script type="text/javascript"> 561 563 $(document).ready(function() 562 564 { 563 $("#users-table").sortable({ items: "tr", sort: SortComplete }); 564 565 $("#users-table").sortable({ items: "tr", sort: SortComplete }); 566 $("#users-order").val($("#users-table").sortable(\'toArray\')); 565 567 }); 566 568 567 569 function SortComplete() 568 570 { 569 $("#users-order").val($("#users-table").sortable(\'toArray\')); 571 $("#users-order").val($("#users-table").sortable(\'toArray\')); 570 572 } 571 573 </script>'); … … 575 577 $Joins = ''; 576 578 577 578 579 580 581 582 583 579 //řezení podle odkazu 580 if(array_key_exists('Order', $_GET)) $order = $_GET['Order']; 581 else $order = 'T.TranslatedCount'; 582 if(array_key_exists('Desc', $_GET)) $desc = $_GET['Desc']; 583 else $desc = ''; 584 if($desc == '') $desc = 'DESC'; else $desc = ''; 585 584 586 foreach($TranslationTree as $Group) 585 587 if($Group['TablePrefix'] != '') 586 588 { 587 589 $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + '; 588 590 $Joins .= ' LEFT JOIN (SELECT User, COUNT(User) as Count FROM `'.$Group['TablePrefix'].'` WHERE (Complete = 1) AND (Language <> 0) GROUP BY User) as T'.$Group['Id'].' ON user.ID=T'.$Group['Id'].'.User'; 589 591 } … … 591 593 $ID = $Database->SQLCommand($Query); 592 594 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 595 // Rebuild user order list 596 $Users = array(); 597 while($Line = mysql_fetch_assoc($ID)) { 598 $Users[$Line['ID']] = $Line; 599 $UsersOrder[] = $Line['ID']; 600 } 601 //řazení podle posledního použitého 602 if(!array_key_exists('Order', $_GET)) { 603 $UsersOrder = explode(',', $ExportSetting['users-order']); 604 foreach($Users as $User) 605 if(!in_array($User['ID'], $UsersOrder)) $UsersOrder[] = $User['ID']; 606 foreach($UsersOrder as $Index => $UserId) 607 if(!array_key_exists($UserId, $Users)) unset($UsersOrder[$Index]); 608 } 609 $ExportSetting['users-order'] = implode(',', $UsersOrder); 610 611 if(array_key_exists('team', $_GET)) { 612 $ExportSetting['users-selection'] = array(); 613 $Query = 'SELECT ID FROM user WHERE team = '.$_GET['team']; 612 614 $ID = $Database->SQLCommand($Query); 613 615 while($LineTeam = mysql_fetch_assoc($ID)) 614 615 616 617 618 echo(' <input type="submit" value="Pokračovat" /> <span onclick="CheckAll()">'.CheckBox('CheckAll', False, 'CheckAll').' Zatrhnout vše</span> '); 619 620 621 622 623 616 $ExportSetting['users-selection'][] = $LineTeam['ID']; 617 } 618 619 620 echo(' <input type="submit" value="Pokračovat" /> <span onclick="CheckAll()">'.CheckBox('CheckAll', False, 'CheckAll').' Zatrhnout vše</span> '); 621 622 echo('<table><tr><td>'. 623 '<table class="BaseTable" id="users-table"><tr> 624 <th><a href="?Order=user&Desc='.$desc.'">Jméno</a></th> 625 <th><a href="?Order=T.TranslatedCount&Desc='.$desc.'" title="Počet přeložených textů">Překladů</a></th> 624 626 <th><a href="?Order=XP&Desc='.$desc.'">Úroveň</a></th> 625 626 627 627 <th></th></tr>'); 628 //print_r($UsersOrder); 629 // Show ordered user list 628 630 foreach($UsersOrder as $UserId) 629 630 631 631 echo('<tr id="'.$UserId.'"> 632 <td><a href="'.$Config['Web']['BaseURL'].'/TranslationList.php?user='.$UserId.'&action=userall" title="Zobrazit všechny jeho přeložené texty">'.$Users[$UserId]['user'].'</a></td> 633 <td>'.$Users[$UserId]['TranslatedCount'].'</td> 632 634 <td><img src="'.$Config['Web']['TempFolder'].$Users[$UserId]['user'].'/level.png" alt="Úroveň uživatele" /></td> 633 635 <td>'.CheckBox('user_'.$UserId, in_array($UserId, $ExportSetting['users-selection']), '', 'CheckBox').'</td></tr>'); 634 636 echo('</table></td><td class="Description">Zvolte ze seznamu uživatele, od kterých chcete načítat překlady a upravte jejich pořadí, takže od uživatelů výše budou brány překlady přednostně.<br />'. 635 637 'Řádky v tabulce můžete přesouvat metodou uchop a táhni.'. 636 638 '</td></tr></table>'. 637 638 639 639 '<div><input name="users-order" id="users-order" size="100" type="hidden" /><br />'); 640 echo('<input type="submit" value="Pokračovat" /></div>'); 641 echo('</div></form>'); 640 642 break; 641 643 }
Note:
See TracChangeset
for help on using the changeset viewer.