From 9b02615d4fc941b6267d482c047a60e266ab404c Mon Sep 17 00:00:00 2001
From: Benaka Moorthi <benaka.moorthi@gmail.com>
Date: Sun, 28 Jul 2013 14:53:26 -0400
Subject: [PATCH] Refs #4040, move
 Piwik_ViewDataTable::getRawSegmentFromRequest to Piwik_API_Request.

---
 core/API/Request.php                          | 17 +++++++++++++++
 core/JqplotDataGenerator/Evolution.php        |  2 +-
 core/ViewDataTable.php                        | 21 ++-----------------
 .../DataTableRowAction/RowEvolution.php       |  2 +-
 plugins/Live/Controller.php                   |  5 ++---
 plugins/UserCountryMap/Controller.php         |  4 ++--
 plugins/VisitsSummary/Controller.php          |  2 +-
 7 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/core/API/Request.php b/core/API/Request.php
index ac066be7c2..ae0f1d2e21 100644
--- a/core/API/Request.php
+++ b/core/API/Request.php
@@ -240,4 +240,21 @@ class Piwik_API_Request
 
         return Piwik_Url::getCurrentQueryStringWithParametersModified($params);
     }
+
+    /**
+     * @return array|bool
+     */
+    static public function getRawSegmentFromRequest()
+    {
+        // we need the URL encoded segment parameter, we fetch it from _SERVER['QUERY_STRING'] instead of default URL decoded _GET
+        $segmentRaw = false;
+        $segment = Piwik_Common::getRequestVar('segment', '', 'string');
+        if (!empty($segment)) {
+            $request = Piwik_API_Request::getRequestParametersGET();
+            if(!empty($request['segment'])) {
+                $segmentRaw = $request['segment'];
+            }
+        }
+        return $segmentRaw;
+    }
 }
diff --git a/core/JqplotDataGenerator/Evolution.php b/core/JqplotDataGenerator/Evolution.php
index 03e0a85adb..411e873ea3 100644
--- a/core/JqplotDataGenerator/Evolution.php
+++ b/core/JqplotDataGenerator/Evolution.php
@@ -110,7 +110,7 @@ class Piwik_JqplotDataGenerator_Evolution extends Piwik_JqplotDataGenerator
                     'idSite'  => $idSite,
                     'period'  => $period->getLabel(),
                     'date'    => $dateInUrl->toString(),
-                    'segment' => Piwik_ViewDataTable::getRawSegmentFromRequest()
+                    'segment' => Piwik_API_Request::getRawSegmentFromRequest()
                 );
                 $hash = '';
                 if (!empty($queryStringAsHash)) {
diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php
index 09d8817c0a..e6b466399f 100644
--- a/core/ViewDataTable.php
+++ b/core/ViewDataTable.php
@@ -726,7 +726,7 @@ abstract class Piwik_ViewDataTable
             }
         }
         
-        $segment = $this->getRawSegmentFromRequest();
+        $segment = Piwik_API_Request::getRawSegmentFromRequest();
         if(!empty($segment)) {
             $requestArray['segment'] = $segment;
         }
@@ -736,23 +736,6 @@ abstract class Piwik_ViewDataTable
         return $requestArray;
     }
 
