gateway: simplify stopping the cleanup timer
[olsrd.git] / lib / tas / data / chat_recv.lsp
1 <?lua
2
3  tas.keep_state()
4
5  tas.add_header_line("Refresh: 5");
6
7  if not channel or channel == "" then
8   channel = "Open"
9  end
10
11  if not nick or nick == "" then
12   nick = "OLSR User"
13  end
14
15  if not list then
16   list = {}
17  end
18
19  if not listLen then
20   listLen = 0
21  end
22
23  maxListLen = 25
24  httpPort = 1979
25
26  while true do
27   msg, from = tas.olsr_get_message("chat00")
28
29   if not msg then break end
30
31   msg = string.gsub(msg, "&", "&amp;")
32   msg = string.gsub(msg, "<", "&lt;")
33   msg = string.gsub(msg, ">", "&gt;")
34
35   if listLen == maxListLen then
36    for i = 0, maxListLen - 2 do
37     list[i] = list[i + 1]
38    end
39
40    listLen = listLen - 1
41   end
42
43   _, _, channel2, nick2, message = string.find(msg, "([^~]*)~([^~]*)~([^~]*)")
44
45   if string.lower(channel) == string.lower(channel2) then
46
47    list[listLen] = {}
48    list[listLen]["from"] = from
49    list[listLen]["channel"] = channel2
50    list[listLen]["nick"] = nick2
51    list[listLen]["message"] = message
52
53    listLen = listLen + 1
54
55   end
56
57  end
58
59 ?>
60
61 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
62
63 <html>
64   <head>
65     <title>
66       OLSR Chat Receive Window
67     </title>
68   </head>
69   <body>
70
71 <?lua
72
73  for i = 0, listLen - 1 do
74
75   if i == listLen - 1 then
76
77 ?>
78
79  <a name="bottom"></a>
80
81 <?lua
82
83   end
84
85 ?>
86
87     <p>
88       <b><?lua tas.write(list[i]["nick"]) ?></b>
89       (<a href="http://<?lua tas.write(list[i]["from"]) ?>:<?lua tas.write(httpPort) ?>/pub/profile.html" target="_profile"><?lua tas.write(list[i]["from"]) ?></a>),
90       <?lua tas.write(list[i]["channel"]) ?>:
91       <?lua tas.write(list[i]["message"]) ?>
92     </p>
93
94 <?lua
95
96  end
97
98 ?>
99
100     <form>
101
102   </body>
103 </html>