| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- /* global $, $iq, config, connection, focusMucJid, forceMuted,
 -    setAudioMuted, Strophe */
 - /**
 -  * Moderate connection plugin.
 -  */
 - var XMPPEvents = require("../../service/xmpp/XMPPEvents");
 - 
 - module.exports = function (XMPP, eventEmitter) {
 -     Strophe.addConnectionPlugin('moderate', {
 -         connection: null,
 -         init: function (conn) {
 -             this.connection = conn;
 - 
 -             this.connection.addHandler(this.onMute.bind(this),
 -                 'http://jitsi.org/jitmeet/audio',
 -                 'iq',
 -                 'set',
 -                 null,
 -                 null);
 -         },
 -         setMute: function (jid, mute) {
 -             console.info("set mute", mute);
 -             var iqToFocus =
 -                 $iq({to: this.connection.emuc.focusMucJid, type: 'set'})
 -                 .c('mute', {
 -                     xmlns: 'http://jitsi.org/jitmeet/audio',
 -                     jid: jid
 -                 })
 -                 .t(mute.toString())
 -                 .up();
 - 
 -             this.connection.sendIQ(
 -                 iqToFocus,
 -                 function (result) {
 -                     console.log('set mute', result);
 -                 },
 -                 function (error) {
 -                     console.log('set mute error', error);
 -                 });
 -         },
 -         onMute: function (iq) {
 -             var from = iq.getAttribute('from');
 -             if (from !== this.connection.emuc.focusMucJid) {
 -                 console.warn("Ignored mute from non focus peer");
 -                 return false;
 -             }
 -             var mute = $(iq).find('mute');
 -             if (mute.length) {
 -                 var doMuteAudio = mute.text() === "true";
 -                 eventEmitter.emit(XMPPEvents.AUDIO_MUTED_BY_FOCUS, doMuteAudio);
 -                 XMPP.forceMuted = doMuteAudio;
 -             }
 -             return true;
 -         },
 -         eject: function (jid) {
 -             // We're not the focus, so can't terminate
 -             //connection.jingle.terminateRemoteByJid(jid, 'kick');
 -             this.connection.emuc.kick(jid);
 -         }
 -     });
 - };
 
 
  |