1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/jappix_ynh.git synced 2024-09-03 19:26:19 +02:00
jappix_ynh/source/js/xmpplinks.js
titoko titoko 96663cd7da add source
2013-11-27 12:56:15 +01:00

78 lines
1.4 KiB
JavaScript
Executable file

/*
Jappix - An open social platform
These are the XMPP links handling JS scripts for Jappix
-------------------------------------------------
License: AGPL
Author: Valérian Saliou
Last revision: 12/08/12
*/
// Does an action with the provided XMPP link
function xmppLink(link) {
/* REF: http://xmpp.org/registrar/querytypes.html */
// Remove the "xmpp:" string
link = explodeThis(':', link, 1);
// The XMPP URI has no "?"
if(link.indexOf('?') == -1)
checkChatCreate(link, 'chat');
// Parse the URI
else {
var xid = explodeThis('?', link, 0);
var action = explodeThis('?', link, 1);
switch(action) {
// Groupchat
case 'join':
checkChatCreate(xid, 'groupchat');
break;
// Profile
case 'vcard':
openUserInfos(xid);
break;
// Subscription
case 'subscribe':
addThisContact(xid);
break;
// Unsubscription
case 'unsubscribe':
sendRoster(xid, 'remove');
break;
// Private chat
default:
checkChatCreate(xid, 'chat');
break;
}
}
return false;
}
// Gets the links vars (get parameters in URL)
var LINK_VARS = (function() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++) {
var hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = trim(decodeURIComponent(hash[1]));
}
return vars;
})();