Software /
code /
prosody
File
plugins/muc/util.lib.lua @ 11566:6e67872bcba4 0.11
mod_pep: Remove obsolete node restoration code (now done by util.pubsub)
Originally added in 202b9951b037 but util.pubsub gained a better method
in 6c2c2fc4b8dd since then, which mod_pep uses since 9194431b6447 which
should have deleted this.
All these :create calls would have failed with a 'conflict' error, since
the nodes had already been created. This was never noticed because of
missing error handling.
Also note that this code did not restore node configuration.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 16 May 2021 16:14:23 +0200 |
parent | 9603:4897bd63f624 |
child | 10713:38159b9adf9f |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain -- Copyright (C) 2014 Daurnimator -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local _M = {}; _M.valid_affiliations = { outcast = -1; none = 0; member = 1; admin = 2; owner = 3; }; _M.valid_roles = { none = 0; visitor = 1; participant = 2; moderator = 3; }; local kickable_error_conditions = { ["gone"] = true; ["internal-server-error"] = true; ["item-not-found"] = true; ["jid-malformed"] = true; ["recipient-unavailable"] = true; ["redirect"] = true; ["remote-server-not-found"] = true; ["remote-server-timeout"] = true; ["service-unavailable"] = true; ["malformed error"] = true; }; function _M.is_kickable_error(stanza) local cond = select(2, stanza:get_error()) or "malformed error"; return kickable_error_conditions[cond]; end local muc_x_filters = { ["http://jabber.org/protocol/muc"] = true; ["http://jabber.org/protocol/muc#user"] = true; } local function muc_x_filter(tag) if muc_x_filters[tag.attr.xmlns] then return nil; end return tag; end function _M.filter_muc_x(stanza) return stanza:maptags(muc_x_filter); end function _M.only_with_min_role(role) local min_role_value = _M.valid_roles[role]; return function (nick, occupant) --luacheck: ignore 212/nick if _M.valid_roles[occupant.role or "none"] >= min_role_value then return true; end end; end return _M;