From 00ab57fb8a9b4bd2af400a204e9c96ecfa0b9afd Mon Sep 17 00:00:00 2001
From: mattab <matthieu.aubry@gmail.com>
Date: Mon, 4 Aug 2014 17:44:47 +0200
Subject: [PATCH] Fixes #5912 Removing UI code + refactor out the un-needed
 parameter to function `$parseToHost`

---
 core/Url.php                                  | 20 +++++++------
 lang/en.json                                  |  1 -
 plugins/CoreAdminHome/Controller.php          |  7 -----
 .../javascripts/generalSettings.js            | 23 +-------------
 .../templates/generalSettings.twig            | 30 -------------------
 5 files changed, 12 insertions(+), 69 deletions(-)

diff --git a/core/Url.php b/core/Url.php
index 5d3071d7d5..968569e526 100644
--- a/core/Url.php
+++ b/core/Url.php
@@ -552,7 +552,15 @@ class Url
 
     public static function getTrustedHostsFromConfig()
     {
-        return self::getHostsFromConfig('General', 'trusted_hosts');
+        $hosts = self::getHostsFromConfig('General', 'trusted_hosts');
+
+        // Case user wrote in the config, http://example.com/test instead of example.com
+        foreach ($hosts as &$host) {
+            if (UrlHelper::isLookLikeUrl($host)) {
+                $host = parse_url($host, PHP_URL_HOST);
+            }
+        }
+        return $hosts;
     }
 
     public static function getTrustedHosts()
