Changeset 286


Ignore:
Timestamp:
Dec 22, 2009, 10:22:38 AM (15 years ago)
Author:
george
Message:
  • Opraveno: Kontrola správného zadání Id překladové skupiny.
  • Opraveno: Kontrola správného zadání Id překladového jazyka.
  • Upraveno: Zobrazovat PageFooter pouze pokud již byl zobrazen PageHeader.
  • Opraveno: Chyba určení počtu stránek pro zobrazení stránkování.
Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/TranslationList.php

    r280 r286  
    66
    77$TranslationItemPerPage = 200;
    8 if(array_key_exists('group', $_GET)) $GroupId = $_GET['group'] * 1; else $GroupId = 1;
     8$GroupId = LoadGroupIdParameter();
    99if(array_key_exists('connexion_id', $_GET)) {
    1010  $_SESSION['connexion_id'] = $_GET['connexion_id'];
    11 }
    12 $DbResult = $Database->SQLCommand('SELECT Id FROM `group` WHERE `Id`='.$GroupId);
    13 if(mysql_num_rows($DbResult) == 0)
    14 {
    15   echo('Neexistující id překladové skupiny.');
    16   ShowFooter();
    17   die();
    1811}
    1912$Table = $TranslationTree[$GroupId]['TablePrefix'];
     
    144137if($Action == 'connexion')
    145138{ //SELECT * FROM spell WHERE entry IN(SELECT entry FROM connexion_item WHERE connexion = 1)
    146         $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT Name FROM connexion WHERE `Id` = '.$_SESSION['connexion_id']));
     139  $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT Name FROM connexion WHERE `Id` = '.$_SESSION['connexion_id']));
    147140    echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a> ->
    148141        <a title="Zde je seznam souvislostí" href="?group='.$GroupId.'&amp;action=connexion">Souvislosti</a> - >
     
    166159      <td>'.$Line['Name'].'</td>');
    167160    }
    168         echo ('</table>');
     161  echo ('</table>');
    169162} else
    170163if($Action == 'nocomplete')
     
    196189  echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a> ->
    197190        <a title="Přeložené questy přilášeného uživatele" href="?group='.$GroupId.'&amp;action=my">Moje překlady</a><br /><br />');
    198   WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM '.$Table.' Where user = '.$_SESSION['UserID'], '', 'my');
     191  WriteQuests('SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = '.$Table.'.`user`) AS `User` FROM `'.$Table.'` Where `user` = '.$_SESSION['UserID'], '', 'my');
    199192} else
    200193if(($Action == 'mydevelop') and Licence(LICENCE_USER))
     
    202195  echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a> ->
    203196    <a title="Nedokončené texty" href="?group='.$GroupId.'&amp;action=mydevelop">Rozepsané překlady</a><br /><br />');
    204   WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM '.$Table.' Where user = '.$_SESSION['UserID'].' AND Complete = 0', '', 'mydevelop');
     197  WriteQuests('SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `'.$Table.'`.`user`) AS `User` FROM `'.$Table.'` Where `user` = '.$_SESSION['UserID'].' AND `Complete` = 0', '', 'mydevelop');
    205198} else     
    206199if($Action == 'users')
     
    208201  echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a> ->
    209202        <strong>Vypsání textů od určitých uživatelů</strong><br /><br />');
    210   $users = @$_POST['users'];
    211  
    212   $WhereUsers = '';
    213    
     203  if(array_key_exists('users', $_POST)) $users = $_POST['users'];
     204    else $users = array();
     205 
     206  $WhereUsers = '';   
    214207  for($i = 0; $i < Count($users); $i++)
    215208  {
    216     if($WhereUsers <> '') $WhereUsers .= ' OR User = '.$users[$i];
    217       else $WhereUsers .= ' User = '.$users[$i];
    218   }
    219   WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM '.$Table.' Where '.$WhereUsers, '', 'users');
     209    if($WhereUsers <> '') $WhereUsers .= ' OR `User` = '.$users[$i];
     210      else $WhereUsers .= ' `User` = '.$users[$i];
     211  }
     212  if($WhereUsers == '') $WhereUsers = '0';
     213 
     214 
     215  WriteQuests('SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `'.$Table.'`.`user`) AS `User` FROM `'.$Table.'` WHERE '.$WhereUsers, '', 'users');
    220216} else     
    221217if($Action == 'userall')
    222218{
    223   $ID = $Database->SQLCommand('SELECT user FROM user WHERE id = '.$_GET['user']);
     219  $ID = $Database->SQLCommand('SELECT `user` FROM `user` WHERE `id` = '.$_GET['user']);
    224220  $Line = mysql_fetch_row($ID);
    225221  echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a>'.
     
    232228  {
    233229    if(array_key_exists('not', $_GET)) {
    234        $sql = 'SELECT COUNT(*) FROM '.$Group['TablePrefix'].' WHERE Complete = 0 AND user='.$_GET['user'];
     230       $sql = 'SELECT COUNT(*) FROM `'.$Group['TablePrefix'].'` WHERE `Complete` = 0 AND `user`='.$_GET['user'];
    235231         $ID = $Database->SQLCommand($sql);
    236232         $Line = mysql_fetch_row($ID);
     
    239235       $Total += $Line[0];
    240236    } else {
    241          $sql = 'SELECT COUNT(*) FROM '.$Group['TablePrefix'].' WHERE user='.$_GET['user'];
     237         $sql = 'SELECT COUNT(*) FROM `'.$Group['TablePrefix'].'` WHERE `user`='.$_GET['user'];
    242238         $ID = $Database->SQLCommand($sql);
    243239         $Line = mysql_fetch_row($ID);
     
    289285  if(array_key_exists('user', $_GET))
    290286  {
    291     $ID = $Database->SQLCommand('SELECT user FROM user WHERE id = '.($_GET['user'] * 1));
     287    $ID = $Database->SQLCommand('SELECT `user` FROM `user` WHERE `id` = '.($_GET['user'] * 1));
    292288    if(mysql_num_rows($ID) > 0)
    293289    {
     
    296292        '<strong>Vypis překladů uživatele '.$Line[0].': </strong><br /><br />');
    297293      if(array_key_exists('not', $_GET))
    298         WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM '.$Table.' Where Complete = 0 AND user = '.$_GET['user'], '', 'userid');
    299       else WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM '.$Table.' Where user = '.$_GET['user'], '', 'userid');
     294        WriteQuests('SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `'.$Table.'`.`user`) AS `User` FROM `'.$Table.'` Where `Complete` = 0 AND `user` = '.$_GET['user'], '', 'userid');
     295      else WriteQuests('SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `'.$Table.'`.`user`) AS `User` FROM `'.$Table.'` Where `user` = '.$_GET['user'], '', 'userid');
    300296    } else echo('Nebyl nalezen uživatel se zadaným id');
    301297  } else echo('Je nutno zadat id uživatele.');
     
    306302  else $Search = $_POST['search'];
    307303 
    308   $sql = 'SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM `'.$Table.'` WHERE `ID` LIKE "%'.$Search.'%"
     304  $sql = 'SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `'.$Table.'`.`user`) AS `User` FROM `'.$Table.'` WHERE `ID` LIKE "%'.$Search.'%"
    309305    OR `entry` LIKE "%'.$Search.'%"
    310306    OR `Language` LIKE "%'.$Search.'%"
     
    323319  else $Search = $_POST['ID'];
    324320 
    325   $sql = 'SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM `'.$Table.'` WHERE `entry` LIKE "'.$Search.'"';
     321  $sql = 'SELECT *, (SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `'.$Table.'`.`user`) AS `User` FROM `'.$Table.'` WHERE `entry` LIKE "'.$Search.'"';
    326322   
    327323  WriteQuests($sql, '', 'searchentry='.$Search);
     
    333329        <strong>Výpis všech textů s limitem na stránku</strong><br /><br />');
    334330
    335   WritePages('?group='.$GroupId.'&amp;action=all', ' AS items WHERE (items.Language = 0)');
    336 
    337   WriteQuests('SELECT * FROM '.$Table.' AS items WHERE (items.Language = 0)', $_SESSION['limitx'].','.$_SESSION['limity'], 'all');
     331  WritePages('?group='.$GroupId.'&amp;action=all', ' AS `items` WHERE (`items`.`Language` = 0)');
     332
     333  WriteQuests('SELECT * FROM `'.$Table.'` AS `items` WHERE (`items`.`Language` = 0)', $_SESSION['limitx'].','.$_SESSION['limity'], 'all');
    338334} else     
    339335if($Action == 'filter')
     
    359355       
    360356  echo('<tr><td><form action="?group='.$GroupId.'&amp;action=users" method="post"><div>'.
    361     '<select name="users[]" size="10" multiple="multiple">');
    362        
    363   $ID = $Database->SQLCommand('SELECT user, ID FROM `user` WHERE
    364     EXISTS(SELECT 1 FROM '.$Table.' WHERE user = user.ID) ORDER BY user');
     357    '<select name="users[]" size="10" multiple="multiple" class="UserList">');
     358       
     359  $ID = $Database->SQLCommand('SELECT `user`, `ID` FROM `user` WHERE
     360    EXISTS(SELECT 1 FROM `'.$Table.'` WHERE `user` = `user`.`ID`) ORDER BY `user`');
    365361  if($ID)
    366362  while($Line = mysql_fetch_assoc($ID))
  • trunk/action.php

    r244 r286  
    55ShowPage();
    66
    7 if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
     7$GroupId = LoadGroupIdParameter();
    88$Table = $TranslationTree[$GroupId]['TablePrefix'];
    99if(array_key_exists('action', $_GET)) $Action = $_GET['action']; else $Action = '';
     
    1616  echo('<table class="BaseTable"><tr><th>Skupina</th><th>Výsledků</th></tr>');
    1717  foreach($TranslationTree as $Group) {
    18         $Table = $Group['TablePrefix'];
     18    $Table = $Group['TablePrefix'];
    1919 
    20         $sql = 'SELECT count(*) FROM `'.$Table.'` WHERE `ID` LIKE "%'.$Search.'%"
    21         OR `entry` LIKE "%'.$Search.'%"
    22         OR `User` LIKE "%'.$Search.'%"
    23         OR `Complete` LIKE "%'.$Search.'%"';
    24         foreach($Group['Items'] as $Item) {
    25                 if($Item['Column'] != '') $sql .= ' OR `'.$Item['Column'].'` LIKE "%'.$Search.'%"';
    26         }
    27         $Line = mysql_fetch_row($Database->SQLCommand($sql));
    28         echo('<tr><td><a href="TranslationList.php?group='.$Group['Id'].'&amp;action=search&amp;search='.$Search.'">'.$Group['Name'].'</a></td><td>'.$Line[0].'</td></tr>');
     20    $sql = 'SELECT count(*) FROM `'.$Table.'` WHERE `ID` LIKE "%'.$Search.'%"
     21      OR `entry` LIKE "%'.$Search.'%"
     22      OR `User` LIKE "%'.$Search.'%"
     23      OR `Complete` LIKE "%'.$Search.'%"';
     24    foreach($Group['Items'] as $Item) {
     25    if($Item['Column'] != '') $sql .= ' OR `'.$Item['Column'].'` LIKE "%'.$Search.'%"';
     26    }
     27    $Line = mysql_fetch_row($Database->SQLCommand($sql));
     28  echo('<tr><td><a href="TranslationList.php?group='.$Group['Id'].'&amp;action=search&amp;search='.$Search.'">'.$Group['Name'].'</a></td><td>'.$Line[0].'</td></tr>');
    2929  }
    3030 
    31         $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `user` WHERE `user` LIKE "%'.$Search.'%"'));
    32         echo('<tr><td><a href="userlist.php?search='.$Search.'">Uživatelé</a></td><td>'.$Line[0].'</td></tr>');
    33         $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `team` WHERE `name` LIKE "%'.$Search.'%" OR `description` LIKE "%'.$Search.'%"'));
    34         echo('<tr><td><a href="team.php?search='.$Search.'">Týmy</a></td><td>'.$Line[0].'</td></tr>');
    35         $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `verseclient` WHERE `text` LIKE "%'.$Search.'%"'));
    36         echo('<tr><td><a href="download.php?addon">Čeština pro klienta</a></td><td>'.$Line[0].'</td></tr>');
    37         echo('<tr><td><a href="aowow/?search='.$Search.'">Vyhledávací databáze AoWoW</a></td></tr>');
    38         $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `dictionary` WHERE (`Text` LIKE "%'.$Search.'%" OR `Description` LIKE "%'.$Search.'%") AND Language = 0'));
    39         echo('<tr><td><a href="dictionary.php?search='.$Search.'">Slovníček</a></td><td>'.$Line[0].'</td></tr>');
     31    $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `user` WHERE `user` LIKE "%'.$Search.'%"'));
     32  echo('<tr><td><a href="userlist.php?search='.$Search.'">Uživatelé</a></td><td>'.$Line[0].'</td></tr>');
     33    $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `team` WHERE `name` LIKE "%'.$Search.'%" OR `description` LIKE "%'.$Search.'%"'));
     34  echo('<tr><td><a href="team.php?search='.$Search.'">Týmy</a></td><td>'.$Line[0].'</td></tr>');
     35    $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `verseclient` WHERE `text` LIKE "%'.$Search.'%"'));
     36  echo('<tr><td><a href="download.php?addon">Čeština pro klienta</a></td><td>'.$Line[0].'</td></tr>');
     37  echo('<tr><td><a href="aowow/?search='.$Search.'">Vyhledávací databáze AoWoW</a></td></tr>');
     38    $Line = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `dictionary` WHERE (`Text` LIKE "%'.$Search.'%" OR `Description` LIKE "%'.$Search.'%") AND Language = 0'));
     39  echo('<tr><td><a href="dictionary.php?search='.$Search.'">Slovníček</a></td><td>'.$Line[0].'</td></tr>');
    4040 
    4141  echo('</table>');
     
    4545if(($Action == 'dbkit') and Licence(LICENCE_ADMIN))
    4646{
    47         echo ('<form action="?action=dbkit" method="post">');
    48         echo('Najít: <input type="text" name="find" /><br />');
    49         echo('Nahradit: <input type="text" name="replace" /><br />');
    50         echo('<input type="submit" value="Najít/nahradit" /><br />');
     47  echo ('<form action="?action=dbkit" method="post">');
     48  echo('Najít: <input type="text" name="find" /><br />');
     49  echo('Nahradit: <input type="text" name="replace" /><br />');
     50  echo('<input type="submit" value="Najít/nahradit" /><br />');
    5151    echo('</form><br />');
    52         echo ('<a href="?action=dbkit&amp;Take">Opravit data v sloupci Take</a><br />');
    53         echo ('<a href="?action=dbkit&amp;ShortCut">Opravit data v sloupci ShortCut</a><br />');
    54        
    55         echo ('<br /><form action="?action=dbkit" method="post">');
    56         echo('Vymazat log typ : <input type="text" name="Type" /> ');
    57         echo('<input type="submit" value="Vymazat" /><br />');
     52  echo ('<a href="?action=dbkit&amp;Take">Opravit data v sloupci Take</a><br />');
     53  echo ('<a href="?action=dbkit&amp;ShortCut">Opravit data v sloupci ShortCut</a><br />');
     54 
     55  echo ('<br /><form action="?action=dbkit" method="post">');
     56  echo('Vymazat log typ : <input type="text" name="Type" /> ');
     57  echo('<input type="submit" value="Vymazat" /><br />');
    5858    echo('</form><br />');
    5959
    6060    if (array_key_exists('Type',$_POST)) {
    61                         $sql = 'DELETE FROM log WHERE Type = '.$_POST['Type'];
    62                     $Database->SQLCommand($sql);
    63                         WriteLog('Vymazán log '.$_POST['Type'], 4);
    64                         echo (' Vymazán log '.$_POST['Type']);
     61        $sql = 'DELETE FROM log WHERE Type = '.$_POST['Type'];
     62        $Database->SQLCommand($sql);
     63      WriteLog('Vymazán log '.$_POST['Type'], 4);
     64        echo (' Vymazán log '.$_POST['Type']);
    6565    }
    6666   
    67         if (array_key_exists('find',$_POST)) {
    68         echo ('Začínám nahrazovat: <br />');
    69         $find = $_POST['find'];
    70         $replace = $_POST['replace'];
    71        
    72           foreach($TranslationTree as $Group) {
    73         $Table = $Group['TablePrefix'];
    74         echo ($Table.' ');
    75                
    76                 $sql = 'SELECT * FROM '.$Table.' WHERE (Language <> 0) AND (';
    77                 foreach($Group['Items'] as $Item) {
    78                         if($Item['Column'] != '') $sql .= '`'.$Item['Column'].'` LIKE "%'.$find.'%" OR ';
    79                 }
    80                 $sql = substr($sql,0,strlen($sql)-4);
    81                 $sql .= ')';
    82                
    83             $ID = $Database->SQLCommand($sql);
    84                 while ($Line = mysql_fetch_assoc($ID)) {
    85                         $sql = 'UPDATE '.$Table.' SET ';
    86                         foreach($Group['Items'] as $Item) {
    87                                 $Column_text = addslashes(str_replace($find,$replace,$Line[$Item['Column']]));
    88                                 $sql .= ' '.$Item['Column'].' = "'.$Column_text.'",';
    89                         }
    90                         $sql = substr($sql,0,strlen($sql)-1);
    91                         $sql .= ' WHERE ID = '.$Line['ID'];
    92                     $Database->SQLCommand($sql);
    93                     echo ('.');
    94                 }
    95                
    96                 echo (' <strong>Hotovo</strong> <br />');
    97                 if (mysql_num_rows($ID) > 0) {
    98                         WriteLog('Použita oprava DB ovlivněno '.mysql_num_rows($ID).' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"', 4);
    99                         echo (' Použita oprava DB ovlivněno '.mysql_num_rows($ID).' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"<br />');
    100                 }
    101           }
    102         }
    103        
    104         //oprava dat v sloupci Take
     67  if (array_key_exists('find',$_POST)) {
     68      echo ('Začínám nahrazovat: <br />');
     69      $find = $_POST['find'];
     70      $replace = $_POST['replace'];
     71     
     72    foreach($TranslationTree as $Group) {
     73      $Table = $Group['TablePrefix'];
     74      echo ($Table.' ');
     75   
     76    $sql = 'SELECT * FROM '.$Table.' WHERE (Language <> 0) AND (';
     77    foreach($Group['Items'] as $Item) {
     78      if($Item['Column'] != '') $sql .= '`'.$Item['Column'].'` LIKE "%'.$find.'%" OR ';
     79      }
     80      $sql = substr($sql,0,strlen($sql)-4);
     81      $sql .= ')';
     82     
     83      $ID = $Database->SQLCommand($sql);
     84      while ($Line = mysql_fetch_assoc($ID)) {
     85        $sql = 'UPDATE '.$Table.' SET ';
     86      foreach($Group['Items'] as $Item) {
     87        $Column_text = addslashes(str_replace($find,$replace,$Line[$Item['Column']]));
     88        $sql .= ' '.$Item['Column'].' = "'.$Column_text.'",';
     89        }
     90        $sql = substr($sql,0,strlen($sql)-1);
     91        $sql .= ' WHERE ID = '.$Line['ID'];
     92        $Database->SQLCommand($sql);
     93        echo ('.');
     94      }
     95   
     96      echo (' <strong>Hotovo</strong> <br />');
     97    if (mysql_num_rows($ID) > 0) {
     98      WriteLog('Použita oprava DB ovlivněno '.mysql_num_rows($ID).' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"', 4);
     99        echo (' Použita oprava DB ovlivněno '.mysql_num_rows($ID).' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"<br />');
     100    }
     101      }
     102  }
     103 
     104  //oprava dat v sloupci Take
    105105    if (array_key_exists('Take',$_GET)) {
    106         echo ('Začínám opravovat Take: <br />');
    107         
    108           foreach($TranslationTree as $Group) {
    109         $Table = $Group['TablePrefix'];
    110         echo ($Table.' ');
    111                
    112                 $sql = 'SELECT ID,entry as entry_tran, Take,
    113                 (SELECT ID FROM '.$Table.' WHERE Language = 0 AND entry = entry_tran LIMIT 1) as ID_orig
    114                   FROM '.$Table.' as tran WHERE (Language <> 0) AND ((Take = 0) OR (ID = Take) OR NOT EXISTS(SELECT 1 FROM '.$Table.' WHERE ID = tran.Take))';
    115                
    116             $ID = $Database->SQLCommand($sql);
    117                 while ($Line = mysql_fetch_assoc($ID)) {
    118                         $sql = 'UPDATE '.$Table.' SET Take = '.$Line['ID_orig'].' WHERE ID = '.$Line['ID'];
    119                     $Database->SQLCommand($sql);
    120                     echo ('.');
    121                 }
    122                
    123                 echo (' <strong>Hotovo</strong> <br />');
    124                 if (mysql_num_rows($ID) > 0) {
    125                         WriteLog('Použita oprava DB na sloupec Take '.mysql_num_rows($ID).' řádků z tabulky '.$Table, 4);
    126                         echo (' Použita oprava DB na sloupec Take '.mysql_num_rows($ID).' řádků z tabulky '.$Table.'<br />');
    127                 }
    128           }
    129         }       
    130         //oprava dat ShortCut
     106      echo ('Začínám opravovat Take: <br />');
     107    
     108    foreach($TranslationTree as $Group) {
     109      $Table = $Group['TablePrefix'];
     110      echo ($Table.' ');
     111   
     112    $sql = 'SELECT ID,entry as entry_tran, Take,
     113    (SELECT ID FROM '.$Table.' WHERE Language = 0 AND entry = entry_tran LIMIT 1) as ID_orig
     114      FROM '.$Table.' as tran WHERE (Language <> 0) AND ((Take = 0) OR (ID = Take) OR NOT EXISTS(SELECT 1 FROM '.$Table.' WHERE ID = tran.Take))';
     115     
     116      $ID = $Database->SQLCommand($sql);
     117      while ($Line = mysql_fetch_assoc($ID)) {
     118        $sql = 'UPDATE '.$Table.' SET Take = '.$Line['ID_orig'].' WHERE ID = '.$Line['ID'];
     119        $Database->SQLCommand($sql);
     120        echo ('.');
     121      }
     122   
     123      echo (' <strong>Hotovo</strong> <br />');
     124    if (mysql_num_rows($ID) > 0) {
     125      WriteLog('Použita oprava DB na sloupec Take '.mysql_num_rows($ID).' řádků z tabulky '.$Table, 4);
     126        echo (' Použita oprava DB na sloupec Take '.mysql_num_rows($ID).' řádků z tabulky '.$Table.'<br />');
     127    }
     128      }
     129  }
     130  //oprava dat ShortCut
    131131    if (array_key_exists('ShortCut',$_GET)) {
    132         echo ('Začínám opravovat Take: <br />');
    133                         
    134                        
    135                 $Tables = array ('global_strings','glue_strings');     
     132      echo ('Začínám opravovat Take: <br />');
     133        
     134     
     135    $Tables = array ('global_strings','glue_strings'); 
    136136
    137           foreach($Tables as $Table) {
    138         echo ($Table.' ');
    139                 $sql = 'SELECT gs_orig.ID, gs_tran.entry, gs_tran.ShortCut as ShortCut_tran, gs_orig.ShortCut  as ShortCut_orig FROM '.$Table.' as gs_tran JOIN '.$Table.' as gs_orig ON gs_orig.entry = gs_tran.entry WHERE gs_tran.Language <> 0 AND gs_tran.ShortCut <> gs_orig.ShortCut';           
    140             $ID = $Database->SQLCommand($sql);
    141                 while ($Line = mysql_fetch_assoc($ID)) {
    142                         $sql = 'UPDATE '.$Table.' SET ShortCut = '.$Line['ShortCut_orig'].' WHERE ID = '.$Line['ID'];
    143                     $Database->SQLCommand($sql);
    144                     echo ('.');
    145                 }
    146                
    147                 echo (' <strong>Hotovo</strong> <br />');
    148                 if (mysql_num_rows($ID) > 0) {
    149                         WriteLog('Použita oprava DB na sloupec ShortCut '.mysql_num_rows($ID).' řádků z tabulky '.$Table, 4);
    150                         echo (' Použita oprava DB na sloupec ShortCut '.mysql_num_rows($ID).' řádků z tabulky '.$Table.'<br />');
    151                 }
    152           }
    153         }       
     137    foreach($Tables as $Table) {
     138      echo ($Table.' ');
     139    $sql = 'SELECT gs_orig.ID, gs_tran.entry, gs_tran.ShortCut as ShortCut_tran, gs_orig.ShortCut  as ShortCut_orig FROM '.$Table.' as gs_tran JOIN '.$Table.' as gs_orig ON gs_orig.entry = gs_tran.entry WHERE gs_tran.Language <> 0 AND gs_tran.ShortCut <> gs_orig.ShortCut';     
     140      $ID = $Database->SQLCommand($sql);
     141      while ($Line = mysql_fetch_assoc($ID)) {
     142        $sql = 'UPDATE '.$Table.' SET ShortCut = '.$Line['ShortCut_orig'].' WHERE ID = '.$Line['ID'];
     143        $Database->SQLCommand($sql);
     144        echo ('.');
     145      }
     146   
     147      echo (' <strong>Hotovo</strong> <br />');
     148    if (mysql_num_rows($ID) > 0) {
     149      WriteLog('Použita oprava DB na sloupec ShortCut '.mysql_num_rows($ID).' řádků z tabulky '.$Table, 4);
     150        echo (' Použita oprava DB na sloupec ShortCut '.mysql_num_rows($ID).' řádků z tabulky '.$Table.'<br />');
     151    }
     152      }
     153  }
    154154}
    155155
     
    172172      Uživatel: ');
    173173    if(Licence(LICENCE_USER)) echo('<b>'.$_SESSION['User'].'</b><br />');
    174         else echo('<input type="text" name="user" /><br />');
     174  else echo('<input type="text" name="user" /><br />');
    175175    echo('Text zprávy: <br>
    176176      <textarea  onkeydown="ResizeTextArea(this)" name="text" cols="40"></textarea> <br />
     
    180180  {
    181181    if(Licence(LICENCE_USER)) $user = $_SESSION['User'];
    182         else die('Pro vkládaní musíte byt registrováni!');
     182  else die('Pro vkládaní musíte byt registrováni!');
    183183    $text = $_POST['text'];
    184184    $Database->SQLCommand("INSERT INTO `shoutbox` ( `user` , `text` , `date` , `IP` )
  • trunk/comparison.php

    r243 r286  
    1010  //TODO: barevné porovnání
    1111  //strcasecmp($String1, $String2) == 0 je totožné
    12   //    echo $String1.'<br /><br />';
     12  //  echo $String1.'<br /><br />';
    1313  $ArrStr1 = explode(' ', $String1);
    1414  $ArrStr2 = explode(' ', $String2);
    15                
     15   
    1616  for($i = 0; $i < count($ArrStr1); $i++)
    1717  {
    18         if(isset($ArrStr2[$i]))
    19         {
    20           if($ArrStr1[$i] == $ArrStr2[$i])
    21           {
    22                 echo($ArrStr1[$i].' ');
    23           } else
    24           {
    25                 $find = false;
    26                 for($j = 0; $j < count($ArrStr2); $j++)
    27                 {
    28                   if(($ArrStr1[$i] == $ArrStr2[$j]) and ($find == false))
    29                   {
    30                         echo($ArrStr1[$i].' ');
    31                         $find = true;
    32                   }
    33                 }
    34                 if($find == false)
    35                   echo('<span class="edit">'.$ArrStr1[$i].' </span>');
    36           }
    37         } else echo('<span class="edit">'.$ArrStr1[$i].' </span>');
     18    if(isset($ArrStr2[$i]))
     19    {
     20      if($ArrStr1[$i] == $ArrStr2[$i])
     21      {
     22        echo($ArrStr1[$i].' ');
     23      } else
     24      {
     25        $find = false;
     26        for($j = 0; $j < count($ArrStr2); $j++)
     27        {
     28          if(($ArrStr1[$i] == $ArrStr2[$j]) and ($find == false))
     29          {
     30            echo($ArrStr1[$i].' ');
     31            $find = true;
     32          }
     33        }
     34        if($find == false)
     35        echo('<span class="edit">'.$ArrStr1[$i].' </span>');
     36      }
     37    } else echo('<span class="edit">'.$ArrStr1[$i].' </span>');
    3838  }
    39   //    echo $ArrStr1[0];
     39  //  echo $ArrStr1[0];
    4040}
    4141
    42 if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
     42$GroupId = LoadGroupIdParameter();
    4343$Table = $TranslationTree[$GroupId]['TablePrefix'];
    4444
     
    4848  if((array_key_exists('ID1', $_GET)) and ($_GET['ID1'] <> -1))  //porovnání pouze 2 textů
    4949  {
    50         $TextID1 = $_GET['ID1']; 
    51         $TextID2 = $_GET['ID2']; 
    52         $WhereID = " AND (ID = $TextID1 OR ID = $TextID2 OR Language = 0)";     
     50    $TextID1 = $_GET['ID1']; 
     51    $TextID2 = $_GET['ID2']; 
     52    $WhereID = ' AND (ID = '.$TextID1.' OR ID = '.$TextID2.' OR Language = 0)';
    5353  } else $WhereID = '';
    5454
     
    5757  while($Line = mysql_fetch_assoc($DataID))
    5858  {
    59         $BuffLine[$i] = $Line;
    60         $i = $i + 1;   
     59    $BuffLine[$i] = $Line;
     60    $i = $i + 1;   
    6161  }
    6262 // if(!$Line) die('Překlad nenalezen.');
     
    7070  foreach($Line as $Index => $LineItem)
    7171  {
    72         $LineUser = mysql_fetch_array($Database->SQLCommand('SELECT * FROM user WHERE id = '.$LineItem['User']));
     72    $LineUser = mysql_fetch_array($Database->SQLCommand('SELECT * FROM user WHERE id = '.$LineItem['User']));
    7373    echo('<th>'.$LineUser['user'].'</th>');
    7474  }
     
    7878  foreach($Line as $Index => $LineItem)
    7979  {
    80         echo('<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['ID'].'">'.$LineItem['ID'].'</a></td>');
     80    echo('<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['ID'].'">'.$LineItem['ID'].'</a></td>');
    8181  }
    8282  echo('</tr>');
     
    8484  foreach($Line as $Index => $LineItem)
    8585  {
    86         echo('<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['Take'].'">'.$LineItem['Take'].'</a></td>');
     86    echo('<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['Take'].'">'.$LineItem['Take'].'</a></td>');
    8787  }
    8888  echo('</tr>');
     
    9090  foreach($Line as $Index => $LineItem)
    9191  {
    92         echo('<td>');
    93         WriteLanguagesWithoutSel($LineItem['Language']);
    94         echo('</td>');
     92    echo('<td>');
     93    WriteLanguagesWithoutSel($LineItem['Language']);
     94    echo('</td>');
    9595  }
    9696  echo('</tr>');
     
    9898  foreach($Line as $Index => $LineItem)
    9999  {
    100         echo('<td>');
    101         echo (GetVersionWOW($LineItem['VersionStart']).' - '.GetVersionWOW($LineItem['VersionEnd']));
    102         echo('</td>');
     100    echo('<td>');
     101    echo (GetVersionWOW($LineItem['VersionStart']).' - '.GetVersionWOW($LineItem['VersionEnd']));
     102    echo('</td>');
    103103  }
    104104  echo('</tr>');
    105105  foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
    106106  {         
    107         if($Line[0][$TextItem['Column']] <> '')
    108         {
    109           echo('<tr><th>'.$TextItem['Name'].'</th>');
    110           for($i = 0; $i < count($Line); $i++)
    111           {
    112         if($i > 0)
    113                 {
    114           echo('<td>');
    115           CompareString($Line[$i][$TextItem['Column']],$Line[$i - 1][$TextItem['Column']]);
    116                   echo('</td>');
    117                 } else echo('<td>'.$Line[$i][$TextItem['Column']].'</td>');
     107    if($Line[0][$TextItem['Column']] <> '')
     108    {
     109      echo('<tr><th>'.$TextItem['Name'].'</th>');
     110      for($i = 0; $i < count($Line); $i++)
     111      {
     112        if($i > 0)
     113        {
     114          echo('<td>');
     115          CompareString($Line[$i][$TextItem['Column']],$Line[$i - 1][$TextItem['Column']]);
     116          echo('</td>');
     117        } else echo('<td>'.$Line[$i][$TextItem['Column']].'</td>');
    118118      }
    119     echo ('</tr>');
     119      echo ('</tr>');
    120120    }
    121121  }
  • trunk/dictionary.php

    r284 r286  
    4141  foreach($TablesColumn as $Table => $Column)
    4242  { 
    43     $sql = 'SELECT ID,'.$Column.',(SELECT Name FROM '.$Table.' as T WHERE O.entry = T.entry AND Language <> 0 LIMIT 1) as tran FROM '.$Table.' as O WHERE ';
    44     $groupby = ' GROUP BY '.$Column;
     43    $sql = 'SELECT `ID`,'.$Column.',(SELECT `Name` FROM '.$Table.' AS `T` WHERE `O`.`entry` = `T`.`entry` AND `Language` <> 0 LIMIT 1) AS `tran` FROM `'.$Table.'` AS `O` WHERE ';
     44    $groupby = ' GROUP BY `'.$Column.'`';
    4545 
    4646    $ArrStr = explode(' ', $Text);
     
    8787}
    8888
    89 if(array_key_exists('Page', $_GET)) $_SESSION['Page'] = $_GET['Page'];
    90 else if(!array_key_exists('Page', $_SESSION)) $_SESSION['Page'] = 1;
     89ShowPage();
    9190
    9291if(!isset($_SESSION['language']))
     
    9493  if(Licence(LICENCE_USER))
    9594  {
    96     $DbResult = $Database->SQLCommand('SELECT Language FROM user WHERE ID='.$_SESSION['UserID']);
     95    $DbResult = $Database->SQLCommand('SELECT `Language` FROM `user` WHERE `ID`='.$_SESSION['UserID']);
    9796    $User = mysql_fetch_assoc($DbResult);
    9897    $_SESSION['language'] = $User['Language'];
    9998  } else $_SESSION['language'] = 1;
    10099}
    101 if(array_key_exists('language', $_GET)) $_SESSION['language'] = $_GET['language'];
    102 
    103 ShowPage();
     100if(array_key_exists('language', $_GET)) $_SESSION['language'] = LoadLanguageIdParameter();
    104101
    105102echo('<h3>Slovníček</h3>');
    106  
     103
    107104if(array_key_exists('group', $_GET))
    108105{   
    109   if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
     106  $GroupId = LoadGroupIdParameter();
    110107  if(array_key_exists('mode', $_GET)) $mode = $_GET['mode']; else $mode = 0; //0 = přesné názvy, 1=všechny názvy, 2=nepřeložené
    111108  $Table = $TranslationTree[$GroupId]['TablePrefix'];
     
    227224  echo($PageList['Output']);
    228225  echo('<table width="98%" class="BaseTable">
    229     <tr><th>'.$LanguageList[0]['Name'].'</th>
     226    <tr><th>Angličtina</th>
    230227    <th>'.$LanguageList[$_SESSION['language']]['Name'].'</th>
    231228    <th>Popis</th><th>Překladatel</th>');
     
    233230    echo('</tr>');
    234231  $ID = $Database->SQLCommand($sql_page);
    235   while ($Line = mysql_fetch_assoc($ID))
     232  while($Line = mysql_fetch_assoc($ID))
    236233  {
    237234    echo('<tr>
  • trunk/export/index.php

    r268 r286  
    77//php index.php "action=result" 'ExportSetting=a:10:{s:11:"users-order";s:838:",459,1,2,499,304,462,407,379,58,400,392,119,281,590,277,159,192,588,503,586,131,195,288,208,537,426,337,146,30,122,598,399,596,28,8,319,174,33,165,188,269,18,84,331,578,591,147,579,592,289,303,567,243,502,144,285,161,568,351,163,547,262,256,141,536,301,318,214,486,172,154,466,446,335,127,563,76,293,173,325,580,290,153,543,23,196,509,552,237,389,317,177,52,594,416,539,473,573,17,5,139,452,148,362,210,346,35,553,71,68,394,143,369,515,448,140,445,32,171,211,347,226,152,403,245,217,27,7,268,549,86,81,348,370,476,132,562,307,575,583,291,555,548,16,474,182,556,535,320,252,359,264,338,533,405,577,250,221,582,197,230,72,242,213,409,472,186,554,523,492,378,413,512,581,352,518,485,602,601,604,603,606,607,595,609,617,614,618,616,613,622,624,638,641,643,626,627,648,639,652,642,650,26,156,640,633,635,653,637,654,636,284,531,585,629,651,647";s:15:"users-selection";a:44:{i:0;s:3:"459";i:1;s:1:"1";i:2;s:1:"2";i:3;s:3:"499";i:4;s:3:"304";i:5;s:3:"462";i:6;s:3:"407";i:7;s:3:"379";i:8;s:3:"400";i:9;s:3:"281";i:10;s:3:"277";i:11;s:3:"159";i:12;s:3:"588";i:13;s:3:"503";i:14;s:3:"586";i:15;s:3:"131";i:16;s:3:"195";i:17;s:3:"288";i:18;s:3:"208";i:19;s:3:"537";i:20;s:3:"426";i:21;s:3:"337";i:22;s:3:"122";i:23;s:3:"319";i:24;s:3:"174";i:25;s:3:"165";i:26;s:3:"188";i:27;s:3:"269";i:28;s:2:"18";i:29;s:3:"331";i:30;s:3:"578";i:31;s:3:"579";i:32;s:3:"592";i:33;s:3:"567";i:34;s:3:"568";i:35;s:3:"446";i:36;s:3:"580";i:37;s:3:"362";i:38;s:3:"549";i:39;s:3:"562";i:40;s:3:"556";i:41;s:3:"618";i:42;s:3:"613";i:43;s:3:"622";}s:6:"groups";a:18:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";i:3;s:1:"4";i:4;s:1:"5";i:5;s:1:"6";i:6;s:1:"7";i:7;s:1:"8";i:8;s:2:"10";i:9;s:2:"11";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"14";i:13;s:2:"15";i:14;s:2:"16";i:15;s:2:"17";i:16;s:2:"18";i:17;s:2:"19";}s:10:"Diacritics";b:1;s:11:"language-cz";b:1;s:11:"language-sk";b:1;s:14:"language-other";b:0;s:6:"Export";s:11:"AoWoWImport";s:9:"language1";b:0;s:9:"language2";b:0;}'
    88
    9 if(!isset($_SERVER['REMOTE_ADDR']))
     9// Load commandline parameters
     10if(!array_key_exists('REMOTE_ADDR', $_SERVER))
    1011{
    1112  foreach($_SERVER['argv'] as $parameter)
     
    1415    {
    1516      $index = substr($parameter,0,strpos($parameter, '='));
    16           $parameter = substr($parameter,strpos($parameter, '=')+1);
    17           //echo ($index.'  ----  '.$parameter);
     17      $parameter = substr($parameter,strpos($parameter, '=')+1);
     18      //echo ($index.'  ----  '.$parameter);
    1819      $_GET[$index] = $parameter;
    1920    }
    20   }     
     21  } 
    2122}
    2223
     
    2425  if(array_key_exists('ExportSetting', $_COOKIE))
    2526    $_SESSION['ExportSetting'] = $_COOKIE['ExportSetting'];
    26         else $_SESSION['ExportSetting'] = '';
     27  else $_SESSION['ExportSetting'] = '';
    2728 
    2829setcookie('ExportSetting', $_SESSION['ExportSetting'], time() + 60 * 60 * 24 * 100);
     
    6970      unset($Addon_verses[count($Addon_verses) - 1]);
    7071      unset($Addon_verses[count($Addon_verses) - 1]);
    71           $result = '[';
    72           foreach($Addon_verses as $version) {
    73             $result .= "'".$version."',";
    74       }
    75           $result = substr($result,0,strlen($result)-1);
    76           $result .= "]";
    77         break;
     72    $result = '[';
     73    foreach($Addon_verses as $version) {
     74      $result .= "'".$version."',";
     75      }
     76    $result = substr($result,0,strlen($result)-1);
     77    $result .= "]";
     78  break;
    7879    case 'sources':
    7980      $dirs = scandir('../source', 1);
     
    8182      unset($dirs[count($dirs) - 1]);
    8283      unset($dirs[count($dirs) - 1]);
    83           $result = '[';
    84           foreach($dirs as $dir) {
    85             $result .= "'".$dir."',";
    86       }
    87           $result = substr($result,0,strlen($result)-1);
    88           $result .= "]";
    89         break;
     84    $result = '[';
     85    foreach($dirs as $dir) {
     86      $result .= "'".$dir."',";
     87      }
     88    $result = substr($result,0,strlen($result)-1);
     89    $result .= "]";
     90  break;
    9091    case 'sql':
    9192      $dirs = scandir('../source', 1);
     
    9394      unset($dirs[count($dirs) - 1]);
    9495      unset($dirs[count($dirs) - 1]);
    95           $result = '[';
    96           foreach($dirs as $dir) {
    97                 if ($TranslationTree[1]['LastVersion'] >= GetBuildNumber($dir))
    98               $result .= "'".$dir."',";
    99       }
    100           if ($result <> '[') $result = substr($result,0,strlen($result)-1);
    101           $result .= "]";
    102         break;
     96    $result = '[';
     97    foreach($dirs as $dir) {
     98    if ($TranslationTree[1]['LastVersion'] >= GetBuildNumber($dir))
     99        $result .= "'".$dir."',";
     100      }
     101    if ($result <> '[') $result = substr($result,0,strlen($result)-1);
     102    $result .= "]";
     103  break;
    103104    case 'DBC':
    104105      $sql = 'SELECT Version FROM wow_client_version WHERE DBCColumns_GameTips <> "" AND DBCColumns_Spell <> "" ORDER BY BuildNumber DESC';
    105106      $ID = $Database->SQLCommand($sql);
    106           $result = '[';
     107    $result = '[';
    107108      while($Line = mysql_fetch_assoc($ID))
    108109      {
    109             $result .= "'".$Line['Version']."',";
    110       }
    111           $result = substr($result,0,strlen($result)-1);
    112           $result .= "]";
    113         break;
     110      $result .= "'".$Line['Version']."',";
     111      }
     112    $result = substr($result,0,strlen($result)-1);
     113    $result .= "]";
     114  break;
    114115    case 'Lua':
    115116      $dirs = scandir('../source', 1);
    116           $result = '[';
    117           foreach($dirs as $dir) {
    118                 $ok = true;
     117    $result = '[';
     118    foreach($dirs as $dir) {
     119    $ok = true;
    119120        foreach($TranslationTree as $Group)
    120121        {
    121122          if(($Group['LuaFileName'] != '') and ($Group['TablePrefix'] != ''))
    122123          {
    123                     if ((file_exists('../source/'.$dir.'/lua/'.$Group['LuaFileName'].'.lua') == false))
    124                           $ok = false;
    125                   }
    126                 }
    127                 if ($ok) $result .= "'".$dir."',";
    128       }
    129           $result = substr($result,0,strlen($result)-1);
    130           $result .= "]";
    131         break;
     124        if ((file_exists('../source/'.$dir.'/lua/'.$Group['LuaFileName'].'.lua') == false))
     125        $ok = false;
     126      }
     127    }
     128    if ($ok) $result .= "'".$dir."',";
     129      }
     130    $result = substr($result,0,strlen($result)-1);
     131    $result .= "]";
     132  break;
    132133  }
    133134  return($result);
     
    138139  if ($str <> 'null')
    139140  {
    140     $str = substr($str,2,strlen($str)-4);
    141     $versions = explode("','",$str);
     141    $str = substr($str, 2, strlen($str) - 4);
     142    $versions = explode("','", $str);
    142143    foreach($versions as $version)
    143144    {
    144145      echo('<option value="'.$version.'"');
    145       if($Selected == $version) echo(' selected="selected"'); echo('>'.$version.'</option>');
     146      if($Selected == $version) echo(' selected="selected"');
     147      echo('>'.$version.'</option>');
    146148    }
    147149  }
     
    150152function WriteSetting($ExportSetting)
    151153{
    152         echo('<textarea rows="10" cols="100">'.serialize($ExportSetting).'</textarea><br />'.
    153         'Odkaz ke stažení s vlastním nastavením: '.
    154         '<a href="?action=output&amp;ExportSetting='.htmlspecialchars(serialize($ExportSetting)).'">Odkaz vlastního exportu</a><br />'.
    155         'I když se nastavení ukládá, pro jistotu si jej můžete uložit nebo poslat příteli.');
     154  echo('<textarea rows="10" cols="100">'.serialize($ExportSetting).'</textarea><br />'.
     155  'Odkaz ke stažení s vlastním nastavením: '.
     156  '<a href="?action=output&amp;ExportSetting='.htmlspecialchars(serialize($ExportSetting)).'">Odkaz vlastního exportu</a><br />'.
     157  'I když se nastavení ukládá, pro jistotu si jej můžete uložit nebo poslat příteli.');
    156158}
    157159
    158160if(array_key_exists('ExportSetting', $_GET))
    159161{
    160         $ExportSetting = unserialize(stripcslashes(stripcslashes($_GET['ExportSetting'])));
     162  $ExportSetting = unserialize(stripcslashes(stripcslashes($_GET['ExportSetting'])));
    161163} else
    162164{
    163         if(array_key_exists('UserID', $_SESSION) and ($_SESSION['UserID'] != ''))
    164         {
    165                 $DbResult = $Database->SQLCommand('SELECT ExportSetting FROM user WHERE ID='.$_SESSION['UserID']);
    166                 $DbRow = mysql_fetch_assoc($DbResult);
    167                 $ExportSetting = unserialize($DbRow['ExportSetting']);
    168 
    169   //print_r($_POST);
    170         } else $ExportSetting = unserialize($_SESSION['ExportSetting']);
     165  if(array_key_exists('UserID', $_SESSION) and ($_SESSION['UserID'] != ''))
     166  {
     167    $DbResult = $Database->SQLCommand('SELECT ExportSetting FROM user WHERE ID='.$_SESSION['UserID']);
     168    $DbRow = mysql_fetch_assoc($DbResult);
     169    $ExportSetting = unserialize($DbRow['ExportSetting']);
     170
     171    //print_r($_POST);
     172  } else $ExportSetting = unserialize($_SESSION['ExportSetting']);
    171173}
    172174if(!isset($ExportSetting['users-selection'])) $ExportSetting['users-selection'] = array();
     
    186188  foreach($FileList as $FileName)
    187189  {
    188         if(file_exists($Path.$FileName) and ($FileName != '.') and ($FileName != '..'))
    189           {
     190    if(file_exists($Path.$FileName) and ($FileName != '.') and ($FileName != '..'))
     191    {
    190192      //echo($Path.$FileName.'<br />');
    191             if(is_dir($Path.$FileName)) CreateZipFromDir($Zip, $Path.$FileName.'/', $ZipPath.$FileName.'/');
    192         else $Zip->addFile(file_get_contents($Path.$FileName), $ZipPath.$FileName);     
    193           }         
     193      if(is_dir($Path.$FileName)) CreateZipFromDir($Zip, $Path.$FileName.'/', $ZipPath.$FileName.'/');
     194        else $Zip->addFile(file_get_contents($Path.$FileName), $ZipPath.$FileName); 
     195    }         
    194196  }
    195197}
     
    201203    if (array_key_exists('Version',$_POST)) $ExportSetting['Version'] = $_POST['Version'];
    202204    if (array_key_exists('Export',$_POST)) $ExportSetting['Export'] = $_POST['Export'];
    203           switch($ExportSetting['Export'])
    204           {
    205             case 'MangosSQLCompressed':
     205    switch($ExportSetting['Export'])
     206    {
     207      case 'MangosSQLCompressed':
    206208        if(function_exists('gzcompress'))
    207209        {
    208                       $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/';
    209                       if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
     210          $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/';
     211          if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
    210212          $SaveFilename = $TempDir.'CzWoW_SQL.zip';
    211213          $SQLFilename = 'CzWoW_SQL.sql';       
     
    223225          '<a href="'.$SaveFilename.'">'.$SQLFilename.'</a><br />'.
    224226          '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.');
    225               break;
    226             case 'MangosSQLDirect':
     227        break;
     228      case 'MangosSQLDirect':
    227229        echo('Vygenerovaný SQL kód: <br /><pre class="SQLCode">');
    228230        echo(htmlspecialchars(ExportToMangosSQL($ExportSetting)));
    229231        echo('</pre>');
    230             break;
    231             case 'AoWoWSQLCompressed':
     232        break;
     233      case 'AoWoWSQLCompressed':
    232234        if(function_exists('gzcompress'))
    233235        {
    234                       $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/';
    235                       if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
     236          $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/';
     237          if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
    236238          $SaveFilename = $TempDir.'CzAoWoW_SQL.zip';
    237239          $SQLFilename = 'CzAoWoW_SQL.sql';       
     
    249251          '<a href="'.$SaveFilename.'">'.$SQLFilename.'</a><br />'.
    250252          '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.');
    251               break;
    252             case 'AoWoWSQLDirect':
     253        break;
     254      case 'AoWoWSQLDirect':
    253255        echo('Vygenerovaný SQL kód: <br /><pre class="SQLCode">');
    254256        echo(htmlspecialchars(ExportToAoWoWSQL($ExportSetting)));
    255257        echo('</pre>');
    256             break;
    257             case 'AoWoWImport':
    258                     require_once('../aowow/configs/config.php');
    259                   echo('<div style="font-size: xx-small;">');
     258        break;
     259      case 'AoWoWImport':
     260        require_once('../aowow/configs/config.php');
     261      echo('<div style="font-size: xx-small;">');
    260262        echo('Gewneruji SQL kód ');
    261263        $AoWoWSQL = ExportToAoWoWSQL($ExportSetting);
    262264        echo('<strong>Hotovo</strong><br />');
    263265
    264                     $Database->SelectDatabase($AoWoWconf['mangos']['db']);   
    265                     $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']);
     266        $Database->SelectDatabase($AoWoWconf['mangos']['db']);   
     267        $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']);
    266268       
    267                     echo('Aktualizuji aktuality ');
    268               $Database->SQLCommand("UPDATE `aowow_news` SET `text_loc0` = 'Poslední aktualizace dat ".Date ("d. n. Y, H:i:s")." ', `text_loc8` = 'Poslední aktualizace dat ".Date ("d. n. Y, H:i:s")." ' WHERE `aowow_news`.`id` =3");
     269        echo('Aktualizuji aktuality ');
     270        $Database->SQLCommand("UPDATE `aowow_news` SET `text_loc0` = 'Poslední aktualizace dat ".Date ("d. n. Y, H:i:s")." ', `text_loc8` = 'Poslední aktualizace dat ".Date ("d. n. Y, H:i:s")." ' WHERE `aowow_news`.`id` =3");
    269271        echo('<strong>Hotovo</strong><br />');
    270272
    271                   echo('Mažu dočasné soubory ');
    272                     $files = scandir('../aowow/cache/mangos');
    273                     foreach($files as $file)
    274         {
    275                             $end = substr($file, strlen($file) - 3);
    276                             if($end == 'aww') unlink('../aowow/cache/mangos/'.$file);
    277                     }
    278                     $files = scandir('../aowow/cache/templates/wowhead');
    279                     foreach($files as $file)
    280         {
    281                             $end = substr($file, strlen($file) - 3);
    282                             if ($end == 'php') unlink('../aowow/cache/templates/wowhead/'.$file);
    283                     }
     273        echo('Mažu dočasné soubory ');
     274        $files = scandir('../aowow/cache/mangos');
     275        foreach($files as $file)
     276        {
     277          $end = substr($file, strlen($file) - 3);
     278          if($end == 'aww') unlink('../aowow/cache/mangos/'.$file);
     279        }
     280        $files = scandir('../aowow/cache/templates/wowhead');
     281        foreach($files as $file)
     282        {
     283          $end = substr($file, strlen($file) - 3);
     284          if ($end == 'php') unlink('../aowow/cache/templates/wowhead/'.$file);
     285        }
    284286        echo ('<strong>Hotovo</strong><br />');
    285287
     
    288290        foreach($BufferArray as $Line)
    289291        {
    290                             if($Line <> '') $Database->SQLCommand($Line);
    291                             echo('. ');
    292                     }    
     292          if($Line <> '') $Database->SQLCommand($Line);
     293          echo('. ');
     294        }  
    293295        echo('<strong>Hotovo</strong><br />');
    294                
    295                     // TODO   aowow_itemenchantmet, aowow_char_titles, aowow_factions, aowow_itemset, aowow_spelldispeltype, aowow_spellmechanic, aowow_spellrange, aowow_zones
    296                                
    297                     $Database->SelectDatabase($Config['Database']['Database']);   
    298                     $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']);
    299                 echo('</div>');
     296   
     297        // TODO   aowow_itemenchantmet, aowow_char_titles, aowow_factions, aowow_itemset, aowow_spelldispeltype, aowow_spellmechanic, aowow_spellrange, aowow_zones
     298       
     299        $Database->SelectDatabase($Config['Database']['Database']);   
     300        $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']);
     301    echo('</div>');
    300302        WriteLog('Plnění AoWoW databáze překladem', 4);
    301             break;
    302             case 'XMLCompressed':
     303        break;
     304      case 'XMLCompressed':
    303305        if(function_exists('gzcompress'))
    304306        {
    305                       $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/';
    306                       if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
     307          $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/';
     308          if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
    307309          $SaveFilename = $TempDir.'CzWoW_XML.zip';
    308310          $SQLFilename = 'CzWoW_XML.sql';       
     
    321323          '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.');
    322324        break;
    323           case 'XMLDirect':
     325    case 'XMLDirect':
    324326        echo('Vygenerované XML: <br /><pre class="SQLCode">');
    325327        echo(htmlspecialchars(ExportToXML($ExportSetting)));
    326328        echo('</pre>');
    327             break;
    328           /*case 'Server':
    329             if(Licence(LICENCE_ADMIN))
    330                 {
    331                   $Buffer = ExportToMangosSQL($ExportSetting);
     329        break;
     330    /*case 'Server':
     331      if(Licence(LICENCE_ADMIN))
     332    {
     333      $Buffer = ExportToMangosSQL($ExportSetting);
    332334          $Database->SelectDatabase($Config['Database']['DatabaseMangos']);   
    333335          $BufferArray = explode("\n", $Buffer);
    334                   echo('Přenášení dat do serveru...<br />');
     336      echo('Přenášení dat do serveru...<br />');
    335337          foreach($BufferArray as $Line)
    336338          {
    337                         $Database->SQLCommand($Line);
    338                         echo('.');
    339                   }
     339      $Database->SQLCommand($Line);
     340      echo('.');
     341      }
    340342          echo("<br />Hotovo<br />");
    341                 } else echo('Nemáte oprávnění.');
    342             break;*/
    343           case 'Addon':
    344                         if(function_exists('gzcompress')) {
    345                         $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW-'.$ExportSetting['Version'].'/';
    346                         echo('Generování addonu...'.$ExportSetting['Export'].'<br />');
    347                         MakeAddon($ExportSetting);
    348                         $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Addon-'.$ExportSetting['Version'].'.zip';         
    349                         $Zip = new zipfile();
    350                                 CreateZipFromDir($Zip, $TempDir, 'CzWoW/');
    351                         $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');       
    352                         $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');     
    353                                 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc');     
    354                         $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');     
    355                                 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml');     
    356                                 $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');       
    357                                 $Buffer = $Zip->file();
    358                         file_put_contents($SaveFilename, $Buffer);
    359                                 echo('Hotovo<br /><br />');
    360                 } else echo('Funkce pro tvorbu Zip souboru není podporována!');
    361                         echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
    362                         'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
    363                         '</script>');
    364      
    365                         echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
    366                         '<a href="'.$SaveFilename.'">CzWoW_Addon-'.$ExportSetting['Version'].'.zip</a><br />'.
    367                         '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.');
    368                                 echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.');
    369             break;
    370           case 'VerseCZ':
     343    } else echo('Nemáte oprávnění.');
     344      break;*/
     345    case 'Addon':
     346      if(function_exists('gzcompress')) {
     347              $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW-'.$ExportSetting['Version'].'/';
     348            echo('Generování addonu...'.$ExportSetting['Export'].'<br />');
     349              MakeAddon($ExportSetting);
     350              $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Addon-'.$ExportSetting['Version'].'.zip';         
     351              $Zip = new zipfile();
     352          CreateZipFromDir($Zip, $TempDir, 'CzWoW/');
     353              $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'CzWoW/OptionsFrame.xml');
     354              $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'CzWoW/CzWoW.xml');
     355          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'CzWoW/CzWoW.toc');
     356              $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'CzWoW/CzWoW.lua');
     357          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'CzWoW/GameMenuFrame.xml');
     358          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'CzWoW/Localization.lua');
     359          $Buffer = $Zip->file();
     360              file_put_contents($SaveFilename, $Buffer);
     361            echo('Hotovo<br /><br />');
     362          } else echo('Funkce pro tvorbu Zip souboru není podporována!');
     363            echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
     364              'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 3000)'.
     365              '</script>');
     366     
     367            echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
     368              '<a href="'.$SaveFilename.'">CzWoW_Addon-'.$ExportSetting['Version'].'.zip</a><br />'.
     369              '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.');
     370        echo('<br /><strong>Použití ve hře</strong><br />Menu addonu ve hře vyvoláte povelem /czwow.');
     371      break;
     372    case 'VerseCZ':
    371373        if(function_exists('gzcompress'))
    372374        {
    373375          $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT verse FROM verseclient ORDER BY DATE DESC LIMIT 1'));
    374376          $TempDir = $Config['Web']['TempFolder'].'Addon/CzWoW/';
    375               echo('Generování addonu...<br />');
     377        echo('Generování addonu...<br />');
    376378          MakeAddon($ExportSetting);
    377379          MakeReadme($ExportSetting);
     
    379381          $SaveFilename = $Config['Web']['TempFolder'].'Addon/CzWoW_'.$Line['verse'].'.zip';         
    380382          $Zip = new zipfile();
    381                   CreateZipFromDir($Zip, $TempDir, 'Interface/AddOns/CzWoW/');
     383      CreateZipFromDir($Zip, $TempDir, 'Interface/AddOns/CzWoW/');
    382384          //addon
    383           $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'Interface/AddOns/CzWoW/OptionsFrame.xml');   
    384           $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'Interface/AddOns/CzWoW/CzWoW.xml'); 
    385                   $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'Interface/AddOns/CzWoW/CzWoW.toc'); 
    386           $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'Interface/AddOns/CzWoW/CzWoW.lua'); 
    387                   $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'Interface/AddOns/CzWoW/GameMenuFrame.xml'); 
    388                   $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'Interface/AddOns/CzWoW/Localization.lua');   
    389                   //fonty
    390           $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/FRIZQT__.ttf'), 'Fonts/FRIZQT__.ttf');     
    391           $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/MORPHEUS.ttf'), 'Fonts/MORPHEUS.ttf');     
    392           $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/SKURRI.ttf'), 'Fonts/SKURRI.ttf'); 
     385          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/OptionsFrame.xml'), 'Interface/AddOns/CzWoW/OptionsFrame.xml'); 
     386          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.xml'), 'Interface/AddOns/CzWoW/CzWoW.xml'); 
     387      $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.toc'), 'Interface/AddOns/CzWoW/CzWoW.toc'); 
     388          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/CzWoW.lua'), 'Interface/AddOns/CzWoW/CzWoW.lua'); 
     389      $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/GameMenuFrame.xml'), 'Interface/AddOns/CzWoW/GameMenuFrame.xml'); 
     390      $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/CzWoW/Localization.lua'), 'Interface/AddOns/CzWoW/Localization.lua'); 
     391      //fonty
     392          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/FRIZQT__.ttf'), 'Fonts/FRIZQT__.ttf'); 
     393          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/MORPHEUS.ttf'), 'Fonts/MORPHEUS.ttf'); 
     394          $Zip->addFile(file_get_contents('files/'.$ExportSetting['Version'].'/Fonts/SKURRI.ttf'), 'Fonts/SKURRI.ttf'); 
    393395          //readme
    394           $Zip->addFile(file_get_contents($Config['Web']['TempFolder'].'Addon/CzWoW/CZWOW-Readme.txt'), 'CZWOW-Readme.txt');   
    395                                        
    396                   $Buffer = $Zip->file();
     396          $Zip->addFile(file_get_contents($Config['Web']['TempFolder'].'Addon/CzWoW/CZWOW-Readme.txt'), 'CZWOW-Readme.txt'); 
     397             
     398      $Buffer = $Zip->file();
    397399          file_put_contents($SaveFilename, $Buffer);
    398400             WriteLog('Vytvořena verze češtiny pro clienta '.$Line['verse'], 4);
    399401
    400                   echo('Hotovo<br /><br />');
     402        echo('Hotovo<br /><br />');
    401403        } else echo('Funkce pro tvorbu Zip souboru není podporována!');
    402404             
    403405        echo('Odkaz ke stažení: '.
    404406          '<a href="'.$SaveFilename.'">'.$SaveFilename.'</a><br />');
    405             break;
    406           case 'DBC':
    407          
    408             echo('<br /><br /><br />U dbc souborů export textů funguje jinak, protože generování je náročné na výpočet provádí se přes noc kdy je server nejmíň vytížen. Nyní jste zadali úlohu, která se provede v noci. Zítra si můžete stáhnout vygenerovaný soubor v sekci <a href="../download.php">Stahování</a>.<br /><br />Dbc soubory je nutné zabalit do souboru patch-enGB-5.MPQ uvnitř složky "DBFilesClient" a hru spouštět přes wowme.exe. Zabalit to můžete pomocí programu <a href="../download/mpqediten32.zip">Ladik\'s MPQ Editor</a>. Stav vygenerování můžete sledovat na stránce <a href="../download.php">Stahování</a>, kde si také můžete zítra stáhnout soubor.<br /><br />');
    409          
     407      break;
     408    case 'DBC':
     409   
     410      echo('<br /><br /><br />U dbc souborů export textů funguje jinak, protože generování je náročné na výpočet provádí se přes noc kdy je server nejmíň vytížen. Nyní jste zadali úlohu, která se provede v noci. Zítra si můžete stáhnout vygenerovaný soubor v sekci <a href="../download.php">Stahování</a>.<br /><br />Dbc soubory je nutné zabalit do souboru patch-enGB-5.MPQ uvnitř složky "DBFilesClient" a hru spouštět přes wowme.exe. Zabalit to můžete pomocí programu <a href="../download/mpqediten32.zip">Ladik\'s MPQ Editor</a>. Stav vygenerování můžete sledovat na stránce <a href="../download.php">Stahování</a>, kde si také můžete zítra stáhnout soubor.<br /><br />');
     411   
    410412          //TODO: pouze jedna aktivní úloha na uživatele
    411413        $sql = 'SELECT * FROM tasks WHERE Active = 1 AND User = '.$_SESSION['UserID'];
    412414        $ID = $Database->SQLCommand($sql);
    413                 if (mysql_num_rows($ID) > 0)
    414                 {
    415                   echo ('Nemůžete zadat stejný požadavek dvakrát za den. Bylo pouze aktualizováno nastavení exportu!');
     415    if (mysql_num_rows($ID) > 0)
     416    {
     417      echo ('Nemůžete zadat stejný požadavek dvakrát za den. Bylo pouze aktualizováno nastavení exportu!');
    416418          $Database->SQLCommand('UPDATE `wowpreklad`.`tasks` SET `ExportSetting` = "'.addslashes(serialize($ExportSetting)).'" WHERE Active = 1 AND User = '.$_SESSION['UserID']);
    417             } else {
     419      } else {
    418420          $Database->SQLCommand('INSERT INTO `wowpreklad`.`tasks` (`User` ,`ExportSetting` ,`Date` ) VALUES ("'.$_SESSION['UserID'].'", "'.addslashes(serialize($ExportSetting)).'", NOW( ))');
    419                 }
    420                 WriteLog('Zadání úlohy pro vygenerování dbc souboru', 2);
    421            
    422          
    423           /*
     421    }
     422    WriteLog('Zadání úlohy pro vygenerování dbc souboru', 2);
     423     
     424   
     425    /*
    424426        if(function_exists('gzcompress'))
    425427        {
    426428          $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/dbc/';
    427               echo('Generování dbc souborů...<br />');
     429        echo('Generování dbc souborů...<br />');
    428430          ExportToDBC($ExportSetting);
    429431          $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_DBC.zip';         
    430432          $Zip = new zipfile();
    431           CreateZipFromDir($Zip, $TempDir, 'DBCClientFiles/');
    432               $Buffer = $Zip->file();
     433        CreateZipFromDir($Zip, $TempDir, 'DBCClientFiles/');
     434          $Buffer = $Zip->file();
    433435          file_put_contents($SaveFilename, $Buffer);
    434                   echo('Hotovo<br /><br />');
     436        echo('Hotovo<br /><br />');
    435437        } else echo('Funkce pro tvorbu Zip souboru není podporována!');
    436438        echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
     
    441443          '<a href="'.$SaveFilename.'">CzWoW_DBC.zip</a><br />'.
    442444          '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.');
    443                 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).');
    444                 */
    445        
    446             break;
    447           case 'Lua':
     445    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).');
     446    */
     447 
     448      break;
     449    case 'Lua':
    448450        if(function_exists('gzcompress'))
    449451        {
    450452          $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/lua/';
    451               echo('Generování lua souborů...<br />');
     453        echo('Generování lua souborů...<br />');
    452454          ExportToLUA($ExportSetting);
    453455          $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Lua.zip';         
    454456          $Zip = new zipfile();
    455           CreateZipFromDir($Zip, $TempDir, '');
    456               $Buffer = $Zip->file();
     457        CreateZipFromDir($Zip, $TempDir, '');
     458          $Buffer = $Zip->file();
    457459          file_put_contents($SaveFilename, $Buffer);
    458                   echo('Hotovo<br /><br />');
     460        echo('Hotovo<br /><br />');
    459461        } else echo('Funkce pro tvorbu Zip souboru není podporována!');
    460462        echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
     
    465467          '<a href="'.$SaveFilename.'">CzWoW_Lua.zip</a><br />'.
    466468          '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.');
    467                 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).');
    468             break;
    469         }                       
    470                 //statistika výstupu
    471                 if ($ExportSetting['Export'] <> 'AoWoWSQLDirect' and $ExportSetting['Export'] <> 'XMLDirect' and $ExportSetting['Export'] <> 'AoWoWImport' and $ExportSetting['Export'] <> 'MangosSQLDirect') {
    472                   echo '<br /><br />';
     469    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).');
     470      break;
     471  }     
     472    //statistika výstupu
     473    if ($ExportSetting['Export'] <> 'AoWoWSQLDirect' and $ExportSetting['Export'] <> 'XMLDirect' and $ExportSetting['Export'] <> 'AoWoWImport' and $ExportSetting['Export'] <> 'MangosSQLDirect') {
     474      echo '<br /><br />';
    473475          foreach($TranslationTree as $Group)
    474476          if($Group['TablePrefix'] != '' and (in_array($Group['Id'], $ExportSetting['groups'])))
    475                 echo('<div class="state-image"><img alt="'.$Group['TablePrefix'].'" src="../img_statistic.php?group='.$Group['Id'].'&amp;user='.$_SESSION['UserID'].'" title="statistika překladů '.$Group['Name'].'"/></div>');
     477          echo('<div class="state-image"><img alt="'.$Group['TablePrefix'].'" src="../img_statistic.php?group='.$Group['Id'].'&amp;user='.$_SESSION['UserID'].'" title="statistika překladů '.$Group['Name'].'"/></div>');
    476478        }
    477                
    478         WriteLog('Generování SQL výstupu: Typ exportu: <strong>'.$ExportSetting['Export'].'</strong>, Diakritika: <strong>'.$ExportSetting['Diacritics'].'</strong>', 2);
     479   
     480  WriteLog('Generování SQL výstupu: Typ exportu: <strong>'.$ExportSetting['Export'].'</strong>, Diakritika: <strong>'.$ExportSetting['Diacritics'].'</strong>', 2);
    479481    break;
    480482  case 'output':
     
    486488   
    487489    if(array_key_exists('ExportSetting', $_GET))
    488                   $ExportSetting = unserialize(stripcslashes(stripcslashes($_GET['ExportSetting'])));
     490      $ExportSetting = unserialize(stripcslashes(stripcslashes($_GET['ExportSetting'])));
    489491
    490492    echo('<strong>Krok 3. - Typ výstupu</strong><br /><br />');
    491493    echo('<form action="?action=result" method="post"><div>'.
    492             '<table><tr><td>'.
     494      '<table><tr><td>'.
    493495      '<fieldset><legend>Forma výstupu</legend>'.
    494496      RadioButton('Export', 'MangosSQLDirect', $ExportSetting['Export'] == 'MangosSQLDirect', 'UpdateVersion('.GetVersions('MangosSQLDirect').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - přímo zobrazit<br />'.
    495           RadioButton('Export', 'MangosSQLCompressed', $ExportSetting['Export'] == 'MangosSQLCompressed', 'UpdateVersion('.GetVersions('MangosSQLCompressed').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - komprimovaný soubor<br />'.
    496           RadioButton('Export', 'AoWoWSQLDirect', $ExportSetting['Export'] == 'AoWoWSQLDirect', 'UpdateVersion('.GetVersions('AoWoWSQLDirect').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - přímo zobrazit<br />'.
    497           RadioButton('Export', 'AoWoWSQLCompressed', $ExportSetting['Export'] == 'AoWoWSQLCompressed', 'UpdateVersion('.GetVersions('AoWoWSQLCompressed').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - komprimovaný soubor<br />'.
     497    RadioButton('Export', 'MangosSQLCompressed', $ExportSetting['Export'] == 'MangosSQLCompressed', 'UpdateVersion('.GetVersions('MangosSQLCompressed').',\''.$ExportSetting['Version'].'\')').'MaNGOS SQL - komprimovaný soubor<br />'.
     498    RadioButton('Export', 'AoWoWSQLDirect', $ExportSetting['Export'] == 'AoWoWSQLDirect', 'UpdateVersion('.GetVersions('AoWoWSQLDirect').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - přímo zobrazit<br />'.
     499    RadioButton('Export', 'AoWoWSQLCompressed', $ExportSetting['Export'] == 'AoWoWSQLCompressed', 'UpdateVersion('.GetVersions('AoWoWSQLCompressed').',\''.$ExportSetting['Version'].'\')').'AoWoW SQL - komprimovaný soubor<br />'.
    498500      RadioButton('Export', 'XMLDirect', $ExportSetting['Export'] == 'XMLDirect', 'UpdateVersion('.GetVersions('XMLDirect').',\''.$ExportSetting['Version'].'\')').'XML - přímo zobrazit<br />'.
    499           RadioButton('Export', 'XMLCompressed', $ExportSetting['Export'] == 'XMLCompressed', 'UpdateVersion('.GetVersions('XMLCompressed').',\''.$ExportSetting['Version'].'\')').'XML - komprimovaný soubor<br />'.
    500           RadioButton('Export', 'Addon', $ExportSetting['Export'] == 'Addon', 'UpdateVersion('.GetVersions('Addon').',\''.$ExportSetting['Version'].'\')').'Addon - komprimovaný soubor<br />'.
    501           RadioButton('Export', 'Lua', $ExportSetting['Export'] == 'Lua', 'UpdateVersion('.GetVersions('Lua').',\''.$ExportSetting['Version'].'\')').'Lua skripty - komprimovaný soubor<br />');
     501    RadioButton('Export', 'XMLCompressed', $ExportSetting['Export'] == 'XMLCompressed', 'UpdateVersion('.GetVersions('XMLCompressed').',\''.$ExportSetting['Version'].'\')').'XML - komprimovaný soubor<br />'.
     502    RadioButton('Export', 'Addon', $ExportSetting['Export'] == 'Addon', 'UpdateVersion('.GetVersions('Addon').',\''.$ExportSetting['Version'].'\')').'Addon - komprimovaný soubor<br />'.
     503    RadioButton('Export', 'Lua', $ExportSetting['Export'] == 'Lua', 'UpdateVersion('.GetVersions('Lua').',\''.$ExportSetting['Version'].'\')').'Lua skripty - komprimovaný soubor<br />');
    502504      if(Licence(LICENCE_USER)) {
    503505          echo(RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC', 'UpdateVersion('.GetVersions('DBC').',\''.$ExportSetting['Version'].'\')').'DBC - komprimovaný soubor (pouze přihlášení)<br />');
    504           } else {
    505                   echo ('  <span style="padding: 20px"> Pro export do souborů dbc musíte být přihlášen</span>');
    506           }
     506    } else {
     507      echo ('  <span style="padding: 20px"> Pro export do souborů dbc musíte být přihlášen</span>');
     508    }
    507509      if(Licence(LICENCE_ADMIN)) {
    508510       //   echo(RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC', 'UpdateVersion('.GetVersions('DBC').',\''.$ExportSetting['Version'].'\')').'DBC - komprimovaný soubor (pouze admin)<br />');
    509511          echo(RadioButton('Export', 'AoWoWImport', $ExportSetting['Export'] == 'AoWoWImport', 'UpdateVersion('.GetVersions('AoWoWImport').',\''.$ExportSetting['Version'].'\')').'Importovat do AoWoW (pouze admin)<br />');
    510               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 />');
    511       }
    512           //echo('
     512        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 />');
     513      }
     514    //echo('
    513515    echo('</fieldset>');
    514516    echo('<fieldset><legend>Dostupné verze výstupu</legend>');
    515         echo('<select id="Version" size="5" name="Version">');
    516         WriteOption(GetVersions($ExportSetting['Export']),$ExportSetting['Version']);
     517  echo('<select id="Version" size="5" name="Version">');
     518  WriteOption(GetVersions($ExportSetting['Export']),$ExportSetting['Version']);
    517519    echo('</select></fieldset>');
    518         echo('</td>');
    519         echo('<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 /><br />Poté zvolte pro kterou verzi hry mají být data získána. Pokud verze není přesná zvolte nejbližší.<br /><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 />');
    520         echo('</td></tr></table>');
    521         echo('<br /><input type="submit" value="Dokončit" />');
    522         echo('</div></form><br />');
    523         echo('<fieldset><legend>Nastavení exportu pro zálohování</legend>');
    524         WriteSetting($ExportSetting);   
    525         echo ('</fieldset>');
    526         break;
     520  echo('</td>');
     521  echo('<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 /><br />Poté zvolte pro kterou verzi hry mají být data získána. Pokud verze není přesná zvolte nejbližší.<br /><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 />');
     522  echo('</td></tr></table>');
     523  echo('<br /><input type="submit" value="Dokončit" />');
     524  echo('</div></form><br />');
     525  echo('<fieldset><legend>Nastavení exportu pro zálohování</legend>');
     526  WriteSetting($ExportSetting);   
     527  echo ('</fieldset>');
     528  break;
    527529  case 'parameters':
    528530    $ExportSetting['users-order'] = $_POST['users-order'];
    529531    $ExportSetting['users-selection'] = array();
    530532    $UsersList = explode(',', $_POST['users-order']);
    531         foreach($UsersList as $Index => $Item)
    532         {
    533           if(array_key_exists('user_'.$Item, $_POST)) $ExportSetting['users-selection'][] = $Item;
    534         }
    535         //if(array_key_exists('users', $_POST)) $ExportSetting['users'] = $_POST['users'];
     533  foreach($UsersList as $Index => $Item)
     534  {
     535    if(array_key_exists('user_'.$Item, $_POST)) $ExportSetting['users-selection'][] = $Item;
     536  }
     537  //if(array_key_exists('users', $_POST)) $ExportSetting['users'] = $_POST['users'];
    536538    echo('<strong>Krok 2. - Volba parametrů</strong><br /><br />');
    537539    echo('<form action="?action=output" method="post"><div>');
    538         echo('<table><tr><td>');
     540  echo('<table><tr><td>');
    539541    echo('<fieldset><legend>Jazyk</legend>'.
    540542      CheckBox('Diacritics', $ExportSetting['Diacritics'] == 'checked').'Včetně diakritiky<br /><br />'); 
     
    551553        echo(SelectOption($Group['Id'], $Group['Name'].' ('.$Group['TablePrefix'].')', in_array($Group['Id'], $ExportSetting['groups'])));
    552554
    553         echo('</select></fieldset><br /></td><td class="Description">Vyberte skupiny textů, z kterých bude sestaven export. Přidržením CTRL nebo SHIFT můžete provádět výběr více položek.</td></tr></table><input type="submit" value="Pokračovat" />');
    554         echo('</div></form>');
     555  echo('</select></fieldset><br /></td><td class="Description">Vyberte skupiny textů, z kterých bude sestaven export. Přidržením CTRL nebo SHIFT můžete provádět výběr více položek.</td></tr></table><input type="submit" value="Pokračovat" />');
     556  echo('</div></form>');
    555557    break;
    556558  default:
    557559    echo('<strong>Krok 1. - Výběr překladatelů</strong><br /><br />');
    558         echo('<script type="text/javascript" src="'.$Config['Web']['BaseURL'].'style/jquery.js"></script>
     560  echo('<script type="text/javascript" src="'.$Config['Web']['BaseURL'].'style/jquery.js"></script>
    559561<script type="text/javascript" src="'.$Config['Web']['BaseURL'].'style/jquery-ui.js"></script>
    560562<script type="text/javascript">
    561563$(document).ready(function()
    562564{
    563         $("#users-table").sortable({ items: "tr", sort: SortComplete });       
    564         $("#users-order").val($("#users-table").sortable(\'toArray\'));
     565  $("#users-table").sortable({ items: "tr", sort: SortComplete }); 
     566  $("#users-order").val($("#users-table").sortable(\'toArray\'));
    565567});
    566568
    567569function SortComplete()
    568570{
    569         $("#users-order").val($("#users-table").sortable(\'toArray\'));
     571  $("#users-order").val($("#users-table").sortable(\'toArray\'));
    570572}
    571573</script>');
     
    575577    $Joins = '';
    576578
    577         //řezení podle odkazu
    578                 if(array_key_exists('Order', $_GET)) $order = $_GET['Order'];
    579                 else  $order = 'T.TranslatedCount';
    580                 if(array_key_exists('Desc', $_GET)) $desc = $_GET['Desc'];
    581                 else  $desc = '';
    582                 if($desc == '') $desc = 'DESC'; else $desc = '';
    583                
     579  //řezení podle odkazu
     580    if(array_key_exists('Order', $_GET)) $order = $_GET['Order'];
     581    else  $order = 'T.TranslatedCount';
     582    if(array_key_exists('Desc', $_GET)) $desc = $_GET['Desc'];
     583    else  $desc = '';
     584    if($desc == '') $desc = 'DESC'; else $desc = '';
     585   
    584586    foreach($TranslationTree as $Group)
    585587      if($Group['TablePrefix'] != '')
    586588      {
    587             $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + ';
     589      $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + ';
    588590        $Joins .= ' LEFT JOIN (SELECT User, COUNT(User) as Count FROM `'.$Group['TablePrefix'].'` WHERE (Complete = 1) AND (Language <> 0) GROUP BY User) as T'.$Group['Id'].' ON user.ID=T'.$Group['Id'].'.User';
    589591      }
     
    591593    $ID = $Database->SQLCommand($Query);
    592594
    593         // Rebuild user order list
    594         $Users = array();
    595         while($Line = mysql_fetch_assoc($ID)) {
    596                 $Users[$Line['ID']] = $Line;
    597                 $UsersOrder[] = $Line['ID'];
    598         }
    599         //řazení podle posledního použitého
    600         if(!array_key_exists('Order', $_GET)) {
    601                 $UsersOrder = explode(',', $ExportSetting['users-order']);
    602                 foreach($Users as $User)
    603                         if(!in_array($User['ID'], $UsersOrder)) $UsersOrder[] = $User['ID'];
    604                 foreach($UsersOrder as $Index => $UserId)
    605                         if(!array_key_exists($UserId, $Users)) unset($UsersOrder[$Index]);
    606         }
    607         $ExportSetting['users-order'] = implode(',', $UsersOrder);
    608 
    609         if(array_key_exists('team', $_GET)) {
    610                 $ExportSetting['users-selection'] = array();
    611                 $Query = 'SELECT ID FROM user WHERE team = '.$_GET['team'];
     595  // Rebuild user order list
     596  $Users = array();
     597  while($Line = mysql_fetch_assoc($ID)) {
     598    $Users[$Line['ID']] = $Line;
     599    $UsersOrder[] = $Line['ID'];
     600  }
     601  //řazení podle posledního použitého
     602  if(!array_key_exists('Order', $_GET)) {
     603    $UsersOrder = explode(',', $ExportSetting['users-order']);
     604    foreach($Users as $User)
     605        if(!in_array($User['ID'], $UsersOrder)) $UsersOrder[] = $User['ID'];
     606    foreach($UsersOrder as $Index => $UserId)
     607        if(!array_key_exists($UserId, $Users)) unset($UsersOrder[$Index]);
     608  }
     609  $ExportSetting['users-order'] = implode(',', $UsersOrder);
     610
     611  if(array_key_exists('team', $_GET)) {
     612    $ExportSetting['users-selection'] = array();
     613    $Query = 'SELECT ID FROM user WHERE team = '.$_GET['team'];
    612614        $ID = $Database->SQLCommand($Query);
    613615        while($LineTeam = mysql_fetch_assoc($ID))
    614                         $ExportSetting['users-selection'][] = $LineTeam['ID'];
    615         }
    616 
    617 
    618         echo(' <input type="submit" value="Pokračovat" /> <span onclick="CheckAll()">'.CheckBox('CheckAll', False, 'CheckAll').' Zatrhnout vše</span> ');       
    619        
    620         echo('<table><tr><td>'.
    621         '<table class="BaseTable" id="users-table"><tr>
    622         <th><a href="?Order=user&amp;Desc='.$desc.'">Jméno</a></th>
    623         <th><a href="?Order=T.TranslatedCount&amp;Desc='.$desc.'" title="Počet přeložených textů">Překladů</a></th>
     616      $ExportSetting['users-selection'][] = $LineTeam['ID'];
     617  }
     618
     619
     620  echo(' <input type="submit" value="Pokračovat" /> <span onclick="CheckAll()">'.CheckBox('CheckAll', False, 'CheckAll').' Zatrhnout vše</span> ');
     621 
     622  echo('<table><tr><td>'.
     623  '<table class="BaseTable" id="users-table"><tr>
     624  <th><a href="?Order=user&amp;Desc='.$desc.'">Jméno</a></th>
     625  <th><a href="?Order=T.TranslatedCount&amp;Desc='.$desc.'" title="Počet přeložených textů">Překladů</a></th>
    624626    <th><a href="?Order=XP&amp;Desc='.$desc.'">Úroveň</a></th>
    625         <th></th></tr>');
    626         //print_r($UsersOrder);   
    627         // Show ordered user list 
     627  <th></th></tr>');
     628  //print_r($UsersOrder);   
     629  // Show ordered user list 
    628630    foreach($UsersOrder as $UserId)
    629           echo('<tr id="'.$UserId.'">
    630           <td><a href="'.$Config['Web']['BaseURL'].'/TranslationList.php?user='.$UserId.'&amp;action=userall" title="Zobrazit všechny jeho přeložené texty">'.$Users[$UserId]['user'].'</a></td>
    631           <td>'.$Users[$UserId]['TranslatedCount'].'</td>
     631    echo('<tr id="'.$UserId.'">
     632    <td><a href="'.$Config['Web']['BaseURL'].'/TranslationList.php?user='.$UserId.'&amp;action=userall" title="Zobrazit všechny jeho přeložené texty">'.$Users[$UserId]['user'].'</a></td>
     633    <td>'.$Users[$UserId]['TranslatedCount'].'</td>
    632634      <td><img src="'.$Config['Web']['TempFolder'].$Users[$UserId]['user'].'/level.png" alt="Úroveň uživatele" /></td>
    633           <td>'.CheckBox('user_'.$UserId, in_array($UserId, $ExportSetting['users-selection']), '', 'CheckBox').'</td></tr>');
     635    <td>'.CheckBox('user_'.$UserId, in_array($UserId, $ExportSetting['users-selection']), '', 'CheckBox').'</td></tr>');
    634636    echo('</table></td><td class="Description">Zvolte ze seznamu uživatele, od kterých chcete načítat překlady a upravte jejich pořadí, takže od uživatelů výše budou brány překlady přednostně.<br />'.
    635           'Řádky v tabulce můžete přesouvat metodou uchop a táhni.'.
     637    'Řádky v tabulce můžete přesouvat metodou uchop a táhni.'.
    636638      '</td></tr></table>'.
    637           '<div><input name="users-order" id="users-order" size="100" type="hidden" /><br />');
    638         echo('<input type="submit" value="Pokračovat" /></div>');
    639         echo('</div></form>');
     639    '<div><input name="users-order" id="users-order" size="100" type="hidden" /><br />');
     640  echo('<input type="submit" value="Pokračovat" /></div>');
     641  echo('</div></form>');
    640642    break;
    641643}
  • trunk/form.php

    r243 r286  
    55ShowPage();
    66
    7 if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
     7$GroupId = LoadGroupIdParameter();
    88$Table = $TranslationTree[$GroupId]['TablePrefix'];
    99if(array_key_exists('action', $_GET)) $Action = $_GET['action']; else $Action = '';
     
    1111if(array_key_exists('ID', $_GET))
    1212{
    13   $TextID = $_GET['ID']
     13  $TextID = $_GET['ID'] * 1
    1414
    1515  $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT * FROM '.$Table.' Where ID = '.$TextID));
     
    4242    echo(' <b>Anglická, původní verze</b> ');
    4343  }
    44         echo('<br />');
    45         echo ('Verze: <b>'.GetVersionWOW($Line['VersionStart']).' - '.GetVersionWOW($Line['VersionEnd'].'</b>'));
    46         echo('<br />');
     44  echo('<br />');
     45  echo ('Verze: <b>'.GetVersionWOW($Line['VersionStart']).' - '.GetVersionWOW($Line['VersionEnd'].'</b>'));
     46  echo('<br />');
    4747   
    4848  $version = mysql_fetch_array($Database->SQLCommand('SELECT count(*) FROM '.$Table.' Where entry = '.$Line['entry'].' AND Language <> 0'));
     
    5050  {
    5151    echo('<form action="comparison.php" method="get"><a href="TranslationList.php?group='.$GroupId.'&amp;action=searchentry&amp;ID='.$Line['entry'].'">Počet verzí: <strong>'.$version['count(*)'].'</strong></a> 
    52             <input type="hidden" name="group" value="'.$GroupId.'" />
    53             <input type="hidden" name="entry" value="'.$Line['entry'].'" />
    54         <input type="hidden" name="ID2" value="'.$TextID.'" />
    55         <select onchange="this.form.submit();" name="ID1">
    56         <option value="-1">Vyberte text k porovnání</option>
    57         <option value="-1">Zobrazit/porovnat všechny</option>');
    58         $DataID = $Database->SQLCommand('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User  FROM '.$Table.' WHERE (entry = '.$Line['entry'].') AND (ID <> '.$Line['ID'].')'); 
    59         while($version = mysql_fetch_array($DataID))
    60         {     
    61                 if ($version['ID'] == $Line['Take']) echo('<option value="'.$version['ID'].'">'.$version['ID'].' - '.$version['User'].' (převzato)</option>');   
    62         else {
    63                   if (0 == $version['Language']) $version['User'] = 'Předloha';
    64                   echo('<option value="'.$version['ID'].'">'.$version['ID'].' - '.$version['User'].' ('.GetVersionWOW($version['VersionStart']).' - '.GetVersionWOW($version['VersionEnd']).')</option>');
    65                 }
     52      <input type="hidden" name="group" value="'.$GroupId.'" />
     53      <input type="hidden" name="entry" value="'.$Line['entry'].'" />
     54      <input type="hidden" name="ID2" value="'.$TextID.'" />
     55      <select onchange="this.form.submit();" name="ID1">
     56      <option value="-1">Vyberte text k porovnání</option>
     57      <option value="-1">Zobrazit/porovnat všechny</option>');
     58  $DataID = $Database->SQLCommand('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User  FROM '.$Table.' WHERE (entry = '.$Line['entry'].') AND (ID <> '.$Line['ID'].')'); 
     59    while($version = mysql_fetch_array($DataID))
     60    {     
     61      if ($version['ID'] == $Line['Take']) echo('<option value="'.$version['ID'].'">'.$version['ID'].' - '.$version['User'].' (převzato)</option>');   
     62      else {
     63      if (0 == $version['Language']) $version['User'] = 'Předloha';
     64      echo('<option value="'.$version['ID'].'">'.$version['ID'].' - '.$version['User'].' ('.GetVersionWOW($version['VersionStart']).' - '.GetVersionWOW($version['VersionEnd']).')</option>');
     65    }
    6666     }
    67      echo('</select></form>');         
     67     echo('</select></form>');   
    6868  } else
    6969  {
    70           echo('<a href="TranslationList.php?group='.$GroupId.'&amp;action=searchentry&amp;ID='.$Line['entry'].'">Počet verzí: <strong>'.$version['count(*)'].'</strong></a>');
     70      echo('<a href="TranslationList.php?group='.$GroupId.'&amp;action=searchentry&amp;ID='.$Line['entry'].'">Počet verzí: <strong>'.$version['count(*)'].'</strong></a>');
    7171  }
    7272
     
    7575  if(Licence(LICENCE_USER))
    7676  {
    77         if(($GroupId < 4) or ($GroupId == 10) or ($GroupId == 11)) echo ('<a href="dictionary.php?group='.$GroupId.'&amp;ID='.$LineAJ['ID'].'" target="_blank"  title="Zobrazit přeložené názvy věci, postav, a herních objektů k tomuto překladu">Vyhledat v názvech</a>');
     77    if(($GroupId < 4) or ($GroupId == 10) or ($GroupId == 11)) echo ('<a href="dictionary.php?group='.$GroupId.'&amp;ID='.$LineAJ['ID'].'" target="_blank"  title="Zobrazit přeložené názvy věci, postav, a herních objektů k tomuto překladu">Vyhledat v názvech</a>');
    7878    echo(' <input type="submit" value="Uložit do rozepsaných" name="save" title="Klikněte na uložit pro pozdější dokončení překladu" />
    7979    <input type="submit" value="Dokončeno" name="End" title="Klikněte na Dokončeno jesli jsou všechny texty hotové a chcete již publikovat" /> ');
     
    113113  {         
    114114    if(($LineAJ[$TextItem['Column']] <> '') or ($Line[$TextItem['Column']] <> ''))  {
    115         if ($TextItem['Name'] == 'Text' AND (($Table == 'global_strings') OR ($Table == 'glue_strings')))
    116                 echo('<tr><th>'.$LineAJ['ShortCut'].'</th>');
    117         else
    118                 echo('<tr><th>'.$TextItem['Name'].'</th>');
    119         echo ('<td>'.htmlspecialchars($LineAJ[$TextItem['Column']]).'</td>
     115      if ($TextItem['Name'] == 'Text' AND (($Table == 'global_strings') OR ($Table == 'glue_strings')))
     116        echo('<tr><th>'.$LineAJ['ShortCut'].'</th>');
     117      else
     118        echo('<tr><th>'.$TextItem['Name'].'</th>');
     119        echo ('<td>'.htmlspecialchars($LineAJ[$TextItem['Column']]).'</td>
    120120      <td><textarea rows="8" cols="40" onkeydown="ResizeTextArea(this)" class="textedit" id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'">'.htmlspecialchars($Line[$TextItem['Column']]).'</textarea></td></tr>');
    121121    }
    122122  } else
    123123  {
    124         echo('<input id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'" type="hidden" value="'.htmlspecialchars($Line[$TextItem['Column']]).'" />');
     124  echo('<input id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'" type="hidden" value="'.htmlspecialchars($Line[$TextItem['Column']]).'" />');
    125125  }
    126126  echo('</table></div></form>');
  • trunk/img_statistic.php

    r256 r286  
    66$FontFile = 'images/FRIZQT__.ttf';
    77$TranslationTree = GetTranslationTree();
    8 $Group = $TranslationTree[$_GET['group']];
    9 if (array_key_exists('team', $_GET)) {
    10         $team = ' AND User IN (SELECT ID FROM user WHERE team = '.$_GET['team'].')';
     8$GroupId = LoadGroupIdParameter();
     9$Group = $TranslationTree[$GroupId];
     10if(array_key_exists('team', $_GET))
     11{
     12  $team = ' AND `User` IN (SELECT `ID` FROM `user` WHERE `team` = '.$_GET['team'].')';
    1113} else $team = '';
    12 if (array_key_exists('language', $_GET)) {
    13         $language = ' AND Language = '.$_GET['language'].'';
     14if(array_key_exists('language', $_GET))
     15{
     16  $language = ' AND `Language` = '.$_GET['language'].'';
    1417} else $language = '';
    15 if (array_key_exists('user', $_GET)) {
    16     $DbResult = $Database->SQLCommand('SELECT user,ExportSetting FROM `user` WHERE ID='.$_GET['user']);
    17     $User = mysql_fetch_assoc($DbResult);
    18         $ExportSetting = unserialize($User['ExportSetting']);
    19         $SelectedUsers = '';
    20     foreach($ExportSetting['users-selection'] as $Item)
    21       $SelectedUsers .= ','.$Item;
    22     $SelectedUsers = substr($SelectedUsers, 1);
    23         $user_sql = ' AND User IN ('.$SelectedUsers.')';
     18if(array_key_exists('user', $_GET))
     19{
     20  $DbResult = $Database->SQLCommand('SELECT `user`,`ExportSetting` FROM `user` WHERE ID='.$_GET['user']);
     21  $User = mysql_fetch_assoc($DbResult);
     22  $ExportSetting = unserialize($User['ExportSetting']);
     23  $SelectedUsers = '';
     24  foreach($ExportSetting['users-selection'] as $Item)
     25    $SelectedUsers .= ','.$Item;
     26  $SelectedUsers = substr($SelectedUsers, 1);
     27  $user_sql = ' AND `User` IN ('.$SelectedUsers.')';
    2428} else $user_sql = '';
    2529
    26 $ID = mysql_fetch_row($Database->SQLCommand('SELECT max(VersionEnd) FROM '.$Group['TablePrefix']));
     30$ID = mysql_fetch_row($Database->SQLCommand('SELECT MAX(`VersionEnd`) FROM '.$Group['TablePrefix']));
    2731$BuildNumber_max = $ID[0];
    2832
    29 $where = 'VersionEnd = '.$BuildNumber_max.' AND (Language <> 0) AND (Complete = 1) '.$team.$language.$user_sql;
    30 $ID = mysql_fetch_row($Database->SQLCommand('SELECT count(distinct(entry)) FROM '.$Group['TablePrefix'].' WHERE '.$where));
     33$where = 'VersionEnd = '.$BuildNumber_max.' AND (`Language` <> 0) AND (`Complete` = 1) '.$team.$language.$user_sql;
     34$ID = mysql_fetch_row($Database->SQLCommand('SELECT count(distinct(`entry`)) FROM '.$Group['TablePrefix'].' WHERE '.$where));
    3135$NumberTranslate = $ID[0];
    3236 
    33 $ID = mysql_fetch_row($Database->SQLCommand('SELECT count(distinct(entry)) FROM '.$Group['TablePrefix'].' WHERE VersionEnd = '.$BuildNumber_max.' AND (Language = 0)'));
     37$ID = mysql_fetch_row($Database->SQLCommand('SELECT count(distinct(`entry`)) FROM '.$Group['TablePrefix'].' WHERE `VersionEnd` = '.$BuildNumber_max.' AND (`Language` = 0)'));
    3438$NumberAJ = $ID[0];
    3539
    36 $ID = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM log WHERE Type = 1 AND date >= CURRENT_DATE - INTERVAL '.$Days.' DAY
    37  AND text LIKE "%'.$Group['Name'].'%"'));
     40$ID = mysql_fetch_row($Database->SQLCommand('SELECT count(*) FROM `log` WHERE `Type` = 1 AND `date` >= CURRENT_DATE - INTERVAL '.$Days.' DAY
     41 AND `text` LIKE "%'.$Group['Name'].'%"'));
    3842$NumberPerDay = $ID[0]; //date ("Y-m-d H:i:s")
    3943
    40 if($NumberAJ > 0) $Percent = ($NumberTranslate / $NumberAJ) * 100; else $Percent = 0;
     44if($NumberAJ > 0) $Percent = ($NumberTranslate / $NumberAJ) * 100;
     45  else $Percent = 0;
    4146$Percent = substr($Percent, 0, 5);
    4247
     
    5156imagefilledrectangle($Image, 0, 0, $PercentBar, 59, $Color2);
    5257$FontSize = 10;
    53 if (($NumberPerDay > 0) and ($team == '') and ($language == '') and ($user_sql == '') and ($NotTran>0)) {
    54         $TimeToTranslate = ($NotTran  / $NumberPerDay)* $Days;
    55         ImageTTFText($Image, $FontSize, 0, 5, 13, $Color3, $FontFile, 'Čas do dokončení');
    56         ImageTTFText($Image, $FontSize, 0, 5, 29, $Color3, $FontFile, getmonthyears($TimeToTranslate) );
     58if(($NumberPerDay > 0) and ($team == '') and ($language == '') and ($user_sql == '') and ($NotTran > 0))
     59{
     60  $TimeToTranslate = ($NotTran  / $NumberPerDay) * $Days;
     61  ImageTTFText($Image, $FontSize, 0, 5, 13, $Color3, $FontFile, 'Čas do dokončení');
     62  ImageTTFText($Image, $FontSize, 0, 5, 29, $Color3, $FontFile, getmonthyears($TimeToTranslate));
    5763}
    58 if ($user_sql <> '') {
    59         ImageTTFText($Image, $FontSize, 0, 5, 13, $Color3, $FontFile, 'Statistika výběru');
    60         ImageTTFText($Image, $FontSize, 0, 5, 29, $Color3, $FontFile, 'uživatele: '.$User['user'] );
     64if($user_sql <> '')
     65{
     66  ImageTTFText($Image, $FontSize, 0, 5, 13, $Color3, $FontFile, 'Statistika výběru');
     67  ImageTTFText($Image, $FontSize, 0, 5, 29, $Color3, $FontFile, 'uživatele: '.$User['user'] );
    6168}
    6269ImageTTFText($Image, $FontSize, 0, 140, 13, $Color3, $FontFile, $NumberTranslate.'/'.$NumberAJ);
     
    6471ImageTTFText($Image, $FontSize, 0, 140, 29, $Color3, $FontFile, $Percent.'%');
    6572$FontSize = 6;
    66 ImageTTFText($Image, $FontSize, 0, 240, 28, $Color3, $FontFile, 'Aktualizace: '.date("m.d.y  H:i"));
     73ImageTTFText($Image, $FontSize, 0, 240, 28, $Color3, $FontFile, 'Aktualizace: '.date('m.d.y  H:i'));
    6774
    68 Header("Content-type: image/png");
     75Header('Content-type: image/png');
    6976ImagePNG($Image);
    7077ImageDestroy($Image);
  • trunk/includes/global.php

    r284 r286  
    183183function ShowPage()
    184184{
    185   global $Config, $Database, $RSSChannels
     185  global $Config, $Database, $RSSChannels, $PageFooterRequested
    186186 
    187187  echo('<?xml version="1.0" encoding="'.$Config['Web']['Charset'].'"?>
     
    208208</table>');
    209209
    210 if(!array_key_exists('UserID', $_SESSION)) $_SESSION['UserID'] = '';
    211 if(!array_key_exists('User', $_SESSION)) $_SESSION['User'] = 'NotRegistred';
    212 if(!array_key_exists('Pass', $_SESSION)) $_SESSION['Pass'] = '';
    213 
    214 
    215 //odhlášení
    216 if(array_key_exists('Logout', $_GET))
    217 {
    218   WriteLog('Odhlášení', 3);
    219   if(is_numeric($_SESSION['UserID']))
    220     $Database->SQLCommand('UPDATE user SET LastLogout = NOW() WHERE ID = '.$_SESSION['UserID']);
    221   $_SESSION['User'] = '';
    222   $_SESSION['Pass'] = '';
    223   $_SESSION['UserID'] = '';
    224 }
    225 
    226 // Přihlášení
    227 if(array_key_exists('LoginUser', $_POST))
    228 {
    229   $_SESSION['User'] = $_POST['LoginUser'];
    230   $_SESSION['Pass'] = $_POST['LoginPass'];
    231 
    232   $Line = mysql_fetch_array($Database->SQLCommand('SELECT * FROM user WHERE LOWER(user) = LOWER("'.$_SESSION['User'].'") AND pass = sha1("'.$_SESSION['Pass'].'")'));
    233   if(!$Line)
    234   {
    235      echo('<script> alert("Jméno nebo heslo bylo zadáno špatně!"); </script>');
    236      $_SESSION['UserID'] = '';
    237      $_SESSION['User'] = '';
    238      $_SESSION['Pass'] = '';
    239   } else
    240   {
    241     $_SESSION['UserID'] = $Line['ID'];
    242     $_SESSION['User'] = $Line['user'];
    243     WriteLog('Login: '.$_SESSION['User'], 3);
    244   }
    245 }
     210  if(!array_key_exists('UserID', $_SESSION)) $_SESSION['UserID'] = '';
     211  if(!array_key_exists('User', $_SESSION)) $_SESSION['User'] = 'NotRegistred';
     212  if(!array_key_exists('Pass', $_SESSION)) $_SESSION['Pass'] = '';
     213
     214
     215  // Odhlášení
     216  if(array_key_exists('Logout', $_GET))
     217  {
     218    WriteLog('Odhlášení', 3);
     219    if(is_numeric($_SESSION['UserID']))
     220      $Database->SQLCommand('UPDATE user SET LastLogout = NOW() WHERE ID = '.$_SESSION['UserID']);
     221    $_SESSION['User'] = '';
     222    $_SESSION['Pass'] = '';
     223    $_SESSION['UserID'] = '';
     224  }
     225
     226  // Přihlášení
     227  if(array_key_exists('LoginUser', $_POST))
     228  {
     229    $_SESSION['User'] = $_POST['LoginUser'];
     230    $_SESSION['Pass'] = $_POST['LoginPass'];
     231
     232    $Line = mysql_fetch_array($Database->SQLCommand('SELECT * FROM user WHERE LOWER(user) = LOWER("'.$_SESSION['User'].'") AND pass = sha1("'.$_SESSION['Pass'].'")'));
     233    if(!$Line)
     234    {
     235       echo('<script> alert("Jméno nebo heslo bylo zadáno špatně!"); </script>');
     236       $_SESSION['UserID'] = '';
     237       $_SESSION['User'] = '';
     238       $_SESSION['Pass'] = '';
     239    } else
     240    {
     241      $_SESSION['UserID'] = $Line['ID'];
     242      $_SESSION['User'] = $Line['user'];
     243      WriteLog('Login: '.$_SESSION['User'], 3);
     244    }
     245  }
    246246
    247247  //záznam o aktivitě
     
    258258  ShowSearchBox();
    259259  echo('</td><td id="border-left"></td><td class="content">');
     260  $PageFooterRequested = true;
    260261}
    261262
     
    277278function ShowFooter()
    278279{
    279   global $Database, $Config, $ScriptStartTime;
    280 
    281   $ScriptGenerateDuration = round(GetMicrotime() - $ScriptStartTime, 2);
    282 
    283   echo('</td>');
    284   echo('<td class="menu2">');
    285   ShowTranslatedMenu();
    286   echo('<br />');
    287   ShowShoutBox();
    288   echo('</td>'.
     280  global $Database, $Config, $ScriptStartTime, $PageFooterRequested;
     281
     282  if(isset($PageFooterRequested))
     283  {
     284    $ScriptGenerateDuration = round(GetMicrotime() - $ScriptStartTime, 2);
     285
     286    echo('</td>');
     287    echo('<td class="menu2">');
     288    ShowTranslatedMenu();
     289    echo('<br />');
     290    ShowShoutBox();
     291    echo('</td>'.
    289292  '</tr><tr>'.
    290293  '<td colspan="4" class="page-bottom">Autoři: maron, chronos &nbsp; <a href="http://wowpreklad.zdechov.net/trac/wowpreklad/browser/trunk">Zdrojové soubory</a> &nbsp; '.
     
    297300    </script>');
    298301
    299   echo('</td></tr>');
    300   if($Config['Web']['ShowRuntimeInfo'] == true) echo('<tr><td colspan="3" style="text-align: center;">Doba generování: '.$ScriptGenerateDuration.' s / '.ini_get('max_execution_time').' s &nbsp;&nbsp; Použitá paměť: '.HumanSize(memory_get_peak_usage(FALSE)).' / '.ini_get('memory_limit').'B</td></tr>');
    301   echo('</table>'.
    302     '</body>'.
    303     '</html>');
    304   $Database->Disconnect();
     302    echo('</td></tr>');
     303    if($Config['Web']['ShowRuntimeInfo'] == true) echo('<tr><td colspan="3" style="text-align: center;">Doba generování: '.$ScriptGenerateDuration.' s / '.ini_get('max_execution_time').' s &nbsp;&nbsp; Použitá paměť: '.HumanSize(memory_get_peak_usage(FALSE)).' / '.ini_get('memory_limit').'B</td></tr>');
     304    echo('</table>'.
     305      '</body>'.
     306      '</html>');
     307    $Database->Disconnect();
     308  }
    305309}
    306310
     
    313317    if($Part != '')
    314318    {
     319      if(!strpos($Part, '=')) $Part .= '=';
    315320      $Item = explode('=', $Part);
    316321      $Result[$Item[0]] = $Item[1];
  • trunk/includes/global_function.php

    r285 r286  
    3636  $Around = round($Config['Web']['VisiblePagingItems'] / 2);
    3737  $Result = '';
    38   $PageCount = ceil($TotalCount / $ItemPerPage);
     38  $PageCount = floor($TotalCount / $ItemPerPage) + 1;
    3939 
    4040  if(!array_key_exists('Page', $_SESSION)) $_SESSION['Page'] = 0;
     
    4343  if($_SESSION['Page'] >= $PageCount) $_SESSION['Page'] = $PageCount - 1;
    4444  $CurrentPage = $_SESSION['Page'];
     45 
    4546       
    4647  $Result .= 'Počet položek: <strong>'.$TotalCount.'</strong> &nbsp; Stránky: ';
     
    184185 
    185186  $Result = array();
    186   $DbResult = $Database->SQLCommand('SELECT * FROM `language`');
     187  $DbResult = $Database->SQLCommand('SELECT * FROM `language` WHERE `Enabled` = 1');
    187188  while($DbRow = mysql_fetch_assoc($DbResult))
    188189    $Result[$DbRow['Id']] = $DbRow;
     
    278279    if($Prev) echo('<a href="form.php?group='.$GroupId.'&amp;ID='.$Next['ID'].'">Předcházející '.$Next['ID'].'</a> ');
    279280    else echo('<a href="form.php?group='.$GroupId.'&amp;ID='.$Next['ID'].'">Následující '.$Next['ID'].'</a> ');
    280        return 'form.php?group='.$GroupId.'&amp;ID='.$Next['ID'];
    281   }
    282 }
    283 
     281      return 'form.php?group='.$GroupId.'&amp;ID='.$Next['ID'];
     282  }
     283}
    284284
    285285function HaveSameText($Group, $DbRow2, $Value)
     
    334334function GetBuildNumber($Version)
    335335{
    336   global $Database,$BuildNumbers;
    337  
    338   if (isset($BuildNumbers[$Version]) == false)
    339   {
    340     $sql = 'SELECT BuildNumber FROM `wow_client_version` WHERE Version = "'.$Version.'"';
     336  global $Database, $BuildNumbers;
     337 
     338  if(isset($BuildNumbers[$Version]) == false)
     339  {
     340    $sql = 'SELECT `BuildNumber` FROM `wow_client_version` WHERE `Version` = "'.$Version.'"';
    341341    $DbRow = mysql_fetch_assoc($Database->SQLCommand($sql));
    342342    $BuildNumbers[$Version] = $DbRow['BuildNumber'];
     
    347347function GetVersionWOW($BuildNumber)
    348348{
    349   global $Database,$VersionsWOW;
    350   if (isset($VersionsWOW[$BuildNumber]) == false)
    351   {
    352     $sql = 'SELECT Version FROM `wow_client_version` WHERE BuildNumber = "'.$BuildNumber.'"';
     349  global $Database, $VersionsWOW;
     350 
     351  if(isset($VersionsWOW[$BuildNumber]) == false)
     352  {
     353    $sql = 'SELECT `Version` FROM `wow_client_version` WHERE `BuildNumber` = "'.$BuildNumber.'"';
    353354    $Version = mysql_fetch_assoc($Database->SQLCommand($sql));
    354355    $VersionsWOW[$BuildNumber] = $Version['Version'];
    355356  }
    356     return($VersionsWOW[$BuildNumber]);
    357 }
    358 
    359 function GetDBCColumns($Version,$DBCFileName)
    360 {
    361   global $Database,$DBCColumns;
    362   if (isset($DBCColumns[$Version][$DBCFileName]) == false)
    363   {
    364     $sql = 'SELECT DBCColumns_'.$DBCFileName.' as DBCColumns FROM `wow_client_version` WHERE Version = "'.$Version.'"';
     357  return($VersionsWOW[$BuildNumber]);
     358}
     359
     360function GetDBCColumns($Version, $DBCFileName)
     361{
     362  global $Database, $DBCColumns;
     363 
     364  if(isset($DBCColumns[$Version][$DBCFileName]) == false)
     365  {
     366    $sql = 'SELECT `DBCColumns_'.$DBCFileName.'` AS `DBCColumns` FROM `wow_client_version` WHERE `Version` = "'.$Version.'"';
    365367    $DbRow = mysql_fetch_assoc($Database->SQLCommand($sql));
    366368    $DBCColumns[$Version][$DBCFileName] = $DbRow['DBCColumns'];
    367369  }
    368     return($DBCColumns[$Version][$DBCFileName]);
    369 }
    370 
    371 function GetDBCColumnIndex($Version,$DBCFileName,$Column)
    372 {
    373   global $Database,$DBCColumnIndex;
    374   if (isset($DBCColumnIndex[$Version][$DBCFileName][$Column]) == false)
    375   {
    376     $sql = 'SELECT '.$DBCFileName.'_'.$Column.' as DBCColumns FROM `wow_client_version` WHERE Version = "'.$Version.'"';
     370  return($DBCColumns[$Version][$DBCFileName]);
     371}
     372
     373function GetDBCColumnIndex($Version, $DBCFileName, $Column)
     374{
     375  global $Database, $DBCColumnIndex;
     376 
     377  if(isset($DBCColumnIndex[$Version][$DBCFileName][$Column]) == false)
     378  {
     379    $sql = 'SELECT `'.$DBCFileName.'_'.$Column.'` AS `DBCColumns` FROM `wow_client_version` WHERE `Version` = "'.$Version.'"';
    377380    $DbRow = mysql_fetch_assoc($Database->SQLCommand($sql));
    378381    $DBCColumnIndex[$Version][$DBCFileName][$Column] = $DbRow['DBCColumns'];
    379382  }
    380     return($DBCColumnIndex[$Version][$DBCFileName][$Column]);
     383  return($DBCColumnIndex[$Version][$DBCFileName][$Column]);
     384}
     385
     386function LoadGroupIdParameter()
     387{
     388  global $TranslationTree;
     389 
     390  if(array_key_exists('group', $_GET)) $GroupId = $_GET['group'] * 1;
     391    else $GroupId = 1;
     392 
     393  if(isset($TranslationTree[$GroupId]) == false)
     394  {
     395    echo('Překladová skupina dle zadaného Id neexistuje.');
     396    ShowFooter();
     397    die();
     398  }
     399  return($GroupId);
     400}
     401
     402function LoadLanguageIdParameter()
     403{
     404  global $LanguageList;
     405 
     406  if(array_key_exists('language', $_GET)) $LanguageId = $_GET['language'] * 1;
     407    else $LanguageId = 1;
     408 
     409  if(isset($LanguageList[$LanguageId]) == false)
     410  {
     411    echo('Jazyk dle zadaného Id neexistuje.');
     412    ShowFooter();
     413    die();
     414  }
     415  return($LanguageId);
    381416}
    382417
  • trunk/save.php

    r285 r286  
    88//if(Licence(LICENCE_USER) == false) die('Nemáte přístup do této sekce! Je nutné se přihásit.');
    99
    10 if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
    11 if(isset($TranslationTree[$GroupId]) == false)
    12 {
    13   echo('Neexistující id překladové skupiny.');
    14   ShowFooter();
    15   die();
    16 }
     10$GroupId = LoadGroupIdParameter();
    1711$Table = $TranslationTree[$GroupId]['TablePrefix'];
    1812if(array_key_exists('entry', $_POST) and Licence(LICENCE_USER))
  • trunk/statistic.php

    r253 r286  
    55ShowPage();
    66
    7 if (array_key_exists('language', $_GET))
    8 {
    9         $language = '&amp;language='.$_GET['language'];
    10 } else $language = '';
    11 if (array_key_exists('user', $_GET))
    12 {
    13         $user_stat = '&amp;user='.$_SESSION['UserID'];
    14 } else $user_stat = '';
    15 
     7$LanguageId = LoadLanguageIdParameter();
     8if($LanguageId > 0) $language = '&amp;language='.$LanguageId;
     9  else $language = '';
     10if(array_key_exists('user', $_GET))  $user_stat = '&amp;user='.$_SESSION['UserID'];
     11  else $user_stat = '';
    1612
    1713echo('<strong>Statistika:</strong> <a href="statistic.php">Všechny</a>');
     
    2723foreach($TranslationTree as $Group)
    2824  if($Group['TablePrefix'] != '')
    29         echo('<div class="state-image">
    30         <img alt="'.$Group['TablePrefix'].'" src="img_statistic.php?group='.$Group['Id'].$language.$user_stat.'" title="statistika překladů '.$Group['Name'].'"/></div>');
     25  echo('<div class="state-image">
     26  <img alt="'.$Group['TablePrefix'].'" src="img_statistic.php?group='.$Group['Id'].$language.$user_stat.'" title="statistika překladů '.$Group['Name'].'"/></div>');
    3127
    3228echo('<p><strong>Celková statistika v závislosti na čase: </strong><a href="http://stat.zdechov.net/game/?Measure=18">Počet přeložených textů</a></p>
  • trunk/style/style.css

    r198 r286  
    339339  width: 50%;
    340340}
     341
     342.UserList
     343{
     344  width: 100%;
     345  text-align: center;
     346}
Note: See TracChangeset for help on using the changeset viewer.