Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $.post('/action.php', {
- act: 'upkeep',
- servertoken: servertoken
- }, function (data) {
- var token = data.sessiontoken || $.cookie('showdown_token') || '';
- if (data.curuser && data.curuser.loggedin) {
- me.registered = data.curuser;
- name = data.curuser.username;
- } else if (oldie) {
- overlay('unsupported');
- return;
- } else if (window.requirelogin) {
- document.getElementById('loading-message').innerHTML = '';
- overlay('betalogin');
- return;
- }
- var lib = (window.serverprotocol === 'io' ? window.io : window.SockJS);
- if (!lib) {
- overlay('message', "<p>Could not connect to Showdown server at <code>" + server + ':' + serverport + "</code>.</p><p>You may have mistyped the address, or the server may be down for maintenance. We apologize for the inconvenience.</p>");
- return;
- }
- // temporarily relocated connection code
- else if (firewall) {
- console.log('port 80');
- if (window.serverprotocol === 'io') socket = io.connect('http://novawave.ca:80');
- else socket = new SockJS('http://novawave.ca:80');
- } /* else if (isAndroid) {
- alert('Showdown doesn\'t work with the built-in Android browser - please use Firefox for Android instead.');
- //socket = io.connect('http://'+server+':'+serverport, {transports:['jsonp-polling']});
- if (window.serverprotocol === 'io') socket = io.connect('http://' + server + ':' + serverport);
- else socket = new SockJS('http://' + server + ':' + serverport);
- } */ else {
- if (window.serverprotocol === 'io') socket = io.connect('http://' + server + ':' + serverport);
- else socket = new SockJS('http://' + server + ':' + serverport);
- }
- var events = {
- init: function (data) {
- if (data.name) {
- me.name = data.name;
- me.named = data.named;
- me.userid = data.userid;
- me.renamePending = !! data.renamePending;
- if (data.token) me.token = data.token;
- }
- if (data.notFound) {
- selectTab('lobby');
- return;
- }
- var tempInitialize = function () {
- addTab(data.room, data.roomType);
- var room = rooms[data.room];
- room.init(data);
- updateMe(data);
- $('#loading-message').remove();
- //if (!initialized) // (!initialized && rooms[loc])
- {
- if (loc && loc !== 'lobby') {
- selectTab(loc);
- }
- }
- };
- if (!initialized) {
- socketInit = tempInitialize;
- } else {
- tempInitialize();
- }
- },
- update: function (data) {
- if (typeof data.name !== 'undefined') {
- me.name = data.name;
- me.named = data.named;
- me.userid = data.userid;
- me.renamePending = !! data.renamePending;
- if (data.token) me.token = data.token;
- }
- if (typeof data.challengesFrom !== 'undefined') {
- me.challengesFrom = data.challengesFrom;
- rooms.lobby.notifying = false;
- for (var i in me.challengesFrom) {
- rooms.lobby.notifying = true;
- break;
- }
- updateRoomList();
- }
- if (typeof data.challengeTo !== 'undefined') me.challengeTo = data.challengeTo;
- updateMe(data);
- if (data.room && rooms[data.room]) {
- rooms[data.room].update(data);
- } else if (curRoom) {
- //curRoom.update(data);
- }
- },
- disconnect: function () {
- $('#userbar').prepend('<strong style="color:#BB0000;border:1px solid #BB0000;padding:0px 2px;font-size:10pt;">disconnect detected</strong> ');
- overlay('disconnect');
- },
- nameTaken: function (data) {
- if (data && data.name) {
- overlay('login', data);
- } else if (data) {
- overlay('rename', {
- error: data.reason
- });
- } else {
- alert('nameTaken signal');
- $('#userbar').prepend('<strong style="color:#BB0000;border:1px solid #BB0000;padding:0px 2px;font-size:10pt;">nameTaken signal</strong> ');
- }
- },
- message: function (message) {
- if (message.html) {
- overlay('message', message.html);
- return;
- }
- if (message.message) message = message.message;
- overlay('message', '<div style="white-space:pre-wrap">' + message + '</div>');
- },
- command: function (message) {
- if (message.room && rooms[message.room]) {
- rooms[message.room].command(message);
- }
- },
- console: function (message) {
- var room = null;
- if (message.room && rooms[message.room]) {
- room = rooms[message.room];
- if (room) room.message(message);
- //if (room.id === 'lobby' && message.silent) room.updateMainElem();
- } else {
- if (curRoom) curRoom.message(message, true);
- }
- }
- };
- if (window.serverprotocol === 'io') {
- for (var e in events) {
- socket.on(e, (function(type) {
- return function(data) {
- events[type](data);
- };
- })(e));
- }
- if (!name) token = '';
- document.getElementById('loading-message').innerHTML += ' DONE<br />Connecting to Showdown server...';
- emit(socket, 'join', {
- name: name,
- room: 'lobby',
- token: token
- });
- } else {
- socket.onopen = function() {
- if (!name) token = '';
- document.getElementById('loading-message').innerHTML += ' DONE<br />Connecting to Showdown server...';
- emit(socket, 'join', {
- name: name,
- room: 'lobby',
- token: token
- });
- };
- socket.onmessage = function(msg) {
- var data = $.parseJSON(msg.data);
- if (!data) return;
- if (events[data.type]) events[data.type](data);
- };
- socket.onclose = function () {
- $('#userbar').prepend('<strong style="color:#BB0000;border:1px solid #BB0000;padding:0px 2px;font-size:10pt;">disconnect detected</strong> ');
- overlay('disconnect');
- };
- }
- }, 'json');
- overlayClose();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement