Changeset 504 for trunk/import/index.php


Ignore:
Timestamp:
Feb 14, 2013, 7:51:59 PM (11 years ago)
Author:
chronos
Message:
  • Upraveno: Stránky jsou nyní generovány do výstupního řetězce, který je na konci skriptu funkci ShowPage jako parametr a ta zajistí zobrazení hlavičky i patičky. Nově tedy není výstup zobrazován přes echo na mnoha místech ale jen přes jedno místo. To umožnilo kontrolu či formátování výstupního HTML kódu před zasláním uživateli na výstup. Dále toto umožňuje vyhodnocení zobrazení hlavičky až po dokončení generování obsahu stránky. To se hodí např. při přihlašování a odhlašování, kdy změna přihlášeného uživatele se v hlavičce projeví ihned už při generování výsledné stránky.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        22aowow
        33nbproject
         4.settings
         5.project
         6.buildpath
  • trunk/import/index.php

    r466 r504  
    55include_once('import.php');
    66
    7 ShowPage();
    8 
     7$Output = '';
    98if(!$User->Licence(LICENCE_ADMIN))
    109{
    11   ShowMessage('Nemáte oprávnění.', MESSAGE_CRITICAL);
    12   ShowFooter();
    13   die();
     10  $Output .= ShowMessage('Nemáte oprávnění.', MESSAGE_CRITICAL);
    1411}
    1512
    1613function ShowInstructions()
    1714{
    18   echo('<div>
     15  $Output = '<div>
    1916  <h5>Návod:</h5>
    20   <ol><li>Pripojí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 potreba 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.
    2219
    2320  <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);
    3230}
    3331
     
    3836  if(array_key_exists('id', $_GET))
    3937  {
    40     echo('<div style="font-size: xx-small;">');
     38    $Output = '<div style="font-size: xx-small;">';
    4139   
    4240    $GroupId = (int)$_GET['id'];
    4341    $Import = new Import($System);
    4442    $Import->SetVersion($System->Config['Web']['GameVersion']);
    45     $Import->ImportGroup($GroupId);
     43    $Output .= $Import->ImportGroup($GroupId);
    4644 
    4745    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);
    5049}
    5150
     
    5453  global $TranslationTree, $System;
    5554 
    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>';
    6159  $DbResult = $System->Database->query('SELECT COUNT(*) FROM `Group`');
    6260  $DbRow = $DbResult->fetch_row();
    6361  $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'];
    6664 
    67   echo('<table class="BaseTable">');
     65  $Output .= '<table class="BaseTable">';
    6866  $TableColumns = array(
    6967    array('Name' => 'Name', 'Title' => 'Jméno'),
     
    7674
    7775  $Order = GetOrderTableHeader($TableColumns, 'Name', 0);
    78   echo($Order['Output']);
     76  $Output .= $Order['Output'];
    7977
    8078  $DbResult = $System->Database->query('SELECT * FROM `Group`'.$Order['SQL'].$PageList['SQLLimit']);
    8179  while($Group = $DbResult->fetch_assoc())
    8280  {
    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'].'&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>');
     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'].'&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>';
    8886  }
    89   echo('</table>');
     87  $Output .= '</table>';
     88  return($Output);
    9089}
    9190
     
    9493  global $System;
    9594 
    96   echo('<div style="font-size: xx-small;">');
     95  $Output = '<div style="font-size: xx-small;">';
    9796  $Import = new Import($System);
    98   $Import->UpdateTranslated();
    99   echo('</div>');
     97  $Output .= $Import->UpdateTranslated();
     98  $Output .= '</div>';
     99  return($Output);
    100100}
    101101
    102102if(array_key_exists('action', $_GET))
    103103{
    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();
    109109
    110 ShowFooter();     
     110ShowPage($Output);
    111111
    112112?>
Note: See TracChangeset for help on using the changeset viewer.