annotate src/lib/Shared.luan @ 117:e2deb5236f26

better login
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 04 Dec 2025 21:43:47 -0700
parents 15cf43dd144c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local ipairs = Luan.ipairs or error()
1
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents: 0
diff changeset
4 local parse = Luan.parse or error()
117
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
5 local String = require "luan:String.luan"
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
6 local contains = String.contains or error()
83
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
7 local Table = require "luan:Table.luan"
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
8 local concat = Table.concat or error()
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
9 local Time = require "luan:Time.luan"
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
10 local Thread = require "luan:Thread.luan"
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
11 local thread_run = Thread.run or error()
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
12 local Html = require "luan:Html.luan"
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
13 local html_encode = Html.encode or error()
117
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
14 local url_encode = Html.url_encode or error()
16
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
15 local Http = require "luan:http/Http.luan"
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
16 local Mail = require "luan:mail/Mail.luan"
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
17 local User = require "site:/lib/User.luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
18 local current_user = User.current or error()
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
19 local get_user_by_id = User.get_by_id or error()
15
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
20 local Chat = require "site:/lib/Chat.luan"
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
21 local chat_search = Chat.search or error()
16
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
22 local Utils = require "site:/lib/Utils.luan"
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
23 local base_url = Utils.base_url or error()
117
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
24 local to_list = Utils.to_list or error()
69
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 59
diff changeset
25 local Db = require "site:/lib/Db.luan"
79
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
26 local Post = require "site:/lib/Post.luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
27 local get_post_by_id = Post.get_by_id or error()
101
0fc454beff08 use Config.luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 86
diff changeset
28 local Config = require "site:/private/Config.luan"
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
29 local Logging = require "luan:logging/Logging.luan"
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
30 local logger = Logging.logger "Shared"
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 local Shared = {}
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
35 local started = Time.now()
10
f9e6a4cc4f7d add Post
Franklin Schmidt <fschmidt@gmail.com>
parents: 3
diff changeset
36 Shared.started = started
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
37
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
38 local title
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
39 local domain = Http.domain
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
40 if domain == "chat.luan.software" then
51
38c209714df9 rename to Luan Chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 46
diff changeset
41 title = "Luan Chat"
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
42 elseif domain == "test.chat.luan.software" then
51
38c209714df9 rename to Luan Chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 46
diff changeset
43 title = "Luan Chat test"
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
44 elseif domain == nil then
51
38c209714df9 rename to Luan Chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 46
diff changeset
45 title = "Luan Chat local"
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
46 else
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
47 error(domain)
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
48 end
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
49 Shared.title = title
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
50
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
51 function Shared.head()
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
52 %>
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
53 <meta name="viewport" content="width=device-width, initial-scale=1">
86
625ffdf6499d web app
Franklin Schmidt <fschmidt@gmail.com>
parents: 83
diff changeset
54 <link rel="manifest" href="/manifest.json" />
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
55 <title><%=title%></title>
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
56 <style>
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
57 @import "/site.css?s=<%=started%>";
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
58 </style>
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
59 <script src="/site.js?s=<%=started%>"></script>
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
60 <%
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
61 end
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
62
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
63 local function header(crumbs)
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
64 local user = current_user()
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
65 %>
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
66 <div header>
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
67 <span>
51
38c209714df9 rename to Luan Chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 46
diff changeset
68 <a href="/">Luan Chat</a>
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
69 <% for _, crumb in ipairs(crumbs or {}) do %>
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
70 / <%=crumb%>
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
71 <% end %>
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
72 </span>
41
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
73 <span right>
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
74 <% if user == nil then %>
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
75 <a href="/login.html">Login / Register</a>
41
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
76 <% else
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
77 local voice_url = user.voice_url
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
78 if voice_url ~= nil then
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
79 %>
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
80 <a href="<%=voice_url%>" title="Call" target="voice"><img phone src="/images/call.svg"></a>
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
81 <%
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
82 end
818697418dbe add voice link
Franklin Schmidt <fschmidt@gmail.com>
parents: 40
diff changeset
83 %>
2
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
84 <a href="/account.html"><%= user.email %></a>
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
85 <% end %>
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
86 </span>
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
87 </div>
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
88 <%
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
89 end
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
90 Shared.header = header
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
91
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
92 function Shared.private_header()
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
93 header{
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
94 [[<a href="/private/">private</a>]]
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
95 [[<a href="/private/tools/">tools</a>]]
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
96 }
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
97 end
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
98
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
99 local default_from = title.." <chat@luan.software>"
101
0fc454beff08 use Config.luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 86
diff changeset
100 local send_mail0 = Mail.sender(Config.mail_server).send
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
101 function Shared.send_mail(mail)
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
102 mail.From = mail.From or default_from
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
103 send_mail0(mail)
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
104 end
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
105
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
106 function Shared.send_mail_async(mail)
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
107 mail.From = mail.From or default_from
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
108 thread_run( function()
45
e138343b2c76 unsubscribe and more
Franklin Schmidt <fschmidt@gmail.com>
parents: 41
diff changeset
109 send_mail0(mail)
3
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
110 end )
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
111 end
2c63b10781e1 add login
Franklin Schmidt <fschmidt@gmail.com>
parents: 2
diff changeset
112
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
113 function Shared.post_html(post)
22
949914955bfe add menu
Franklin Schmidt <fschmidt@gmail.com>
parents: 19
diff changeset
114 local author_id = post.author_id
949914955bfe add menu
Franklin Schmidt <fschmidt@gmail.com>
parents: 19
diff changeset
115 local user = current_user() or error()
949914955bfe add menu
Franklin Schmidt <fschmidt@gmail.com>
parents: 19
diff changeset
116 local author = get_user_by_id(author_id)
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
117 local id = post.id
106
15cf43dd144c handle reply to deleted
Franklin Schmidt <fschmidt@gmail.com>
parents: 101
diff changeset
118 local reply_id = post.reply
15cf43dd144c handle reply to deleted
Franklin Schmidt <fschmidt@gmail.com>
parents: 101
diff changeset
119 local reply = reply_id and get_post_by_id(reply_id)
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
120 %>
79
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
121 <div post="<%=id%>" author="<%=author.id%>" id="p<%=id%>" fix>
35
27c41f22d2a9 improve fixPosts
Franklin Schmidt <fschmidt@gmail.com>
parents: 34
diff changeset
122 <div who>
46
42b741a1d5c6 add username
Franklin Schmidt <fschmidt@gmail.com>
parents: 45
diff changeset
123 <span author><%=author.name_html()%></span>
34
Franklin Schmidt <fschmidt@gmail.com>
parents: 33
diff changeset
124 <span right>
35
27c41f22d2a9 improve fixPosts
Franklin Schmidt <fschmidt@gmail.com>
parents: 34
diff changeset
125 <span when><%=post.date%></span>
27c41f22d2a9 improve fixPosts
Franklin Schmidt <fschmidt@gmail.com>
parents: 34
diff changeset
126 <span pulldown></span>
34
Franklin Schmidt <fschmidt@gmail.com>
parents: 33
diff changeset
127 </span>
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
128 </div>
79
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
129 <% if reply ~= nil then %>
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
130 <div quote>
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
131 <blockquote><%= html_encode(reply.content) %></blockquote>
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
132 <div><a when href="#p<%=reply.id%>"><%=reply.date%></a></div>
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
133 </div>
106
15cf43dd144c handle reply to deleted
Franklin Schmidt <fschmidt@gmail.com>
parents: 101
diff changeset
134 <% elseif reply_id ~= nil then %>
15cf43dd144c handle reply to deleted
Franklin Schmidt <fschmidt@gmail.com>
parents: 101
diff changeset
135 <div quote>
15cf43dd144c handle reply to deleted
Franklin Schmidt <fschmidt@gmail.com>
parents: 101
diff changeset
136 <span deleted>Message deleted</span>
15cf43dd144c handle reply to deleted
Franklin Schmidt <fschmidt@gmail.com>
parents: 101
diff changeset
137 </div>
79
Franklin Schmidt <fschmidt@gmail.com>
parents: 73
diff changeset
138 <% end %>
35
27c41f22d2a9 improve fixPosts
Franklin Schmidt <fschmidt@gmail.com>
parents: 34
diff changeset
139 <div text><%= html_encode(post.content) %></div>
12
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
140 </div>
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
141 <%
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
142 end
9f45d32670ae server push
Franklin Schmidt <fschmidt@gmail.com>
parents: 10
diff changeset
143
83
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
144 local function group_name(user_ids)
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
145 local t = {nil}
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
146 for _, user_id in ipairs(user_ids) do
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
147 t[#t+1] = get_user_by_id(user_id).name_html()
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
148 end
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
149 return concat(t,", ")
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
150 end
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
151 Shared.group_name = group_name
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
152
15
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
153 function Shared.chats_html()
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
154 local user = current_user() or error()
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
155 local chats = chat_search( "chat_user_ids:"..user.id, "chat_updated desc" )
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
156 for _, chat in ipairs(chats) do
59
8270106644db add chat.luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 53
diff changeset
157 local chat_id = chat.id
53
9298b04607ae add unread
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
158 local unread = chat.unread(user)
15
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
159 %>
59
8270106644db add chat.luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 53
diff changeset
160 <div chat="<%=chat_id%>" onclick="selectChat('<%=chat_id%>')">
83
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
161 <%
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
162 local user_ids = chat.other_user_ids(user.id)
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
163 if #user_ids > 1 then
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
164 %>
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
165 <%= group_name(user_ids) %>
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
166 <%
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
167 else
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
168 local other_user = get_user_by_id(user_ids[1]) or error()
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
169 %>
53
9298b04607ae add unread
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
170 <%= other_user.name_html() %>
9298b04607ae add unread
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
171 <span online="<%= other_user.id %>"></span>
83
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
172 <%
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
173 end
a47036fd0158 group chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 79
diff changeset
174 %>
53
9298b04607ae add unread
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
175 <span unread="<%=unread%>"><%=unread%></span>
9298b04607ae add unread
Franklin Schmidt <fschmidt@gmail.com>
parents: 51
diff changeset
176 </div>
15
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
177 <%
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
178 end
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
179 end
8b8905f63d80 add get_chats
Franklin Schmidt <fschmidt@gmail.com>
parents: 12
diff changeset
180
16
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
181 function Shared.http_push_to_users(user_ids,message)
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
182 local base = base_url().."/user/"
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
183 for _, user_id in ipairs(user_ids) do
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
184 local url = base..user_id
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
185 Http.push(url,message)
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
186 end
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
187 end
82b55186a4a0 fix delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents: 15
diff changeset
188
73
a63faf49e1d7 last seen
Franklin Schmidt <fschmidt@gmail.com>
parents: 69
diff changeset
189 Shared.compressed = {compressed=true}
a63faf49e1d7 last seen
Franklin Schmidt <fschmidt@gmail.com>
parents: 69
diff changeset
190
117
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
191 function Shared.add_with(path)
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
192 local with = Http.request.parameters.with
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
193 if with ~= nil then
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
194 with = to_list(with)
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
195 local t = {}
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
196 for _, email in ipairs(with) do
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
197 t[#t+1] = "with="..url_encode(email)
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
198 end
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
199 path = path..(contains(path,"?") and "&" or "?")..concat(t,"&")
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
200 end
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
201 return path
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
202 end
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
203
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
204 function Shared.hidden_with()
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
205 local with = Http.request.parameters.with
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
206 with = to_list(with)
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
207 for _, email in ipairs(with) do %>
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
208 <input type=hidden name=with value="<%=html_encode(email)%>">
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
209 <% end
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
210 end
e2deb5236f26 better login
Franklin Schmidt <fschmidt@gmail.com>
parents: 106
diff changeset
211
0
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
212 return Shared