Changeset 504 for trunk/form.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/form.php

    r471 r504  
    44
    55function ColorNames($Text, $names)
    6 {
    7  
     6{
    87   // $buff[] = array($Line['ID'],GetIDbyName($Table),$Line[$Column],$Line['Tran']);
    98  foreach($names as $Line) {
     
    1918}
    2019
    21 ShowPage();
     20$Output = '';
    2221
    2322$GroupId = LoadGroupIdParameter();
     
    3433  if(!$Line)
    3534  {
    36     ShowMessage('Překlad nenalezen.', MESSAGE_CRITICAL);
    37     ShowFooter();
    38     die();
    39   }
     35    $Output .= ShowMessage('Překlad nenalezen.', MESSAGE_CRITICAL);
     36  } else
     37  {
    4038   
    4139  $DbResult = $System->Database->query('SELECT * FROM `'.$Table.'` WHERE (`Language` = 0) AND (`Entry` = '.$Line['Entry'].') AND (`VersionEnd` = '.$Line['VersionEnd'].') LIMIT 1');
    4240  $LineAJ = $DbResult->fetch_assoc();
    43   if(!$Line)
     41  if(!$LineAJ)
    4442  {
    45     ShowMessage('Anglický originál k překladu nenalezen.', MESSAGE_CRITICAL);
    46     ShowFooter();
    47     die();
    48   }
     43    $Output .= ShowMessage('Anglický originál k překladu nenalezen.', MESSAGE_CRITICAL);
     44  } else
     45  {
    4946 
    5047  $IDUser = $System->Database->query('SELECT * FROM `User` WHERE `ID` = '.$Line['User']);
    5148  $LineUser = $IDUser->fetch_array();
    5249 
    53   echo('Skupina: <strong>'.$TranslationTree[$GroupId]['Name'].'</strong><br />');
     50  $Output .= 'Skupina: <strong>'.$TranslationTree[$GroupId]['Name'].'</strong><br />';
    5451     
    5552  if(($Line['Language'] <> 0) and ($LineUser['Name'] <> ''))
    56     echo('Přeložil: <strong>'.$LineUser['Name'].'</strong> dne '.HumanDate($Line['ModifyTime']).'<br />');
     53    $Output .= 'Přeložil: <strong>'.$LineUser['Name'].'</strong> dne '.HumanDate($Line['ModifyTime']).'<br />';
    5754  if(($Line['Take'] <> 0) and ($Line['Take'] <> $Line['ID']))
    5855  {
     
    6461    $Lang = $DbResult->fetch_assoc();
    6562   
    66     echo('Původní text: <strong>');
    67     echo(' ID <a href="form.php?group='.$GroupId.'&amp;ID='.$Line['Take'].'">'.$Line['Take'].'</a></strong>');
    68     echo(' ('.$Lang['Name'].')');
    69     echo(' <br />');
     63    $Output .= 'Původní text: <strong>'.
     64      ' ID <a href="form.php?group='.$GroupId.'&amp;ID='.$Line['Take'].'">'.$Line['Take'].'</a></strong>'.
     65      ' ('.$Lang['Name'].')'.
     66      ' <br />';
    7067  }
    71   echo('Text: ');
     68  $Output .= 'Text: ';
    7269  if($Line['Language'] <> 0)
    7370  {
    74     if($Line['Complete'] == 1) echo(' <b>Hotov</b>');
    75       else echo(' <b> Uložen v rozepsaných</b> ');
    76   } else echo(' <b>Anglická, původní verze</b> ');
     71    if($Line['Complete'] == 1) $Output .= ' <b>Hotov</b>';
     72      else $Output .= ' <b> Uložen v rozepsaných</b> ';
     73  } else $Output .= ' <b>Anglická, původní verze</b> ';
    7774
    78   echo('<br />');
    79   echo('Verze: <b>'.GetVersionWOW($Line['VersionStart']).' - '.GetVersionWOW($Line['VersionEnd'].'</b>'));
    80   echo('<br />');
     75  $Output .= '<br />'.
     76    'Verze: <b>'.GetVersionWOW($Line['VersionStart']).' - '.GetVersionWOW($Line['VersionEnd'].'</b>').
     77    '<br />';
    8178   
    8279  $DbResult = $System->Database->query('SELECT COUNT(*) FROM `'.$Table.'` WHERE (`Entry` = '.$Line['Entry'].') AND (`Language` <> 0) AND (`Complete` = 1)');
     
    8582  if($Version > 0)
    8683  {
    87     echo('<form action="comparison.php" method="get"><a href="TranslationList.php?group='.$GroupId.'&amp;user=0&amp;state=2&amp;entry='.$Line['Entry'].'&amp;text=">Počet verzí: <strong>'.$Version.'</strong></a> 
     84    $Output .= '<form action="comparison.php" method="get"><a href="TranslationList.php?group='.$GroupId.'&amp;user=0&amp;state=2&amp;entry='.$Line['Entry'].'&amp;text=">Počet verzí: <strong>'.$Version.'</strong></a> 
    8885      <input type="hidden" name="group" value="'.$GroupId.'" />
    8986      <input type="hidden" name="entry" value="'.$Line['Entry'].'" />
     
    9188      <select onchange="this.form.submit();" name="ID1">
    9289      <option value="-1">Vyberte text k porovnání</option>
    93       <option value="-1">Zobrazit/porovnat všechny</option>');
     90      <option value="-1">Zobrazit/porovnat všechny</option>';
    9491    $DataID = $System->Database->query('SELECT *, (SELECT `User`.`Name` AS `UserName` FROM `User` WHERE `User`.`ID` = `'.$Table.'`.`User`) AS `UserName` FROM `'.$Table.'` WHERE (`Entry` = '.$Line['Entry'].') AND (`ID` <> '.$Line['ID'].') AND (`Complete` = 1)'); 
    95     while($version = $DataID->fetch_array())
     92    while($Version = $DataID->fetch_array())
    9693    {     
    97       if ($version['ID'] == $Line['Take']) echo('<option value="'.$version['ID'].'">'.$version['ID'].' - '.$version['User'].' (převzato)</option>');   
     94      if($Version['ID'] == $Line['Take']) $Output .= '<option value="'.$Version['ID'].'">'.$Version['ID'].' - '.$Version['User'].' (převzato)</option>';   
    9895      else
    9996      {
    100         if($version['Language'] == 0) $version['UserName'] = 'Předloha';
    101         echo('<option value="'.$version['ID'].'">'.$version['ID'].' - '.$Version['UserName'].' ('.GetVersionWOW($version['VersionStart']).' - '.GetVersionWOW($version['VersionEnd']).')</option>');
     97        if($Version['Language'] == 0) $Version['UserName'] = 'Předloha';
     98        $Output .= '<option value="'.$Version['ID'].'">'.$Version['ID'].' - '.
     99        $Version['UserName'].' ('.GetVersionWOW($Version['VersionStart']).' - '.
     100        GetVersionWOW($Version['VersionEnd']).')</option>';
    102101      }
    103102    }
    104     echo('</select></form>');   
     103    $Output .= '</select></form>';   
    105104  } else
    106105  {
    107     echo('<a href="TranslationList.php?group='.$GroupId.'&amp;user=0&amp;state=2&amp;entry='.$Line['Entry'].'&amp;text=">Počet verzí: <strong>'.$Version.'</strong></a>');
     106    $Output .= '<a href="TranslationList.php?group='.$GroupId.'&amp;user=0&amp;state=2&amp;entry='.$Line['Entry'].'&amp;text=">Počet verzí: <strong>'.$Version.'</strong></a>';
    108107  }
    109108
    110109//    Speciální znaky: $B - Odřádkování, $N - Jméno, $C - povolání
    111   echo('<form action="save.php?group='.$GroupId.'" method="post"><div>');
     110  $Output .= '<form action="save.php?group='.$GroupId.'" method="post"><div>';
    112111  if($User->Licence(LICENCE_USER))
    113112  {
    114     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>');
    115     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" />
    116     <input type="submit" value="Dokončeno" name="End" title="Klikněte na Dokončeno jesli jsou všechny texty hotové a chcete již publikovat" /> ');
     113    if(($GroupId < 4) or ($GroupId == 10) or ($GroupId == 11))
     114      $Output .= '<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>';
     115    $Output .= ' <input type="submit" value="Uložit do rozepsaných" name="save" title="Klikněte na uložit pro pozdější dokončení překladu" />
     116    <input type="submit" value="Dokončeno" name="End" title="Klikněte na Dokončeno jesli jsou všechny texty hotové a chcete již publikovat" /> ';
    117117    FollowingTran($TextID, $Table, $GroupId, true);
    118118    FollowingTran($TextID, $Table, $GroupId);
     
    123123    else $WowheadLink = $LineAJ['Entry'];
    124124 
    125   echo('<input type="hidden" name="entry" value="'.$LineAJ['Entry'].'" />
     125  $Output .= '<input type="hidden" name="entry" value="'.$LineAJ['Entry'].'" />
    126126    <input type="hidden" name="user" value="'.$User->Id.'" />
    127127    <input type="hidden" name="ID" value="'.$TextID.'" />
     
    136136        <td>Anglický</td>
    137137        <td>
    138           Přeloženo do:');
     138          Přeloženo do:';
    139139  if($Line['Language'] <> 0) $Language = $Line['Language'];
    140140  else if($User->Id != 0)
     
    142142    $Language = $User->Language;
    143143  } else $Language = 0;
    144   WriteLanguages($Language);
    145   echo('</td></tr>');
     144  $Output .= WriteLanguages($Language).
     145    '</td></tr>';
    146146
    147147  //zvýrazňování jmen
     
    164164    if(($LineAJ[$TextItem['Column']] <> '') or ($Line[$TextItem['Column']] <> '')) 
    165165    {
    166       if ($TextItem['Name'] == 'Text' AND (($Table == 'global_strings') OR ($Table == 'glue_strings'))) echo('<tr><th>'.$LineAJ['ShortCut'].'</th>');
    167         else echo('<tr><th>'.$TextItem['Name'].'</th>');
    168       echo('<td>'.str_replace("\n", '<br/>', ColorNames(htmlspecialchars($LineAJ[$TextItem['Column']]),$names)).'</td>
    169       <td><textarea rows="8" cols="40" onkeydown="ResizeTextArea(this)" class="textedit" id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'">'.htmlspecialchars($Line[$TextItem['Column']]).'</textarea></td></tr>');
     166      if ($TextItem['Name'] == 'Text' AND (($Table == 'global_strings') OR ($Table == 'glue_strings')))
     167        $Output .= '<tr><th>'.$LineAJ['ShortCut'].'</th>';
     168        else $Output .= '<tr><th>'.$TextItem['Name'].'</th>';
     169      $Output .= '<td>'.str_replace("\n", '<br/>', ColorNames(htmlspecialchars($LineAJ[$TextItem['Column']]),$names)).'</td>
     170      <td><textarea rows="8" cols="40" onkeydown="ResizeTextArea(this)" class="textedit" id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'">'.htmlspecialchars($Line[$TextItem['Column']]).'</textarea></td></tr>';
    170171    }
    171172  } else
    172173  {
    173     echo('<input id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'" type="hidden" value="'.htmlspecialchars($Line[$TextItem['Column']]).'" />');
     174    $Output .= '<input id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'" type="hidden" value="'.htmlspecialchars($Line[$TextItem['Column']]).'" />';
    174175  }
    175   echo('</table></div></form>');
    176 } else ShowMessage('Nebylo zadáno ID.', MESSAGE_CRITICAL);
     176  $Output .= '</table></div></form>';
     177  }
     178  }
     179} else $Output = ShowMessage('Nebylo zadáno ID.', MESSAGE_CRITICAL);
    177180
    178 ShowFooter();
     181ShowPage($Output);
    179182
    180183?>   
Note: See TracChangeset for help on using the changeset viewer.