Advertisement
EspyOwner

dat code

Jul 15th, 2012
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.58 KB | None | 0 0
  1. $.post('/action.php', {
  2. act: 'upkeep',
  3. servertoken: servertoken
  4. }, function (data) {
  5. var token = data.sessiontoken || $.cookie('showdown_token') || '';
  6.  
  7. if (data.curuser && data.curuser.loggedin) {
  8. me.registered = data.curuser;
  9. name = data.curuser.username;
  10. } else if (oldie) {
  11. overlay('unsupported');
  12. return;
  13. } else if (window.requirelogin) {
  14. document.getElementById('loading-message').innerHTML = '';
  15. overlay('betalogin');
  16. return;
  17. }
  18. var lib = (window.serverprotocol === 'io' ? window.io : window.SockJS);
  19. if (!lib) {
  20. 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>");
  21. return;
  22. }
  23. // temporarily relocated connection code
  24. else if (firewall) {
  25. console.log('port 80');
  26. if (window.serverprotocol === 'io') socket = io.connect('http://novawave.ca:80');
  27. else socket = new SockJS('http://novawave.ca:80');
  28. } /* else if (isAndroid) {
  29. alert('Showdown doesn\'t work with the built-in Android browser - please use Firefox for Android instead.');
  30. //socket = io.connect('http://'+server+':'+serverport, {transports:['jsonp-polling']});
  31. if (window.serverprotocol === 'io') socket = io.connect('http://' + server + ':' + serverport);
  32. else socket = new SockJS('http://' + server + ':' + serverport);
  33. } */ else {
  34. if (window.serverprotocol === 'io') socket = io.connect('http://' + server + ':' + serverport);
  35. else socket = new SockJS('http://' + server + ':' + serverport);
  36. }
  37.  
  38. var events = {
  39. init: function (data) {
  40. if (data.name) {
  41. me.name = data.name;
  42. me.named = data.named;
  43. me.userid = data.userid;
  44. me.renamePending = !! data.renamePending;
  45. if (data.token) me.token = data.token;
  46. }
  47. if (data.notFound) {
  48. selectTab('lobby');
  49. return;
  50. }
  51. var tempInitialize = function () {
  52. addTab(data.room, data.roomType);
  53. var room = rooms[data.room];
  54. room.init(data);
  55. updateMe(data);
  56. $('#loading-message').remove();
  57. //if (!initialized) // (!initialized && rooms[loc])
  58. {
  59. if (loc && loc !== 'lobby') {
  60. selectTab(loc);
  61. }
  62. }
  63. };
  64. if (!initialized) {
  65. socketInit = tempInitialize;
  66. } else {
  67. tempInitialize();
  68. }
  69. },
  70. update: function (data) {
  71. if (typeof data.name !== 'undefined') {
  72. me.name = data.name;
  73. me.named = data.named;
  74. me.userid = data.userid;
  75. me.renamePending = !! data.renamePending;
  76. if (data.token) me.token = data.token;
  77. }
  78. if (typeof data.challengesFrom !== 'undefined') {
  79. me.challengesFrom = data.challengesFrom;
  80. rooms.lobby.notifying = false;
  81. for (var i in me.challengesFrom) {
  82. rooms.lobby.notifying = true;
  83. break;
  84. }
  85. updateRoomList();
  86. }
  87. if (typeof data.challengeTo !== 'undefined') me.challengeTo = data.challengeTo;
  88. updateMe(data);
  89. if (data.room && rooms[data.room]) {
  90. rooms[data.room].update(data);
  91. } else if (curRoom) {
  92. //curRoom.update(data);
  93. }
  94. },
  95. disconnect: function () {
  96. $('#userbar').prepend('<strong style="color:#BB0000;border:1px solid #BB0000;padding:0px 2px;font-size:10pt;">disconnect detected</strong> ');
  97. overlay('disconnect');
  98. },
  99. nameTaken: function (data) {
  100. if (data && data.name) {
  101. overlay('login', data);
  102. } else if (data) {
  103. overlay('rename', {
  104. error: data.reason
  105. });
  106. } else {
  107. alert('nameTaken signal');
  108. $('#userbar').prepend('<strong style="color:#BB0000;border:1px solid #BB0000;padding:0px 2px;font-size:10pt;">nameTaken signal</strong> ');
  109. }
  110. },
  111. message: function (message) {
  112. if (message.html) {
  113. overlay('message', message.html);
  114. return;
  115. }
  116. if (message.message) message = message.message;
  117. overlay('message', '<div style="white-space:pre-wrap">' + message + '</div>');
  118. },
  119. command: function (message) {
  120. if (message.room && rooms[message.room]) {
  121. rooms[message.room].command(message);
  122. }
  123. },
  124. console: function (message) {
  125. var room = null;
  126. if (message.room && rooms[message.room]) {
  127. room = rooms[message.room];
  128. if (room) room.message(message);
  129. //if (room.id === 'lobby' && message.silent) room.updateMainElem();
  130. } else {
  131. if (curRoom) curRoom.message(message, true);
  132. }
  133. }
  134. };
  135.  
  136. if (window.serverprotocol === 'io') {
  137. for (var e in events) {
  138. socket.on(e, (function(type) {
  139. return function(data) {
  140. events[type](data);
  141. };
  142. })(e));
  143. }
  144. if (!name) token = '';
  145. document.getElementById('loading-message').innerHTML += ' DONE<br />Connecting to Showdown server...';
  146. emit(socket, 'join', {
  147. name: name,
  148. room: 'lobby',
  149. token: token
  150. });
  151. } else {
  152. socket.onopen = function() {
  153. if (!name) token = '';
  154. document.getElementById('loading-message').innerHTML += ' DONE<br />Connecting to Showdown server...';
  155. emit(socket, 'join', {
  156. name: name,
  157. room: 'lobby',
  158. token: token
  159. });
  160. };
  161. socket.onmessage = function(msg) {
  162. var data = $.parseJSON(msg.data);
  163. if (!data) return;
  164. if (events[data.type]) events[data.type](data);
  165. };
  166. socket.onclose = function () {
  167. $('#userbar').prepend('<strong style="color:#BB0000;border:1px solid #BB0000;padding:0px 2px;font-size:10pt;">disconnect detected</strong> ');
  168. overlay('disconnect');
  169. };
  170. }
  171. }, 'json');
  172. overlayClose();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement