Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Becker <halfdan@xnorfz.de>2013-04-29 16:47:52 +0400
committerFabian Becker <halfdan@xnorfz.de>2013-04-29 16:47:52 +0400
commitb62473e57e1d236bed0a9d4d13f54cf51f55cdc9 (patch)
tree09f62f2469305882f742803418605f4c8cb6fa77 /plugins/API
parent7bcfa61a8f5044500c8f20620a4159f6bc7398f5 (diff)
parent8af5f6443c82e404b9b7855d5978a299bb13d905 (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.php37
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;
+ }
+
}