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

    r470 r504  
    1010  else $Search = $_POST['search'];
    1111
    12   echo('<table class="BaseTable"><tr><th>Skupina</th><th>Výsledků</th></tr>');
     12  $Output = '<table class="BaseTable"><tr><th>Skupina</th><th>Výsledků</th></tr>';
    1313  foreach($TranslationTree as $Group)
    1414  {
     
    2424    $DbResult = $System->Database->query($sql);
    2525    $Line = $DbResult->fetch_row();
    26     echo('<tr><td><a href="TranslationList.php?group='.$Group['Id'].'&amp;user=0&amp;state=0&amp;text='.$Search.'&amp;entry=">'.$Group['Name'].'</a></td><td>'.$Line[0].'</td></tr>');
     26    $Output .= '<tr><td><a href="TranslationList.php?group='.$Group['Id'].'&amp;user=0&amp;state=0&amp;text='.$Search.'&amp;entry=">'.$Group['Name'].'</a></td><td>'.$Line[0].'</td></tr>';
    2727  }
    2828 
    2929  $DbResult = $System->Database->query('SELECT count(*) FROM `User` WHERE `Name` LIKE "%'.$Search.'%"');
    3030  $Line = $DbResult->fetch_row();
    31   echo('<tr><td><a href="userlist.php?search='.$Search.'">Uživatelé</a></td><td>'.$Line[0].'</td></tr>');
     31  $Output .= '<tr><td><a href="userlist.php?search='.$Search.'">Uživatelé</a></td><td>'.$Line[0].'</td></tr>';
    3232 
    3333  $DbResult = $System->Database->query('SELECT count(*) FROM `Team` WHERE `Name` LIKE "%'.$Search.'%" OR `Description` LIKE "%'.$Search.'%"');
    3434  $Line = $DbResult->fetch_row();
    35   echo('<tr><td><a href="team.php?search='.$Search.'">Týmy</a></td><td>'.$Line[0].'</td></tr>');
     35  $Output .= '<tr><td><a href="team.php?search='.$Search.'">Týmy</a></td><td>'.$Line[0].'</td></tr>';
    3636 
    3737  $DbResult = $System->Database->query('SELECT count(*) FROM `CzWoWPackageVersion` WHERE `Text` LIKE "%'.$Search.'%"');
    3838  $Line = $DbResult->fetch_row();
    39   echo('<tr><td><a href="download.php?addon">Čeština pro klienta</a></td><td>'.$Line[0].'</td></tr>');
    40   echo('<tr><td><a href="aowow/?search='.$Search.'">Vyhledávací databáze AoWoW</a></td></tr>');
     39  $Output .= '<tr><td><a href="download.php?addon">Čeština pro klienta</a></td><td>'.$Line[0].'</td></tr>';
     40  $Output .= '<tr><td><a href="aowow/?search='.$Search.'">Vyhledávací databáze AoWoW</a></td></tr>';
    4141 
    4242  $DbResult = $System->Database->query('SELECT count(*) FROM `Dictionary` WHERE (`Text` LIKE "%'.$Search.'%" OR `Description` LIKE "%'.$Search.'%") AND `Language` = 0');
    4343  $Line = $DbResult->fetch_row();
    44   echo('<tr><td><a href="dictionary.php?search='.$Search.'">Slovníček</a></td><td>'.$Line[0].'</td></tr>');
    45  
    46   echo('</table>');
     44  $Output .= '<tr><td><a href="dictionary.php?search='.$Search.'">Slovníček</a></td><td>'.$Line[0].'</td></tr>';
     45 
     46  $Output .= '</table>';
     47  return($Output);
    4748}
    4849
     
    5354  if($User->Licence(LICENCE_ADMIN))
    5455  {
    55     echo('<form action="?action=dbkit" method="post">');
    56     echo('Najít: <input type="text" name="find" /><br />');
    57     echo('Nahradit: <input type="text" name="replace" /><br />');
    58     echo('<input type="submit" value="Najít/nahradit" /><br />');
    59     echo('</form><br />');
    60     echo('<a href="?action=dbkit&amp;Take">Opravit data v sloupci Take</a><br />');
    61     echo('<a href="?action=dbkit&amp;ShortCut">Opravit data v sloupci ShortCut</a><br />');
    62  
    63     echo('<br /><form action="?action=dbkit" method="post">');
    64     echo('Vymazat log typ : <input type="text" name="Type" /> ');
    65     echo('<input type="submit" value="Vymazat" /><br />');
    66     echo('</form><br />');
     56    $Output = '<form action="?action=dbkit" method="post">'.
     57      'Najít: <input type="text" name="find" /><br />'.
     58      'Nahradit: <input type="text" name="replace" /><br />'.
     59      '<input type="submit" value="Najít/nahradit" /><br />'.
     60      '</form><br />'.
     61      '<a href="?action=dbkit&amp;Take">Opravit data v sloupci Take</a><br />'.
     62      '<a href="?action=dbkit&amp;ShortCut">Opravit data v sloupci ShortCut</a><br />';
     63 
     64    $Output .= '<br /><form action="?action=dbkit" method="post">'.
     65      'Vymazat log typ : <input type="text" name="Type" /> '.
     66      '<input type="submit" value="Vymazat" /><br />'.
     67      '</form><br />';
    6768
    6869    if(array_key_exists('Type', $_POST))
     
    7172      $System->Database->query($sql);
    7273      WriteLog('Vymazán log '.$_POST['Type'], LOG_TYPE_MODERATOR);
    73       echo(' Vymazán log '.$_POST['Type']);
     74      $Output .= ' Vymazán log '.$_POST['Type'];
    7475    }
    7576   
    7677    if(array_key_exists('find', $_POST))
    7778    {
    78       echo('Začínám nahrazovat: <br />');
     79      $Output .= 'Začínám nahrazovat: <br />';
    7980      $find = $_POST['find'];
    8081      $replace = $_POST['replace'];
     
    8384      {
    8485        $Table = $Group['TablePrefix'];
    85         echo($Table.' ');
     86        $Output .= $Table.' ';
    8687   
    8788        $sql = 'SELECT * FROM '.$Table.' WHERE (`Language` <> 0) AND (';
     
    105106          $sql .= ' WHERE `ID` = '.$Line['ID'];
    106107          $System->Database->query($sql);
    107           echo ('.');
    108         }
    109    
    110         echo(' <strong>Hotovo</strong> <br />');
     108          $Output .= '.';
     109        }
     110   
     111        $Output .= ' <strong>Hotovo</strong> <br />';
    111112        if($DbResult->num_rows > 0)
    112113        {
    113114          WriteLog('Použita oprava DB ovlivněno '.$DbResult->num_rows.' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"', LOG_TYPE_MODERATOR);
    114           echo (' Použita oprava DB ovlivněno '.$DbResult->num_rows.' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"<br />');
     115          $Output .= ' Použita oprava DB ovlivněno '.$DbResult->num_rows.' řádků z tabulky '.$Table.', "'.$find.'" nahrazeno za "'.$replace.'"<br />';
    115116        }
    116117      }
     
    120121    if(array_key_exists('Take',$_GET))
    121122    {
    122       echo ('Začínám opravovat Take: <br />');
     123      $Output .= 'Začínám opravovat Take: <br />';
    123124   
    124125      foreach($TranslationTree as $Group)
    125126      {
    126127        $Table = $Group['TablePrefix'];
    127         echo($Table.' ');
     128        $Output .= $Table.' ';
    128129   
    129130        $sql = 'SELECT `ID`, `Entry` AS EntryTran, `Take`,
     
    136137          $sql = 'UPDATE `'.$Table.'` SET `Take` = '.$Line['IDOrig'].' WHERE `ID` = '.$Line['ID'];
    137138          $System->Database->query($sql);
    138           echo('.');
    139         }
    140    
    141         echo(' <strong>Hotovo</strong> <br />');
     139          $Output .= '.';
     140        }
     141   
     142        $Output .= ' <strong>Hotovo</strong> <br />';
    142143        if($DbResult->num_rows > 0)
    143144        {
    144145          WriteLog('Použita oprava DB na sloupec Take '.$DbResult->num_rows.' řádků z tabulky '.$Table, LOG_TYPE_MODERATOR);
    145           echo(' Použita oprava DB na sloupec Take '.$DbResult->num_rows.' řádků z tabulky '.$Table.'<br />');
     146          $Output .= ' Použita oprava DB na sloupec Take '.$DbResult->num_rows.' řádků z tabulky '.$Table.'<br />';
    146147        }
    147148      }
     
    150151    if(array_key_exists('ShortCut', $_GET))
    151152    {
    152       echo ('Začínám opravovat Take: <br />');       
     153      $Output .= 'Začínám opravovat Take: <br />';       
    153154     
    154155      $Tables = array('TextGlobalString', 'TextGlueString'); 
     
    156157      foreach($Tables as $Table)
    157158      {     
    158         echo ($Table.' ');
     159        $Output .= $Table.' ';
    159160        $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`';     
    160161        $DbResult = $System->Database->query($sql);
     
    163164          $sql = 'UPDATE `'.$Table.'` SET `ShortCut` = '.$Line['ShortCut_orig'].' WHERE `ID` = '.$Line['ID'];
    164165          $System->Database->query($sql);
    165           echo ('.');
    166         }
    167    
    168         echo (' <strong>Hotovo</strong> <br />');
     166          $Output .= '.';
     167        }
     168   
     169        $Output = ' <strong>Hotovo</strong> <br />';
    169170        if($DbResult->num_rows > 0)
    170171        {
    171172          WriteLog('Použita oprava DB na sloupec ShortCut '.$DbResult->num_rows.' řádků z tabulky '.$Table, LOG_TYPE_MODERATOR);
    172           echo (' Použita oprava DB na sloupec ShortCut '.$DbResult->num_rows.' řádků z tabulky '.$Table.'<br />');
     173          $Output .= ' Použita oprava DB na sloupec ShortCut '.$DbResult->num_rows.' řádků z tabulky '.$Table.'<br />';
    173174        }
    174175      }
    175176    }
    176   } else ShowMessage('Nemáte oprávnění.', MESSAGE_CRITICAL);   
     177  } else $Output = ShowMessage('Nemáte oprávnění.', MESSAGE_CRITICAL);
     178  return($Output);   
    177179}
    178180
     
    185187    $TextID = $_GET['ID'];       
    186188    $System->Database->query('DELETE FROM `'.$Table.'` WHERE `ID` = '.$TextID.' AND `Language` <> 0');
    187     ShowMessage('Překlad byl smazán.');   
     189    $Output = ShowMessage('Překlad byl smazán.');   
    188190    WriteLog('Překlad byl smazán! <a href="form.php?group='.$GroupID.'&amp;ID='.$TextID.'">'.$TextID.'</a>', LOG_TYPE_MODERATOR);
    189   }
     191  } else $Output = ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
     192  return($Output);
    190193}
    191194
     
    194197  global $System, $User;
    195198 
     199  $Output = '';
    196200  if($User->Licence(LICENCE_USER))
    197201  {
    198202    if(!array_key_exists('add', $_POST))
    199203    {
    200       echo('<form action="action.php?action=shoutbox" method="post">'.
     204      $Output .= '<form action="action.php?action=shoutbox" method="post">'.
    201205        '<fieldset><legend>Nová zpráva kecátka</legend>'.
    202         'Uživatel: ');
    203       if($User->Licence(LICENCE_USER)) echo('<b>'.$User->Name.'</b><br />');
    204       else echo('<input type="text" name="user" /><br />');
    205       echo('Text zprávy: <br/>
     206        'Uživatel: ';
     207      if($User->Licence(LICENCE_USER)) $Output .= '<b>'.$User->Name.'</b><br />';
     208      else $Output .= '<input type="text" name="user" /><br />';
     209      $Output .= 'Text zprávy: <br/>
    206210      <textarea onkeydown="ResizeTextArea(this)" name="text" cols="40"></textarea> <br/>
    207211      <input type="submit" name="add" value="Odeslat" /><br /></fieldset>
    208       </form>');
     212      </form>';
    209213    } else
    210214    {
     
    212216      {
    213217        $Text = $_POST['text'];
    214         if(trim($Text) == '') ShowMessage('Nelze vložit prázdnou zprávu.', MESSAGE_WARNING);
     218        if(trim($Text) == '') $Output .= ShowMessage('Nelze vložit prázdnou zprávu.', MESSAGE_WARNING);
    215219        else
    216220        {
     
    222226          } else $DbRow['Text'] = '';
    223227       
    224           if($DbRow['Text'] == $Text) ShowMessage('Nelze vložit stejnou zprávu vícekrát za sebou.', MESSAGE_WARNING);
     228          if($DbRow['Text'] == $Text) $Output .= ShowMessage('Nelze vložit stejnou zprávu vícekrát za sebou.', MESSAGE_WARNING);
    225229          else
    226230          {
    227231            $System->Database->query('INSERT INTO `ShoutBox` ( `User`, `UserName` , `Text` , `Date` , `IP` ) '.
    228232              ' VALUES ('.$User->Id.', "'.$User->Name.'", "'.$Text.'", NOW(), "'.$_SERVER['REMOTE_ADDR'].'")');
    229             ShowMessage('Zpráva vložena.');   
     233            $Output .= ShowMessage('Zpráva vložena.');   
    230234          }
    231235        }
    232       } else ShowMessage('Nezadán text pro novou zprávu.', MESSAGE_CRITICAL);   
    233     }
    234     echo('<br/>');
    235   } else ShowMessage('Pro vkládaní zpráv musíte byt registrováni.', MESSAGE_CRITICAL);
    236   ShoutBoxView();
     236      } else $Output .= ShowMessage('Nezadán text pro novou zprávu.', MESSAGE_CRITICAL);   
     237    }
     238    $Output .= '<br/>';
     239  } else $Output .= ShowMessage('Pro vkládaní zpráv musíte byt registrováni.', MESSAGE_CRITICAL);
     240  $Output .= ShoutBoxView();
     241  return($Output);
    237242}
    238243
     
    240245{
    241246  global $System, $User;
    242  
     247   
    243248  $DbResult = $System->Database->query('SELECT COUNT(*) FROM `ShoutBox`');
    244249  $DbRow = $DbResult->fetch_row();
    245250  $PageList = GetPageList($DbRow[0]);   
    246251
    247   echo('<h3>Kecátko</h3>');
    248   echo($PageList['Output']);
    249   if($User->Licence(LICENCE_USER)) echo(' <a href="action.php?action=shoutbox">Vložit</a>');
    250   echo('<div class="shoutbox">');
     252  $Output = '<h3>Kecátko</h3>'.$PageList['Output'];
     253  if($User->Licence(LICENCE_USER)) $Output .= ' <a href="action.php?action=shoutbox">Vložit</a>';
     254  $Output .= '<div class="shoutbox">';
    251255  $DbResult = $System->Database->query('SELECT * FROM `ShoutBox` ORDER BY `ID` DESC '.$PageList['SQLLimit']);
    252256  while($Line = $DbResult->fetch_assoc())
    253     echo('<div><strong>'.$Line['UserName'].'</strong>: '.MakeActiveLinks($Line['Text']).'</div>');
    254   echo('</div>');
    255   echo($PageList['Output']);
     257    $Output .= '<div><strong>'.$Line['UserName'].'</strong>: '.MakeActiveLinks($Line['Text']).'</div>';
     258  $Output .= '</div>'.$PageList['Output'];
     259  return($Output);
    256260}
    257261
     
    264268  $PageList = GetPageList($DbRow[0]);   
    265269
    266   echo('<h3>Novinky</h3>');
    267   echo($PageList['Output']);
    268   if($User->Licence(LICENCE_USER)) echo(' <a href="admin.php?action=addnew">Vložit</a>');
    269   echo('<div class="shoutbox">');
     270  $Output = '<h3>Novinky</h3>'.$PageList['Output'];
     271  if($User->Licence(LICENCE_USER)) $Output .= ' <a href="admin.php?action=addnew">Vložit</a>';
     272  $Output .= '<div class="shoutbox">';
    270273  $DbResult = $System->Database->query('SELECT `News`.`Time`, `News`.`Text`, `User`.`Name` AS `User` FROM `News` JOIN `User` ON `User`.`Id`=`News`.`User` ORDER BY `News`.`Time` DESC '.$PageList['SQLLimit']);
    271274  while($Line = $DbResult->fetch_assoc())
    272     echo('<div><strong>'.HumanDate($Line['Time']).'</strong> '.$Line['Text'].' ('.$Line['User'].')</div>');
    273   echo('</div>');
    274   echo($PageList['Output']);
    275 }
    276 
    277 ShowPage();
     275    $Output .= '<div><strong>'.HumanDate($Line['Time']).'</strong> '.$Line['Text'].' ('.$Line['User'].')</div>';
     276  $Output .= '</div>'.$PageList['Output'];
     277  return($Output);
     278}
    278279
    279280$GroupId = LoadGroupIdParameter();
     
    282283  else $Action = '';
    283284
    284 if($Action == 'shoutbox') ShoutBox();
    285 else if($Action == 'news') ShowNewsHistory();
    286 else if($Action == 'search') Search();
    287 else if($Action == 'delete') Delete();
    288 else if($Action == 'dbkit') DatabaseKit();
    289 else if($Action == 'ShoutBoxView') ShoutBoxView();
    290 else ShowMessage('Nebyla zadána žádná akce.', MESSAGE_CRITICAL);
    291 
    292 ShowFooter();     
     285if($Action == 'shoutbox') $Output = ShoutBox();
     286else if($Action == 'news') $Output = ShowNewsHistory();
     287else if($Action == 'search') $Output = Search();
     288else if($Action == 'delete') $Output = Delete();
     289else if($Action == 'dbkit') $Output = DatabaseKit();
     290else if($Action == 'ShoutBoxView') $Output = ShoutBoxView();
     291else $Output = ShowMessage('Nebyla zadána žádná akce.', MESSAGE_CRITICAL);
     292
     293ShowPage($Output);     
    293294
    294295?>
Note: See TracChangeset for help on using the changeset viewer.