annotate mod_default_bookmarks/mod_default_bookmarks.lua @ 4895:2542fd80cd15

mod_turn_external: Fix type of config option (thanks mirux) There was a separate boolean option to enable TLS before, but it was merged with the port number option and it seems the typed API interface got confused. Backport of trunk rev aa7a8aa64d3f
author Kim Alvefur <zash@zash.se>
date Tue, 15 Feb 2022 21:51:52 +0100
parents 62006f4022e9
children 4c8b66da4dec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
479
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 -- Prosody IM
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 -- Copyright (C) 2008-2010 Matthew Wild
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 -- Copyright (C) 2008-2010 Waqas Hussain
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 -- Copyright (C) 2011 Kim Alvefur
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
5 -- Copyright (C) 2018 Emmanuel Gil Peyrot
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 1325
diff changeset
6 --
479
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 -- This project is MIT/X11 licensed. Please see the
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 -- COPYING file in the source package for more information.
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 --
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 local st = require "util.stanza"
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 local dm_load = require "util.datamanager".load
4860
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
13 local jid = require "util.jid"
479
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
15 -- COMPAT w/trunk
4857
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
16 local mod_bookmarks_available = false;
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
17 local mm = require "core.modulemanager";
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
18 if mm.get_modules_for_host then
4857
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
19 local host_modules = mm.get_modules_for_host(module.host);
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
20 if host_modules:contains("bookmarks") then
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
21 mod_bookmarks_available = "bookmarks";
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
22 elseif host_modules:contains("bookmarks2") then
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
23 mod_bookmarks_available = "bookmarks2";
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
24 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
25 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
26
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
27 local function get_default_bookmarks(nickname)
4860
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
28 local bookmarks = module:get_option_array("default_bookmarks");
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
29 if not bookmarks or #bookmarks == 0 then
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
30 return false;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
31 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
32 local reply = st.stanza("storage", { xmlns = "storage:bookmarks" });
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
33 local nick = nickname and st.stanza("nick"):text(nickname);
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
34 for _, bookmark in ipairs(bookmarks) do
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
35 if type(bookmark) ~= "table" then -- assume it's only a jid
4860
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
36 bookmark = { jid = bookmark, name = jid.split(bookmark) };
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
37 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
38 reply:tag("conference", {
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
39 jid = bookmark.jid,
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
40 name = bookmark.name,
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
41 autojoin = "1",
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
42 });
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
43 if nick then
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
44 reply:add_child(nick):up();
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
45 end
3237
420ebea00cf3 mod_default_bookmarks: Add support for <password/>.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3236
diff changeset
46 if bookmark.password then
420ebea00cf3 mod_default_bookmarks: Add support for <password/>.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3236
diff changeset
47 reply:tag("password"):text(bookmark.password):up();
420ebea00cf3 mod_default_bookmarks: Add support for <password/>.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 3236
diff changeset
48 end
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
49 reply:up();
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
50 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
51 return reply;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
52 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
53
4857
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
54 if mod_bookmarks_available then
3f6711c1c66a mod_default_bookmarks: Use whichever of mod_bookmarks and mod_bookmarks2 is enabled
Kim Alvefur <zash@zash.se>
parents: 4856
diff changeset
55 local mod_bookmarks = module:depends(mod_bookmarks_available);
4864
62006f4022e9 mod_default_bookmarks: Silence warning when probing for mod_bookmarks version
Kim Alvefur <zash@zash.se>
parents: 4860
diff changeset
56 if rawget(mod_bookmarks, "publish_to_pep") then
4858
727f147aac4d mod_default_bookmarks: Minor refactor to do some checks earlier
Kim Alvefur <zash@zash.se>
parents: 4857
diff changeset
57 local function on_bookmarks_empty(event)
727f147aac4d mod_default_bookmarks: Minor refactor to do some checks earlier
Kim Alvefur <zash@zash.se>
parents: 4857
diff changeset
58 local session = event.session;
4856
b3f0f82af5a2 mod_default_bookmarks: Fix mod_bookmarks capability check
Kim Alvefur <zash@zash.se>
parents: 4854
diff changeset
59 local bookmarks = get_default_bookmarks(session.username);
b3f0f82af5a2 mod_default_bookmarks: Fix mod_bookmarks capability check
Kim Alvefur <zash@zash.se>
parents: 4854
diff changeset
60 if bookmarks then
b3f0f82af5a2 mod_default_bookmarks: Fix mod_bookmarks capability check
Kim Alvefur <zash@zash.se>
parents: 4854
diff changeset
61 mod_bookmarks.publish_to_pep(session.full_jid, bookmarks);
b3f0f82af5a2 mod_default_bookmarks: Fix mod_bookmarks capability check
Kim Alvefur <zash@zash.se>
parents: 4854
diff changeset
62 end
479
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
63 end
4858
727f147aac4d mod_default_bookmarks: Minor refactor to do some checks earlier
Kim Alvefur <zash@zash.se>
parents: 4857
diff changeset
64 module:hook("bookmarks/empty", on_bookmarks_empty);
727f147aac4d mod_default_bookmarks: Minor refactor to do some checks earlier
Kim Alvefur <zash@zash.se>
parents: 4857
diff changeset
65 else
4859
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
66 local mod_pep = module:depends "pep";
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
67
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
68 local function publish_bookmarks2(event)
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
69 local session = event.session;
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
70 local publish_options = {
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
71 ["persist_items"] = true;
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
72 ["max_items"] = "max";
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
73 ["send_last_published_item"] = "never";
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
74 ["access_model"] = "whitelist";
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
75 }
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
76 if not pcall(mod_pep.check_node_config, nil, nil, publish_options) then
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
77 -- 0.11 or earlier not supporting max_items="max" trows an error here
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
78 module:log("debug", "Setting max_items=pep_max_items because 'max' is not supported in this version");
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
79 publish_options["max_items"] = module:get_option_number("pep_max_items", 256);
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
80 end
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
81 local service = mod_pep.get_pep_service(session.username);
4860
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
82 local bookmarks = module:get_option_array("default_bookmarks");
4859
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
83 local ns = event.version or "urn:xmpp:bookmarks:1";
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
84 for i, bookmark in ipairs(bookmarks) do
4860
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
85 local bm_jid = jid.prep(bookmark.jid);
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
86 if not bm_jid then
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
87 module:log("error", "Invalid JID in default_bookmarks[%d].jid = %q", i, bookmark.jid);
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
88 else
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
89 local item = st.stanza("item", { xmlns = "http://jabber.org/protocol/pubsub"; id = bm_jid });
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
90 item:tag("conference", { xmlns = ns; name = bookmark.name; autojoin = bookmark.autojoin and "true" or nil });
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
91 if bookmark.nick then item:text_tag("nick", bookmarks.nick); end
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
92 if bookmark.password then item:text_tag("password", bookmarks.password); end
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
93 local ok, err = service:publish("urn:xmpp:bookmarks:1", session.full_jid, bm_jid, item, publish_options);
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
94 if not ok then
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
95 module:log("error", "Could not add default bookmark %s to %s: %s", bm_jid, session.username, err);
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
96 end
4a34ed2bb9a2 mod_default_bookmarks: Improve validation
Kim Alvefur <zash@zash.se>
parents: 4859
diff changeset
97 end
4859
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
98 end
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
99 end
33208c3ae586 mod_default_bookmarks: Add support for XEP-0402 via mod_bookmarks(2)
Kim Alvefur <zash@zash.se>
parents: 4858
diff changeset
100 module:hook("bookmarks/empty", publish_bookmarks2);
479
597c872d691e mod_default_bookmarks: Serve a list of default bookmarks if the user has nil.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
101 end
3236
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
102 else
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
103 local function on_private_xml_get(event)
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
104 local origin, stanza = event.origin, event.stanza;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
105 local tag = stanza.tags[1].tags[1];
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
106 local key = tag.name..":"..tag.attr.xmlns;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
107 if key ~= "storage:storage:bookmarks" then
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
108 return;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
109 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
110
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
111 local data, err = dm_load(origin.username, origin.host, "private");
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
112 if data and data[key] then
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
113 return;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
114 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
115
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
116 local bookmarks = get_default_bookmarks(origin.username);
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
117 if not bookmarks then
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
118 return;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
119 end;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
120
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
121 local reply = st.reply(stanza):tag("query", { xmlns = "jabber:iq:private" })
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
122 :add_child(bookmarks);
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
123 origin.send(reply);
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
124 return true;
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
125 end
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
126 module:hook("iq-get/self/jabber:iq:private:query", on_private_xml_get, 1);
73906187f964 mod_default_bookmarks: Add support for trunk’s mod_pep.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 1343
diff changeset
127 end