Changeset 817 for trunk/Modules
- Timestamp:
- Feb 23, 2015, 12:03:22 AM (10 years ago)
- Location:
- trunk/Modules
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Modules/Import/Import.php
r816 r817 54 54 // $Values .= ', "'.$Value[$GroupItem['Column']].'"'; 55 55 } 56 // echo $Values;57 56 $Columns = substr($Columns, 1); 58 57 $Where = ' (`'.$this->Group['PrimaryKeyItem'].'` = "'.$Value[$this->Group['PrimaryKeyItem']].'") AND (`Language`=0) ' ; 59 //print_r($Value);60 58 61 59 $DbResultMiddle = $this->System->Database->query('SELECT `VersionEnd`,`VersionStart`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionStart` <= '.$this->Version['BuildNumber'].' AND `VersionEnd` >= '.$this->Version['BuildNumber'].' ORDER BY `VersionEnd` DESC LIMIT 1'); 62 60 $DbResultBefore = $this->System->Database->query('SELECT `VersionEnd`,`VersionStart`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionEnd` <= '.$this->Version['BuildNumber'].' ORDER BY `VersionEnd` DESC LIMIT 1'); 63 61 $DbResultAfter = $this->System->Database->query('SELECT `VersionEnd`,`VersionStart`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionStart` >= '.$this->Version['BuildNumber'].' ORDER BY `VersionStart` LIMIT 1'); 64 //echo('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1'); 62 65 63 if(($DbResultMiddle->num_rows > 0) or ($DbResultBefore->num_rows > 0) or ($DbResultAfter->num_rows > 0)) 66 64 { … … 223 221 $Line = substr($Line, strpos($Line, ';') + 1); 224 222 $Value['Comment'] = addslashes(stripslashes(substr($Line, 3))); // Skip " --" 225 //print_r($Value);226 223 227 224 $this->InsertItem($Value); … … 260 257 while($DbRow = $DbResult->fetch_assoc()) 261 258 { 262 echo '`';259 echo('`'); 263 260 $this->System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$DbRow['VersionEnd_orig'].', `VersionStart` = '.$DbRow['VersionStart_orig'].' WHERE `ID` = '.$DbRow['ID']); 264 261 $Output .= '. '; -
trunk/Modules/Import/Manage.php
r816 r817 3 3 class PageImport extends Page 4 4 { 5 function ShowInstructions() 6 { 7 $Output = '<div>'. 8 '<h5>Návod:</h5>'. 9 '<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>'. 10 '<li>Nejprve je potřeba získat zdrojová data. Není zapotřebí mít všechny typy textu.'. 5 11 6 function ShowInstructions() 7 { 8 $Output = '<div> 9 <h5>Návod:</h5> 10 <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> 11 <li>Nejprve je potřeba získat zdrojová data. Není zapotřebí mít všechny typy textu. 12 '<ol style="list-style-type: lower-alpha">'. 13 '<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>'. 14 '<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>'. 15 '<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>'. 16 '<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>'. 17 '<li>V nastavení "wowpreklad/includes/config.php" nastavíme nejvyšší verzi na verzi, kterou hodláme importovat.</li>'. 18 '<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>'. 19 '<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>'. 20 '</ol>'; 21 return($Output); 22 } 12 23 13 <ol style="list-style-type: lower-alpha"> 14 <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> 15 <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> 16 <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> 17 <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> 18 <li>V nastavení "wowpreklad/includes/config.php" nastavíme nejvyšší verzi na verzi, kterou hodláme importovat.</li> 19 <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> 20 <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> 21 </ol>'; 22 return($Output); 23 } 24 function ShowImportGroup() 25 { 26 global $System; 24 27 25 function ShowImportGroup()26 {27 global $System;28 if(array_key_exists('id', $_GET)) 29 { 30 $Output = '<div style="font-size: xx-small;">'; 28 31 29 if(array_key_exists('id', $_GET)) 32 $GroupId = (int)$_GET['id']; 33 $Import = new Import($System); 34 $Import->SetVersion($System->Config['Web']['GameVersion']); 35 $Output .= $Import->ImportGroup($GroupId); 36 37 $this->System->ModuleManager->Modules['Log']->WriteLog('Plnění databáze', LOG_TYPE_MODERATOR); 38 $Output .= '</div>'; 39 } else $Output = ShowMessage('Nebylo zadáno id skupiny.', MESSAGE_CRITICAL); 40 return($Output); 41 } 42 43 function ShowMenu() 30 44 { 45 global $TranslationTree, $System; 46 47 $Output = '<strong>Import zdrojů:</strong><br/>'. 48 '<a href="?action=instructions">Instrukce pro přípravu zdrojových souborů</a><br/>'. 49 '<a href="?action=update_translated">Zaktualizovat verze přeložených</a><br/><br/>'. 50 'Verze klienta použitá pro import: <strong>'.$System->Config['Web']['GameVersion'].'</strong><br/>'; 51 $DbResult = $System->Database->query('SELECT COUNT(*) FROM `Group`'); 52 $DbRow = $DbResult->fetch_row(); 53 $PageList = GetPageList($DbRow[0]); 54 $Output .= '<h3>Seznam překladových skupin</h3>'; 55 $Output .= $PageList['Output']; 56 57 $Output .= '<table class="BaseTable">'; 58 $TableColumns = array( 59 array('Name' => 'Name', 'Title' => 'Jméno'), 60 array('Name' => 'SourceType', 'Title' => 'Typ zdroje'), 61 array('Name' => 'SourceName', 'Title' => 'Jméno zdroje'), 62 array('Name' => 'LastImport', 'Title' => 'Datum'), 63 array('Name' => 'LastVersion', 'Title' => 'Verze'), 64 array('Name' => '', 'Title' => 'Akce'), 65 ); 66 67 $Order = GetOrderTableHeader($TableColumns, 'Name', 0); 68 $Output .= $Order['Output']; 69 70 $DbResult = $System->Database->query('SELECT * FROM `Group`'.$Order['SQL'].$PageList['SQLLimit']); 71 while($Group = $DbResult->fetch_assoc()) 72 { 73 $Output .= '<tr><td>'.$Group['Name'].'</td>'. 74 '<td>'.$Group['SourceType'].'</td><td>'; 75 if($Group['MangosTable'] != '') $Output .= $Group['MangosTable'].'.sql '; 76 if($Group['DBCFileName'] != '') $Output .= $Group['DBCFileName'].'.dbc '; 77 if($Group['LuaFileName'] != '') $Output .= $Group['LuaFileName'].'.lua '; 78 $Output .= '</td>'. 79 '<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>'. 80 '<td><a href="'.$this->System->Link('/client-version/?action=item&id='. 81 GetVersionWOWId($Group['LastVersion'])).'">'.GetVersionWOW($Group['LastVersion']).'</a></td>'. 82 '<td><a href="?action=importgroup&id='.$Group['Id'].'">Importovat</a></td></tr>'; 83 } 84 $Output .= '</table>'; 85 return($Output); 86 } 87 88 function UpdateTranslated() 89 { 90 global $System; 91 31 92 $Output = '<div style="font-size: xx-small;">'; 32 33 $GroupId = (int)$_GET['id'];34 93 $Import = new Import($System); 35 $Import->SetVersion($System->Config['Web']['GameVersion']); 36 $Output .= $Import->ImportGroup($GroupId); 37 38 $this->System->ModuleManager->Modules['Log']->WriteLog('Plnění databáze', LOG_TYPE_MODERATOR); 94 $Output .= $Import->UpdateTranslated(); 39 95 $Output .= '</div>'; 40 } else $Output = ShowMessage('Nebylo zadáno id skupiny.', MESSAGE_CRITICAL); 41 return($Output); 42 } 43 44 function ShowMenu() 45 { 46 global $TranslationTree, $System; 47 48 $Output = '</div><div><strong>Import zdrojů:</strong></div>'. 49 '<div><a href="?action=instructions">Instrukce pro přípravu zdrojových souborů</a></div>'. 50 '<div><a href="?action=update_translated">Zaktualizovat verze přeložených</a></div><br/>'. 51 'Verze klienta použitá pro import: <strong>'.$System->Config['Web']['GameVersion'].'</strong>'; 52 $DbResult = $System->Database->query('SELECT COUNT(*) FROM `Group`'); 53 $DbRow = $DbResult->fetch_row(); 54 $PageList = GetPageList($DbRow[0]); 55 $Output .= '<h3>Seznam překladových skupin</h3>'; 56 $Output .= $PageList['Output']; 57 58 $Output .= '<table class="BaseTable">'; 59 $TableColumns = array( 60 array('Name' => 'Name', 'Title' => 'Jméno'), 61 array('Name' => 'SourceType', 'Title' => 'Typ zdroje'), 62 array('Name' => 'SourceName', 'Title' => 'Jméno zdroje'), 63 array('Name' => 'LastImport', 'Title' => 'Datum'), 64 array('Name' => 'LastVersion', 'Title' => 'Verze'), 65 array('Name' => '', 'Title' => 'Akce'), 66 ); 67 68 $Order = GetOrderTableHeader($TableColumns, 'Name', 0); 69 $Output .= $Order['Output']; 70 71 $DbResult = $System->Database->query('SELECT * FROM `Group`'.$Order['SQL'].$PageList['SQLLimit']); 72 while($Group = $DbResult->fetch_assoc()) 73 { 74 $Output .= '<tr><td>'.$Group['Name'].'</td><td>'.$Group['SourceType'].'</td><td>'; 75 if($Group['MangosTable'] != '') $Output .= $Group['MangosTable'].'.sql '; 76 if($Group['DBCFileName'] != '') $Output .= $Group['DBCFileName'].'.dbc '; 77 if($Group['LuaFileName'] != '') $Output .= $Group['LuaFileName'].'.lua '; 78 $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>'; 96 return($Output); 79 97 } 80 $Output .= '</table>';81 return($Output);82 }83 84 function UpdateTranslated()85 {86 global $System;87 88 $Output = '<div style="font-size: xx-small;">';89 $Import = new Import($System);90 $Output .= $Import->UpdateTranslated();91 $Output .= '</div>';92 return($Output);93 }94 98 95 99 function Show() -
trunk/Modules/Translation/TranslationList.php
r816 r817 262 262 array('Name' => 'Entry', 'Title' => 'Položka'), 263 263 array('Name' => $TranslationTree[$Filter['Group']]['Items'][0]['Column'], 'Title' => 'Název'), 264 array('Name' => 'VersionStart', 'Title' => 'Verze'), 264 array('Name' => 'VersionStart', 'Title' => 'Verze od'), 265 array('Name' => 'VersionEnd', 'Title' => 'Verze do'), 265 266 array('Name' => 'LanguageName', 'Title' => 'Jazyk'), 266 267 array('Name' => 'UserName', 'Title' => 'Překladatel'), … … 275 276 while($Line = $DbResult->fetch_assoc()) 276 277 { 277 $Output .= '<tr><td><a href="form.php?group='.$Filter['Group'].'&ID='.$Line['ID'].'">'.$Line['ID'].'</a></td><td>'.$Line['Entry'].'</td>'. 278 '<td>'.htmlspecialchars($Line[$TranslationTree[$Filter['Group']]['Items'][0]['Column']]).'</td>'. 279 '<td>'.$Line['VersionStartText'].'-'.$Line['VersionEndText'].'</td>'. 280 '<td>'.$Line['LanguageName'].'</td>'. 281 '<td><a href="user.php?user='.$Line['UserId'].'">'.$Line['UserName'].'</a></td>'. 282 '<td>'.HumanDate($Line['ModifyTime']).'</td>' 283 ; 284 '</tr>'; 278 $Output .= '<tr><td><a href="form.php?group='.$Filter['Group'].'&ID='.$Line['ID'].'">'.$Line['ID'].'</a></td>'. 279 '<td>'.$Line['Entry'].'</td>'. 280 '<td>'.htmlspecialchars($Line[$TranslationTree[$Filter['Group']]['Items'][0]['Column']]).'</td>'. 281 '<td><a href="'.$this->System->Link('/client-version/?action=item&id='. 282 GetVersionWOWId($Line['VersionStart'])).'">'.GetVersionWOW($Line['VersionStart']).'</a></td>'. 283 '<td><a href="'.$this->System->Link('/client-version/?action=item&id='. 284 GetVersionWOWId($Line['VersionEnd'])).'">'.GetVersionWOW($Line['VersionEnd']).'</a></td>'. 285 '<td>'.$Line['LanguageName'].'</td>'. 286 '<td><a href="user.php?user='.$Line['UserId'].'">'.$Line['UserName'].'</a></td>'. 287 '<td>'.HumanDate($Line['ModifyTime']).'</td>'. 288 '</tr>'; 285 289 } 286 290 $Output .= '</table>'. … … 337 341 while($Group = $DbResult->fetch_assoc()) 338 342 { 339 $Output .= '<tr><td><a href="?group='.$Group['Id'].'&action=filter">'.$Group['Name'].'</a></td><td>'.$Group['SourceType'].'</td><td>'; 343 $Output .= '<tr><td><a href="?group='.$Group['Id'].'&action=filter">'.$Group['Name'].'</a></td>'. 344 '<td>'.$Group['SourceType'].'</td><td>'; 340 345 if($Group['MangosTable'] != '') $Output .= $Group['MangosTable'].'.sql '; 341 346 if($Group['DBCFileName'] != '') $Output .= $Group['DBCFileName'].'.dbc ';
Note:
See TracChangeset
for help on using the changeset viewer.