Changeset 817 for trunk/Modules/Import


Ignore:
Timestamp:
Feb 23, 2015, 12:03:22 AM (10 years ago)
Author:
chronos
Message:
  • Fixed: Regeneration of team level images from admin page.
  • Added: Show link to client version from import table and translation list table.
Location:
trunk/Modules/Import
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Import/Import.php

    r816 r817  
    5454     // $Values .= ', "'.$Value[$GroupItem['Column']].'"';
    5555    }
    56    // echo $Values;
    5756    $Columns = substr($Columns, 1);
    5857    $Where = ' (`'.$this->Group['PrimaryKeyItem'].'` = "'.$Value[$this->Group['PrimaryKeyItem']].'")  AND (`Language`=0) ' ;
    59     //print_r($Value);
    6058
    6159    $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');
    6260    $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');
    6361    $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
    6563    if(($DbResultMiddle->num_rows > 0) or ($DbResultBefore->num_rows > 0) or ($DbResultAfter->num_rows > 0))
    6664    {
     
    223221              $Line = substr($Line, strpos($Line, ';') + 1);
    224222              $Value['Comment'] = addslashes(stripslashes(substr($Line, 3))); // Skip " --"
    225               //print_r($Value);
    226223
    227224              $this->InsertItem($Value);
     
    260257        while($DbRow = $DbResult->fetch_assoc())
    261258        {
    262           echo '`';
     259          echo('`');
    263260          $this->System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$DbRow['VersionEnd_orig'].', `VersionStart` = '.$DbRow['VersionStart_orig'].' WHERE `ID` = '.$DbRow['ID']);
    264261          $Output .= '. ';
  • trunk/Modules/Import/Manage.php

    r816 r817  
    33class PageImport extends Page
    44{
     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.'.
    511
    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  }
    1223
    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;
    2427
    25 function ShowImportGroup()
    26 {
    27   global $System;
     28    if(array_key_exists('id', $_GET))
     29    {
     30      $Output = '<div style="font-size: xx-small;">';
    2831
    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()
    3044  {
     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'].'&amp;type=11">'.HumanDate($Group['LastImport']).'</a></td>'.
     80        '<td><a href="'.$this->System->Link('/client-version/?action=item&amp;id='.
     81        GetVersionWOWId($Group['LastVersion'])).'">'.GetVersionWOW($Group['LastVersion']).'</a></td>'.
     82        '<td><a href="?action=importgroup&amp;id='.$Group['Id'].'">Importovat</a></td></tr>';
     83    }
     84    $Output .= '</table>';
     85    return($Output);
     86  }
     87
     88  function UpdateTranslated()
     89  {
     90    global $System;
     91
    3192    $Output = '<div style="font-size: xx-small;">';
    32 
    33     $GroupId = (int)$_GET['id'];
    3493    $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();
    3995    $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'].'&amp;type=11">'.HumanDate($Group['LastImport']).'</a></td><td>'.GetVersionWOW($Group['LastVersion']).'</td><td><a href="?action=importgroup&amp;id='.$Group['Id'].'">Importovat</a></td></tr>';
     96    return($Output);
    7997  }
    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 }
    9498
    9599  function Show()
Note: See TracChangeset for help on using the changeset viewer.