-    /**
-     * @return array|bool
-     */
-    static public function getRawSegmentFromRequest()
-    {
-        // we need the URL encoded segment parameter, we fetch it from _SERVER['QUERY_STRING'] instead of default URL decoded _GET
-        $segmentRaw = false;
-        $segment = Piwik_Common::getRequestVar('segment', '', 'string');
-        if (!empty($segment)) {
-            $request = Piwik_API_Request::getRequestParametersGET();
-            if(!empty($request['segment'])) {
-                $segmentRaw = $request['segment'];
-            }
-        }
-        return $segmentRaw;
-    }
-
     /**
      * For convenience, the client code can call methods that are defined in a specific children class
      * without testing the children class type, which would trigger an error with a different children class.
@@ -890,7 +873,7 @@ abstract class Piwik_ViewDataTable
             }
         }
 
-        $rawSegment = $this->getRawSegmentFromRequest();
+        $rawSegment = Piwik_API_Request::getRawSegmentFromRequest();
         if(!empty($rawSegment)) {
             $javascriptVariablesToSet['segment'] = $rawSegment;
         }
diff --git a/plugins/CoreHome/DataTableRowAction/RowEvolution.php b/plugins/CoreHome/DataTableRowAction/RowEvolution.php
index 6d2abe8a86..1c860725db 100644
--- a/plugins/CoreHome/DataTableRowAction/RowEvolution.php
+++ b/plugins/CoreHome/DataTableRowAction/RowEvolution.php
@@ -92,7 +92,7 @@ class Piwik_CoreHome_DataTableRowAction_RowEvolution
             list($this->date, $lastN) =
                 Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution::getDateRangeAndLastN($this->period, $end);
         }
-        $this->segment = Piwik_ViewDataTable::getRawSegmentFromRequest();
+        $this->segment = Piwik_API_Request::getRawSegmentFromRequest();
 
         $this->loadEvolutionReport();
     }
diff --git a/plugins/Live/Controller.php b/plugins/Live/Controller.php
index 53e7083d61..6b88ea7b57 100644
--- a/plugins/Live/Controller.php
+++ b/plugins/Live/Controller.php
@@ -138,7 +138,7 @@ class Piwik_Live_Controller extends Piwik_Controller
 
     private function setCounters($view)
     {
-        $segment = Piwik_ViewDataTable::getRawSegmentFromRequest();
+        $segment = Piwik_API_Request::getRawSegmentFromRequest();
         $last30min = Piwik_Live_API::getInstance()->getCounters($this->idSite, $lastMinutes = 30, $segment);
         $last30min = $last30min[0];
         $today = Piwik_Live_API::getInstance()->getCounters($this->idSite, $lastMinutes = 24 * 60, $segment);
@@ -149,5 +149,4 @@ class Piwik_Live_Controller extends Piwik_Controller
         $view->pisToday = $today['actions'];
         return $view;
     }
-
-}
+}
\ No newline at end of file
diff --git a/plugins/UserCountryMap/Controller.php b/plugins/UserCountryMap/Controller.php
index 9a02b6ff9f..b56d776889 100644
--- a/plugins/UserCountryMap/Controller.php
+++ b/plugins/UserCountryMap/Controller.php
@@ -149,7 +149,7 @@ class Piwik_UserCountryMap_Controller extends Piwik_Controller
     {
         $params['format'] = 'json';
         $params['showRawMetrics'] = 1;
-        $segment = Piwik_ViewDataTable::getRawSegmentFromRequest();
+        $segment = Piwik_API_Request::getRawSegmentFromRequest();
         if(!empty($segment)) {
             $params['segment'] = $segment;
         }
@@ -199,7 +199,7 @@ class Piwik_UserCountryMap_Controller extends Piwik_Controller
             . "&period=" . $period
             . "&date=" . $date
             . "&token_auth=" . $token_auth
-            . "&segment=" . Piwik_ViewDataTable::getRawSegmentFromRequest()
+            . "&segment=" . Piwik_API_Request::getRawSegmentFromRequest()
             . "&enable_filter_excludelowpop=1"
             . "&showRawMetrics=1";
 
diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php
index da846c23ed..a220b8a050 100644
--- a/plugins/VisitsSummary/Controller.php
+++ b/plugins/VisitsSummary/Controller.php
@@ -129,7 +129,7 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller
         $dataTableVisit = self::getVisitsSummary();
         $dataRow = $dataTableVisit->getRowsCount() == 0 ? new Piwik_DataTable_Row() : $dataTableVisit->getFirstRow();
 
-        $dataTableActions = Piwik_Actions_API::getInstance()->get($idSite, Piwik_Common::getRequestVar('period'), Piwik_Common::getRequestVar('date'), Piwik_ViewDataTable::getRawSegmentFromRequest());
+        $dataTableActions = Piwik_Actions_API::getInstance()->get($idSite, Piwik_Common::getRequestVar('period'), Piwik_Common::getRequestVar('date'), Piwik_API_Request::getRawSegmentFromRequest());
         $dataActionsRow =
             $dataTableActions->getRowsCount() == 0 ? new Piwik_DataTable_Row() : $dataTableActions->getFirstRow();
 
-- 
GitLab