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:
authormattpiwik <matthieu.aubry@gmail.com>2011-02-12 16:34:53 +0300
committermattpiwik <matthieu.aubry@gmail.com>2011-02-12 16:34:53 +0300
commit0e3252517cf23823cbb231250ab1839679ae6808 (patch)
tree3296cadc2ee9f6b939034b9d26d39f0ad83b362f /plugins/VisitsSummary
parent8518cb19b351e5d9be1d6d1951da4a8f0044cb96 (diff)
Refs #1736
* API functions returning data now have a new optional 'segment' parameter. segment can define a Visitor segment dynamically that will be applied to the report. For example, &segment=country==FR;actions>=3 (AND, OR supported. Only == and != supported currently, but easy to add more) * For API requests with a segment parameter, the reports will now be processed on the fly, and only the requested plugin report will be archived. * All plugins now define the 'segments', with a name, category, SQL field, filter, etc. * Simplifying archiving code a bit * Fixes #2069 Exit rate computation * New widget: lists the Top Keywords for a page URL, Widgets for a website only. Maybe later we could create a widget category "For your site"? * This widget is pretty cool SEO wise, but maybe the PHP snippet should do caching (not so good hitting the API on each page view... but why not?) * still to do! git-svn-id: http://dev.piwik.org/svn/trunk@3870 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'plugins/VisitsSummary')
-rw-r--r--plugins/VisitsSummary/API.php40
1 files changed, 20 insertions, 20 deletions
diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php
index 572e7ceb89..6545e1087b 100644
--- a/plugins/VisitsSummary/API.php
+++ b/plugins/VisitsSummary/API.php
@@ -26,10 +26,10 @@ class Piwik_VisitsSummary_API
return self::$instance;
}
- public function get( $idSite, $period, $date, $columns = false)
+ public function get( $idSite, $period, $date, $segment = false, $columns = false)
{
Piwik::checkUserHasViewAccess( $idSite );
- $archive = Piwik_Archive::build($idSite, $period, $date );
+ $archive = Piwik_Archive::build($idSite, $period, $date, $segment );
// array values are comma separated
$columns = Piwik::getArrayFromApiParameter($columns);
@@ -92,52 +92,52 @@ class Piwik_VisitsSummary_API
return $dataTable;
}
- protected function getNumeric( $idSite, $period, $date, $toFetch )
+ protected function getNumeric( $idSite, $period, $date, $segment, $toFetch )
{
Piwik::checkUserHasViewAccess( $idSite );
- $archive = Piwik_Archive::build($idSite, $period, $date );
+ $archive = Piwik_Archive::build($idSite, $period, $date, $segment );
$dataTable = $archive->getNumeric($toFetch);
return $dataTable;
}
- public function getVisits( $idSite, $period, $date )
+ public function getVisits( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'nb_visits');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'nb_visits');
}
- public function getUniqueVisitors( $idSite, $period, $date )
+ public function getUniqueVisitors( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'nb_uniq_visitors');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'nb_uniq_visitors');
}
- public function getActions( $idSite, $period, $date )
+ public function getActions( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'nb_actions');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'nb_actions');
}
- public function getMaxActions( $idSite, $period, $date )
+ public function getMaxActions( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'max_actions');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'max_actions');
}
- public function getBounceCount( $idSite, $period, $date )
+ public function getBounceCount( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'bounce_count');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'bounce_count');
}
- public function getVisitsConverted( $idSite, $period, $date )
+ public function getVisitsConverted( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'nb_visits_converted');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'nb_visits_converted');
}
- public function getSumVisitsLength( $idSite, $period, $date )
+ public function getSumVisitsLength( $idSite, $period, $date, $segment = false )
{
- return $this->getNumeric( $idSite, $period, $date, 'sum_visit_length');
+ return $this->getNumeric( $idSite, $period, $date, $segment, 'sum_visit_length');
}
- public function getSumVisitsLengthPretty( $idSite, $period, $date )
+ public function getSumVisitsLengthPretty( $idSite, $period, $date, $segment = false )
{
- $table = $this->getSumVisitsLength( $idSite, $period, $date );
+ $table = $this->getSumVisitsLength( $idSite, $period, $date, $segment );
if($table instanceof Piwik_DataTable_Array) {
$table->filter('ColumnCallbackReplace', array(0, array('Piwik', 'getPrettyTimeFromSeconds')));
} else {