diff --git a/webclient/app.css b/webclient/app.css
index 4a4ba7b8f4..b947d8b663 100755
--- a/webclient/app.css
+++ b/webclient/app.css
@@ -538,6 +538,10 @@ a:active { color: #000; }
color: #F00;
}
+.messageBing {
+ color: #00F;
+}
+
#room-fullscreen-image {
position: absolute;
top: 0px;
diff --git a/webclient/components/matrix/event-handler-service.js b/webclient/components/matrix/event-handler-service.js
index 16d5763ed2..389eee5471 100644
--- a/webclient/components/matrix/event-handler-service.js
+++ b/webclient/components/matrix/event-handler-service.js
@@ -45,6 +45,46 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
var eventMap = {};
$rootScope.presence = {};
+
+ // TODO: This is attached to the rootScope so .html can just go containsBingWord
+ // for determining classes so it is easy to highlight bing messages. It seems a
+ // bit strange to put the impl in this service though, but I can't think of a better
+ // file to put it in.
+ $rootScope.containsBingWord = function(content) {
+ if (!content) {
+ return false;
+ }
+ var bingWords = matrixService.config().bingWords;
+ var shouldBing = false;
+
+ // case-insensitive name check for user_id OR display_name if they exist
+ var myUserId = matrixService.config().user_id;
+ if (myUserId) {
+ myUserId = myUserId.toLocaleLowerCase();
+ }
+ var myDisplayName = matrixService.config().display_name;
+ if (myDisplayName) {
+ myDisplayName = myDisplayName.toLocaleLowerCase();
+ }
+ if ( (myDisplayName && content.toLocaleLowerCase().indexOf(myDisplayName) != -1) ||
+ (myUserId && content.toLocaleLowerCase().indexOf(myUserId) != -1) ) {
+ shouldBing = true;
+ }
+
+ // bing word list check
+ if (bingWords && !shouldBing) {
+ for (var i=0; i
Outgoing Call