From d475dd18f118421c21050b5a6b8f58a2464b1f18 Mon Sep 17 00:00:00 2001
From: Thomas Steur <tsteur@users.noreply.github.com>
Date: Mon, 3 Oct 2016 18:17:37 +1300
Subject: [PATCH] Visitor IP Segment is defined twice (#10621)

---
 core/Plugin/Manager.php                       |  2 +-
 plugins/API/SegmentMetadata.php               | 43 +------------------
 plugins/CustomDimensions                      |  2 +-
 ...eportMetadata__API.getSegmentsMetadata.xml | 32 --------------
 4 files changed, 3 insertions(+), 76 deletions(-)

diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php
index 264e85cf4f..c38773380d 100644
--- a/core/Plugin/Manager.php
+++ b/core/Plugin/Manager.php
@@ -817,7 +817,7 @@ class Manager
      */
     public function getLoadedPlugin($name)
     {
-        if (!isset($this->loadedPlugins[$name])) {
+        if (!isset($this->loadedPlugins[$name]) || is_null($this->loadedPlugins[$name])) {
             throw new \Exception("The plugin '$name' has not been loaded.");
         }
         return $this->loadedPlugins[$name];
diff --git a/plugins/API/SegmentMetadata.php b/plugins/API/SegmentMetadata.php
index fbe73a774f..c708702b45 100644
--- a/plugins/API/SegmentMetadata.php
+++ b/plugins/API/SegmentMetadata.php
@@ -27,47 +27,6 @@ class SegmentMetadata
             }
         }
 
-        $segments[] = array(
-            'type'           => 'dimension',
-            'category'       => Piwik::translate('General_Visit'),
-            'name'           => 'General_UserId',
-            'segment'        => 'userId',
-            'acceptedValues' => 'any non empty unique string identifying the user (such as an email address or a username).',
-            'sqlSegment'     => 'log_visit.user_id',
-            'permission'     => $isAuthenticatedWithViewAccess,
-        );
-
-        $segments[] = array(
-            'type'           => 'dimension',
-            'category'       => Piwik::translate('General_Visit'),
-            'name'           => 'General_VisitorID',
-            'segment'        => 'visitorId',
-            'acceptedValues' => '34c31e04394bdc63 - any 16 Hexadecimal chars ID, which can be fetched using the Tracking API function getVisitorId()',
-            'sqlSegment'     => 'log_visit.idvisitor',
-            'sqlFilterValue' => array('Piwik\Common', 'convertVisitorIdToBin'),
-            'permission'     => $isAuthenticatedWithViewAccess,
-        );
-
-        $segments[] = array(
-            'type'           => 'dimension',
-            'category'       => Piwik::translate('General_Visit'),
-            'name'           => Piwik::translate('General_Visit') . " ID",
-            'segment'        => 'visitId',
-            'acceptedValues' => 'Any integer.',
-            'sqlSegment'     => 'log_visit.idvisit',
-            'permission'     => $isAuthenticatedWithViewAccess,
-        );
-
-        $segments[] = array(
-            'type'           => 'metric',
-            'category'       => Piwik::translate('General_Visit'),
-            'name'           => 'General_VisitorIP',
-            'segment'        => 'visitIp',
-            'acceptedValues' => '13.54.122.1. </code>Select IP ranges with notation: <code>visitIp>13.54.122.0;visitIp<13.54.122.255',
-            'sqlSegment'     => 'log_visit.location_ip',
-            'sqlFilterValue' => array('Piwik\Network\IPUtils', 'stringToBinaryIP'),
-            'permission'     => $isAuthenticatedWithViewAccess,
-        );
 
         foreach ($segments as &$segment) {
             $segment['name'] = Piwik::translate($segment['name']);
@@ -120,4 +79,4 @@ class SegmentMetadata
         return $compare;
     }
 
-}
\ No newline at end of file
+}
diff --git a/plugins/CustomDimensions b/plugins/CustomDimensions
index 096c2707dd..a6bdbaef00 160000
--- a/plugins/CustomDimensions
+++ b/plugins/CustomDimensions
@@ -1 +1 @@
-Subproject commit 096c2707dd0ed9818bbfd7bed4774f54d6810835
+Subproject commit a6bdbaef0040f00e34d344231da7773048830262
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
index 4e256b9e19..70ceefeae0 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
@@ -58,14 +58,6 @@
 		<acceptedValues>13.54.122.1. &lt;/code&gt;Select IP ranges with notation: &lt;code&gt;visitIp&gt;13.54.122.0;visitIp&lt;13.54.122.255</acceptedValues>
 		<permission>1</permission>
 	</row>
-	<row>
-		<type>metric</type>
-		<category>Visit</category>
-		<name>Visitor IP</name>
-		<segment>visitIp</segment>
-		<acceptedValues>13.54.122.1. &lt;/code&gt;Select IP ranges with notation: &lt;code&gt;visitIp&gt;13.54.122.0;visitIp&lt;13.54.122.255</acceptedValues>
-		<permission>1</permission>
-	</row>
 	<row>
 		<type>dimension</type>
 		<category>Visit Location</category>
@@ -194,14 +186,6 @@
 		<acceptedValues>any non empty unique string identifying the user (such as an email address or a username).</acceptedValues>
 		<permission>1</permission>
 	</row>
-	<row>
-		<type>dimension</type>
-		<category>Visit</category>
-		<name>User ID</name>
-		<segment>userId</segment>
-		<acceptedValues>any non empty unique string identifying the user (such as an email address or a username).</acceptedValues>
-		<permission>1</permission>
-	</row>
 	<row>
 		<type>dimension</type>
 		<category>Visit</category>
@@ -217,14 +201,6 @@
 		<acceptedValues>Any integer.</acceptedValues>
 		<permission>1</permission>
 	</row>
-	<row>
-		<type>dimension</type>
-		<category>Visit</category>
-		<name>Visit ID</name>
-		<segment>visitId</segment>
-		<acceptedValues>Any integer.</acceptedValues>
-		<permission>1</permission>
-	</row>
 	<row>
 		<type>dimension</type>
 		<category>Visit</category>
@@ -254,14 +230,6 @@
 		<acceptedValues>34c31e04394bdc63 - any 16 Hexadecimal chars ID, which can be fetched using the Tracking API function getVisitorId()</acceptedValues>
 		<permission>1</permission>
 	</row>
-	<row>
-		<type>dimension</type>
-		<category>Visit</category>
-		<name>Visitor ID</name>
-		<segment>visitorId</segment>
-		<acceptedValues>34c31e04394bdc63 - any 16 Hexadecimal chars ID, which can be fetched using the Tracking API function getVisitorId()</acceptedValues>
-		<permission>1</permission>
-	</row>
 	<row>
 		<type>dimension</type>
 		<category>Referrers</category>
-- 
GitLab