Changeset 504 for trunk/dictionary.php


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

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

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

    r499 r504  
    55function WriteTranslatNames($Text,$mode)
    66{
    7  
    8   if ($mode == 0) echo ('..Nalezené názvy jmen věcí, míst, postav');
    9   if ($mode == 1) echo ('..Všechny přeložené');
    10   if ($mode == 2) echo ('..Nepřeložené');
    11   echo('<table width="98%" class="BaseTable">');
    12   echo('<tr><th>Originál</th>'.'<th>Překlad</th></tr>');
    13 
     7  $Output = '';
     8  if ($mode == 0) $Output .= '..Nalezené názvy jmen věcí, míst, postav';
     9  if ($mode == 1) $Output .= '..Všechny přeložené';
     10  if ($mode == 2) $Output .= '..Nepřeložené';
     11  $Output .= '<table width="98%" class="BaseTable">';
     12  $Output .= '<tr><th>Originál</th>'.'<th>Překlad</th></tr>';
    1413
    1514  $TablesColumn = array
     
    3231        if (strpos(strtolower($Text), strtolower($Line[2])) > 0)
    3332        {
    34           echo('<tr><td>'.$Line[2].'</td>');
    35           if ($Line[3] <> '') echo('<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">'.$Line[3].'</a></td></tr>');
    36           else echo('<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">Překládat</a></td></tr>');
     33          $Output .= '<tr><td>'.$Line[2].'</td>';
     34          if ($Line[3] <> '') $Output .= '<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">'.$Line[3].'</a></td></tr>';
     35          else $Output .= '<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">Překládat</a></td></tr>';
    3736        }
    3837      } else
    3938      {
    40         echo('<tr><td>'.$Line[2].'</td>');
    41           if ($Line[3] <> '') echo('<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">'.$Line[3].'</a></td></tr>');
    42           else echo('<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">Překládat</a></td></tr>');
     39        $Output .= '<tr><td>'.$Line[2].'</td>';
     40          if ($Line[3] <> '') $Output .= '<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">'.$Line[3].'</a></td></tr>';
     41          else $Output .= '<td><a target="_NEW2" href="form.php?group='.$Line[1].'&amp;ID='.$Line[0].'">Překládat</a></td></tr>';
    4342      }
    4443  }
    45 
    46   echo('</table>');
     44  $Output .= '</table>';
     45  return($Output);
    4746}
    48 
    49 ShowPage();
    5047
    5148if(!isset($_SESSION['language']))
     
    5855if(array_key_exists('language', $_GET)) $_SESSION['language'] = LoadLanguageIdParameter();
    5956
    60 echo('<h3>Slovníček</h3>');
     57$Output = '<h3>Slovníček</h3>';
    6158
    6259if(array_key_exists('group', $_GET))
    6360{   
    6461  $GroupId = LoadGroupIdParameter();
    65   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é
     62  if(array_key_exists('mode', $_GET)) $mode = $_GET['mode'];
     63    else $mode = 0; //0 = přesné názvy, 1=všechny názvy, 2=nepřeložené
    6664  $Table = $TranslationTree[$GroupId]['TablePrefix'];
    6765
     
    6967  {
    7068    $TextID = $_GET['ID']; 
    71     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 />'.
     69    $Output .= '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 />'.
    7270  '<a href="?mode=1&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny podobné výsledky">Všechny</a> '.
    7371  '<a href="?mode=0&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit pouze přesné výsledky">Přesné</a> '.
    74   '<a href="?mode=2&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny nepřeložené">Nepřeložené</a> ');
     72  '<a href="?mode=2&amp;group='.$GroupId.'&amp;ID='.$TextID.'" title="Zobrazit všechny nepřeložené">Nepřeložené</a> ';
    7573    $DbResult = $System->Database->query('SELECT * FROM '.$Table.' Where ID = '.$TextID);
    7674    $Line = $DbResult->fetch_assoc();
    77     if(!$Line) ShowMessage('Překlad nenalezen.', MESSAGE_CRITICAL);
     75    if(!$Line) $Output .= ShowMessage('Překlad nenalezen.', MESSAGE_CRITICAL);
    7876    else
    7977    {   
     
    8179      foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
    8280        $Text .= ' '.$Line[$TextItem['Column']];
    83           WriteTranslatNames($Text,$mode);
     81          $Output .= WriteTranslatNames($Text,$mode);
    8482    }
    8583  }
     
    9088    if(($_GET['action'] == 'insert')  and $User->Licence(LICENCE_USER))
    9189    {
    92       echo('<form action="dictionary.php?action=save" method="post">'.
     90      $Output .= '<form action="dictionary.php?action=save" method="post">'.
    9391      '<fieldset><legend>Vložení nového slova</legend>'.
    9492      '<table><tr><td>'.
     
    9997      '</td></tr></table>'.
    10098      '</fieldset>'.
    101       '</form>');   
     99      '</form>';   
    102100    } else
    103101    if(($_GET['action'] == 'save') and $User->Licence(LICENCE_USER))
     
    125123        } else     
    126124          $System->Database->query('INSERT INTO `Dictionary` ( `Text` , `Entry` , `Description` , `User`, `Language` ) VALUES ("'.$_POST['Translated'].'", "'.$Entry.'", "'.$_POST['Description'].'", '.$User->Id.', '.$_SESSION['language'].')');
    127         ShowMessage('Záznam byl uložen!');
    128       } else ShowMessage('Nebyly zaslány všechny položky formuláře.', MESSAGE_CRITICAL);
     125        $Output .= ShowMessage('Záznam byl uložen!');
     126      } else $Output .= ShowMessage('Nebyly zaslány všechny položky formuláře.', MESSAGE_CRITICAL);
    129127    } else
    130128    if(($_GET['action'] == 'remove') and $User->Licence(LICENCE_USER))
    131129    {
    132130      $System->Database->query('DELETE FROM `Dictionary` WHERE `User`='.$User->Id.' AND `Language`='.$_SESSION['language'].' AND `Entry`='.$_GET['entry']);
    133       ShowMessage('Záznam odstraněn.');
     131      $Output .= ShowMessage('Záznam odstraněn.');
    134132    } else
    135133    if(($_GET['action'] == 'modify')  and $User->Licence(LICENCE_USER))
     
    139137      $DbResult = $System->Database->query('SELECT * FROM `Dictionary` WHERE (`User` IS NULL) AND (`Entry`='.$_GET['entry'].') AND (`Language`=0)');
    140138      $DbRow2 = $DbResult->fetch_assoc();
    141       echo('<form action="dictionary.php?action=save" method="post">'.
     139      $Output .= '<form action="dictionary.php?action=save" method="post">'.
    142140      '<fieldset><legend>Upravení slova</legend>'.
    143141      '<input type="hidden" name="entry"  value="'.$_GET['entry'].'"/>'.
     
    149147      '</td></tr></table>'.
    150148      '</fieldset>'.
    151       '</form>');   
     149      '</form>';   
    152150    }
    153151  }
    154152
    155   echo('<form action="dictionary.php" method="get" style="margin: 0px; padding: 0px;">'.
    156   '<table style="width: 100%; height: 100%;">');
     153  $Output .= '<form action="dictionary.php" method="get" style="margin: 0px; padding: 0px;">'.
     154  '<table style="width: 100%; height: 100%;">';
    157155
    158156  if(array_key_exists('search', $_GET)) $Search = $_GET['search'];
    159157    else $Search = '';
    160158       
    161   echo('<tr><td>
     159  $Output .= '<tr><td>
    162160    <input type="text" value="'.$Search.'" name="search" size="30" />
    163     <input type="submit" value="Vyhledat" />');
    164   if($User->Licence(LICENCE_USER)) echo(' <a href="dictionary.php?action=insert">Vložit slovo</a>');
     161    <input type="submit" value="Vyhledat" />';
     162  if($User->Licence(LICENCE_USER)) $Output .= ' <a href="dictionary.php?action=insert">Vložit slovo</a>';
    165163           
    166   echo('</td></tr>');
    167   echo('<tr><td>Jazyk: ');
     164  $Output .= '</td></tr>'.
     165    '<tr><td>Jazyk: ';
    168166  foreach($LanguageList as $Language)
    169167    if($Language['Enabled'] == 1)
    170168    {
    171       if($Language['Id'] == $_SESSION['language']) echo('<strong>');
    172       echo(' <a href="?language='.$Language['Id'].'">'.$Language['Name'].'</a>');
    173       if($Language['Id'] == $_SESSION['language']) echo('</strong>');
     169      if($Language['Id'] == $_SESSION['language']) $Output .= '<strong>';
     170      $Output .= ' <a href="?language='.$Language['Id'].'">'.$Language['Name'].'</a>';
     171      if($Language['Id'] == $_SESSION['language']) $Output .= '</strong>';
    174172    }
    175   echo('</td></tr>');
    176   echo('<tr><td>');
     173  $Output .= '</td></tr>'.
     174    '<tr><td>';
    177175  //<div style="overflow: auto; width: 100%; height: 100%;">');
    178176
     
    186184  $PageList = GetPageList($DbRow[0]); 
    187185
    188   echo($PageList['Output']);
     186  $Output .= $PageList['Output'];
    189187 
    190188  $TableColumns = array(
     
    196194  if($User->Licence(LICENCE_USER)) $TableColumns[] = array('Name' => '', 'Title' => 'Akce');
    197195  $Order = GetOrderTableHeader($TableColumns, 'Original');
    198   echo('<table width="98%" class="BaseTable">');
    199   echo($Order['Output']);
     196  $Output .= '<table width="98%" class="BaseTable">'.$Order['Output'];
    200197
    201198  $sql_page = $sql.$Order['SQL'].$PageList['SQLLimit'];
     
    203200  while($Line = $DbResult->fetch_assoc())
    204201  {
    205     echo('<tr>
     202    $Output .= '<tr>
    206203    <td>'.$Line['Original'].'</td>
    207204    <td><strong>'.$Line['Translated'].'</strong></td>
    208205    <td>'.$Line['Description'].'</td>
    209     <td>'.$Line['UserName'].'</td>');
     206    <td>'.$Line['UserName'].'</td>';
    210207    if($User->Licence(LICENCE_USER))
    211208    {
    212209      if($Line['UserID'] == $User->Id)
    213         echo('<td><a href="?action=remove&amp;entry='.$Line['Entry'].'" onclick="return confirmAction(\'Opravdu smazat položku?\');">Smazat</a>'.
    214         ' <a href="?action=modify&amp;entry='.$Line['Entry'].'">Upravit</a></td>');
    215         else echo('<td></td>');
     210        $Output .= '<td><a href="?action=remove&amp;entry='.$Line['Entry'].'" onclick="return confirmAction(\'Opravdu smazat položku?\');">Smazat</a>'.
     211        ' <a href="?action=modify&amp;entry='.$Line['Entry'].'">Upravit</a></td>';
     212        else $Output .= '<td></td>';
    216213    }
    217     echo('</tr>');
    218   }
    219   echo('</table>'); 
    220   echo($PageList['Output']);
    221   echo('</td></tr>');
    222   echo('</table></form>');
     214    $Output .= '</tr>';
     215  }
     216  $Output .= '</table>'. 
     217    $PageList['Output'].
     218    '</td></tr>'.
     219    '</table></form>';
    223220}
    224221
    225 ShowFooter();
     222ShowPage($Output);
    226223
    227224?>
Note: See TracChangeset for help on using the changeset viewer.