comparison 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
comparison
equal deleted inserted replaced
116:98b2dc732ca0 117:e2deb5236f26
1 local Luan = require "luan:Luan.luan" 1 local Luan = require "luan:Luan.luan"
2 local error = Luan.error 2 local error = Luan.error
3 local ipairs = Luan.ipairs or error() 3 local ipairs = Luan.ipairs or error()
4 local parse = Luan.parse or error() 4 local parse = Luan.parse or error()
5 local String = require "luan:String.luan"
6 local contains = String.contains or error()
5 local Table = require "luan:Table.luan" 7 local Table = require "luan:Table.luan"
6 local concat = Table.concat or error() 8 local concat = Table.concat or error()
7 local Time = require "luan:Time.luan" 9 local Time = require "luan:Time.luan"
8 local Thread = require "luan:Thread.luan" 10 local Thread = require "luan:Thread.luan"
9 local thread_run = Thread.run or error() 11 local thread_run = Thread.run or error()
10 local Html = require "luan:Html.luan" 12 local Html = require "luan:Html.luan"
11 local html_encode = Html.encode or error() 13 local html_encode = Html.encode or error()
14 local url_encode = Html.url_encode or error()
12 local Http = require "luan:http/Http.luan" 15 local Http = require "luan:http/Http.luan"
13 local Mail = require "luan:mail/Mail.luan" 16 local Mail = require "luan:mail/Mail.luan"
14 local User = require "site:/lib/User.luan" 17 local User = require "site:/lib/User.luan"
15 local current_user = User.current or error() 18 local current_user = User.current or error()
16 local get_user_by_id = User.get_by_id or error() 19 local get_user_by_id = User.get_by_id or error()
17 local Chat = require "site:/lib/Chat.luan" 20 local Chat = require "site:/lib/Chat.luan"
18 local chat_search = Chat.search or error() 21 local chat_search = Chat.search or error()
19 local Utils = require "site:/lib/Utils.luan" 22 local Utils = require "site:/lib/Utils.luan"
20 local base_url = Utils.base_url or error() 23 local base_url = Utils.base_url or error()
24 local to_list = Utils.to_list or error()
21 local Db = require "site:/lib/Db.luan" 25 local Db = require "site:/lib/Db.luan"
22 local Post = require "site:/lib/Post.luan" 26 local Post = require "site:/lib/Post.luan"
23 local get_post_by_id = Post.get_by_id or error() 27 local get_post_by_id = Post.get_by_id or error()
24 local Config = require "site:/private/Config.luan" 28 local Config = require "site:/private/Config.luan"
25 local Logging = require "luan:logging/Logging.luan" 29 local Logging = require "luan:logging/Logging.luan"
182 end 186 end
183 end 187 end
184 188
185 Shared.compressed = {compressed=true} 189 Shared.compressed = {compressed=true}
186 190
191 function Shared.add_with(path)
192 local with = Http.request.parameters.with
193 if with ~= nil then
194 with = to_list(with)
195 local t = {}
196 for _, email in ipairs(with) do
197 t[#t+1] = "with="..url_encode(email)
198 end
199 path = path..(contains(path,"?") and "&" or "?")..concat(t,"&")
200 end
201 return path
202 end
203
204 function Shared.hidden_with()
205 local with = Http.request.parameters.with
206 with = to_list(with)
207 for _, email in ipairs(with) do %>
208 <input type=hidden name=with value="<%=html_encode(email)%>">
209 <% end
210 end
211
187 return Shared 212 return Shared