diff options
author | Fabian Becker <halfdan@xnorfz.de> | 2013-04-29 16:47:52 +0400 |
---|---|---|
committer | Fabian Becker <halfdan@xnorfz.de> | 2013-04-29 16:47:52 +0400 |
commit | b62473e57e1d236bed0a9d4d13f54cf51f55cdc9 (patch) | |
tree | 09f62f2469305882f742803418605f4c8cb6fa77 /plugins/API | |
parent | 7bcfa61a8f5044500c8f20620a4159f6bc7398f5 (diff) | |
parent | 8af5f6443c82e404b9b7855d5978a299bb13d905 (diff) |
Merge branch 'master' into 2.x-twig
Conflicts:
core/ReportRenderer/Html.php
plugins/Annotations/templates/annotations.js
plugins/CoreHome/templates/header.tpl
plugins/CoreHome/templates/index_content.tpl
plugins/CoreHome/templates/period_select.tpl
plugins/Goals/templates/list_goal_edit.tpl
plugins/MultiSites/templates/index.tpl
plugins/PDFReports/templates/report_parameters.tpl
Diffstat (limited to 'plugins/API')
-rw-r--r-- | plugins/API/API.php | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/plugins/API/API.php b/plugins/API/API.php index 770a0175ce..1d8b92dbd6 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -313,9 +313,9 @@ class Piwik_API_API $segments[] = array( 'type' => 'dimension', 'category' => 'Visit', - 'name' => Piwik_Translate('General_VisitType') . ". " . Piwik_Translate('General_VisitTypeExample', '"&segment=visitorType==returning,visitorType==returningCustomer"'), + 'name' => Piwik_Translate('General_VisitType') , 'segment' => 'visitorType', - 'acceptedValues' => 'new, returning, returningCustomer', + 'acceptedValues' => 'new, returning, returningCustomer' . ". " . Piwik_Translate('General_VisitTypeExample', '"&segment=visitorType==returning,visitorType==returningCustomer"'), 'sqlSegment' => 'log_visit.visitor_returning', 'sqlFilter' => create_function('$type', 'return $type == "new" ? 0 : ($type == "returning" ? 1 : 2);'), ); @@ -353,9 +353,10 @@ class Piwik_API_API $segments[] = array( 'type' => 'dimension', 'category' => 'Visit', - 'name' => Piwik_Translate('General_EcommerceVisitStatus', '"&segment=visitEcommerceStatus==ordered,visitEcommerceStatus==orderedThenAbandonedCart"'), + 'name' => Piwik_Translate('General_EcommerceVisitStatusDesc'), 'segment' => 'visitEcommerceStatus', - 'acceptedValues' => implode(", ", self::$visitEcommerceStatus), + 'acceptedValues' => implode(", ", self::$visitEcommerceStatus) + . '. '. Piwik_Translate('General_EcommerceVisitStatusEg', '"&segment=visitEcommerceStatus==ordered,visitEcommerceStatus==orderedThenAbandonedCart"'), 'sqlSegment' => 'log_visit.visit_goal_buyer', 'sqlFilter' => array('Piwik_API_API', 'getVisitEcommerceStatus'), ); @@ -1650,12 +1651,6 @@ class Piwik_API_API throw new Exception("Requested segment not found."); } - $segmentsNeedActionsInfo = array('visitConvertedGoalId', - 'pageUrl', 'pageTitle', 'siteSearchKeyword', - 'entryPageTitle', 'entryPageUrl', 'exitPageTitle', 'exitPageUrl'); - $isCustomVariablePage = stripos($segmentName, 'customVariablePage') !== false; - $doesSegmentNeedActionsInfo = in_array($segmentName, $segmentsNeedActionsInfo) || $isCustomVariablePage; - $startDate = Piwik_Date::now()->subDay(60)->toString(); $requestLastVisits = "method=Live.getLastVisitsDetails &idSite=$idSite @@ -1666,14 +1661,15 @@ class Piwik_API_API &flat=1"; // Select non empty fields only + // Note: this optimization has only a very minor impact $requestLastVisits.= "&segment=$segmentName" . Piwik_SegmentExpression::MATCH_IS_NOT_NULL . "null"; // By default Live fetches all actions for all visitors, but we'd rather do this only when required - if(!$doesSegmentNeedActionsInfo) { + if($this->doesSegmentNeedActionsData($segmentName)) { + $requestLastVisits .= "&filter_limit=500"; + } else { $requestLastVisits .= "&doNotFetchActions=1"; $requestLastVisits .= "&filter_limit=1000"; - } else { - $requestLastVisits .= "&filter_limit=500"; } $request = new Piwik_API_Request($requestLastVisits); @@ -1702,4 +1698,19 @@ class Piwik_API_API $values = array_slice($values, 0, $maxSuggestionsToReturn); return $values; } + + /** + * @param $segmentName + * @return bool + */ + protected function doesSegmentNeedActionsData($segmentName) + { + $segmentsNeedActionsInfo = array('visitConvertedGoalId', + 'pageUrl', 'pageTitle', 'siteSearchKeyword', + 'entryPageTitle', 'entryPageUrl', 'exitPageTitle', 'exitPageUrl'); + $isCustomVariablePage = stripos($segmentName, 'customVariablePage') !== false; + $doesSegmentNeedActionsInfo = in_array($segmentName, $segmentsNeedActionsInfo) || $isCustomVariablePage; + return $doesSegmentNeedActionsInfo; + } + } |