From 205d61363d0228754f922e810dae1e2bc51dc2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Mon, 15 Sep 2014 18:16:19 -0400 Subject: [PATCH] FEATURE: add 'enable_emoji' site setting --- plugins/emoji/assets/javascripts/emoji.js.erb | 6 ++++++ plugins/emoji/config/locales/client.en.yml | 6 ++++++ plugins/emoji/config/locales/server.en.yml | 3 +++ plugins/emoji/config/settings.yml | 4 ++++ 4 files changed, 19 insertions(+) create mode 100644 plugins/emoji/config/locales/client.en.yml create mode 100644 plugins/emoji/config/locales/server.en.yml create mode 100644 plugins/emoji/config/settings.yml diff --git a/plugins/emoji/assets/javascripts/emoji.js.erb b/plugins/emoji/assets/javascripts/emoji.js.erb index 27826362e83..a996aa6384e 100644 --- a/plugins/emoji/assets/javascripts/emoji.js.erb +++ b/plugins/emoji/assets/javascripts/emoji.js.erb @@ -1,4 +1,6 @@ (function() { + // disable the whole plugin + var emoji = <%= Dir.glob(File.expand_path("../../../public/images/*.png", __FILE__)).map{|f| File.basename(f).split(".")[0]}.inspect %>; @@ -55,6 +57,7 @@ } else { var replacement = translations[t]; Discourse.Dialect.inlineReplace(t, function (token, match, prev) { + if (!Discourse.SiteSettings.enable_emoji) { return; } return checkPrev(prev) ? imageFor(replacement) : token; }); } @@ -69,6 +72,8 @@ }).join("|")); Discourse.Dialect.registerInline(':', function(text, match, prev) { + if (!Discourse.SiteSettings.enable_emoji) { return; } + var endPos = text.indexOf(':', 1), firstSpace = text.search(/\s/), contents; @@ -104,6 +109,7 @@ var ComposerView = (Discourse && Discourse.ComposerView) || (typeof require !== "undefined" && require('discourse/views/composer').default); if (ComposerView) { ComposerView.on("initWmdEditor", function(event){ + if (!Discourse.SiteSettings.enable_emoji) { return; } var baseUrl = Discourse.getURL("/"); diff --git a/plugins/emoji/config/locales/client.en.yml b/plugins/emoji/config/locales/client.en.yml new file mode 100644 index 00000000000..8808d0718db --- /dev/null +++ b/plugins/emoji/config/locales/client.en.yml @@ -0,0 +1,6 @@ +en: + admin_js: + admin: + site_settings: + categories: + emoji: "Emoji" diff --git a/plugins/emoji/config/locales/server.en.yml b/plugins/emoji/config/locales/server.en.yml new file mode 100644 index 00000000000..5da8351cf62 --- /dev/null +++ b/plugins/emoji/config/locales/server.en.yml @@ -0,0 +1,3 @@ +en: + site_settings: + enable_emoji: "Enable the emoji plugin" diff --git a/plugins/emoji/config/settings.yml b/plugins/emoji/config/settings.yml new file mode 100644 index 00000000000..f3fb8d4683f --- /dev/null +++ b/plugins/emoji/config/settings.yml @@ -0,0 +1,4 @@ +emoji: + enable_emoji: + default: true + client: true