deprecated-addons/jappixmini/jappix/js/anonymous.js

132 lines
2.8 KiB
JavaScript

/*
Jappix - An open social platform
These are the anonymous mode JS script for Jappix
-------------------------------------------------
License: AGPL
Authors: Vanaryon, LinkMauve
Last revision: 02/10/11
*/
// Connected to an anonymous session
function anonymousConnected(con) {
logThis('Jappix (anonymous) is now connected.', 3);
// Connected marker
CONNECTED = true;
CURRENT_SESSION = true;
RECONNECT_TRY = 0;
RECONNECT_TIMER = 0;
// Not resumed?
if(!RESUME) {
// Create the app
createTalkPage();
// Send our first presence
firstPresence('');
// Set last activity stamp
LAST_ACTIVITY = getTimeStamp();
// Create the new groupchat
checkChatCreate(generateXID(ANONYMOUS_ROOM, 'groupchat'), 'groupchat');
// Remove some nasty elements for the anonymous mode
$('.tools-mucadmin, .tools-add').remove();
}
// Resumed
else {
// Send again our presence
presenceSend();
// Change the title
updateTitle();
}
// Remove the waiting icon
removeGeneralWait();
}
// Disconnected from an anonymous session
function anonymousDisconnected() {
logThis('Jappix (anonymous) is now disconnected.', 3);
}
// Logins to a anonymous account
function anonymousLogin(server) {
try {
// We define the http binding parameters
oArgs = new Object();
if(HOST_BOSH_MAIN)
oArgs.httpbase = HOST_BOSH_MAIN;
else
oArgs.httpbase = HOST_BOSH;
// We create the new http-binding connection
con = new JSJaCHttpBindingConnection(oArgs);
// And we handle everything that happen
con.registerHandler('message', handleMessage);
con.registerHandler('presence', handlePresence);
con.registerHandler('iq', handleIQ);
con.registerHandler('onconnect', anonymousConnected);
con.registerHandler('onerror', handleError);
con.registerHandler('ondisconnect', anonymousDisconnected);
// We set the anonymous connection parameters
oArgs = new Object();
oArgs.domain = server;
oArgs.authtype = 'saslanon';
oArgs.resource = JAPPIX_RESOURCE + ' Anonymous (' + (new Date()).getTime() + ')';
oArgs.secure = true;
oArgs.xmllang = XML_LANG;
// We connect !
con.connect(oArgs);
// Change the page title
pageTitle('wait');
}
catch(e) {
// Logs errors
logThis('Error while anonymous loggin in: ' + e, 1);
// Reset Jappix
anonymousDisconnected();
// Open an unknown error
openThisError(2);
}
finally {
return false;
}
}
// Addon launcher
function launchAnonymous() {
logThis('Anonymous mode detected, connecting...', 3);
// We add the login wait div
showGeneralWait();
// Get the vars
if(LINK_VARS['r'])
ANONYMOUS_ROOM = LINK_VARS['r'];
if(LINK_VARS['n'])
ANONYMOUS_NICK = LINK_VARS['n'];
// Fire the login action
anonymousLogin(HOST_ANONYMOUS);
}
// Launch this addon!
$(document).ready(launchAnonymous);