textmode.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. //session_start();
  3. //error_reporting(E_ALL);
  4. session_start();
  5. ini_set('display_errors', '0');
  6. //include("Source/cachefix.php"); //This must be the first line in every file.
  7. include("Source/sql.php");
  8. include("Source/sign.php");
  9. include("Source/userlist.php");
  10. $count = "25";
  11. $channel = "#omnimaga";
  12. $nick = "0";
  13. if (isset($_GET['login'])) {
  14. //session_destroy();
  15. $_SESSION['sig'] = $_GET['sig'];
  16. $_SESSION['nick'] = $_GET['nick'];
  17. }
  18. if (isset($_GET['message'])) {
  19. echo "<html><body><form action='textmode.php?sendMessage' method='post'><input type='text' name='message' autofocus style='width:100%'><input type='Submit' value='Send'></form><table>".$_SESSION['content']."</table></body></html>";
  20. } elseif (isset($_GET['sendMessage'])) {
  21. header("Location: message.php?textmode&nick=".base64_url_encode($_SESSION['nick'])."&signature=".base64_url_encode($_SESSION['sig'])."&message=".base64_url_encode($_POST['message'])."&channel=I29tbmltYWdh");
  22. } else {
  23. if (isset($_GET['update'])) {
  24. $query = sql_query("SELECT * FROM `irc_lines` WHERE `line_number` > %s AND (`channel` = '%s' OR `channel` = '%s' OR (`channel` = '%s' AND `name1` = '%s'))",$_SESSION['curline'] + 0,$channel,$nick,$pm?$sender:"0", $nick);
  25. } else {
  26. $_SESSION['curline'] = 0;
  27. $query = sql_query("SELECT x.* FROM (
  28. SELECT * FROM `irc_lines`
  29. WHERE `channel` = '%s' OR `channel` = '%s'
  30. ORDER BY `line_number` DESC
  31. LIMIT %s
  32. ) AS x
  33. ORDER BY `line_number` ASC",$channel,$nick,$count + 0);
  34. $_SESSION['content'] = "";
  35. }
  36. while ($result = mysql_fetch_array($query)) {
  37. $line = "<tr>";
  38. switch (strtolower($result['type'])) {
  39. case "pm":
  40. case "message":
  41. $line .= "<td>&lt;".htmlspecialchars($result['name1'])."&gt; ".htmlspecialchars($result['message'])."</td>";break;
  42. case "action":
  43. $line .= "<td>* ".htmlspecialchars($result['name1'])." ".htmlspecialchars($result['message'])."</td>";break;
  44. case "join":
  45. if ($result['Online']=="0")
  46. $line .= "<td>* ".htmlspecialchars($result['name1'])." has joined #omnimaga</td>";
  47. break;
  48. case "part":
  49. if ($result['Online']=="0")
  50. $line .= "<td>* ".htmlspecialchars($result['name1'])." has part (" . htmlspecialchars($result["message"]).")</td>";
  51. break;
  52. case "kick":
  53. $line .= "<td> ".htmlspecialchars($result['name1'])." has kicked ".htmlspecialchars($result["name2"])." (" . htmlspecialchars($result["message"]).")</td>";break;
  54. case "quit":
  55. if ($result['Online']=="0")
  56. $line .= "<td>* ".htmlspecialchars($result['name1'])." has quit (".htmlspecialchars($result["message"]).")</td>";
  57. break;
  58. case "mode":
  59. $line .= "<td>* ".htmlspecialchars($result['name1'])." has set ".htmlspecialchars($result["message"])."</td>";break;
  60. case "nick":
  61. $line .= "<td>* ".htmlspecialchars($result['name1'])." has changed nick to ".htmlspecialchars($result["name2"])."</td>";break;
  62. case "topic":
  63. $line .= "<td>* ".htmlspecialchars($result['name1'])." has changed topic to ".htmlspecialchars($result["message"])."</td>";break;
  64. }
  65. $_SESSION['curline'] = $result['line_number'];
  66. $_SESSION['content'] = $line."</tr>".$_SESSION['content'];
  67. }
  68. echo "<html><head><meta http-equiv=\"refresh\" content=\"5;url=textmode.php?update=".$_SESSION['curline']."\"></head><body><a href=\"textmode.php?message=".$_SESSION['curline']."\" autofocus>Click here to write a message</a><table>".$_SESSION['content']."</table></body></html>";
  69. }
  70. ?>