Changeset 228 for trunk/export/index.php


Ignore:
Timestamp:
Jul 2, 2009, 3:00:05 PM (15 years ago)
Author:
maron
Message:

Výběr verze při exportu a automatické aktualizování seznamu verzí podle typu exportu, export addonu podle verze

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/export/index.php

    r224 r228  
    1717ShowPage();
    1818
    19 
    20 $Addon_verses = scandir('files', 1);
    21 unset($Addon_verses[count($Addon_verses) - 1]);
    22 unset($Addon_verses[count($Addon_verses) - 1]);
    23 unset($Addon_verses[count($Addon_verses) - 1]);
    24 unset($Addon_verses[count($Addon_verses) - 1]);
    25 
    26 
    2719function CheckBox($Name, $Checked = false, $Id = '', $Class = '')
    2820{
     
    3325}
    3426
    35 function RadioButton($Name, $Value, $Checked = false)
     27function RadioButton($Name, $Value, $Checked = false, $onclick = '')
    3628{
    3729  if($Checked) $Checked = ' checked="checked"'; else $Checked = '';
    38   return('<input type="radio" name="'.$Name.'" value="'.$Value.'"'.$Checked.' />');
     30  return('<input onclick="'.$onclick.'" type="radio" name="'.$Name.'" value="'.$Value.'"'.$Checked.' />');
    3931}
    4032
     
    4537}
    4638
     39function GetVersions($out)
     40{
     41  global $Database,$TranslationTree,$Config;
     42  $result = 'null';
     43  switch($out)
     44  {
     45    case 'addon':
     46      $Addon_verses = scandir('files', 1);
     47      unset($Addon_verses[count($Addon_verses) - 1]);
     48      unset($Addon_verses[count($Addon_verses) - 1]);
     49      unset($Addon_verses[count($Addon_verses) - 1]);
     50          $result = '[';
     51          foreach($Addon_verses as $version) {
     52            $result .= "'".$version."',";
     53      }
     54          $result = substr($result,0,strlen($result)-1);
     55          $result .= "]";
     56        break;
     57    case 'dbc':
     58      $sql = 'SELECT Version FROM wow_client_version WHERE DBCColumns_GameTips <> "" AND DBCColumns_Spell <> "" ';
     59      $ID = $Database->SQLCommand($sql);
     60          $result = '[';
     61      while($Line = mysql_fetch_assoc($ID))
     62      {
     63            $result .= "'".$Line['Version']."',";
     64      }
     65          $result = substr($result,0,strlen($result)-1);
     66          $result .= "]";
     67        break;
     68    case 'lua':
     69      $dirs = scandir('../source', 1);
     70          $result = '[';
     71          foreach($dirs as $dir) {
     72                $ok = true;
     73        foreach($TranslationTree as $Group)
     74        {
     75          if(($Group['LuaFileName'] != '') and ($Group['TablePrefix'] != ''))
     76          {
     77                    if ((file_exists('../source/'.$dir.'/lua/'.$Group['LuaFileName'].'.lua') == false))
     78                          $ok = false;
     79                  }
     80                }
     81                if ($ok) $result .= "'".$dir."',";
     82      }
     83          $result = substr($result,0,strlen($result)-1);
     84          $result .= "]";
     85        break;
     86    case 'VerseCZ':
     87          $result = '[';
     88          $result .= "'".$Config['Web']['GameVersion']."',";
     89          $result = substr($result,0,strlen($result)-1);
     90          $result .= "]";
     91        break;
     92  }
     93  return($result);
     94}
    4795function WriteSetting($ExportSetting)
    4896{
     
    74122if(!isset($ExportSetting['users-order'])) $ExportSetting['users-order'] = '';
    75123if(!isset($ExportSetting['Export'])) $ExportSetting['Export'] = $Addon_verses[0];
     124if(!isset($ExportSetting['Version'])) $ExportSetting['Version'] = $Config['Web']['GameVersion'];
    76125if(!isset($ExportSetting['groups'])) $ExportSetting['groups'] = array();
    77126
     
    95144{
    96145  case 'result':
     146    if (array_key_exists('Version',$_POST)) $ExportSetting['Version'] = $_POST['Version'];
    97147    if (array_key_exists('Export',$_POST)) $ExportSetting['Export'] = $_POST['Export'];
    98148          switch($ExportSetting['Export'])
     
    236286                } else echo('Nemáte oprávnění.');
    237287            break;*/
    238           case 'Addon-2.x.x':
    239         if(function_exists('gzcompress'))
    240         {
    241           $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW-2.x.x/';
    242               echo('Generování addonu...'.$ExportSetting['Export'].'<br />');
    243           MakeAddon($ExportSetting);
    244           $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Addon-2.x.x.zip';         
    245           $Zip = new zipfile();
    246                   CreateZipFromDir($Zip, $TempDir, 'CzWoW/');
    247           $Zip->addFile(file_get_contents('files/2.4.3/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');     
    248           $Zip->addFile(file_get_contents('files/2.4.3/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');   
    249                   $Zip->addFile(file_get_contents('files/2.4.3/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc');   
    250           $Zip->addFile(file_get_contents('files/2.4.3/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');   
    251                   $Zip->addFile(file_get_contents('files/2.4.3/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml');   
    252                   $Zip->addFile(file_get_contents('files/2.4.3/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');     
    253                  
    254                   $Zip->addFile(file_get_contents('files/2.4.3/ProffBot/ProffBot.toc'), 'ProffBot/ProffBot.toc');       
    255                   $Zip->addFile(file_get_contents('files/2.4.3/ProffBot/ProffBot.xml'), 'ProffBot/ProffBot.xml');       
    256                   $Zip->addFile(file_get_contents('files/2.4.3/ProffBot/ProffBot.lua'), 'ProffBot/ProffBot.lua');       
    257                   $Buffer = $Zip->file();
    258           file_put_contents($SaveFilename, $Buffer);
    259                   echo('Hotovo<br /><br />');
    260         } else echo('Funkce pro tvorbu Zip souboru není podporována!');
    261         echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
    262           'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
    263           '</script>');
    264      
    265         echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
    266           '<a href="'.$SaveFilename.'">CzWoW_Addon-2.x.x.zip</a><br />'.
    267           'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
    268                 echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.');
     288          case 'Addon':
     289                        if(function_exists('gzcompress')) {
     290                        $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW-'.$ExportSetting['Version'].'/';
     291                        echo('Generování addonu...'.$ExportSetting['Export'].'<br />');
     292                        MakeAddon($ExportSetting);
     293                        $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Addon-'.$ExportSetting['Version'].'.zip';         
     294                        $Zip = new zipfile();
     295                                CreateZipFromDir($Zip, $TempDir, 'CzWoW/');
     296                        $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');       
     297                        $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');     
     298                                $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc');     
     299                        $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');     
     300                                $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml');     
     301                                $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');       
     302                                $Buffer = $Zip->file();
     303                        file_put_contents($SaveFilename, $Buffer);
     304                                echo('Hotovo<br /><br />');
     305                } else echo('Funkce pro tvorbu Zip souboru není podporována!');
     306                        echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
     307                        'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
     308                        '</script>');
     309     
     310                        echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
     311                        '<a href="'.$SaveFilename.'">CzWoW_Addon-'.$ExportSetting['Version'].'.zip</a><br />'.
     312                        'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
     313                                echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.');
    269314            break;
    270315          case 'VerseCZ':
    271             $Addon_verse = $Addon_verses[0];
    272316        if(function_exists('gzcompress'))
    273317        {
     
    282326                  CreateZipFromDir($Zip, $TempDir, 'Interface/AddOns/CzWoW/');
    283327          //addon
    284           $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/OptionsFrame.xml'), 'Interface/AddOns/CzWoW/OptionsFrame.xml');
    285           $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/CzWoW.xml'), 'Interface/AddOns/CzWoW/CzWoW.xml');       
    286                   $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/CzWoW.toc'), 'Interface/AddOns/CzWoW/CzWoW.toc');       
    287           $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/CzWoW.lua'), 'Interface/AddOns/CzWoW/CzWoW.lua');       
    288                   $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/GameMenuFrame.xml'), 'Interface/AddOns/CzWoW/GameMenuFrame.xml');       
    289                   $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/Localization.lua'), 'Interface/AddOns/CzWoW/Localization.lua');
     328          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'Interface/AddOns/CzWoW/OptionsFrame.xml');   
     329          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'Interface/AddOns/CzWoW/CzWoW.xml'); 
     330                  $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'Interface/AddOns/CzWoW/CzWoW.toc'); 
     331          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'Interface/AddOns/CzWoW/CzWoW.lua'); 
     332                  $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'Interface/AddOns/CzWoW/GameMenuFrame.xml'); 
     333                  $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'Interface/AddOns/CzWoW/Localization.lua');   
    290334                  //fonty
    291           $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/Fonts/FRIZQT__.ttf'), 'Fonts/FRIZQT__.ttf'); 
    292           $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/Fonts/MORPHEUS.ttf'), 'Fonts/MORPHEUS.ttf'); 
    293           $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/Fonts/SKURRI.ttf'), 'Fonts/SKURRI.ttf');     
     335          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/FRIZQT__.ttf'), 'Fonts/FRIZQT__.ttf');     
     336          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/MORPHEUS.ttf'), 'Fonts/MORPHEUS.ttf');     
     337          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/SKURRI.ttf'), 'Fonts/SKURRI.ttf');
    294338          //readme
    295339          $Zip->addFile(file_get_contents($Config['Web']['TempFolder'].'Addon/CzWoW/CZWOW-Readme.txt'), 'CZWOW-Readme.txt');   
     
    349393                echo('<br /><br /><strong>Použití ve hře</strong><br />Ze souborů vytvořte MPQ archív a nahrajte ho do hry do podsložky Data/enUS jako patch-enUS-5.MPQ. Hru spusťte pomocí programu WoWMe.exe (WoW Model Editor Fix).');
    350394            break;
    351         }       
    352    
    353                 if(in_array($ExportSetting['Export'], $Addon_verses))
    354         { // Addon pro různé verze
    355                         $Addon_verse = $Addon_verses[array_search($ExportSetting['Export'],$Addon_verses)];
    356                         if(function_exists('gzcompress')) {
    357                         $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW-'.$Addon_verse.'/';
    358                         echo('Generování addonu...'.$ExportSetting['Export'].'<br />');
    359                         MakeAddon($ExportSetting);
    360                         $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Addon-'.$Addon_verse.'.zip';         
    361                         $Zip = new zipfile();
    362                                 CreateZipFromDir($Zip, $TempDir, 'CzWoW/');
    363                         $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');   
    364                         $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml'); 
    365                                 $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc'); 
    366                         $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua'); 
    367                                 $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml'); 
    368                                 $Zip->addFile(file_get_contents('files/'.$Addon_verse.'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');   
    369                                 $Buffer = $Zip->file();
    370                         file_put_contents($SaveFilename, $Buffer);
    371                                 echo('Hotovo<br /><br />');
    372                 } else echo('Funkce pro tvorbu Zip souboru není podporována!');
    373                         echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
    374                         'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
    375                         '</script>');
    376      
    377                         echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
    378                         '<a href="'.$SaveFilename.'">CzWoW_Addon-'.$Addon_verse.'.zip</a><br />'.
    379                         'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
    380                                 echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.');
    381                 }
    382                
     395        }                       
    383396                //statistika výstupu
    384397                if ($ExportSetting['Export'] <> 'AoWoWSQLDirect' and $ExportSetting['Export'] <> 'XMLDirect' and $ExportSetting['Export'] <> 'AoWoWImport' and $ExportSetting['Export'] <> 'MangosSQLDirect') {
     
    405418            '<table><tr><td>'.
    406419      '<fieldset><legend>Forma výstupu</legend>'.
    407     RadioButton('Export', 'MangosSQLDirect', $ExportSetting['Export'] == 'MangosSQLDirect').'MaNGOS SQL - přímo zobrazit<br />'.
    408           RadioButton('Export', 'MangosSQLCompressed', $ExportSetting['Export'] == 'MangosSQLCompressed').'MaNGOS SQL - komprimovaný soubor<br />'.
    409           RadioButton('Export', 'AoWoWSQLDirect', $ExportSetting['Export'] == 'AoWoWSQLDirect').'AoWoW SQL - přímo zobrazit<br />'.
    410           RadioButton('Export', 'AoWoWSQLCompressed', $ExportSetting['Export'] == 'AoWoWSQLCompressed').'AoWoW SQL - komprimovaný soubor<br />'.
    411       RadioButton('Export', 'XMLDirect', $ExportSetting['Export'] == 'XMLDirect').'XML - přímo zobrazit<br />'.
    412           RadioButton('Export', 'XMLCompressed', $ExportSetting['Export'] == 'XMLCompressed').'XML - komprimovaný soubor<br />');
    413           foreach($Addon_verses as $Addon_verse)
    414                   echo (RadioButton('Export', $Addon_verse, $ExportSetting['Export'] == $Addon_verse).'Addon pro verzi '.$Addon_verse.' - komprimovaný soubor<br />');
    415          
    416           echo (RadioButton('Export', 'Addon-2.x.x', $ExportSetting['Export'] == 'Addon-2.x.x').'Addon pro verzi 2.x.x - komprimovaný soubor<br />'.
    417           RadioButton('Export', 'Lua', $ExportSetting['Export'] == 'Lua').'Lua skripty - komprimovaný soubor<br />');
    418     if(Licence(LICENCE_ADMIN)) {
    419           echo (RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC').'DBC - komprimovaný soubor (pouze admin)<br />');
    420           echo(RadioButton('Export', 'AoWoWImport', $ExportSetting['Export'] == 'AoWoWImport').'Importovat do AoWoW (pouze admin)<br />');
    421           echo(RadioButton('Export', 'VerseCZ', $ExportSetting['Export'] == 'VerseCZ').'Vytvoření verze češtiny <a href="../download.php?createverse" Title="Před konečným exportováním napište popis k verzi" Target="_NEW">Popis k verzi</a> (pouze admin)<br />');
    422     }
     420      RadioButton('Export', 'MangosSQLDirect', $ExportSetting['Export'] == 'MangosSQLDirect', 'UpdateVersion('.GetVersions('mangos').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - přímo zobrazit<br />'.
     421          RadioButton('Export', 'MangosSQLCompressed', $ExportSetting['Export'] == 'MangosSQLCompressed', 'UpdateVersion('.GetVersions('mangos').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - komprimovaný soubor<br />'.
     422          RadioButton('Export', 'AoWoWSQLDirect', $ExportSetting['Export'] == 'AoWoWSQLDirect', 'UpdateVersion('.GetVersions('aowow').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - přímo zobrazit<br />'.
     423          RadioButton('Export', 'AoWoWSQLCompressed', $ExportSetting['Export'] == 'AoWoWSQLCompressed', 'UpdateVersion('.GetVersions('aowow').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - komprimovaný soubor<br />'.
     424      RadioButton('Export', 'XMLDirect', $ExportSetting['Export'] == 'XMLDirect', 'UpdateVersion('.GetVersions('XML').',\''.$ExportSetting['Version'].'\')').'XML - přímo zobrazit<br />'.
     425          RadioButton('Export', 'XMLCompressed', $ExportSetting['Export'] == 'XMLCompressed', 'UpdateVersion('.GetVersions('XML').',\''.$ExportSetting['Version'].'\')').'XML - komprimovaný soubor<br />'.
     426          RadioButton('Export', 'Addon', $ExportSetting['Export'] == 'Addon', 'UpdateVersion('.GetVersions('addon').',\''.$ExportSetting['Version'].'\')').'Addon - komprimovaný soubor<br />'.
     427          RadioButton('Export', 'Lua', $ExportSetting['Export'] == 'Lua', 'UpdateVersion('.GetVersions('lua').',\''.$ExportSetting['Version'].'\')').'Lua skripty - komprimovaný soubor<br />');
     428      if(Licence(LICENCE_ADMIN)) {
     429          echo(RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC', 'UpdateVersion('.GetVersions('dbc').',\''.$ExportSetting['Version'].'\')').'DBC - komprimovaný soubor (pouze admin)<br />');
     430          echo(RadioButton('Export', 'AoWoWImport', $ExportSetting['Export'] == 'AoWoWImport', 'UpdateVersion('.GetVersions('aowow').',\''.$ExportSetting['Version'].'\')').'Importovat do AoWoW (pouze admin)<br />');
     431              echo(RadioButton('Export', 'VerseCZ', $ExportSetting['Export'] == 'VerseCZ', 'UpdateVersion('.GetVersions('VerseCZ').',\''.$ExportSetting['Version'].'\')').'Vytvoření verze češtiny <a href="../download.php?createverse" Title="Před konečným exportováním napište popis k verzi" Target="_NEW">Popis k verzi</a> (pouze admin)<br />');
     432      }
    423433          //echo('
    424     echo('</fieldset><br /></td><td class="Description">Zvolte způsob, jakým mají být získána výstupní data. V případě přímého zobrazení může být do vašeho prohlížeče přenášeno vysoké množství dat, což může vést k jeho přetížení.<br />Addon je potřeba nakopírovat do složky klienta Interface/AddOns a ve hře lze zpřístupnit jeho možnosti pomocí příkazu /czwow.</td></tr></table>');
     434    echo('</fieldset><br /></td><td class="Description">Zvolte způsob, jakým mají být získána výstupní data. V případě přímého zobrazení může být do vašeho prohlížeče přenášeno vysoké množství dat, což může vést k jeho přetížení.<br />Addon je potřeba nakopírovat do složky klienta Interface/AddOns a ve hře lze zpřístupnit jeho možnosti pomocí příkazu /czwow.<br />'.
     435    '<fieldset><legend>Dostupné verze výstupu</legend>');
     436        echo('<select id="Version" size="5" name="Version">');
     437    echo('</select></fieldset></td></tr></table>');
    425438        echo('<br /><input type="submit" value="Dokončit" />');
    426439        echo('</div></form><br />');
Note: See TracChangeset for help on using the changeset viewer.