Changeset 284 for trunk/dictionary.php


Ignore:
Timestamp:
Dec 11, 2009, 11:41:03 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Přepracováno zobrazování stránkování položek tabulek. Stránkování nyní zobrazeno nad i pod tabulkou. Nevypisovány všechny stránky, ale jen stránky okolo aktuální dle počtu zadaného VisiblePagingItems v config.php. Opravna také kontrola rozsahu vybraných stránek a zajištěna automatická obsluha polí SESSION a GET.
  • Upraveno: Struktura $LogTypes upravena na přehlednější.
  • Přidáno: Doplněny indexy sloupců pro některé tabulky.
  • Přidáno: Třída Database vycházející objektově z třídy mysqli.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dictionary.php

    r199 r284  
    55function GetIDbyName($Table)
    66{
    7         global $TranslationTree;
    8  
    9         foreach($TranslationTree as $TableID => $Value)
    10   {
    11                 //echo $Value['TablePrefix'].'='.$Table.'<br>';
    12         if ($Value['TablePrefix'] == $Table) return $TableID;
    13         }
     7  global $TranslationTree;
     8 
     9  foreach($TranslationTree as $TableID => $Value)
     10  {
     11    //echo $Value['TablePrefix'].'='.$Table.'<br>';
     12      if ($Value['TablePrefix'] == $Table) return $TableID;
     13  }
    1414}
    1515
     
    1818  global $Database, $mode;
    1919 
    20         if ($mode == 0) echo ('..Přesné');
    21         if ($mode == 1) echo ('..Všechny přeložené');
    22         if ($mode == 2) echo ('..Nepřeložené');
    23         echo('<div style="overflow: auto; width: 100%; height: 345px;"><table width="98%" class="BaseTable">');
    24         echo('<tr><th>Originál</th>'.'<th>Překlad</th>');
     20  if ($mode == 0) echo ('..Přesné');
     21  if ($mode == 1) echo ('..Všechny přeložené');
     22  if ($mode == 2) echo ('..Nepřeložené');
     23  echo('<div style="overflow: auto; width: 100%; height: 345px;"><table width="98%" class="BaseTable">');
     24  echo('<tr><th>Originál</th>'.'<th>Překlad</th>');
    2525  $TablesColumn = array
    2626  (
     
    5252    for($i = 0; $i < count($ArrStr); $i++)
    5353    {
    54           if (strpos($ArrStr[$i],'\'s') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-4);
    55           if (strpos($ArrStr[$i],',') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
    56           if (strpos($ArrStr[$i],'.') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
    57           if (strpos($ArrStr[$i],'!') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
    58           if (strpos($ArrStr[$i],'?') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
    59 
    60           if (strlen($ArrStr[$i]) > 4)
    61               $where .= 'O.'.$Column.' LIKE "%'.addslashes($ArrStr[$i]).'%" OR ';
     54      if (strpos($ArrStr[$i],'\'s') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-4);
     55      if (strpos($ArrStr[$i],',') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
     56      if (strpos($ArrStr[$i],'.') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
     57      if (strpos($ArrStr[$i],'!') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
     58      if (strpos($ArrStr[$i],'?') > 0) $ArrStr[$i] = substr($ArrStr[$i],0,strlen($ArrStr[$i])-1);
     59
     60      if (strlen($ArrStr[$i]) > 4)
     61        $where .= 'O.'.$Column.' LIKE "%'.addslashes($ArrStr[$i]).'%" OR ';
    6262    }
    6363    $where = substr($where,0,strlen($where)-4);
    6464    $where .= ')';
    65           echo ('</tr>');
    66 
    67           $ID = $Database->SQLCommand($sql.$where.$groupby);
    68           while($Line = mysql_fetch_assoc($ID))
    69     {
    70         if ($mode == 0)
    71       {
    72                 if (strpos(strtolower($Text),strtolower($Line[$Column])) > 0)
     65    echo ('</tr>');
     66
     67    $ID = $Database->SQLCommand($sql.$where.$groupby);
     68    while($Line = mysql_fetch_assoc($ID))
     69    {
     70      if ($mode == 0)
     71      {
     72        if (strpos(strtolower($Text),strtolower($Line[$Column])) > 0)
    7373        {
    74                   echo('<tr><td>'.$Line[$Column].'</td>');
    75                   if ($Line['tran'] <> '') echo('<td>'.$Line['tran'].'</td></tr>');
    76                         else echo('<td><a target="_NEW2" href="form.php?group='.GetIDbyName($Table).'&amp;ID='.$Line['ID'].'">Překládat</a></td></tr>');
    77                 }
    78         } else
    79       {
    80                 echo('<tr><td>'.$Line[$Column].'</td>');
    81             if ($Line['tran'] <> '') echo('<td>'.$Line['tran'].'</td></tr>');
    82                         else echo('<td><a target="_NEW2" href="form.php?group='.GetIDbyName($Table).'&amp;ID='.$Line['ID'].'">Překládat</a></td></tr>');
    83         }
    84           }
    85   }
    86         echo('</table></div>');
     74          echo('<tr><td>'.$Line[$Column].'</td>');
     75          if ($Line['tran'] <> '') echo('<td>'.$Line['tran'].'</td></tr>');
     76          else echo('<td><a target="_NEW2" href="form.php?group='.GetIDbyName($Table).'&amp;ID='.$Line['ID'].'">Překládat</a></td></tr>');
     77        }
     78      } else
     79      {
     80        echo('<tr><td>'.$Line[$Column].'</td>');
     81          if ($Line['tran'] <> '') echo('<td>'.$Line['tran'].'</td></tr>');
     82          else echo('<td><a target="_NEW2" href="form.php?group='.GetIDbyName($Table).'&amp;ID='.$Line['ID'].'">Překládat</a></td></tr>');
     83      }
     84    }
     85  }
     86  echo('</table></div>');
    8787}
    8888
     
    107107if(array_key_exists('group', $_GET))
    108108{   
    109         if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
    110         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é
    111         $Table = $TranslationTree[$GroupId]['TablePrefix'];
    112 
    113         if(array_key_exists('ID', $_GET))
     109  if(array_key_exists('group', $_GET)) $GroupId = $_GET['group']; else $GroupId = 1;
     110  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é
     111  $Table = $TranslationTree[$GroupId]['TablePrefix'];
     112
     113  if(array_key_exists('ID', $_GET))
    114114  {
    115115    $TextID = $_GET['ID']; 
    116                 echo ('Přeložené názvy vztahující se k překladu: <a target="_NEW" href="form.php?group='.$GroupId.'&amp;ID='.$TextID.'">'.$TextID.'</a><br />'.
    117         '<a href="?mode=1&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny podobné výsledky">Všechny</a> '.
    118         '<a href="?mode=0&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit pouze přesné výsledky">Přesné</a> '.
    119         '<a href="?mode=2&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny nepřeložené">Nepřeložené</a> ');
     116    echo ('Přeložené názvy vztahující se k překladu: <a target="_NEW" href="form.php?group='.$GroupId.'&amp;ID='.$TextID.'">'.$TextID.'</a><br />'.
     117  '<a href="?mode=1&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny podobné výsledky">Všechny</a> '.
     118  '<a href="?mode=0&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit pouze přesné výsledky">Přesné</a> '.
     119  '<a href="?mode=2&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny nepřeložené">Nepřeložené</a> ');
    120120    $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT * FROM '.$Table.' Where ID = '.$TextID));
    121121    if(!$Line) die('Překlad nenalezen.');
    122                
    123                 $Text = '';
    124                 foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
    125                         $Text .= ' '.$Line[$TextItem['Column']];
    126                                 GetTranslatNames($Text);
    127         }
     122   
     123    $Text = '';
     124    foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
     125      $Text .= ' '.$Line[$TextItem['Column']];
     126        GetTranslatNames($Text);
     127  }
    128128} else
    129129
     
    218218    $sql = 'SELECT `user`.`user` AS `UserName`, `user`. `ID` AS `UserID`, `T3`.`Entry`, `T3`.`Original`, `T3`.`Translated`, `T3`.`Description` FROM (SELECT T2.User, `T1`.Language, `T1`.`Text` AS Original, `T2`.`Text` AS `Translated`, `T2`.`Description`, `T1`.`Entry` AS `Entry` FROM `dictionary` AS `T1` JOIN `dictionary` AS `T2` ON `T2`.`Entry` = `T1`.`Entry` AND `T2`.`Language` = '.$_SESSION['language'].' WHERE LOWER(T1.Text) LIKE LOWER("%'.$Search.'%") OR LOWER(T1.Description) LIKE LOWER("%'.$Search.'%") ) AS T3 JOIN `user` ON `user`.`ID` = `T3`.`User` WHERE `T3`.`Language` = 0';
    219219  } else $sql = 'SELECT `user`.`user` AS `UserName`, `ID` AS `UserID`, `T3`.`Entry`, `T3`.`Original`, `T3`.`Translated`, `T3`.`Description` FROM (SELECT T2.User, `T1`.Language, `T1`.`Text` AS Original, `T2`.`Text` AS `Translated`, `T2`.`Description`, `T1`.`Entry` AS `Entry` FROM `dictionary` AS `T1` JOIN `dictionary` AS `T2` ON `T2`.`Entry` = `T1`.`Entry` AND `T2`.`Language` = '.$_SESSION['language'].') AS T3 JOIN `user` ON `user`.`ID` = `T3`.`User` WHERE `T3`.`Language` = 0';
    220   $sql_page = $sql.' LIMIT '.($_SESSION['Page'] - 1) * $Config['Web']['ItemsPerPage'].','.$Config['Web']['ItemsPerPage'];
    221 
    222   ListPaging('?Page=', '('.$sql.') AS T1', '', $Config['Web']['ItemsPerPage'], $_SESSION['Page']);
     220
     221  $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM ('.$sql.') AS T1');
     222  $DbRow = mysql_fetch_row($DbResult);
     223  $PageList = GetPageList($DbRow[0]); 
     224
     225  $sql_page = $sql.' '.$PageList['SQLLimit'];
     226
     227  echo($PageList['Output']);
    223228  echo('<table width="98%" class="BaseTable">
    224229    <tr><th>'.$LanguageList[0]['Name'].'</th>
     
    244249  }
    245250  echo('</table>'); 
    246   ListPaging('?Page=', '('.$sql.') AS T1', '', $Config['Web']['ItemsPerPage'], $_SESSION['Page']);
     251  echo($PageList['Output']);
    247252  echo('</td></tr>');
    248253  echo('</table></form>');
Note: See TracChangeset for help on using the changeset viewer.