From 16bbf7b8b79ab0916e46e61e097b7ec8f72feea8 Mon Sep 17 00:00:00 2001
From: Thomas Steur <thomas.steur@gmail.com>
Date: Tue, 27 Oct 2015 20:25:43 +0000
Subject: [PATCH] refs #8569 in the website selector display tooltip with full
 website name

---
 plugins/CoreHome/CoreHome.php                 |  3 ++-
 .../angularjs/common/filters/htmldecode.js    | 26 +++++++++++++++++++
 .../siteselector/siteselector.directive.html  |  2 +-
 plugins/CoreHome/lang/en.json                 |  3 ++-
 4 files changed, 31 insertions(+), 3 deletions(-)
 create mode 100644 plugins/CoreHome/angularjs/common/filters/htmldecode.js

diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php
index 78ee438aa3..f2d788cd54 100644
--- a/plugins/CoreHome/CoreHome.php
+++ b/plugins/CoreHome/CoreHome.php
@@ -133,6 +133,7 @@ class CoreHome extends \Piwik\Plugin
         $jsFiles[] = "plugins/CoreHome/angularjs/common/filters/length.js";
         $jsFiles[] = "plugins/CoreHome/angularjs/common/filters/trim.js";
         $jsFiles[] = "plugins/CoreHome/angularjs/common/filters/pretty-url.js";
+        $jsFiles[] = "plugins/CoreHome/angularjs/common/filters/htmldecode.js";
 
         $jsFiles[] = "plugins/CoreHome/angularjs/common/directives/directive.module.js";
         $jsFiles[] = "plugins/CoreHome/angularjs/common/directives/autocomplete-matched.js";
@@ -180,7 +181,6 @@ class CoreHome extends \Piwik\Plugin
         $translationKeys[] = 'General_Show';
         $translationKeys[] = 'General_Hide';
         $translationKeys[] = 'General_Website';
-        $translationKeys[] = 'General_ChooseWebsite';
         $translationKeys[] = 'Intl_Year_Short';
         $translationKeys[] = 'General_MultiSitesSummary';
         $translationKeys[] = 'General_SearchNoResults';
@@ -275,5 +275,6 @@ class CoreHome extends \Piwik\Plugin
         $translationKeys[] = 'CoreHome_Segments';
         $translationKeys[] = 'CoreHome_MenuEntries';
         $translationKeys[] = 'SitesManager_Sites';
+        $translationKeys[] = 'CoreHome_ChangeCurrentWebsite';
     }
 }
diff --git a/plugins/CoreHome/angularjs/common/filters/htmldecode.js b/plugins/CoreHome/angularjs/common/filters/htmldecode.js
new file mode 100644
index 0000000000..c3e8107931
--- /dev/null
+++ b/plugins/CoreHome/angularjs/common/filters/htmldecode.js
@@ -0,0 +1,26 @@
+/*!
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+(function () {
+    angular.module('piwikApp.filter').filter('htmldecode', htmldecode);
+
+    htmldecode.$inject = ['piwik'];
+
+    /**
+     * Be aware that this filter can cause XSS so only use it when you're sure it is safe.
+     * Eg it should be safe when it is afterwards escaped by angular sanitize again.
+     */
+    function htmldecode(piwik) {
+
+        return function(text) {
+            if (text && text.length) {
+                return piwik.helper.htmlDecode(text);
+            }
+
+            return text;
+        };
+    }
+})();
diff --git a/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html b/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html
index 9ee4932163..6727b4757c 100644
--- a/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html
+++ b/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html
@@ -16,7 +16,7 @@
     <a ng-click="view.showSitesList=!view.showSitesList; view.showSitesList && !model.isLoading && model.loadInitialSites();"
        piwik-onenter="view.showSitesList=!view.showSitesList; view.showSitesList && !model.isLoading && model.loadInitialSites();"
        href="javascript:void(0)"
-       title="{{ 'General_ChooseWebsite'|translate }}"
+       title="{{ 'CoreHome_ChangeCurrentWebsite'|translate:((selectedSite.name || model.firstSiteName)|htmldecode) }}"
        ng-class="{'loading': model.isLoading}"
        class="title">
         <span class="icon icon-arrow-bottom"
diff --git a/plugins/CoreHome/lang/en.json b/plugins/CoreHome/lang/en.json
index 69a85e55f2..f45d4811c2 100644
--- a/plugins/CoreHome/lang/en.json
+++ b/plugins/CoreHome/lang/en.json
@@ -52,6 +52,7 @@
         "QuickAccessTitle": "Search for %s. Shortcut: Press 'f' to search.",
         "MenuEntries": "Menu entries",
         "Segments": "Segments",
-        "AdblockIsMaybeUsed": "In case you are using an ad blocker, please disable it for this site to make sure Piwik works without any issues."
+        "AdblockIsMaybeUsed": "In case you are using an ad blocker, please disable it for this site to make sure Piwik works without any issues.",
+        "ChangeCurrentWebsite": "Choose a website, currently selected website: %s"
     }
 }
-- 
GitLab