equal
deleted
inserted
replaced
57 link.path = url.build_path(path); |
57 link.path = url.build_path(path); |
58 return url.build(link); |
58 return url.build(link); |
59 end |
59 end |
60 end |
60 end |
61 |
61 |
|
62 local function get_absolute_link(room, date) |
|
63 local link = url.parse(module:http_url()); |
|
64 local path = url.parse_path(link.path); |
|
65 if room then |
|
66 table.insert(path, room); |
|
67 if date then |
|
68 table.insert(path, date) |
|
69 path.is_directory = false; |
|
70 else |
|
71 path.is_directory = true; |
|
72 end |
|
73 end |
|
74 link.path = url.build_path(path) |
|
75 return url.build(link) |
|
76 end |
|
77 |
62 -- Whether room can be joined by anyone |
78 -- Whether room can be joined by anyone |
63 local function open_room(room) -- : boolean |
79 local function open_room(room) -- : boolean |
64 if type(room) == "string" then |
80 if type(room) == "string" then |
65 room = get_room(room); |
81 room = get_room(room); |
66 -- assumed to be a room object otherwise |
82 -- assumed to be a room object otherwise |
82 |
98 |
83 module:hook("muc-disco#info", function (event) |
99 module:hook("muc-disco#info", function (event) |
84 local room = event.room; |
100 local room = event.room; |
85 if open_room(room) then |
101 if open_room(room) then |
86 table.insert(event.form, { name = "muc#roominfo_logs", type="text-single" }); |
102 table.insert(event.form, { name = "muc#roominfo_logs", type="text-single" }); |
87 event.formdata["muc#roominfo_logs"] = module:http_url() .. "/" .. get_link(jid_split(event.room.jid), nil); |
103 event.formdata["muc#roominfo_logs"] = get_absolute_link(jid_split(event.room.jid), nil); |
88 end |
104 end |
89 end); |
105 end); |
90 |
106 |
91 local function sort_Y(a,b) return a.year > b.year end |
107 local function sort_Y(a,b) return a.year > b.year end |
92 local function sort_m(a,b) return a.n > b.n end |
108 local function sort_m(a,b) return a.n > b.n end |