Browse Source

Added origin detection

Sorunome 10 years ago
parent
commit
10836af9d2
3 changed files with 25 additions and 9 deletions
  1. 6 6
      app/OmnomIRC.js
  2. 2 0
      app/api/origins.js
  3. 17 3
      app/www/js/omnomirc.js

+ 6 - 6
app/OmnomIRC.js

@@ -64,7 +64,8 @@ var fs = require('fs'),
 				},
 				origins: [
 					['O','OmnomIRC'],
-					['#','IRC']
+					['#','IRC'],
+					['S','Server']
 				]
 			},
 			i,
@@ -367,7 +368,7 @@ if(cluster.isMaster){
 				var temp = [],i;
 				for(i in users) i && i != null && temp.push(users[i]);
 				users = temp;
-				fromServer(data.name,data.name+" users:\n\t\t"+users.join("\n\t\t"),socket,0);
+				fromServer(data.name,data.name+" users:\n\t\t"+users.join("\n\t\t"),socket);
 				sendUserList(data.name);
 			});
 		});
@@ -418,8 +419,7 @@ if(cluster.isMaster){
 						});
 					});
 				}
-			},
-			message = function(room,from,message,origin,socket){
+			},message = function(room,from,message,origin,socket){
 				if(typeof socket == 'undefined'){
 					socket = io.sockets.in(room);
 				}
@@ -430,7 +430,7 @@ if(cluster.isMaster){
 					origin: origin
 				})
 			},
-			fromServer = function(room,message,socket,source){
+			fromServer = function(room,message,socket){
 				if(typeof socket == 'undefined'){
 					socket = io.sockets.in(room);
 				}
@@ -438,7 +438,7 @@ if(cluster.isMaster){
 					message: message,
 					room: room,
 					from: 0,
-					source: 1
+					origin: 2
 				});
 			};
 	});

+ 2 - 0
app/api/origins.js

@@ -0,0 +1,2 @@
+head = {'Content-Type':'text/json'};
+log(JSON.stringify(options.origins));

+ 17 - 3
app/www/js/omnomirc.js

@@ -61,7 +61,8 @@
 			nick: 'User',
 			sig: '',
 			tabs: tabs,
-			themes: []
+			themes: [],
+			origins: []
 		},
 		commands = [
 			{ // names
@@ -313,7 +314,7 @@
 		pluginSandbox = {
 			$: window.jQuery,
 			jQuery: window.jQuery,
-			$o: $o,
+			$o: $o
 		},
 		currentPlugin = 0,
 		Sandbox = function(sandbox){
@@ -936,11 +937,18 @@
 						}
 						event(msg,'send');
 						if(runHook('send',[msg,room])){
+							var origin = -1;
+							for(var i in $o.prop('origins')){
+								if ($o.prop('origins')[i][1]=='OmnomIRC'){
+									origin = i;
+									break;
+								}
+							}
 							emit('message',{
 								message: msg,
 								room: room,
 								from: properties.nick,
-								origin: 0
+								origin: origin
 							});
 						}
 					}
@@ -1184,6 +1192,12 @@
 			.replace(/"/g, '"');
 	};
 	$(document).ready(function(){
+		$.ajax('api/origins.js',{
+			dataType: 'json',
+			success:function(data){
+				properties.origins = data;
+			}
+		});
 		$.extend(settings,$.parseJSON($.localStorage('settings')));
 		$.localStorage('settings',JSON.stringify(settings));
 		settingsConf['theme'].callback(settings['theme'],'theme',true);