From 35944852677bff2fd6f48ea811af3711d8465a0d Mon Sep 17 00:00:00 2001 From: Dmitriy Simushev Date: Mon, 29 Apr 2013 11:04:17 +0000 Subject: [PATCH] Add ability for plugins to send custom messages --- .../js/compiled/chat/collections/messages.js | 6 +- src/messenger/webim/js/compiled/chat_app.js | 6 +- .../compiled/default/model_views/message.js | 2 +- .../js/compiled/default/models/message.js | 2 +- .../webim/js/compiled/default_app.js | 4 +- .../js/source/chat/collections/messages.js | 64 +++++++++++++++++-- .../js/source/default/model_views/message.js | 3 + .../webim/js/source/default/models/message.js | 5 +- src/messenger/webim/libs/classes/thread.php | 59 +++++++++++++++-- 9 files changed, 129 insertions(+), 22 deletions(-) diff --git a/src/messenger/webim/js/compiled/chat/collections/messages.js b/src/messenger/webim/js/compiled/chat/collections/messages.js index 47f2c678..1c73b406 100644 --- a/src/messenger/webim/js/compiled/chat/collections/messages.js +++ b/src/messenger/webim/js/compiled/chat/collections/messages.js @@ -5,6 +5,6 @@ Copyright (c) 2005-2011 Mibew Messenger Community License: http://mibew.org/license.php */ -(function(b,d,f){b.Collections.Messages=d.Collection.extend({model:b.Models.Message,initialize:function(){this.periodicallyCalled=[];this.periodicallyCalled.push(b.Objects.server.callFunctionsPeriodically(f.bind(this.updateMessagesFunctionBuilder,this),f.bind(this.updateMessages,this)))},finalize:function(){for(var a=0;a":">","&":"&",'"':""","'":"'","`":"`"},g=/[&<>'"`]/g;c.Views.Message=d.Marionette.ItemView.extend({template:e.templates.message,className:"message",modelEvents:{change:"render"},serializeData:function(){var a=this.model.toJSON(),b=this.model.get("kind");a.allowFormatting=b!=this.model.KIND_USER&&b!=this.model.KIND_AGENT;a.kindName=this.kindToString(b);a.message=this.escapeString(a.message);return a},kindToString:function(a){return a==this.model.KIND_USER? -"user":a==this.model.KIND_AGENT?"agent":a==this.model.KIND_FOR_AGENT?"hidden":a==this.model.KIND_INFO?"inf":a==this.model.KIND_CONN?"conn":a==this.model.KIND_EVENTS?"event":""},escapeString:function(a){return a.replace(g,function(a){return f[a]||"&"})}})})(Mibew,Backbone,Handlebars); +"user":a==this.model.KIND_AGENT?"agent":a==this.model.KIND_FOR_AGENT?"hidden":a==this.model.KIND_INFO?"inf":a==this.model.KIND_CONN?"conn":a==this.model.KIND_EVENTS?"event":a==this.model.KIND_PLUGIN?"plugin":""},escapeString:function(a){return a.replace(g,function(a){return f[a]||"&"})}})})(Mibew,Backbone,Handlebars); diff --git a/src/messenger/webim/js/compiled/default/models/message.js b/src/messenger/webim/js/compiled/default/models/message.js index 0cecfd73..5a94d6c5 100644 --- a/src/messenger/webim/js/compiled/default/models/message.js +++ b/src/messenger/webim/js/compiled/default/models/message.js @@ -5,4 +5,4 @@ Copyright (c) 2005-2011 Mibew Messenger Community License: http://mibew.org/license.php */ -(function(a){a.Models.Message=a.Models.Base.extend({defaults:{kind:null,created:0,name:"",message:""},KIND_USER:1,KIND_AGENT:2,KIND_FOR_AGENT:3,KIND_INFO:4,KIND_CONN:5,KIND_EVENTS:6})})(Mibew); +(function(a){a.Models.Message=a.Models.Base.extend({defaults:{kind:null,created:0,name:"",message:""},KIND_USER:1,KIND_AGENT:2,KIND_FOR_AGENT:3,KIND_INFO:4,KIND_CONN:5,KIND_EVENTS:6,KIND_PLUGIN:7})})(Mibew); diff --git a/src/messenger/webim/js/compiled/default_app.js b/src/messenger/webim/js/compiled/default_app.js index 02010780..d6a9c329 100644 --- a/src/messenger/webim/js/compiled/default_app.js +++ b/src/messenger/webim/js/compiled/default_app.js @@ -73,7 +73,7 @@ b.Utils.playSound=function(a){c("body").append('