Changeset 504 for trunk/import
- Timestamp:
- Feb 14, 2013, 7:51:59 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:ignore
-
old new 2 2 aowow 3 3 nbproject 4 .settings 5 .project 6 .buildpath
-
- Property svn:ignore
-
trunk/import/cmd.php
r366 r504 8 8 include('update_version.php'); 9 9 10 //ShowPage();10 $Output = ''; 11 11 12 12 if(!Licence(LICENCE_ADMIN)) 13 13 { 14 echo('Nemáte oprávnění'); 15 // ShowFooter(); 14 $Output = 'Nemáte oprávnění'; 16 15 } 17 16 … … 29 28 if(!array_key_exists('source', $_GET)) 30 29 { 31 echo('30 $Output .= ' 32 31 33 1. Pripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres pro hram putty.exe nebo terminál v linuxu.32 1. Pripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres program putty.exe nebo terminál v linuxu. 34 33 2. Nejprve je potreba získat zdrojová data. Není zapotrebí mít všechny typy textu. 35 34 a) SQL databázi UDB seženeme na fóru: http://udbforums.kicks-ass.net/index.php?board=5.0 , sobor rozbalíme a uložíme do adresáre "wowpreklad/source/císlo_verze/sql/" … … 43 42 44 43 Parametry: 45 ' );46 echo('source=dbc ...............DBC soubory47 ' );48 echo('source=sql_mangos ........SQL MaNGOS49 ' );50 echo('source=lua ...............LUA soubory51 ' );52 echo('source=update_version ....aktualizace verze u překladů44 '; 45 $Output .= 'source=dbc ...............DBC soubory 46 '; 47 $Output .= 'source=sql_mangos ........SQL MaNGOS 48 '; 49 $Output .= 'source=lua ...............LUA soubory 50 '; 51 $Output .= 'source=update_version ....aktualizace verze u překladů 53 52 54 ' );55 echo('aktuálně nastavená importovávaná verze: '.$Config['Web']['GameVersion'].'56 ' );53 '; 54 $Output .= 'aktuálně nastavená importovávaná verze: '.$Config['Web']['GameVersion'].' 55 '; 57 56 } else 58 57 { 59 echo('<div style="font-size: xx-small;">');58 $Output .= '<div style="font-size: xx-small;">'; 60 59 switch($_GET['source']) 61 60 { … … 65 64 if(($Group['MangosTable'] != '') and ($Group['TablePrefix'] != '') and ($Group['MangosDatabase'] == 'mangos')) 66 65 { 67 echo(' '.$TranslationTree[$Group['Id']]['Name'].' ');68 ImportSQLMangos($Config['Web']['GameVersion'], $Group['Id'] );69 echo ('70 ' );66 $Output .= ' '.$TranslationTree[$Group['Id']]['Name'].' '); 67 ImportSQLMangos($Config['Web']['GameVersion'], $Group['Id']; 68 $Output .= ' 69 '; 71 70 } 72 71 } … … 77 76 if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != '')) 78 77 { 79 echo(' '.$TranslationTree[$Group['Id']]['Name'].' ');80 ImportDBC($Config['Web']['GameVersion'], $Group['Id'] );81 echo ('82 ' );78 $Output .= ' '.$TranslationTree[$Group['Id']]['Name'].' '); 79 ImportDBC($Config['Web']['GameVersion'], $Group['Id']; 80 $Output .= ' 81 '; 83 82 } 84 83 } … … 92 91 break; 93 92 case 'xml': 94 // echo('<textarea rows="34" cols="104">');93 // $Output .= '<textarea rows="34" cols="104">'; 95 94 include('generatecodeXML.php'); 96 // echo('</textarea>');95 // $Output .= '</textarea>'; 97 96 break; 98 97 } 99 98 WriteLog('Plnění databáze z příkazové řádky', LOG_TYPE_MODERATOR); 100 echo('</div>');99 $Output .= '</div>'; 101 100 } 102 101 103 102 echo($Output); 104 103 //ShowFooter(); 105 104 -
trunk/import/import.php
r488 r504 94 94 global $TranslationTree, $PatchVersion; 95 95 96 echo('Načítání textů z LUA souboru...');96 $Output = 'Načítání textů z LUA souboru...'; 97 97 if(($this->Group['LuaFileName'] != '') and ($this->Group['TablePrefix'] != '')) 98 98 { 99 echo('<br />'.$this->Group['Name'].'<br />');99 $Output .= '<br />'.$this->Group['Name'].'<br />'; 100 100 if($this->Group['LastVersion'] < $this->Version['BuildNumber'] + 1) 101 101 { … … 134 134 $Count++; 135 135 } 136 echo('<br />Celkem: '.$Count.' Nových: '.$this->NewItemCount.'<br />');136 $Output .= '<br />Celkem: '.$Count.' Nových: '.$this->NewItemCount.'<br />'; 137 137 $this->System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']); 138 } else echo('Již importován pro verzi '.$this->Version['Version']);139 } else echo('Není definováno jméno zdrojového souboru');140 echo('<strong>Dokončeno.</strong>');138 } else $Output .= ShowMessage('Již importován pro verzi '.$this->Version['Version'], MESSAGE_CRITICAL); 139 } else $Output .= ShowMessage('Není definováno jméno zdrojového souboru', MESSAGE_CRITICAL); 140 $Output .= ShowMessage('Dokončeno.'); 141 141 } 142 142 … … 145 145 global $TranslationTree, $PatchVersion, $Config; 146 146 147 echo('<br /><br />Začínám se synchronizací VersionEnd u přeložených textů<br />');147 $Output = '<br /><br />Začínám se synchronizací VersionEnd u přeložených textů<br />'; 148 148 foreach($TranslationTree as $Group) 149 149 { 150 echo('<br />'.$Group['Name'].' ');150 $Output .= '<br />'.$Group['Name'].' '; 151 151 $DbResult = $this->System->Database->query('SELECT `gs_tran`.`ID`, `gs_tran`.`VersionEnd` AS `VersionEnd_tran`, `gs_orig`.`VersionEnd` AS `VersionEnd_orig` FROM `'.$Group['TablePrefix'].'` AS `gs_tran` JOIN `'.$Group['TablePrefix'].'` AS `gs_orig` ON `gs_orig`.`ID` = `gs_tran`.`Take` WHERE `gs_tran`.`VersionEnd` <> `gs_orig`.`VersionEnd`'); 152 152 while($DbRow = $DbResult->fetch_assoc()) 153 153 { 154 154 $this->System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$DbRow['VersionEnd_orig'].' WHERE `ID` = '.$DbRow['ID']); 155 echo('. ');155 $Output .= '. '; 156 156 } 157 echo('<strong>Dokončeno.</strong>'); 158 } 157 $Output .= '<strong>Dokončeno.</strong>'; 158 } 159 return($Output); 159 160 } 160 161 … … 210 211 global $System, $TranslationTree, $Config; 211 212 212 echo('Načítání textů z DBC souboru...');213 $Output = 'Načítání textů z DBC souboru...'; 213 214 if(($this->Group['DBCFileName'] != '') and ($this->Group['TablePrefix'] != '')) 214 215 { 215 echo('<br />'.$this->Group['Name'].'<br />');216 $Output .= '<br />'.$this->Group['Name'].'<br />'; 216 217 217 218 // Load string column index list … … 250 251 $Count++; 251 252 } 252 echo('<br />Celkem: '.$Count.' Nových: '.$this->NewItemCount.'<br />');253 $Output .= '<br />Celkem: '.$Count.' Nových: '.$this->NewItemCount.'<br />'; 253 254 $System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']); 254 255 } 255 echo('<strong>Dokončeno.</strong>'); 256 $Output .= '<strong>Dokončeno.</strong>'; 257 return($Output); 256 258 } 257 259 … … 262 264 $this->Group = $TranslationTree[$GroupId]; 263 265 264 if($this->Group['SourceType'] == 'dbc') $this->ImportDBC(); 265 else if($this->Group['SourceType'] == 'sql') $this->ImportSQL(); 266 else if($this->Group['SourceType'] == 'lua') $this->ImportLUA(); 267 else echo('Neznámý typ zdroje pro import'); 268 $this->UpdateTranslated(); 266 if($this->Group['SourceType'] == 'dbc') $Output = $this->ImportDBC(); 267 else if($this->Group['SourceType'] == 'sql') $Output = $this->ImportSQL(); 268 else if($this->Group['SourceType'] == 'lua') $Output = $this->ImportLUA(); 269 else $Output = ShowMessage('Neznámý typ zdroje pro import', MESSAGE_CRITICAL); 270 $Output .= $this->UpdateTranslated(); 271 return($Output); 269 272 } 270 273 … … 273 276 global $TranslationTree, $PatchVersion; 274 277 278 $Output= ''; 275 279 $File = new FileStream(); 276 280 $File->OpenFile('../source/'.$this->Version['Version'].'/sql/'.$this->Group['MangosTable'].'.sql'); … … 374 378 } 375 379 } 376 echo('<br />Celkem: '.$Count.' Nových: '.$this->NewItemCount.'<br />'); 377 $this->System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']); 380 $Output = '<br />Celkem: '.$Count.' Nových: '.$this->NewItemCount.'<br />'; 381 $this->System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']); 382 return($Output); 378 383 } 379 384 } -
trunk/import/index.php
r466 r504 5 5 include_once('import.php'); 6 6 7 ShowPage(); 8 7 $Output = ''; 9 8 if(!$User->Licence(LICENCE_ADMIN)) 10 9 { 11 ShowMessage('Nemáte oprávnění.', MESSAGE_CRITICAL); 12 ShowFooter(); 13 die(); 10 $Output .= ShowMessage('Nemáte oprávnění.', MESSAGE_CRITICAL); 14 11 } 15 12 16 13 function ShowInstructions() 17 14 { 18 echo('<div>15 $Output = '<div> 19 16 <h5>Návod:</h5> 20 <ol><li>P ripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres prohram putty.exe nebo terminál v linuxu.</li>21 <li>Nejprve je pot reba získat zdrojová data. Není zapotrebí mít všechny typy textu.17 <ol><li>Připojíme se přes SSH na server (wowpreklad.zdechov.net) například přes program putty.exe nebo terminál v linuxu.</li> 18 <li>Nejprve je potřeba získat zdrojová data. Není zapotřebí mít všechny typy textu. 22 19 23 20 <ol style="list-style-type: lower-alpha"> 24 <li>SQL databázi UDB seženeme na fóru: http://udbforums.kicks-ass.net/index.php?board=5.0 , sobor rozbalíme a uložíme do adresáre "wowpreklad/source/císlo_verze/sql/"</li> 25 <li>DBC soubory exportujeme prímo ze hry z souboru "World of Warcraft\Data\enGB\patch-enGB-2.MPQ" nebo z souboru s vyším císlem na konci. Export se provádí napríklad pomocí programu "MPQEditor.exe", který ke stažení v adresári "wowpreklad/download". DBC soubory jsou v MPQ souboru uloženy ve složce "DBFilesClient". Tyto soubory zkopírujte do složky "wowpreklad/source/císlo_verze/dbc/"</li> 26 <li>LUA soubory exportujeme prímo ze hry z souboru "World of Warcraft\Data\enGB\patch-enGB-2.MPQ" nebo z souboru s vyším císlem na konci. Export se provádí napríklad pomocí programu "MPQEditor.exe", který ke stažení v adresári "wowpreklad/download". LUA soubory jsou v MPQ souboru uloženy ve složce "Interface\FrameXML" a složce "Interface\GlueXML". Soubory, které porebujeme se jmenují "GlobalString.lua" a "GlueString.lua". Tyto soubory zkopírujte do složky "wowpreklad/source/císlo_verze/lua/"</li></ol></li> 27 <li>Do databáze vložíme data o verzi, kterou se hodláme importovat do tabulky wow_client_verse. Pokud budeme importovat dbc soubory je nutné vložit zde strukturu dbc souboru. To lze provést napríklad pomocí programu "CBCUtil", který je také ke stažení v složce download. Tento program vytvorí soubory spustitelné v OpenOffice. Kde první rádek v tabulce je struktura dbc souboru. Typ "str" se zaznací jako "s", každý jiný typ se oznací písmenem "u". Struktura pak vypadá napríklad "usuuuuuuuuuuuu". Krome toho je zapotrebí do databáze poznacit císelné pozice textu, prní položka je 0. Z predchozího príkladu by pozice sloupce s textem byla 1.</li> 28 <li>V nastavení "wowpreklad/includes/config.php" nastavíme nejvyžší verzi na verzi, kterou hodláme importovat.</li> 29 <li>Až máme všechno pripraveno spustíme v konzoli script príkazem "php wowpreklad/import/cmd.php" kde jsou popsané možnosti paremetu s kterýma se tento script spoucí pro ruzné importy.</li> 30 <li>Po provedení importu je potreba nekolikrát spustit script na aktualizaci verze u prekladu. Je potreba ho prováde opakovane dokud nezmizí tecky oznacující že byly provedeny zmeny.</li> 31 </ol>'); 21 <li>SQL databázi UDB seženeme na fóru: http://udbforums.kicks-ass.net/index.php?board=5.0 , soubor rozbalíme a uložíme do adresáře "wowpreklad/source/cislo_verze/sql/"</li> 22 <li>DBC soubory exportujeme přímo ze hry z souboru "World of Warcraft\Data\enGB\patch-enGB-2.MPQ" nebo z souboru s vyšším číslem na konci. Export se provádí například pomocí programu "MPQEditor.exe", který je ke stažení v adresáři "wowpreklad/download". DBC soubory jsou v MPQ souboru uloženy ve složce "DBFilesClient". Tyto soubory zkopírujte do složky "wowpreklad/source/císlo_verze/dbc/"</li> 23 <li>LUA soubory exportujeme přímo ze hry ze souboru "World of Warcraft\Data\enGB\patch-enGB-2.MPQ" nebo ze souboru s vyšším číslem na konci. Export se provádí například pomocí programu "MPQEditor.exe", který je ke stažení v adresáři "wowpreklad/download". LUA soubory jsou v MPQ souboru uloženy ve složce "Interface\FrameXML" a složce "Interface\GlueXML". Soubory, které potřebujeme se jmenují "GlobalString.lua" a "GlueString.lua". Tyto soubory zkopírujte do složky "wowpreklad/source/císlo_verze/lua/"</li></ol></li> 24 <li>Do databáze vložíme data o verzi, kterou se hodláme importovat do tabulky wow_client_verse. Pokud budeme importovat dbc soubory je nutné vložit zde strukturu dbc souboru. To lze provést například pomocí programu "CBCUtil", který je také ke stažení v složce download. Tento program vytvoří soubory spustitelné v LibreOffice. Kde první řádek v tabulce je struktura dbc souboru. Typ "str" se zaznačí jako "s", každý jiný typ se označí písmenem "u". Struktura pak vypadá například "usuuuuuuuuuuuu". Kromě toho je zapotřebí do databáze poznačit číselné pozice textu, první položka je 0. Z předchozího příkladu by pozice sloupce s textem byla 1.</li> 25 <li>V nastavení "wowpreklad/includes/config.php" nastavíme nejvyšší verzi na verzi, kterou hodláme importovat.</li> 26 <li>Až máme všechno připraveno spustíme v konzoli script příkazem "php wowpreklad/import/cmd.php", kde jsou popsané možnosti paremetru, se kterýma se tento skript spouští pro ruzné importy.</li> 27 <li>Po provedení importu je potřeba několikrát spustit skript na aktualizaci verze u překladu. Je potřeba ho provádět opakovaně dokud nezmizí tečky označující, že byly provedeny změny.</li> 28 </ol>'; 29 return($Output); 32 30 } 33 31 … … 38 36 if(array_key_exists('id', $_GET)) 39 37 { 40 echo('<div style="font-size: xx-small;">');38 $Output = '<div style="font-size: xx-small;">'; 41 39 42 40 $GroupId = (int)$_GET['id']; 43 41 $Import = new Import($System); 44 42 $Import->SetVersion($System->Config['Web']['GameVersion']); 45 $ Import->ImportGroup($GroupId);43 $Output .= $Import->ImportGroup($GroupId); 46 44 47 45 WriteLog('Plnění databáze', LOG_TYPE_MODERATOR); 48 echo('</div>'); 49 } else ShowMessage('Nebylo zadáno id skupiny.', MESSAGE_CRITICAL); 46 $Output .= '</div>'; 47 } else $Output = ShowMessage('Nebylo zadáno id skupiny.', MESSAGE_CRITICAL); 48 return($Output); 50 49 } 51 50 … … 54 53 global $TranslationTree, $System; 55 54 56 echo('</div><div><strong>Import zdrojů:</strong></div>'); 57 58 echo('<div><a href="?action=instructions">Instrukce pro přípravu zdrojových souborů</a></div>'); 59 echo('<div><a href="?action=update_translated">Zaktualizovat verze přeložených</a></div><br/>'); 60 echo('Verze klienta použitá pro import: <strong>'.$System->Config['Web']['GameVersion'].'</strong>'); 55 $Output = '</div><div><strong>Import zdrojů:</strong></div>'. 56 '<div><a href="?action=instructions">Instrukce pro přípravu zdrojových souborů</a></div>'. 57 '<div><a href="?action=update_translated">Zaktualizovat verze přeložených</a></div><br/>'. 58 'Verze klienta použitá pro import: <strong>'.$System->Config['Web']['GameVersion'].'</strong>'; 61 59 $DbResult = $System->Database->query('SELECT COUNT(*) FROM `Group`'); 62 60 $DbRow = $DbResult->fetch_row(); 63 61 $PageList = GetPageList($DbRow[0]); 64 echo('<h3>Seznam překladových skupin</h3>');65 echo($PageList['Output']);62 $Output .= '<h3>Seznam překladových skupin</h3>'; 63 $Output .= $PageList['Output']; 66 64 67 echo('<table class="BaseTable">');65 $Output .= '<table class="BaseTable">'; 68 66 $TableColumns = array( 69 67 array('Name' => 'Name', 'Title' => 'Jméno'), … … 76 74 77 75 $Order = GetOrderTableHeader($TableColumns, 'Name', 0); 78 echo($Order['Output']);76 $Output .= $Order['Output']; 79 77 80 78 $DbResult = $System->Database->query('SELECT * FROM `Group`'.$Order['SQL'].$PageList['SQLLimit']); 81 79 while($Group = $DbResult->fetch_assoc()) 82 80 { 83 echo('<tr><td>'.$Group['Name'].'</td><td>'.$Group['SourceType'].'</td><td>');84 if($Group['MangosTable'] != '') echo($Group['MangosTable'].'.sql ');85 if($Group['DBCFileName'] != '') echo($Group['DBCFileName'].'.dbc ');86 if($Group['LuaFileName'] != '') echo($Group['LuaFileName'].'.lua ');87 echo('</td><td><a title="Změny po posledním importu u vybrané překladové skupiny" href="log.php?group='.$Group['Id'].'&type=11">'.HumanDate($Group['LastImport']).'</a></td><td>'.GetVersionWOW($Group['LastVersion']).'</td><td><a href="?action=importgroup&id='.$Group['Id'].'">Importovat</a></td></tr>');81 $Output .= '<tr><td>'.$Group['Name'].'</td><td>'.$Group['SourceType'].'</td><td>'; 82 if($Group['MangosTable'] != '') $Output .= $Group['MangosTable'].'.sql '; 83 if($Group['DBCFileName'] != '') $Output .= $Group['DBCFileName'].'.dbc '; 84 if($Group['LuaFileName'] != '') $Output .= $Group['LuaFileName'].'.lua '; 85 $Output .= '</td><td><a title="Změny po posledním importu u vybrané překladové skupiny" href="../log.php?group='.$Group['Id'].'&type=11">'.HumanDate($Group['LastImport']).'</a></td><td>'.GetVersionWOW($Group['LastVersion']).'</td><td><a href="?action=importgroup&id='.$Group['Id'].'">Importovat</a></td></tr>'; 88 86 } 89 echo('</table>'); 87 $Output .= '</table>'; 88 return($Output); 90 89 } 91 90 … … 94 93 global $System; 95 94 96 echo('<div style="font-size: xx-small;">');95 $Output = '<div style="font-size: xx-small;">'; 97 96 $Import = new Import($System); 98 $Import->UpdateTranslated(); 99 echo('</div>'); 97 $Output .= $Import->UpdateTranslated(); 98 $Output .= '</div>'; 99 return($Output); 100 100 } 101 101 102 102 if(array_key_exists('action', $_GET)) 103 103 { 104 if($_GET['action'] == 'instructions') ShowInstructions();105 else if($_GET['action'] == 'importgroup') ShowImportGroup();106 else if($_GET['action'] == 'update_translated') UpdateTranslated();107 else ShowMenu();108 } else ShowMenu();104 if($_GET['action'] == 'instructions') $Output .= ShowInstructions(); 105 else if($_GET['action'] == 'importgroup') $Output .= ShowImportGroup(); 106 else if($_GET['action'] == 'update_translated') $Output .= UpdateTranslated(); 107 else $Output .= ShowMenu(); 108 } else $Output .= ShowMenu(); 109 109 110 Show Footer();110 ShowPage($Output); 111 111 112 112 ?>
Note:
See TracChangeset
for help on using the changeset viewer.