Ignore:
Timestamp:
Apr 10, 2024, 11:49:39 PM (6 weeks ago)
Author:
chronos
Message:
  • Fixed: More form input fields validation.
  • Modified: Code cleanup.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Translation/Comparison.php

    r893 r900  
    4747    if ($User->Licence(LICENCE_USER))
    4848    {
    49     $Output = 'Text je porovnáván vždy ku předešlému (vlevo). Změny jsou zvýrazněny <span class="edit">barvou.</span><br /><br />';
     49      $Output = 'Text je porovnáván vždy ku předešlému (vlevo). Změny jsou zvýrazněny <span class="edit">barvou.</span><br /><br />';
     50 
     51      $GroupId = LoadGroupIdParameter();
     52      $Table = $TranslationTree[$GroupId]['TablePrefix'];
    5053
    51     $GroupId = LoadGroupIdParameter();
    52     $Table = $TranslationTree[$GroupId]['TablePrefix'];
     54      if (array_key_exists('entry', $_GET))
     55      {
     56        $Textentry = $_GET['entry'];
     57        if ((array_key_exists('ID1', $_GET)) and ($_GET['ID1'] <> -1))  //porovnání pouze 2 textů
     58        {
     59          $TextID1 = $_GET['ID1'];
     60          $TextID2 = $_GET['ID2'];
     61          $WhereID = ' AND ((`'.$Table.'`.`ID` = '.$TextID1.') OR (`'.$Table.'`.`ID` = '.$TextID2.'))';
     62        } else $WhereID = '';
    5363
    54     if (array_key_exists('entry', $_GET))
    55     {
    56       $Textentry = $_GET['entry'];
    57       if ((array_key_exists('ID1', $_GET)) and ($_GET['ID1'] <> -1))  //porovnání pouze 2 textů
    58       {
    59         $TextID1 = $_GET['ID1'];
    60         $TextID2 = $_GET['ID2'];
    61         $WhereID = ' AND ((`'.$Table.'`.`ID` = '.$TextID1.') OR (`'.$Table.'`.`ID` = '.$TextID2.'))';
    62       } else $WhereID = '';
    63 
    64       $DataID = $this->Database->query('SELECT `'.$Table.'`.*, `User`.`Name` AS `UserName`, '.
     64        $DataID = $this->Database->query('SELECT `'.$Table.'`.*, `User`.`Name` AS `UserName`, '.
    6565          '`Language`.`Name` AS `LanguageName` '.
    6666          'FROM '.$Table.' LEFT JOIN `User` ON `User`.`Id` = `'.$Table.'`.`User` '.
    6767          ' LEFT JOIN `Language` ON `Language`.`Id` = `'.$Table.'`.`Language` '.
    6868          'WHERE `Entry` = '.$Textentry.' '.$WhereID.' ORDER BY `Language`');
    69       while ($Line[] = $DataID->fetch_assoc());
    70       array_pop($Line);
     69        while ($Line[] = $DataID->fetch_assoc());
     70        array_pop($Line);
    7171
    72       $Output .= 'Počet porovnávaných textů: <strong>'.count($Line).'</strong><br /> ';
     72        $Output .= 'Počet porovnávaných textů: <strong>'.count($Line).'</strong><br /> ';
    7373
    74       $Output .= '<strong>Číslo textu: <a href="http://www.wowhead.com/?quest='.$Textentry.'">'.$Textentry.'</a></strong>'.
     74        $Output .= '<strong>Číslo textu: <a href="http://www.wowhead.com/?quest='.$Textentry.'">'.$Textentry.'</a></strong>'.
    7575          '<table class="BaseTable">'.
    7676          '<tr><th>Přeložil</th>';
    77       foreach ($Line as $Index => $LineItem)
    78         $Output .= '<th>'.$LineItem['UserName'].'</th>';
    79       $Output .= '</tr>'.
     77        foreach ($Line as $Index => $LineItem)
     78          $Output .= '<th>'.$LineItem['UserName'].'</th>';
     79        $Output .= '</tr>'.
    8080          '<tr>'.
    8181          '<th>ID textu</th>';
    82       foreach ($Line as $Index => $LineItem)
    83         $Output .= '<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['ID'].'">'.$LineItem['ID'].'</a></td>';
    84       $Output .= '</tr>'.
     82        foreach ($Line as $Index => $LineItem)
     83          $Output .= '<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['ID'].'">'.$LineItem['ID'].'</a></td>';
     84        $Output .= '</tr>'.
    8585          '<tr><th>Převzato</th>';
    86       foreach ($Line as $Index => $LineItem)
    87         $Output .= '<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['Take'].'">'.$LineItem['Take'].'</a></td>';
    88       $Output .= '</tr>'.
     86        foreach ($Line as $Index => $LineItem)
     87          $Output .= '<td><a href="form.php?group='.$GroupId.'&amp;ID='.$LineItem['Take'].'">'.$LineItem['Take'].'</a></td>';
     88        $Output .= '</tr>'.
    8989          '<tr><th>'.T('Language').'</th>';
    90       foreach ($Line as $Index => $LineItem)
    91         $Output .= '<td>'.T($LineItem['LanguageName']).'</td>';
    92       $Output .= '</tr>'.
     90        foreach ($Line as $Index => $LineItem)
     91          $Output .= '<td>'.T($LineItem['LanguageName']).'</td>';
     92        $Output .= '</tr>'.
    9393          '<tr><th>'.T('Version').'</th>';
    94       foreach ($Line as $Index => $LineItem)
    95         $Output .= '<td>'.GetVersionWOW($LineItem['VersionStart']).' - '.GetVersionWOW($LineItem['VersionEnd']).'</td>';
    96       $Output .= '</tr>';
    97       foreach ($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
    98       {
    99         $writethis = false;
    100         for ($i = 0; $i < count($Line); $i++)
     94        foreach ($Line as $Index => $LineItem)
     95          $Output .= '<td>'.GetVersionWOW($LineItem['VersionStart']).' - '.GetVersionWOW($LineItem['VersionEnd']).'</td>';
     96        $Output .= '</tr>';
     97        foreach ($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
    10198        {
    102           if ($Line[$i][$TextItem['Column']] <> '') $writethis = true;
    103         }
    104         if ($writethis)
    105         {
    106           $Output .= '<tr><th>'.$TextItem['Name'].'</th>';
     99          $writethis = false;
    107100          for ($i = 0; $i < count($Line); $i++)
    108101          {
    109             if ($i > 0)
     102            if ($Line[$i][$TextItem['Column']] <> '') $writethis = true;
     103          }
     104          if ($writethis)
     105          {
     106            $Output .= '<tr><th>'.$TextItem['Name'].'</th>';
     107            for ($i = 0; $i < count($Line); $i++)
    110108            {
    111               $Output .= '<td>';
    112               $Output .= str_replace("\n", '<br/>', $this->CompareString(htmlspecialchars($Line[$i][$TextItem['Column']]),htmlspecialchars($Line[$i - 1][$TextItem['Column']])));
    113               $Output .= '</td>';
    114             } else $Output .= '<td>'.htmlspecialchars($Line[$i][$TextItem['Column']]).'</td>';
     109              if ($i > 0)
     110              {
     111                $Output .= '<td>';
     112                $Output .= str_replace("\n", '<br/>', $this->CompareString(htmlspecialchars($Line[$i][$TextItem['Column']]),htmlspecialchars($Line[$i - 1][$TextItem['Column']])));
     113                $Output .= '</td>';
     114              } else $Output .= '<td>'.htmlspecialchars($Line[$i][$TextItem['Column']]).'</td>';
     115            }
     116            $Output .= '</tr>';
    115117          }
    116           $Output .= '</tr>';
    117118        }
    118       }
    119       $Output .= '</table>';
    120     } else $Output .= ShowMessage('Nebylo zadáno ID.', MESSAGE_CRITICAL);
    121   } else $Output .= ShowMessage('Porovnávat můžou pouze překladatelé!', MESSAGE_CRITICAL);
     119        $Output .= '</table>';
     120      } else $Output .= ShowMessage('Nebylo zadáno ID.', MESSAGE_CRITICAL);
     121    } else $Output .= ShowMessage('Porovnávat můžou pouze překladatelé!', MESSAGE_CRITICAL);
    122122
    123123    return $Output;
Note: See TracChangeset for help on using the changeset viewer.