@@ -562,7 +570,7 @@ class Url
 
     public static function getCorsHostsFromConfig()
     {
-        return self::getHostsFromConfig('General', 'cors_hosts', false);
+        return self::getHostsFromConfig('General', 'cors_hosts');
     }
 
     /**
@@ -576,7 +584,7 @@ class Url
         return IP::sanitizeIp($host);
     }
 
-    protected static function getHostsFromConfig($domain, $key, $parseToHost = true)
+    protected static function getHostsFromConfig($domain, $key)
     {
         $config = @Config::getInstance()->$domain;
 
@@ -588,12 +596,6 @@ class Url
         if (!is_array($hosts)) {
             return array();
         }
-        foreach ($hosts as &$host) {
-            // Case user wrote in the config, http://example.com/test instead of example.com
-            if ($parseToHost && UrlHelper::isLookLikeUrl($host)) {
-                $host = parse_url($host, PHP_URL_HOST);
-            }
-        }
         return $hosts;
     }
 }
diff --git a/lang/en.json b/lang/en.json
index 2b5e1ad3de..78748c464d 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -167,7 +167,6 @@
         "TrackingCode": "Tracking Code",
         "TrustedHostConfirm": "Are you sure you want to change the trusted Piwik hostname?",
         "TrustedHostSettings": "Trusted Piwik Hostname",
-        "CORSSettings": "Cross-origin resource sharing hostnames",
         "UpdateSettings": "Update settings",
         "UseCustomLogo": "Use a custom logo",
         "ValidPiwikHostname": "Valid Piwik Hostname",
diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php
index 6b28d9a024..bfb3b9ac27 100644
--- a/plugins/CoreAdminHome/Controller.php
+++ b/plugins/CoreAdminHome/Controller.php
@@ -51,7 +51,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
             $this->handleGeneralSettingsAdmin($view);
 
             $view->trustedHosts = Url::getTrustedHostsFromConfig();
-            $view->corsHosts = Url::getCorsHostsFromConfig();
 
             $logo = new CustomLogo();
             $view->branding              = array('use_custom_logo' => $logo->isEnabled());
@@ -315,12 +314,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
             Url::saveTrustedHostnameInConfig($trustedHosts);
         }
 
-        // update cors host settings
-        $corsHosts = Common::getRequestVar('corsHosts', false, 'json');
-        if ($corsHosts !== false) {
-            Url::saveCORSHostnameInConfig($corsHosts);
-        }
-
         Config::getInstance()->forceSave();
 
         $pluginUpdateCommunication = new UpdateCommunication();
diff --git a/plugins/CoreAdminHome/javascripts/generalSettings.js b/plugins/CoreAdminHome/javascripts/generalSettings.js
index 34cbe2afe0..3d586e333d 100644
--- a/plugins/CoreAdminHome/javascripts/generalSettings.js
+++ b/plugins/CoreAdminHome/javascripts/generalSettings.js
@@ -16,11 +16,6 @@ function sendGeneralSettingsAJAX() {
         trustedHosts.push($(this).val());
     });
 
-    var corsHosts = [];
-    $('input[name=cors_host]').each(function () {
-        corsHosts.push($(this).val());
-    });
-
     var ajaxHandler = new ajaxHelper();
     ajaxHandler.setLoadingElement();
     ajaxHandler.addParams({
@@ -37,8 +32,7 @@ function sendGeneralSettingsAJAX() {
         mailPassword: $('#mailPassword').val(),
         mailEncryption: $('#mailEncryption').val(),
         useCustomLogo: isCustomLogoEnabled(),
-        trustedHosts: JSON.stringify(trustedHosts),
-        corsHosts: JSON.stringify(corsHosts)
+        trustedHosts: JSON.stringify(trustedHosts)
     }, 'POST');
     ajaxHandler.addParams({
         module: 'CoreAdminHome',
@@ -153,19 +147,4 @@ $(document).ready(function () {
         return false;
     });
 
-    // cors hosts event handling
-    var corsHostSettings = $('#corsSettings');
-    corsHostSettings.on('click', '.remove-cors-host', function (e) {
-        e.preventDefault();
-        $(this).parent('li').remove();
-        return false;
-    });
-    corsHostSettings.find('.add-cors-host').click(function (e) {
-        e.preventDefault();
-
-        // append new row to the table
-        corsHostSettings.find('ul').append($("#add-cors-host-template").html());
-//        corsHostSettings.find('li:last input').val('');
-        return false;
-    });
 });
diff --git a/plugins/CoreAdminHome/templates/generalSettings.twig b/plugins/CoreAdminHome/templates/generalSettings.twig
index 13de3fd831..1a1854339e 100644
--- a/plugins/CoreAdminHome/templates/generalSettings.twig
+++ b/plugins/CoreAdminHome/templates/generalSettings.twig
@@ -319,36 +319,6 @@
         {% endif %}
     </div>
 
-    <h2 id="corsSection">{{ 'CoreAdminHome_CORSSettings'|translate }}</h2>
-    <div id='corsSettings'>
-
-        {% if not isGeneralSettingsAdminEnabled %}
-            {{ 'CoreAdminHome_PiwikIsInstalledAt'|translate }}: {{ corsHosts|join(", ") }}
-        {% else %}
-            <script type="template/javascript" id="add-cors-host-template">
-                <li>
-                    <input name="cors_host" type="text" value=""/>
-                    <a href="#" class="remove-cors-host" title="{{ 'General_Delete'|translate }}">
-                        <img alt="{{ 'General_Delete'|translate }}" src="plugins/Morpheus/images/ico_delete.png" />
-                    </a>
-                </li>
-            </script>
-            <ul>
-                {% for hostIdx, host in corsHosts %}
-                    <li>
-                        <input name="cors_host" type="text" value="{{ host }}"/>
-                        <a href="#" class="remove-cors-host" title="{{ 'General_Delete'|translate }}">
-                            <img alt="{{ 'General_Delete'|translate }}" src="plugins/Morpheus/images/ico_delete.png" />
-                        </a>
-                    </li>
-                {% endfor %}
-            </ul>
-            <div class="add-cors-host-container">
-                <a href="#" class="add-cors-host"><em>{{ 'General_Add'|translate }}</em></a>
-            </div>
-        {% endif %}
-    </div>
-
     <input type="submit" value="{{ 'General_Save'|translate }}" id="generalSettingsSubmit" class="submit"/>
     <br/>
     <br/>
-- 
GitLab