Changeset 357 for trunk/import
- Timestamp:
- Mar 5, 2010, 7:42:00 AM (15 years ago)
- Location:
- trunk/import
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/cmd.php
r314 r357 21 21 { 22 22 $index = substr($parameter,0,strpos($parameter, '=')); 23 24 23 $parameter = substr($parameter,strpos($parameter, '=')+1); 24 //echo ($index.' ---- '.$parameter); 25 25 $_GET[$index] = $parameter; 26 26 } … … 33 33 1. Pripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres prohram putty.exe nebo terminál v linuxu. 34 34 2. Nejprve je potreba získat zdrojová data. Není zapotrebí mít všechny typy textu. 35 36 37 35 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/" 36 b) 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/" 37 b) 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/" 38 38 3. 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. 39 39 4. V nastavení "wowpreklad/includes/config.php" nastavíme nejvyžší verzi na verzi, kterou hodláme importovat. 40 40 5. 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. 41 41 6. 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. 42 42 43 43 44 44 Parametry: … … 65 65 if(($Group['MangosTable'] != '') and ($Group['TablePrefix'] != '') and ($Group['MangosDatabase'] == 'mangos')) 66 66 { 67 echo(' '.$TranslationTree[$Group['Id']]['Name'].' '); 67 echo(' '.$TranslationTree[$Group['Id']]['Name'].' '); 68 68 ImportSQLMangos($Config['Web']['GameVersion'], $Group['Id']); 69 70 69 echo (' 70 '); 71 71 } 72 }72 } 73 73 break; 74 74 case 'dbc': … … 77 77 if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != '')) 78 78 { 79 echo(' '.$TranslationTree[$Group['Id']]['Name'].' '); 79 echo(' '.$TranslationTree[$Group['Id']]['Name'].' '); 80 80 ImportDBC($Config['Web']['GameVersion'], $Group['Id']); 81 82 81 echo (' 82 '); 83 83 } 84 }84 } 85 85 break; 86 86 case 'update_version': … … 97 97 break; 98 98 } 99 WriteLog('Plnění databáze z příkazové řádky', 4);99 WriteLog('Plnění databáze z příkazové řádky', LOG_TYPE_MODERATOR); 100 100 echo('</div>'); 101 101 } -
trunk/import/import_dbc.php
r250 r357 19 19 if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != '')) 20 20 { 21 echo('<br />'.$Group['Name'].'<br />'); 22 23 24 25 26 27 21 echo('<br />'.$Group['Name'].'<br />'); 22 $DBCFile = new DBCFile(); 23 $DBCFile->OpenFile('../source/'.$import_version.'/dbc/'.$Group['DBCFileName'].'.dbc', GetDBCColumns($import_version,$Group['DBCFileName'])); 24 $ItemCount = $DBCFile->GetRecordCount(); 25 $NewCount = 0; 26 $Count = 0; 27 for($i = 0; $i < $ItemCount; $i++) 28 28 { 29 29 foreach($Group['Items'] as $GroupItem) … … 31 31 $Value[$GroupItem['Column']] = addslashes($DBCFile->GetString($i, GetDBCColumnIndex($import_version,$Group['DBCFileName'],$GroupItem['Column']))); 32 32 } 33 33 34 34 $Columns = ''; 35 35 foreach($Group['Items'] as $GroupItem) … … 38 38 } 39 39 $Columns = substr($Columns, 1); 40 40 41 41 $ItemId = $DBCFile->GetUint($i, 0); 42 42 $DbResult2 = $Database->SQLCommand('SELECT VersionEnd, ID, entry, '.$Columns.' FROM '.$Group['TablePrefix'].' WHERE entry='.$ItemId.' AND Language=0 ORDER BY VersionStart DESC LIMIT 1'); 43 43 if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0)) 44 44 { 45 45 // Update existed text 46 46 $DbRow2 = mysql_fetch_assoc($DbResult2); 47 47 if(HaveSameText($Group, $DbRow2, $Value)) 48 48 { 49 49 if ($DbRow2['VersionEnd'] <> $BuildNumber) { 50 50 $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET VersionEnd = "'.$BuildNumber.'" WHERE ID='.$DbRow2['ID']); 51 52 53 51 echo(', '); 52 } else 53 echo('. '); 54 54 } else 55 55 { … … 63 63 $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')'); 64 64 echo('# '); 65 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', 11);65 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT); 66 66 } 67 68 69 { 67 68 } else 69 { 70 70 // Insert new text 71 71 $Columns = 'entry, language, VersionStart, VersionEnd'; … … 79 79 echo('+ '); 80 80 $NewCount++; 81 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$ItemId.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', 11);82 83 84 85 } 86 81 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$ItemId.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', LOG_TYPE_IMPORT); 82 83 } 84 $Count++; 85 } 86 echo('<br />Celkem: '.$Count.' Nových: '.$NewCount.'<br />'); 87 87 $Database->SQLCommand('UPDATE `group` SET LastVersion = "'.$BuildNumber.'", LastImport = NOW() WHERE Id='.$GroupId); 88 88 } -
trunk/import/import_lua.php
r250 r357 41 41 if(HaveSameText($Group, $DbRow2, $Value)) 42 42 { 43 43 if ($DbRow2['VersionEnd'] <> $BuildNumber) { 44 44 $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET VersionEnd = "'.$BuildNumber.'" WHERE ID='.$DbRow2['ID']); 45 46 47 45 echo(', '); 46 } else 47 echo('. '); 48 48 } else 49 49 { … … 57 57 $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')'); 58 58 echo('# '); 59 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', 11);59 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT); 60 60 } 61 61 } else … … 79 79 echo('+ '); 80 80 $NewCount++; 81 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$Entry.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', 11);81 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$Entry.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', LOG_TYPE_IMPORT); 82 82 } 83 83 }; -
trunk/import/import_sql_mangos.php
r302 r357 131 131 $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')'); 132 132 echo('# '); 133 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', 11);133 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT); 134 134 } else echo('. '); 135 135 } … … 161 161 echo('+ '); 162 162 $NewCount++; 163 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$Entry.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', 11);163 WriteLog('Text <a href="form.php?group='.$Group['Id'].'&ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$Entry.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', LOG_TYPE_IMPORT); 164 164 } 165 165 $Count++; -
trunk/import/index.php
r314 r357 23 23 1. Pripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres prohram putty.exe nebo terminál v linuxu.<br> 24 24 2. Nejprve je potreba získat zdrojová data. Není zapotrebí mít všechny typy textu. <br> 25 26 27 25 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/"<br> 26 b) 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/"<br> 27 b) 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/"<br> 28 28 3. 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.<br> 29 29 4. V nastavení "wowpreklad/includes/config.php" nastavíme nejvyžší verzi na verzi, kterou hodláme importovat.<br> 30 30 5. 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.<br> 31 31 6. 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.<br> 32 32 33 33 34 34 </div><div><strong>Načíst zdroj:</strong></div>'); … … 148 148 break; 149 149 } 150 WriteLog('Plnění databáze', 4);150 WriteLog('Plnění databáze', LOG_TYPE_MODERATOR); 151 151 echo('</div>'); 152 152 }
Note:
See TracChangeset
for help on using the changeset viewer.