Changeset 466 for trunk/action.php


Ignore:
Timestamp:
Apr 15, 2010, 8:20:31 AM (15 years ago)
Author:
george
Message:
  • Opraveno: Zobrazopvání HTTP odkazů v kecátku.
  • Přidáno: Systémová hlášení se nyní zobrazují v barevných rámečcích s ikonou. Typy zpráv jsou informace, varování a kritická chyba.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/action.php

    r465 r466  
    185185    $TextID = $_GET['ID'];       
    186186    $System->Database->query('DELETE FROM `'.$Table.'` WHERE `ID` = '.$TextID.' AND `Language` <> 0');
    187     echo('Překlad byl smazán!');   
     187    ShowMessage('Překlad byl smazán.');   
    188188    WriteLog('Překlad byl smazán! <a href="form.php?group='.$GroupID.'&amp;ID='.$TextID.'">'.$TextID.'</a>', LOG_TYPE_MODERATOR);
    189189  }
     
    194194  global $System, $User;
    195195 
    196   if(!array_key_exists('add', $_POST))
    197   {
    198     echo('<form action="action.php?action=shoutbox" method="post">'.
    199     '<fieldset><legend>Nová zpráva kecátka</legend>
    200      Uživatel: ');
    201     if($User->Licence(LICENCE_USER)) echo('<b>'.$User->Name.'</b><br />');
    202     else echo('<input type="text" name="user" /><br />');
    203     echo('Text zprávy: <br>
    204       <textarea onkeydown="ResizeTextArea(this)" name="text" cols="40"></textarea> <br />
     196  if($User->Licence(LICENCE_USER))
     197  {
     198    if(!array_key_exists('add', $_POST))
     199    {
     200      echo('<form action="action.php?action=shoutbox" method="post">'.
     201        '<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      <textarea onkeydown="ResizeTextArea(this)" name="text" cols="40"></textarea> <br/>
    205207      <input type="submit" name="add" value="Odeslat" /><br /></fieldset>
    206208      </form>');
    207   } else
    208   {
    209     if($User->Licence(LICENCE_USER))
     209    } else
    210210    {
    211211      if(array_key_exists('text', $_POST))
    212212      {
    213213        $Text = $_POST['text'];
    214         $System->Database->query('INSERT INTO `ShoutBox` ( `User` , `Text` , `Date` , `IP` ) '.
    215       ' VALUES ("'.$User->Name.'", "'.$Text.'", NOW(), "'.$_SERVER['REMOTE_ADDR'].'")');
    216         echo('Zpráva vložena!<br/>');   
    217       } else echo('Nezadán text pro novou zprávu!<br/>');   
    218     } else echo('Pro vkládaní musíte byt registrováni!<br/>');
    219   }
    220   echo('<br/>');
     214        // Protection against mutiple post of same message
     215        $DbResult = $System->Database->query('SELECT `Text` FROM `ShoutBox` WHERE (`User` = "'.$User->Name.'") AND (`Text` = "'.$Text.'") ORDER BY `Date` DESC LIMIT 1');
     216        if($DbResult->num_rows > 0) ShowMessage('Nelze vložit stejnou zprávu vícekrát za sebou.', MESSAGE_WARNING);
     217        else
     218        {
     219          $System->Database->query('INSERT INTO `ShoutBox` ( `User` , `Text` , `Date` , `IP` ) '.
     220            ' VALUES ("'.$User->Name.'", "'.$Text.'", NOW(), "'.$_SERVER['REMOTE_ADDR'].'")');
     221          ShowMessage('Zpráva vložena.');   
     222        }
     223      } else ShowMessage('Nezadán text pro novou zprávu.', MESSAGE_CRITICAL);   
     224    }
     225    echo('<br/>');
     226  } else ShowMessage('Pro vkládaní zpráv musíte byt registrováni.', MESSAGE_CRITICAL);
    221227  ShoutBoxView();
    222228}
     
    236242  $DbResult = $System->Database->query('SELECT * FROM `ShoutBox` ORDER BY `ID` DESC '.$PageList['SQLLimit']);
    237243  while($Line = $DbResult->fetch_assoc())
    238     echo('<div><strong>'.$Line['User'].'</strong>: '.MakeActiveLinks(htmlspecialchars($Line['Text'])).'</div>');
     244    echo('<div><strong>'.$Line['User'].'</strong>: '.MakeActiveLinks($Line['Text']).'</div>');
    239245  echo('</div>');
    240246  echo($PageList['Output']);
     
    273279else if($Action == 'dbkit') DatabaseKit();
    274280else if($Action == 'ShoutBoxView') ShoutBoxView();
    275 else echo('Nebyla zadána žádná akce');
     281else ShowMessage('Nebyla zadána žádná akce.', MESSAGE_CRITICAL);
    276282
    277283ShowFooter();     
Note: See TracChangeset for help on using the changeset viewer.