Changeset 357 for trunk/import


Ignore:
Timestamp:
Mar 5, 2010, 7:42:00 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Definice typů logovacích záznamů přesunuta do databáze do tabulky LogType. Doplněny konstanty začínající LOG_TYPE_ pro přehlednější používaní v kódu.
  • Přidáno: Odkaz a stránka zobrazení všech aktualit.
Location:
trunk/import
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/cmd.php

    r314 r357  
    2121  {
    2222    $index = substr($parameter,0,strpos($parameter, '='));
    23         $parameter = substr($parameter,strpos($parameter, '=')+1);
    24         //echo ($index.'  ----  '.$parameter);
     23  $parameter = substr($parameter,strpos($parameter, '=')+1);
     24  //echo ($index.'  ----  '.$parameter);
    2525    $_GET[$index] = $parameter;
    2626  }
     
    3333  1. Pripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres prohram putty.exe nebo terminál v linuxu.
    34342. Nejprve je potreba získat zdrojová data. Není zapotrebí mít všechny typy textu.
    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/"
     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/"
    38383. 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.
    39394. V nastavení "wowpreklad/includes/config.php" nastavíme nejvyžší verzi na verzi, kterou hodláme importovat.
    40405. 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.
    41416. 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                                           
    4343 
    4444  Parametry:
     
    6565        if(($Group['MangosTable'] != '') and ($Group['TablePrefix'] != '') and ($Group['MangosDatabase'] == 'mangos'))
    6666        {
    67                   echo('  '.$TranslationTree[$Group['Id']]['Name'].' ');       
     67      echo('  '.$TranslationTree[$Group['Id']]['Name'].' '); 
    6868            ImportSQLMangos($Config['Web']['GameVersion'], $Group['Id']);
    69                   echo ('
    70                   ');
     69      echo ('
     70      ');
    7171        }
    72           }      
     72    }  
    7373      break;
    7474    case 'dbc':
     
    7777        if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != ''))
    7878        {
    79                   echo('  '.$TranslationTree[$Group['Id']]['Name'].' ');       
     79      echo('  '.$TranslationTree[$Group['Id']]['Name'].' '); 
    8080            ImportDBC($Config['Web']['GameVersion'], $Group['Id']);
    81                   echo ('
    82                   ');
     81      echo ('
     82      ');
    8383        }
    84           }      
     84    }  
    8585      break;
    8686    case 'update_version':
     
    9797      break;   
    9898  }
    99   WriteLog('Plnění databáze z příkazové řádky', 4);
     99  WriteLog('Plnění databáze z příkazové řádky', LOG_TYPE_MODERATOR);
    100100  echo('</div>');
    101101}
  • trunk/import/import_dbc.php

    r250 r357  
    1919    if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != ''))
    2020    {
    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++)
     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++)
    2828      {
    2929        foreach($Group['Items'] as $GroupItem)
     
    3131          $Value[$GroupItem['Column']] = addslashes($DBCFile->GetString($i, GetDBCColumnIndex($import_version,$Group['DBCFileName'],$GroupItem['Column'])));
    3232        }
    33                
     33   
    3434        $Columns = '';
    3535        foreach($Group['Items'] as $GroupItem)
     
    3838        }
    3939          $Columns = substr($Columns, 1);
    40                
     40   
    4141        $ItemId = $DBCFile->GetUint($i, 0); 
    4242        $DbResult2 = $Database->SQLCommand('SELECT VersionEnd, ID, entry, '.$Columns.' FROM '.$Group['TablePrefix'].' WHERE entry='.$ItemId.' AND Language=0 ORDER BY VersionStart DESC LIMIT 1');
    4343        if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0))
    44             {
     44      {
    4545            // Update existed text
    4646            $DbRow2 = mysql_fetch_assoc($DbResult2);
    4747            if(HaveSameText($Group, $DbRow2, $Value))
    4848            {
    49                           if ($DbRow2['VersionEnd'] <> $BuildNumber) {
     49        if ($DbRow2['VersionEnd'] <> $BuildNumber) {
    5050                $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET VersionEnd = "'.$BuildNumber.'" WHERE ID='.$DbRow2['ID']);
    51                             echo(', ');
    52                           } else
    53                             echo('. ');
     51          echo(', ');
     52        } else
     53          echo('. ');
    5454            } else
    5555            {       
     
    6363              $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    6464              echo('# ');
    65               WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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'].'&amp;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);
    6666            }       
    67                        
    68             } else
    69             {           
     67     
     68      } else
     69      {   
    7070            // Insert new text
    7171            $Columns = 'entry, language, VersionStart, VersionEnd';
     
    7979            echo('+ ');
    8080            $NewCount++;
    81             WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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             $Count++;
    85       }         
    86           echo('<br />Celkem: '.$Count.'  Nových: '.$NewCount.'<br />');
     81            WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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 />');
    8787      $Database->SQLCommand('UPDATE `group` SET LastVersion = "'.$BuildNumber.'", LastImport = NOW() WHERE Id='.$GroupId);
    8888  }
  • trunk/import/import_lua.php

    r250 r357  
    4141            if(HaveSameText($Group, $DbRow2, $Value))
    4242            {
    43                           if ($DbRow2['VersionEnd'] <> $BuildNumber) {
     43        if ($DbRow2['VersionEnd'] <> $BuildNumber) {
    4444                $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET VersionEnd = "'.$BuildNumber.'" WHERE ID='.$DbRow2['ID']);
    45                             echo(', ');
    46                           } else
    47                             echo('. ');
     45          echo(', ');
     46        } else
     47          echo('. ');
    4848            } else
    4949            {       
     
    5757              $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    5858              echo('# ');
    59               WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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'].'&amp;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);
    6060            }       
    6161          } else
     
    7979            echo('+ ');
    8080            $NewCount++;
    81             WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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'].'&amp;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);
    8282          }
    8383        }; 
  • trunk/import/import_sql_mangos.php

    r302 r357  
    131131              $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    132132              echo('# ');
    133               WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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'].'&amp;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);
    134134            } else echo('. ');       
    135135          }       
     
    161161          echo('+ ');
    162162          $NewCount++;
    163           WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;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'].'&amp;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);
    164164        }         
    165165        $Count++;
  • trunk/import/index.php

    r314 r357  
    23231. Pripojíme se pres SSH na server (wowpreklad.zdechov.net) napríklad pres prohram putty.exe nebo terminál v linuxu.<br>
    24242. Nejprve je potreba získat zdrojová data. Není zapotrebí mít všechny typy textu. <br>
    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>
     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>
    28283. 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>
    29294. V nastavení "wowpreklad/includes/config.php" nastavíme nejvyžší verzi na verzi, kterou hodláme importovat.<br>
    30305. 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>
    31316. 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                                             
    3333 
    3434  </div><div><strong>Načíst zdroj:</strong></div>');
     
    148148      break;   
    149149  }
    150   WriteLog('Plnění databáze', 4);
     150  WriteLog('Plnění databáze', LOG_TYPE_MODERATOR);
    151151  echo('</div>');
    152152}
Note: See TracChangeset for help on using the changeset viewer.