comparison mod_mam/mamprefsxml.lib.lua @ 2014:dfa9c0cdd960

mod_mam: Remove application of defaults from preference xml encoding
author Kim Alvefur <zash@zash.se>
date Tue, 19 Jan 2016 13:17:52 +0100
parents 18349533c44d
children 5941aac79f06
comparison
equal deleted inserted replaced
2013:a8ec8491fdee 2014:dfa9c0cdd960
3 -- 3 --
4 -- This file is MIT/X11 licensed. 4 -- This file is MIT/X11 licensed.
5 5
6 local st = require"util.stanza"; 6 local st = require"util.stanza";
7 local xmlns_mam = "urn:xmpp:mam:0"; 7 local xmlns_mam = "urn:xmpp:mam:0";
8
9 local global_default_policy = module:get_option("default_archive_policy", false);
10 8
11 local default_attrs = { 9 local default_attrs = {
12 always = true, [true] = "always", 10 always = true, [true] = "always",
13 never = false, [false] = "never", 11 never = false, [false] = "never",
14 roster = "roster", 12 roster = "roster",
15 } 13 }
16 14
17 local function tostanza(prefs) 15 local function tostanza(prefs)
18 local default = prefs[false]; 16 local default = prefs[false];
19 default = default ~= nil and default_attrs[default] or global_default_policy; 17 default = default_attrs[default];
20 local prefstanza = st.stanza("prefs", { xmlns = xmlns_mam, default = default }); 18 local prefstanza = st.stanza("prefs", { xmlns = xmlns_mam, default = default });
21 local always = st.stanza("always"); 19 local always = st.stanza("always");
22 local never = st.stanza("never"); 20 local never = st.stanza("never");
23 for jid, choice in pairs(prefs) do 21 for jid, choice in pairs(prefs) do
24 if jid then 22 if jid then