Mercurial > psgxs
diff psgxs.js @ 18:75625771e410
Send subscription request only if node access_model is authorize.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 19 Oct 2010 18:51:34 +0200 |
parents | ec7cea92fe8a |
children | 032090a13fe8 |
line wrap: on
line diff
--- a/psgxs.js +++ b/psgxs.js @@ -522,6 +522,16 @@ function onIq(stanza) { subID = storage.subscribe(nodeID, jid, 'pending', conf); if (typeof subID == 'number') return makeError(response, subID); + + var affiliates = storage.getAffiliationsFromNodeID(nodeID); + var form = forms.build('form', 'subscribe_authorization', {allow: false, node: nodeID, subscriber_jid: jid}, true); //168 + + for (var i in affiliates) { + if (affiliates[i] == 'super-owner' || affiliates[i] == 'owner') { + var message = xmpp.message({to: i}).cnode(form); + conn.send(message); + } + } } else if (configuration['pubsub#access_model'] == 'whitelist') { var affil = storage.getAffiliation(jid, nodeID); if (affil != 'super-owner' && affil != 'owner' && affil != 'publisher' && affil != 'member') @@ -538,17 +548,6 @@ function onIq(stanza) { if (conf) response.cnode(options); - if (config.enabled('get-pending')) { - var affiliates = storage.getAffiliationsFromNodeID(nodeID); - var form = forms.build('form', 'subscribe_authorization', {allow: false, node: nodeID, subscriber_jid: jid}, true); //168 - for (var i in affiliates) { - if (affiliates[i] == 'super-owner' || affiliates[i] == 'owner') { - var message = xmpp.message({to: i}).cnode(form); - conn.send(message); - } - } - } - if (config.enabled('last-published')) { var last = storage.getLastItem(nodeID); if (typeof last != 'number') {