Mercurial Hosting > chat
comparison src/chat.html.luan @ 5:a49866b52cc2
login to chat
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 29 Oct 2024 13:10:47 -0600 |
parents | 2da10ece826f |
children | 41d35b72c774 |
comparison
equal
deleted
inserted
replaced
4:2da10ece826f | 5:a49866b52cc2 |
---|---|
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 pairs = Luan.pairs or error() | 4 local pairs = Luan.pairs or error() |
5 local Table = require "luan:Table.luan" | 5 local Table = require "luan:Table.luan" |
6 local concat = Table.concat or error() | 6 local concat = Table.concat or error() |
7 local is_empty = Table.is_empty or error() | |
8 local size = Table.size or error() | |
7 local Io = require "luan:Io.luan" | 9 local Io = require "luan:Io.luan" |
8 local Http = require "luan:http/Http.luan" | 10 local Http = require "luan:http/Http.luan" |
9 local Shared = require "site:/lib/Shared.luan" | 11 local Shared = require "site:/lib/Shared.luan" |
10 local head = Shared.head or error() | 12 local head = Shared.head or error() |
11 local header = Shared.header or error() | 13 local header = Shared.header or error() |
12 local User = require "site:/lib/User.luan" | 14 local User = require "site:/lib/User.luan" |
13 local current_user = User.current_required or error() | 15 local current_user = User.current or error() |
14 local get_user_by_id = User.get_by_id or error() | 16 local get_user_by_id = User.get_by_id or error() |
15 local get_user_by_email = User.get_by_email or error() | 17 local get_user_by_email = User.get_by_email or error() |
16 local Utils = require "site:/lib/Utils.luan" | 18 local Utils = require "site:/lib/Utils.luan" |
17 local to_set = Utils.to_set or error() | 19 local to_set = Utils.to_set or error() |
18 local Db = require "site:/lib/Db.luan" | 20 local Db = require "site:/lib/Db.luan" |
59 end | 61 end |
60 end ) | 62 end ) |
61 end | 63 end |
62 | 64 |
63 return function() | 65 return function() |
66 local with = Http.request.parameters.with | |
67 with = to_set(with) | |
64 local user = current_user() | 68 local user = current_user() |
65 if user == nil then | 69 if user == nil then |
70 local url = "/login.html" | |
71 if not is_empty(with) then | |
72 local t = {} | |
73 for email in pairs(with) do | |
74 t[#t+1] = "with="..email | |
75 end | |
76 url = url.."?"..concat(t,"&") | |
77 end | |
78 Http.response.send_redirect(url) | |
66 return | 79 return |
67 end | 80 end |
68 local with = Http.request.parameters.with | 81 if not is_empty(with) then |
69 if with ~= nil then | |
70 with = to_set(with) | |
71 with[user.email] = true | 82 with[user.email] = true |
72 get_chat(with) | 83 if size(with) > 1 then |
84 get_chat(with) | |
85 end | |
73 end | 86 end |
74 local chats = user.get_chats() | 87 local chats = user.get_chats() |
75 Io.stdout = Http.response.text_writer() | 88 Io.stdout = Http.response.text_writer() |
76 %> | 89 %> |
77 <!doctype html> | 90 <!doctype html> |