From b082b508a9232a1c9f6e55831fbb67d2643e6efa Mon Sep 17 00:00:00 2001 From: diosmosis Date: Sun, 2 Nov 2014 01:14:21 -0700 Subject: [poc] moved BounceRate calculation to ProcessedMetric class. --- core/API/ResponseBuilder.php | 20 ++++ core/DataTable/Filter/ComputeProcessedMetrics.php | 63 +++++++++++++ core/DataTable/Filter/FormatProcessedMetrics.php | 65 +++++++++++++ core/DataTable/Filter/RemoveTemporaryMetrics.php | 60 ++++++++++++ core/Piwik.php | 10 +- core/Plugin/Metric.php | 48 ++++++++++ core/Plugin/ProcessedMetric.php | 56 +++++++++++ core/Plugin/Report.php | 15 ++- core/testMinimumPhpVersion.php | 2 +- plugins/API/API.php | 15 ++- plugins/API/Reports/Get.php | 103 +++++++++++++++++++++ plugins/CoreHome/Metrics/BounceCount.php | 22 +++++ plugins/CoreHome/Metrics/BounceRate.php | 33 +++++++ plugins/VisitsSummary/API.php | 12 +-- plugins/VisitsSummary/Reports/Get.php | 10 +- tests/PHPUnit/System/OneVisitorTwoVisitsTest.php | 11 ++- ...torTwoVisits_bulk_json__API.getBulkRequest.json | 2 +- ...sitorTwoVisits_bulk_xml__API.getBulkRequest.xml | 4 +- ...oVisits_hideColumns___VisitsSummary.get_day.xml | 2 +- ...neVisitorTwoVisits_showColumns__API.get_day.xml | 2 +- 20 files changed, 534 insertions(+), 21 deletions(-) create mode 100644 core/DataTable/Filter/ComputeProcessedMetrics.php create mode 100644 core/DataTable/Filter/FormatProcessedMetrics.php create mode 100644 core/DataTable/Filter/RemoveTemporaryMetrics.php create mode 100644 core/Plugin/Metric.php create mode 100644 core/Plugin/ProcessedMetric.php create mode 100644 plugins/API/Reports/Get.php create mode 100644 plugins/CoreHome/Metrics/BounceCount.php create mode 100644 plugins/CoreHome/Metrics/BounceRate.php diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 5b00c01a13..1895aa2277 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -18,6 +18,8 @@ use Piwik\DataTable\Filter\PivotByDimension; use Piwik\DataTable\Renderer; use Piwik\DataTable\DataTableInterface; use Piwik\DataTable\Filter\ColumnDelete; +use Piwik\Plugin\Report; +use Piwik\Plugins\API\Renderer\Original; /** */ @@ -193,6 +195,11 @@ class ResponseBuilder $datatable = $genericFilter->calculate($datatable); } + $report = Report::factory($this->apiModule, $this->apiMethod); + if (!empty($report)) { + $datatable->filter('ComputeProcessedMetrics', array($report)); + } + // if the flag disable_generic_filters is defined we skip the generic filters if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { $genericFilter = new DataTableGenericFilter($this->request); @@ -219,6 +226,13 @@ class ResponseBuilder $datatable->filter('ColumnDelete', array($hideColumns, $showColumns)); } + // TODO: comment + if (empty($showColumns) + && !empty($report) + ) { + $datatable->filter('RemoveTemporaryMetrics', array($report)); + } + // apply label filter: only return rows matching the label parameter (more than one if more than one label) if (!empty($label)) { $addLabelIndex = Common::getRequestVar('labelFilterAddLabelIndex', 0, 'int', $this->request) == 1; @@ -227,6 +241,12 @@ class ResponseBuilder $datatable = $filter->filter($label, $datatable, $addLabelIndex); } + if (!($this->apiRenderer instanceof Original) + && !empty($report) + ) { + $datatable->filter('FormatProcessedMetrics', array($report)); + } + return $this->apiRenderer->renderDataTable($datatable); } diff --git a/core/DataTable/Filter/ComputeProcessedMetrics.php b/core/DataTable/Filter/ComputeProcessedMetrics.php new file mode 100644 index 0000000000..3a7850321c --- /dev/null +++ b/core/DataTable/Filter/ComputeProcessedMetrics.php @@ -0,0 +1,63 @@ +report = $report; + } + + /** + * Executes the filter. See {@link ComputeProcessedMetrics}. + * + * @param DataTable $table + */ + public function filter($table) + { + $processedMetrics = $this->report->processedMetrics; + if (!is_array($processedMetrics)) { + return; + } + + foreach ($table->getRows() as $row) { + /** @var ProcessedMetric $processedMetric */ // TODO: should remove this and if below eventually. + foreach ($processedMetrics as $processedMetric) { + if ($processedMetric instanceof ProcessedMetric) { + $row->addColumn($processedMetric->getName(), $processedMetric->compute($row)); + } + } + } + } +} \ No newline at end of file diff --git a/core/DataTable/Filter/FormatProcessedMetrics.php b/core/DataTable/Filter/FormatProcessedMetrics.php new file mode 100644 index 0000000000..d612ecaedd --- /dev/null +++ b/core/DataTable/Filter/FormatProcessedMetrics.php @@ -0,0 +1,65 @@ +report = $report; + } + + /** + * Executes the filter. See {@link ComputeProcessedMetrics}. + * + * @param DataTable $table + */ + public function filter($table) + { + $processedMetrics = $this->report->processedMetrics; + if (empty($processedMetrics)) { + return; + } + + foreach ($table->getRows() as $row) { + foreach ($processedMetrics as $processedMetric) { + if (!($processedMetric instanceof ProcessedMetric)) { + continue; + } + + $name = $processedMetric->getName(); + $columnValue = $row->getColumn($name); + if ($columnValue !== false) { + $row->setColumn($name, $processedMetric->format($columnValue)); + } + } + } + } +} \ No newline at end of file diff --git a/core/DataTable/Filter/RemoveTemporaryMetrics.php b/core/DataTable/Filter/RemoveTemporaryMetrics.php new file mode 100644 index 0000000000..fee01099bb --- /dev/null +++ b/core/DataTable/Filter/RemoveTemporaryMetrics.php @@ -0,0 +1,60 @@ +report = $report; + } + + /** + * Executes the filter. See {@link RemoveTemporaryMetrics}. + * + * @param DataTable $table + */ + public function filter($table) + { + $temporaryMetrics = $this->report->temporaryMetrics; + if (empty($temporaryMetrics)) { + return; + } + + foreach ($table->getRows() as $row) { + foreach ($temporaryMetrics as $temporaryMetric) { + if (!($temporaryMetric instanceof Metric)) { + continue; + } + + $row->deleteColumn($temporaryMetric->getName()); + } + } + } +} \ No newline at end of file diff --git a/core/Piwik.php b/core/Piwik.php index 625a7cf9f8..9df4034bcd 100644 --- a/core/Piwik.php +++ b/core/Piwik.php @@ -111,11 +111,19 @@ class Piwik * @return number */ public static function getPercentageSafe($dividend, $divisor, $precision = 0) + { + return self::getQuotientSafe(100 * $dividend, $divisor, $precision); + } + + /** + * TODO + */ + public static function getQuotientSafe($dividend, $divisor, $precision = 0) { if ($divisor == 0) { return 0; } - return round(100 * $dividend / $divisor, $precision); + return round($dividend / $divisor, $precision); } /** diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php new file mode 100644 index 0000000000..09c8d2298e --- /dev/null +++ b/core/Plugin/Metric.php @@ -0,0 +1,48 @@ +findMultipleComponents(self::COMPONENT_SUBNAMESPACE, __CLASS__); + + $result = array(); + foreach ($components as $componentClass) { + /** @var Metric $component */ + $component = new $componentClass(); + + $name = $component->getName(); + $result[$name] = $component; + } + return $result; + } + + /** + * TODO + */ + abstract public function getName(); +} \ No newline at end of file diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php new file mode 100644 index 0000000000..a6b88f6c0d --- /dev/null +++ b/core/Plugin/ProcessedMetric.php @@ -0,0 +1,56 @@ +findMultipleComponents(self::COMPONENT_SUBNAMESPACE, __CLASS__); + + $result = array(); + foreach ($components as $componentClass) { + /** @var ProcessedMetric $component */ + $component = new $componentClass(); + + $name = $component->getName(); + $result[$name] = $component; + } + return $result; + } + + /** + * TODO + */ + abstract public function getName(); + + /** + * TODO + */ + abstract public function format($value); + + /** + * TODO + */ + abstract public function compute(Row $row); +} \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index c30e731d46..4f8e357624 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -121,10 +121,19 @@ class Report * Eg `array('avg_time_on_site', 'nb_actions_per_visit', ...)` * @var array|false * @api + * + * TODO: shouldn't be public */ - protected $processedMetrics = array('nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'); + public $processedMetrics = array('nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'); // for a little performance improvement we avoid having to call Metrics::getDefaultProcessedMetrics for each report + /** + * TODO + * + * TODO: shouldn't be public + */ + public $temporaryMetrics = array(); + /** * Set this property to true in case your report supports goal metrics. In this case, the goal metrics will be * automatically added to the report metadata and the report will be displayed in the Goals UI. @@ -705,6 +714,10 @@ class Report $metrics = array(); foreach ($metricsToTranslate as $metric) { + if ($metric instanceof ProcessedMetric) { + $metric = $metric->getName(); + } + if (!empty($translations[$metric])) { $metrics[$metric] = $translations[$metric]; } else { diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php index a24780077d..071a70a96b 100644 --- a/core/testMinimumPhpVersion.php +++ b/core/testMinimumPhpVersion.php @@ -73,7 +73,7 @@ if (!function_exists('Piwik_GetErrorMessagePage')) { * @return bool */ function Piwik_ShouldPrintBackTraceWithMessage() - { + {return true; $bool = (defined('PIWIK_PRINT_ERROR_BACKTRACE') && PIWIK_PRINT_ERROR_BACKTRACE) || !empty($GLOBALS['PIWIK_TRACKER_DEBUG']); return $bool; diff --git a/plugins/API/API.php b/plugins/API/API.php index c65c04fffe..16700d160b 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -22,6 +22,7 @@ use Piwik\Period; use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Plugin\Dimension\VisitDimension; +use Piwik\Plugin\Report; use Piwik\Plugins\CoreAdminHome\CustomLogo; use Piwik\SegmentExpression; use Piwik\Translate; @@ -362,7 +363,8 @@ class API extends \Piwik\Plugin\API */ public function get($idSite, $period, $date, $segment = false, $columns = false) { - $columns = Piwik::getArrayFromApiParameter($columns); + $columnsToShow = Piwik::getArrayFromApiParameter($columns); + $columns = array(); // build columns map for faster checks later on $columnsMap = array(); @@ -372,6 +374,7 @@ class API extends \Piwik\Plugin\API // find out which columns belong to which plugin $columnsByPlugin = array(); + $allColumns = array(); $meta = \Piwik\Plugins\API\API::getInstance()->getReportMetadata($idSite, $period, $date); foreach ($meta as $reportMeta) { // scan all *.get reports @@ -380,7 +383,7 @@ class API extends \Piwik\Plugin\API && $reportMeta['module'] != 'API' && !empty($reportMeta['metrics']) ) { - $plugin = $reportMeta['module']; + $plugin = $reportMeta['module'];echo $plugin . "." . $reportMeta['action']."\n"; foreach ($reportMeta['metrics'] as $column => $columnTranslation) { // a metric from this report has been requested if (isset($columnsMap[$column]) @@ -388,6 +391,7 @@ class API extends \Piwik\Plugin\API || empty($columnsMap) ) { $columnsByPlugin[$plugin][] = $column; + $allColumns[] = $column; } } } @@ -399,7 +403,7 @@ class API extends \Piwik\Plugin\API foreach ($columnsByPlugin as $plugin => $columns) { // load the data $className = Request::getClassNameAPI($plugin); - $params['columns'] = implode(',', $columns); + $params['columns'] = ""; $dataTable = Proxy::getInstance()->call($className, 'get', $params); // make sure the table has all columns @@ -427,6 +431,11 @@ class API extends \Piwik\Plugin\API $this->mergeDataTables($mergedDataTable, $dataTable); } } + + if (!empty($columnsToShow)) { + $mergedDataTable->filter('ColumnDelete', array(array(), $columnsToShow)); + } + return $mergedDataTable; } diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php new file mode 100644 index 0000000000..43e913f920 --- /dev/null +++ b/plugins/API/Reports/Get.php @@ -0,0 +1,103 @@ +reportsToMerge = $this->getReportsToMerge(); + + // TODO + //$this->category = 'VisitsSummary_VisitsSummary'; + $this->name = 'All Metrics'; // TODO: translate + //$this->documentation = ''; // TODO + + $this->processedMetrics = array(); + foreach ($this->reportsToMerge as $report) { + if (!is_array($report->processedMetrics)) { + continue; + } + + $this->processedMetrics = array_merge($this->processedMetrics, $report->processedMetrics); + } + + $this->metrics = array(); + foreach ($this->reportsToMerge as $report) { + if (!is_array($report->metrics)) { + continue; + } + + $this->metrics = array_merge($this->metrics, $report->metrics); + } + + $this->temporaryMetrics = array(); + foreach ($this->reportsToMerge as $report) { + if (!is_array($report->temporaryMetrics)) { + continue; + } + + $this->temporaryMetrics = array_merge($this->temporaryMetrics, $report->temporaryMetrics); + } + + // Used to process metrics, not displayed/used directly +// 'sum_visit_length', +// 'nb_visits_converted', + $this->order = 1; + } + + public function getMetrics() + { + $metrics = array(); + foreach ($this->reportsToMerge as $report) { + $metrics = array_merge($metrics, $report->getMetrics()); + } + return $metrics; + } + + /** + * @return Report[] + */ + private function getReportsToMerge() + { + $result = array(); + foreach (Manager::getInstance()->getLoadedPluginsName() as $moduleName) { + if ($moduleName == 'API') { + continue; + } + + $report = Report::factory($moduleName, 'get'); + if (empty($report)) { + continue; + } + + $metrics = $report->getMetrics(); + if (!empty($report->parameters) + || empty($metrics) + ) { + continue; + } + + $result[] = $report; + } + return $result; + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/BounceCount.php b/plugins/CoreHome/Metrics/BounceCount.php new file mode 100644 index 0000000000..ea6bbcdd23 --- /dev/null +++ b/plugins/CoreHome/Metrics/BounceCount.php @@ -0,0 +1,22 @@ +getColumn('bounce_count'), $row->getColumn('nb_visits'), $precision = 2); + } +} \ No newline at end of file diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 8012de8f50..005e30aff4 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -30,13 +30,13 @@ class API extends \Piwik\Plugin\API $columns = Piwik::getArrayFromApiParameter($columns); $tempColumns = array(); - $bounceRateRequested = $actionsPerVisitRequested = $averageVisitDurationRequested = false; + $actionsPerVisitRequested = $averageVisitDurationRequested = false; if (!empty($columns)) { // make sure base metrics are there for processed metrics - if (false !== ($bounceRateRequested = array_search('bounce_rate', $columns))) { + if (false !== ($bounceRateIdx = array_search('bounce_rate', $columns))) { if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits'; if (!in_array('bounce_count', $columns)) $tempColumns[] = 'bounce_count'; - unset($columns[$bounceRateRequested]); + unset($columns[$bounceRateIdx]); } if (false !== ($actionsPerVisitRequested = array_search('nb_actions_per_visit', $columns))) { if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits'; @@ -52,16 +52,13 @@ class API extends \Piwik\Plugin\API rsort($tempColumns); $columns = array_merge($columns, $tempColumns); } else { - $bounceRateRequested = $actionsPerVisitRequested = $averageVisitDurationRequested = true; + $actionsPerVisitRequested = $averageVisitDurationRequested = true; $columns = $this->getCoreColumns($period); } $dataTable = $archive->getDataTableFromNumeric($columns); // Process ratio metrics from base metrics, when requested - if ($bounceRateRequested !== false) { - $dataTable->filter('ColumnCallbackAddColumnPercentage', array('bounce_rate', 'bounce_count', 'nb_visits', 0)); - } if ($actionsPerVisitRequested !== false) { $dataTable->filter('ColumnCallbackAddColumnQuotient', array('nb_actions_per_visit', 'nb_actions', 'nb_visits', 1)); } @@ -70,6 +67,7 @@ class API extends \Piwik\Plugin\API } // remove temp metrics that were used to compute processed metrics + unset($tempColumns[array_search('bounce_count', $tempColumns)]); $dataTable->deleteColumns($tempColumns); return $dataTable; } diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index 82a21f1cc9..47a64bc778 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -9,6 +9,8 @@ namespace Piwik\Plugins\VisitsSummary\Reports; use Piwik\Piwik; +use Piwik\Plugins\CoreHome\Metrics\BounceCount; +use Piwik\Plugins\CoreHome\Metrics\BounceRate; class Get extends \Piwik\Plugin\Report { @@ -18,14 +20,18 @@ class Get extends \Piwik\Plugin\Report $this->category = 'VisitsSummary_VisitsSummary'; $this->name = Piwik::translate('VisitsSummary_VisitsSummary'); $this->documentation = ''; // TODO - $this->processedMetrics = false; + $this->processedMetrics = array( + new BounceRate() + ); + $this->temporaryMetrics = array( + new BounceCount() + ); $this->metrics = array( 'nb_uniq_visitors', 'nb_visits', 'nb_users', 'nb_actions', 'nb_actions_per_visit', - 'bounce_rate', 'avg_time_on_site', 'max_actions' ); diff --git a/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php b/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php index 287e6799f1..644979c272 100755 --- a/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php +++ b/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php @@ -77,7 +77,16 @@ class OneVisitorTwoVisitsTest extends SystemTestCase ); foreach ($bulkUrls as &$url) { $url = urlencode($url); - } + }return array( + array('API.get', array('idSite' => $idSite, + 'date' => '2009-10-01', + 'format' => 'csv', + 'periods' => array('month'), + 'setDateLastN' => true, + 'otherRequestParameters' => $enExtraParam, + 'language' => 'en', + 'testSuffix' => '_csv')) + ); return array( array('all', array('idSite' => $idSite, 'date' => $dateTime, diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json index 54eec7681d..4b75f2c513 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json @@ -1 +1 @@ -[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file +[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"nb_actions_per_visit":4,"avg_time_on_site":811,"bounce_rate":"50%"},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"nb_actions_per_visit":4,"avg_time_on_site":811,"bounce_rate":"50%"},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml index e3455beeec..df99d07898 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml @@ -10,9 +10,9 @@ 1 1621 7 - 50% 4 811 + 50% @@ -27,9 +27,9 @@ 1 1621 7 - 50% 4 811 + 50% diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml index e84bd27189..0a131c30c2 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml @@ -2,6 +2,6 @@ 1 0 - 50% 4 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns__API.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns__API.get_day.xml index cdd370d354..606de13a5f 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns__API.get_day.xml @@ -1,6 +1,6 @@ 1 - 50% 4 + 50% \ No newline at end of file -- cgit v1.2.3 From 042bae30e636e6cb7e4e134818811a2ab07e92de Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 05:21:14 -0800 Subject: Removing '$columns' parameter from VisitsSummary/API.php --- core/API/ResponseBuilder.php | 4 ++++ plugins/VisitsSummary/API.php | 42 +++--------------------------------------- 2 files changed, 7 insertions(+), 39 deletions(-) diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 1895aa2277..3514f5a755 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -222,6 +222,10 @@ class ResponseBuilder // after queued filters are run so processed metrics can be removed, too) $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request); $showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request); + if (empty($showColumns)) { + $showColumns = Common::getRequestVar('columns', '', 'string', $this->request); // TODO: note backwards compatibility + } + if ($hideColumns !== '' || $showColumns !== '') { $datatable->filter('ColumnDelete', array($hideColumns, $showColumns)); } diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 005e30aff4..591a53f800 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -26,49 +26,13 @@ class API extends \Piwik\Plugin\API Piwik::checkUserHasViewAccess($idSite); $archive = Archive::build($idSite, $period, $date, $segment); - // array values are comma separated - $columns = Piwik::getArrayFromApiParameter($columns); - $tempColumns = array(); - - $actionsPerVisitRequested = $averageVisitDurationRequested = false; - if (!empty($columns)) { - // make sure base metrics are there for processed metrics - if (false !== ($bounceRateIdx = array_search('bounce_rate', $columns))) { - if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits'; - if (!in_array('bounce_count', $columns)) $tempColumns[] = 'bounce_count'; - unset($columns[$bounceRateIdx]); - } - if (false !== ($actionsPerVisitRequested = array_search('nb_actions_per_visit', $columns))) { - if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits'; - if (!in_array('nb_actions', $columns)) $tempColumns[] = 'nb_actions'; - unset($columns[$actionsPerVisitRequested]); - } - if (false !== ($averageVisitDurationRequested = array_search('avg_time_on_site', $columns))) { - if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits'; - if (!in_array('sum_visit_length', $columns)) $tempColumns[] = 'sum_visit_length'; - unset($columns[$averageVisitDurationRequested]); - } - $tempColumns = array_unique($tempColumns); - rsort($tempColumns); - $columns = array_merge($columns, $tempColumns); - } else { - $actionsPerVisitRequested = $averageVisitDurationRequested = true; - $columns = $this->getCoreColumns($period); - } - + $columns = $this->getCoreColumns($period); $dataTable = $archive->getDataTableFromNumeric($columns); // Process ratio metrics from base metrics, when requested - if ($actionsPerVisitRequested !== false) { - $dataTable->filter('ColumnCallbackAddColumnQuotient', array('nb_actions_per_visit', 'nb_actions', 'nb_visits', 1)); - } - if ($averageVisitDurationRequested !== false) { - $dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0)); - } + $dataTable->filter('ColumnCallbackAddColumnQuotient', array('nb_actions_per_visit', 'nb_actions', 'nb_visits', 1)); + $dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0)); - // remove temp metrics that were used to compute processed metrics - unset($tempColumns[array_search('bounce_count', $tempColumns)]); - $dataTable->deleteColumns($tempColumns); return $dataTable; } -- cgit v1.2.3 From 7162f5fcaa4b32cc3cf7910c8d39f258d07e6cca Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 09:38:33 -0800 Subject: Fixing some tests and debugging others. --- core/API/ResponseBuilder.php | 11 ++-- core/DataTable/Filter/ComputeProcessedMetrics.php | 5 +- core/DataTable/Filter/RemoveTemporaryMetrics.php | 60 --------------------- core/testMinimumPhpVersion.php | 2 +- plugins/API/API.php | 2 +- plugins/API/ProcessedReport.php | 2 +- plugins/API/Reports/Get.php | 5 +- plugins/VisitFrequency/Reports/Get.php | 6 ++- plugins/VisitsSummary/Reports/Get.php | 4 -- tests/PHPUnit/Framework/TestRequest/Response.php | 2 +- tests/PHPUnit/System/OneVisitorTwoVisitsTest.php | 21 ++++---- .../TwoVisitorsTwoWebsitesDifferentDaysTest.php | 12 ++++- ...OneVisitorTwoVisits__VisitFrequency.get_day.xml | 2 +- ...test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 2296 -> 2494 bytes ...Days_NotLastNPeriods__VisitsSummary.get_day.xml | 2 +- ...ys_NotLastNPeriods__VisitsSummary.get_month.xml | 4 +- ...sites_differentDays__VisitFrequency.get_day.xml | 10 ++-- ...tes_differentDays__VisitFrequency.get_month.xml | 2 +- ...ites_differentDays__VisitFrequency.get_week.xml | 4 +- ...ites_differentDays__VisitFrequency.get_year.xml | 2 +- ...bsites_differentDays__VisitsSummary.get_day.xml | 16 +++--- ...rentDays_idSiteOne___VisitFrequency.get_day.xml | 10 ++-- ...ntDays_idSiteOne___VisitFrequency.get_month.xml | 2 +- ...entDays_idSiteOne___VisitFrequency.get_week.xml | 4 +- ...entDays_idSiteOne___VisitFrequency.get_year.xml | 2 +- ...erentDays_idSiteOne___VisitsSummary.get_day.xml | 14 ++--- 26 files changed, 75 insertions(+), 131 deletions(-) delete mode 100644 core/DataTable/Filter/RemoveTemporaryMetrics.php diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 3514f5a755..b2e8bd9aea 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -226,15 +226,10 @@ class ResponseBuilder $showColumns = Common::getRequestVar('columns', '', 'string', $this->request); // TODO: note backwards compatibility } - if ($hideColumns !== '' || $showColumns !== '') { - $datatable->filter('ColumnDelete', array($hideColumns, $showColumns)); - } - - // TODO: comment - if (empty($showColumns) - && !empty($report) + if (!empty($hideColumns) + || !empty($showColumns) ) { - $datatable->filter('RemoveTemporaryMetrics', array($report)); + $datatable->filter('ColumnDelete', array($hideColumns, $showColumns)); } // apply label filter: only return rows matching the label parameter (more than one if more than one label) diff --git a/core/DataTable/Filter/ComputeProcessedMetrics.php b/core/DataTable/Filter/ComputeProcessedMetrics.php index 3a7850321c..d463212368 100644 --- a/core/DataTable/Filter/ComputeProcessedMetrics.php +++ b/core/DataTable/Filter/ComputeProcessedMetrics.php @@ -55,7 +55,10 @@ class ComputeProcessedMetrics extends BaseFilter /** @var ProcessedMetric $processedMetric */ // TODO: should remove this and if below eventually. foreach ($processedMetrics as $processedMetric) { if ($processedMetric instanceof ProcessedMetric) { - $row->addColumn($processedMetric->getName(), $processedMetric->compute($row)); + $processedMetricName = $processedMetric->getName(); + if ($row->getColumn($processedMetricName) === false) { + $row->addColumn($processedMetricName, $processedMetric->compute($row)); + } } } } diff --git a/core/DataTable/Filter/RemoveTemporaryMetrics.php b/core/DataTable/Filter/RemoveTemporaryMetrics.php deleted file mode 100644 index fee01099bb..0000000000 --- a/core/DataTable/Filter/RemoveTemporaryMetrics.php +++ /dev/null @@ -1,60 +0,0 @@ -report = $report; - } - - /** - * Executes the filter. See {@link RemoveTemporaryMetrics}. - * - * @param DataTable $table - */ - public function filter($table) - { - $temporaryMetrics = $this->report->temporaryMetrics; - if (empty($temporaryMetrics)) { - return; - } - - foreach ($table->getRows() as $row) { - foreach ($temporaryMetrics as $temporaryMetric) { - if (!($temporaryMetric instanceof Metric)) { - continue; - } - - $row->deleteColumn($temporaryMetric->getName()); - } - } - } -} \ No newline at end of file diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php index 071a70a96b..a24780077d 100644 --- a/core/testMinimumPhpVersion.php +++ b/core/testMinimumPhpVersion.php @@ -73,7 +73,7 @@ if (!function_exists('Piwik_GetErrorMessagePage')) { * @return bool */ function Piwik_ShouldPrintBackTraceWithMessage() - {return true; + { $bool = (defined('PIWIK_PRINT_ERROR_BACKTRACE') && PIWIK_PRINT_ERROR_BACKTRACE) || !empty($GLOBALS['PIWIK_TRACKER_DEBUG']); return $bool; diff --git a/plugins/API/API.php b/plugins/API/API.php index 16700d160b..405d5d7b3a 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -383,7 +383,7 @@ class API extends \Piwik\Plugin\API && $reportMeta['module'] != 'API' && !empty($reportMeta['metrics']) ) { - $plugin = $reportMeta['module'];echo $plugin . "." . $reportMeta['action']."\n"; + $plugin = $reportMeta['module']; foreach ($reportMeta['metrics'] as $column => $columnTranslation) { // a metric from this report has been requested if (isset($columnsMap[$column]) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 418ef4a30a..9be937dd6e 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -513,7 +513,7 @@ class ProcessedReport } } } - +echo print_r($columns, true); // Display the global Goal metrics if (isset($reportMetadata['metricsGoal'])) { $metricsGoalDisplay = array('revenue'); diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php index 43e913f920..f8e7e5280c 100644 --- a/plugins/API/Reports/Get.php +++ b/plugins/API/Reports/Get.php @@ -26,10 +26,9 @@ class Get extends Report $this->reportsToMerge = $this->getReportsToMerge(); - // TODO - //$this->category = 'VisitsSummary_VisitsSummary'; + $this->category = 'API'; $this->name = 'All Metrics'; // TODO: translate - //$this->documentation = ''; // TODO + $this->documentation = ''; // TODO $this->processedMetrics = array(); foreach ($this->reportsToMerge as $report) { diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php index 5db2ebebf6..f1cf21293c 100644 --- a/plugins/VisitFrequency/Reports/Get.php +++ b/plugins/VisitFrequency/Reports/Get.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\VisitFrequency\Reports; use Piwik\Piwik; +use Piwik\Plugins\VisitFrequency\Metrics\BounceRateReturning; class Get extends \Piwik\Plugin\Report { @@ -18,11 +19,13 @@ class Get extends \Piwik\Plugin\Report $this->category = 'General_Visitors'; $this->name = Piwik::translate('VisitFrequency_ColumnReturningVisits'); $this->documentation = ''; // TODO + $this->processedMetrics = array( + new BounceRateReturning() + ); $this->metrics = array( 'nb_visits_returning', 'nb_actions_returning', 'avg_time_on_site_returning', - 'bounce_rate_returning', 'nb_actions_per_visit_returning', 'nb_uniq_visitors_returning', 'sum_visit_length_returning', @@ -31,7 +34,6 @@ class Get extends \Piwik\Plugin\Report 'sum_visit_length_returning', 'max_actions_returning' ); - $this->processedMetrics = false; $this->order = 40; } } diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index 47a64bc778..93d67eabf3 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -9,7 +9,6 @@ namespace Piwik\Plugins\VisitsSummary\Reports; use Piwik\Piwik; -use Piwik\Plugins\CoreHome\Metrics\BounceCount; use Piwik\Plugins\CoreHome\Metrics\BounceRate; class Get extends \Piwik\Plugin\Report @@ -23,9 +22,6 @@ class Get extends \Piwik\Plugin\Report $this->processedMetrics = array( new BounceRate() ); - $this->temporaryMetrics = array( - new BounceCount() - ); $this->metrics = array( 'nb_uniq_visitors', 'nb_visits', diff --git a/tests/PHPUnit/Framework/TestRequest/Response.php b/tests/PHPUnit/Framework/TestRequest/Response.php index 0d73a3f0f4..087a18de1b 100644 --- a/tests/PHPUnit/Framework/TestRequest/Response.php +++ b/tests/PHPUnit/Framework/TestRequest/Response.php @@ -77,7 +77,7 @@ class Response } // check content size to get quick feedback and avoid lengthy diff - $checkSizeFirst = array('pdf', 'csv'); + $checkSizeFirst = array('pdf', 'csv', 'html'); if(!empty($expected->requestUrl['reportFormat']) && in_array($expected->requestUrl['reportFormat'], $checkSizeFirst)) { Asserts::assertEquals(strlen($expectedText), strlen($actualText), $message); diff --git a/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php b/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php index 644979c272..0d6930fba1 100755 --- a/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php +++ b/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php @@ -77,18 +77,17 @@ class OneVisitorTwoVisitsTest extends SystemTestCase ); foreach ($bulkUrls as &$url) { $url = urlencode($url); - }return array( - array('API.get', array('idSite' => $idSite, - 'date' => '2009-10-01', - 'format' => 'csv', - 'periods' => array('month'), - 'setDateLastN' => true, - 'otherRequestParameters' => $enExtraParam, - 'language' => 'en', - 'testSuffix' => '_csv')) - ); + } + return array( + array('VisitFrequency.get', array('idSite' => $idSite, + 'date' => $dateTime, + 'otherRequestParameters' => array( + 'hideColumns' => 'nb_users', + ) + )) + ); return array( - array('all', array('idSite' => $idSite, + array('VisitFrequency.get', array('idSite' => $idSite, 'date' => $dateTime, 'otherRequestParameters' => array( 'hideColumns' => 'nb_users', diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php index c9fd4f04c5..0baa4a287e 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php @@ -62,7 +62,17 @@ class TwoVisitorsTwoWebsitesDifferentDaysTest extends SystemTestCase $singlePeriodApi = array('VisitsSummary.get', 'Goals.get'); $periods = array('day', 'week', 'month', 'year'); - +return array( + array( + 'API.getProcessedReport', array('idSite' => $idSite1, + 'date' => $dateTime, + 'periods' => array('day'), + 'setDateLastN' => true, + 'apiModule' => 'VisitsSummary', + 'apiAction' => 'get', + 'testSuffix' => '_' . 'VisitsSummary.get' . '_firstSite_lastN') + ) +); $result = array( // Request data for the last 6 periods and idSite=all array($apiToCall, array('idSite' => 'all', diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml index eb4e37fdf7..c65c3ddf75 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml @@ -7,7 +7,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index 86a07c0d50..f0bfc66205 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml index 296741c7a0..56f6a84ee5 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml index 9aa711753b..a3916d0861 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 1 7569 5 - 10% 4.3 757 + 10% 1 @@ -22,8 +22,8 @@ 0 1 3 - 0% 3 1 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml index 1132f1191d..2160d449a7 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml @@ -12,9 +12,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -25,9 +25,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -38,9 +38,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -51,9 +51,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -64,9 +64,9 @@ 0 901 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml index f6da2a541d..bfad12c494 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml @@ -10,9 +10,9 @@ 0 7208 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml index d64e929e8a..60aa74b8fa 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml @@ -11,9 +11,9 @@ 0 5406 5 - 0% 5 901 + 0% 1 @@ -24,9 +24,9 @@ 0 1802 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml index dd6204a199..2ce3bd4dac 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml @@ -8,9 +8,9 @@ 0 7208 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml index c0f0001ebf..8f92b68e56 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ 1 0 1 - 100% 1 0 + 100% 1 @@ -23,9 +23,9 @@ 0 361 2 - 0% 2 361 + 0% 1 @@ -36,9 +36,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -49,9 +49,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -62,9 +62,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -75,9 +75,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -88,9 +88,9 @@ 0 901 5 - 0% 5 901 + 0% @@ -104,9 +104,9 @@ 0 1 3 - 0% 3 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml index f760097ff0..0546a0636e 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml @@ -11,9 +11,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -24,9 +24,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -37,9 +37,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -50,9 +50,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -63,8 +63,8 @@ 0 901 5 - 0% 5 901 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml index ddce4b63c9..f9b578782e 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml @@ -9,9 +9,9 @@ 0 7208 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml index d44fe0f184..6a88dc55a0 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml @@ -10,9 +10,9 @@ 0 5406 5 - 0% 5 901 + 0% 1 @@ -23,9 +23,9 @@ 0 1802 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml index a7e7659d80..8cc27fb8c9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml @@ -7,9 +7,9 @@ 0 7208 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml index 057ccb1b63..aa2c716059 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% 1 @@ -22,9 +22,9 @@ 0 361 2 - 0% 2 361 + 0% 1 @@ -35,9 +35,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -48,9 +48,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -61,9 +61,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -74,9 +74,9 @@ 0 901 5 - 0% 5 901 + 0% 1 @@ -87,8 +87,8 @@ 0 901 5 - 0% 5 901 + 0% \ No newline at end of file -- cgit v1.2.3 From a11d5402ac9c9279033615bdc6a0b43e5d7215ad Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 10:13:33 -0800 Subject: Fixing more tests, still debugging. --- plugins/API/ProcessedReport.php | 38 +++++++++++----------- .../TwoVisitorsTwoWebsitesDifferentDaysTest.php | 2 +- ...firstSite_lastN__API.getProcessedReport_day.xml | 21 ++++++------ ...ites_differentDays__VisitsSummary.get_month.xml | 4 +-- ...sites_differentDays__VisitsSummary.get_week.xml | 8 ++--- ...entDays_idSiteOne___VisitsSummary.get_month.xml | 2 +- ...rentDays_idSiteOne___VisitsSummary.get_week.xml | 6 ++-- tests/PHPUnit/TestingEnvironment.php | 2 +- 8 files changed, 42 insertions(+), 41 deletions(-) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 9be937dd6e..662a136000 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -499,29 +499,29 @@ class ProcessedReport array('label' => $reportMetadata['dimension']), $columns ); + } - if (isset($reportMetadata['processedMetrics']) && is_array($reportMetadata['processedMetrics'])) { - $processedMetricsAdded = Metrics::getDefaultProcessedMetrics(); - foreach ($reportMetadata['processedMetrics'] as $processedMetricId => $processedMetricTranslation) { - // this processed metric can be displayed for this report + if (isset($reportMetadata['processedMetrics']) && is_array($reportMetadata['processedMetrics'])) { + $processedMetricsAdded = Metrics::getDefaultProcessedMetrics(); + foreach ($reportMetadata['processedMetrics'] as $processedMetricId => $processedMetricTranslation) { + // this processed metric can be displayed for this report - if ($processedMetricTranslation && $processedMetricId !== $processedMetricTranslation) { - $columns[$processedMetricId] = $processedMetricTranslation; - } elseif (isset($processedMetricsAdded[$processedMetricId])) { - // for instance in case 'nb_visits' => 'nb_visits' we will translate it - $columns[$processedMetricId] = $processedMetricsAdded[$processedMetricId]; - } + if ($processedMetricTranslation && $processedMetricId !== $processedMetricTranslation) { + $columns[$processedMetricId] = $processedMetricTranslation; + } elseif (isset($processedMetricsAdded[$processedMetricId])) { + // for instance in case 'nb_visits' => 'nb_visits' we will translate it + $columns[$processedMetricId] = $processedMetricsAdded[$processedMetricId]; } } -echo print_r($columns, true); - // Display the global Goal metrics - if (isset($reportMetadata['metricsGoal'])) { - $metricsGoalDisplay = array('revenue'); - // Add processed metrics to be displayed for this report - foreach ($metricsGoalDisplay as $goalMetricId) { - if (isset($reportMetadata['metricsGoal'][$goalMetricId])) { - $columns[$goalMetricId] = $reportMetadata['metricsGoal'][$goalMetricId]; - } + } + + // Display the global Goal metrics + if (isset($reportMetadata['metricsGoal'])) { + $metricsGoalDisplay = array('revenue'); + // Add processed metrics to be displayed for this report + foreach ($metricsGoalDisplay as $goalMetricId) { + if (isset($reportMetadata['metricsGoal'][$goalMetricId])) { + $columns[$goalMetricId] = $reportMetadata['metricsGoal'][$goalMetricId]; } } } diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php index 0baa4a287e..4dedca65a2 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php @@ -68,7 +68,7 @@ return array( 'date' => $dateTime, 'periods' => array('day'), 'setDateLastN' => true, - 'apiModule' => 'VisitsSummary', + 'apiModule' => 'VisitFrequency', 'apiAction' => 'get', 'testSuffix' => '_' . 'VisitsSummary.get' . '_firstSite_lastN') ) diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml index 0e48ca569f..7b47edc048 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml @@ -13,7 +13,6 @@ Users Actions Actions per Visit - Bounce Rate Avg. Visit Duration (in seconds) Maximum actions in one visit @@ -23,9 +22,11 @@ The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. The average duration of a visit. + + Bounce Rate + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2010-01-03,2010-01-09 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2010-01-03,2010-01-09 VisitsSummary_get @@ -36,9 +37,9 @@ Users Actions Actions per Visit - Bounce Rate Avg. Visit Duration (in seconds) Maximum actions in one visit + Bounce Rate @@ -47,9 +48,9 @@ 1 1 1 - 100% 1 00:00:00 + 1% 1 @@ -57,9 +58,9 @@ 1 2 2 - 0% 2 00:06:01 + 0% 1 @@ -67,9 +68,9 @@ 1 5 5 - 0% 5 00:15:01 + 0% 1 @@ -77,9 +78,9 @@ 1 5 5 - 0% 5 00:15:01 + 0% 1 @@ -87,9 +88,9 @@ 1 5 5 - 0% 5 00:15:01 + 0% 1 @@ -97,9 +98,9 @@ 1 5 5 - 0% 5 00:15:01 + 0% 1 @@ -107,9 +108,9 @@ 1 5 5 - 0% 5 00:15:01 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml index d60436c3c9..90a542d961 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml @@ -10,9 +10,9 @@ 1 7569 5 - 10% 4.3 757 + 10% @@ -31,9 +31,9 @@ 0 1 3 - 0% 3 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml index f754acd177..0833ac441c 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ 1 0 1 - 100% 1 0 + 100% 2 @@ -23,9 +23,9 @@ 0 5767 5 - 0% 4.6 824 + 0% 1 @@ -36,9 +36,9 @@ 0 1802 5 - 0% 5 901 + 0% @@ -56,9 +56,9 @@ 0 1 3 - 0% 3 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml index 30c69614b1..8f7c31dd1b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 1 7569 5 - 10% 4.3 757 + 10% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml index bb7f2a5509..0031a3b1f4 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% 2 @@ -22,9 +22,9 @@ 0 5767 5 - 0% 4.6 824 + 0% 1 @@ -35,9 +35,9 @@ 0 1802 5 - 0% 5 901 + 0% diff --git a/tests/PHPUnit/TestingEnvironment.php b/tests/PHPUnit/TestingEnvironment.php index c52556fa7d..e763c91934 100644 --- a/tests/PHPUnit/TestingEnvironment.php +++ b/tests/PHPUnit/TestingEnvironment.php @@ -278,4 +278,4 @@ class Piwik_TestingEnvironment { Piwik::postEvent("TestingEnvironment.addHooks", array($this), $pending = true); } -} \ No newline at end of file +} -- cgit v1.2.3 From 855bb4beced98eb42f67f11a23e9868fe4d9df3e Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 10:47:46 -0800 Subject: Fixing more tests. --- plugins/API/ProcessedReport.php | 15 ++-- .../TwoVisitorsTwoWebsitesDifferentDaysTest.php | 12 +-- ...firstSite_lastN__API.getProcessedReport_day.xml | 16 ++-- ...sites_differentDays__VisitsSummary.get_year.xml | 4 +- ...rentDays_idSiteOne___VisitsSummary.get_year.xml | 2 +- ...duledReports.generateReport_month.original.html | 94 +++++++++++----------- 6 files changed, 67 insertions(+), 76 deletions(-) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 662a136000..697371a937 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -430,16 +430,15 @@ class ProcessedReport 'idSubtable' => $idSubtable )); - if (isset($reportMetadata['processedMetrics'])) { - $deleteRowsWithNoVisit = '1'; - if (!empty($reportMetadata['constantRowsCount'])) { - $deleteRowsWithNoVisit = '0'; - } - $parameters['filter_add_columns_when_show_all_columns'] = $deleteRowsWithNoVisit; - } - if (!empty($segment)) $parameters['segment'] = $segment; + if (!empty($reportMetadata['processedMetrics']) + && empty($reportMetadata['constantRowsCount']) + && !empty($reportMetadata['metrics']['nb_visits']) + ) { + $parameters['filter_add_columns_when_show_all_columns'] = '1'; + } + $url = Url::getQueryStringFromParameters($parameters); $request = new Request($url); try { diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php index 4dedca65a2..c9fd4f04c5 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php @@ -62,17 +62,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysTest extends SystemTestCase $singlePeriodApi = array('VisitsSummary.get', 'Goals.get'); $periods = array('day', 'week', 'month', 'year'); -return array( - array( - 'API.getProcessedReport', array('idSite' => $idSite1, - 'date' => $dateTime, - 'periods' => array('day'), - 'setDateLastN' => true, - 'apiModule' => 'VisitFrequency', - 'apiAction' => 'get', - 'testSuffix' => '_' . 'VisitsSummary.get' . '_firstSite_lastN') - ) -); + $result = array( // Request data for the last 6 periods and idSite=all array($apiToCall, array('idSite' => 'all', diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml index 0c51c09208..aef48b81de 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml @@ -11,7 +11,6 @@ Returning Visits Actions by Returning Visits Avg. Duration of a Returning Visit (in sec) - Bounce Rate for Returning Visits Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) @@ -19,6 +18,9 @@ Number of converted returning visits Maximum actions in one returning visit + + Bounce Rate for Returning Visits + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitFrequency&apiAction=get&period=day&date=2010-01-03,2010-01-09 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitFrequency&apiAction=get&period=day&date=2010-01-03,2010-01-09 VisitFrequency_get @@ -27,13 +29,13 @@ Returning Visits Actions by Returning Visits Avg. Duration of a Returning Visit (in sec) - Bounce Rate for Returning Visits Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) Returning Users Number of converted returning visits Maximum actions in one returning visit + Bounce Rate for Returning Visits @@ -46,9 +48,9 @@ 0 901 5 - 0% 5 00:15:01 + 0% 1 @@ -58,9 +60,9 @@ 0 901 5 - 0% 5 00:15:01 + 0% 1 @@ -70,9 +72,9 @@ 0 901 5 - 0% 5 00:15:01 + 0% 1 @@ -82,9 +84,9 @@ 0 901 5 - 0% 5 00:15:01 + 0% 1 @@ -94,9 +96,9 @@ 0 901 5 - 0% 5 00:15:01 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml index 301adee7ee..6860b3f0e2 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml @@ -8,9 +8,9 @@ 1 7569 5 - 10% 4.3 757 + 10% @@ -27,9 +27,9 @@ 0 1 3 - 0% 3 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml index 10e5329cb6..c475696fb8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml @@ -7,9 +7,9 @@ 1 7569 5 - 10% 4.3 757 + 10% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 48a31165e9..c930e98c62 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -491,25 +491,25 @@ - Bounce Rate + Actions per Visit - 10% + 4.3 - Actions per Visit + Avg. Visit Duration (in seconds) - 4.3 + 00:12:37 - Avg. Visit Duration (in seconds) + Bounce Rate - 00:12:37 + 0.1% @@ -560,10 +560,10 @@ 2 - 2 + 0 - 00:06:01 + 00:00:00 0% @@ -813,10 +813,10 @@ 40 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -836,13 +836,13 @@ 1 - 1 + 0 00:00:00 - 100% + 0% $ 0 @@ -1425,13 +1425,13 @@ 43 - 4.3 + 0 - 00:12:37 + 00:00:00 - 10% + 0% 0% @@ -1738,10 +1738,10 @@ 7 - 3.5 + 0 - 00:10:31 + 00:00:00 0% @@ -1761,10 +1761,10 @@ 10 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -1784,10 +1784,10 @@ 5 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -1807,10 +1807,10 @@ 5 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -1830,10 +1830,10 @@ 5 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -1853,10 +1853,10 @@ 5 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -1876,13 +1876,13 @@ 6 - 3 + 0 - 00:07:31 + 00:00:00 - 50% + 0% 0% @@ -2767,10 +2767,10 @@ 40 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -2792,13 +2792,13 @@ 3 - 1.5 + 0 - 00:03:01 + 00:00:00 - 50% + 0% 0% @@ -3695,10 +3695,10 @@ 22 - 4.4 + 0 - 00:13:13 + 00:00:00 0% @@ -3718,10 +3718,10 @@ 20 - 5 + 0 - 00:15:01 + 00:00:00 0% @@ -3741,13 +3741,13 @@ 1 - 1 + 0 00:00:00 - 100% + 0% $ 0 @@ -4940,25 +4940,25 @@ - Bounce Rate for Returning Visits + Avg. Actions per Returning Visit - 0% + 5 - Avg. Actions per Returning Visit + Avg. Duration of a Returning Visit (in sec) - 5 + 00:15:01 - Avg. Duration of a Returning Visit (in sec) + Bounce Rate for Returning Visits - 00:15:01 + 0% -- cgit v1.2.3 From 302668aeb5bfde39dbef210ccaf1c8278740bb88 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 11:34:00 -0800 Subject: Fixing more tests. Hopefully all. --- plugins/API/ProcessedReport.php | 4 +-- .../VisitFrequency/Metrics/BounceRateReturning.php | 33 ++++++++++++++++++++++ ...commerceOrderWithItems_API_get__API.get_day.xml | 2 +- ...ommerceOrderWithItems_API_get__API.get_week.xml | 2 +- ...SegmentAbandonedCart__VisitsSummary.get_day.xml | 2 +- ...mentConvertedGoalId1__VisitsSummary.get_day.xml | 2 +- ...entConvertedGoalId1__VisitsSummary.get_week.xml | 2 +- ...DidNotConvertGoalId1__VisitsSummary.get_day.xml | 2 +- ..._SegmentNewVisitors__VisitsSummary.get_week.xml | 2 +- ...s_SegmentNoEcommerce__VisitsSummary.get_day.xml | 2 +- ...rtedNonExistingGoal__VisitsSummary.get_week.xml | 2 +- ...mentOrderedSomething__VisitsSummary.get_day.xml | 2 +- ...egmentPageTitleMatch__VisitsSummary.get_day.xml | 2 +- ...tReturningCustomers__VisitsSummary.get_week.xml | 2 +- ...ntReturningVisitors__VisitsSummary.get_week.xml | 2 +- ...sitHasConvertedGoal__VisitsSummary.get_week.xml | 2 +- ...redAndConvertedGoal__VisitsSummary.get_week.xml | 2 +- ...mmerceOrderWithItems__VisitsSummary.get_day.xml | 2 +- ...heduledReports.generateReport_week.original.csv | 8 +++--- ...eduledReports.generateReport_week.original.html | 24 ++++++++-------- 20 files changed, 67 insertions(+), 34 deletions(-) create mode 100644 plugins/VisitFrequency/Metrics/BounceRateReturning.php diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 697371a937..040e2b768d 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -433,10 +433,10 @@ class ProcessedReport if (!empty($segment)) $parameters['segment'] = $segment; if (!empty($reportMetadata['processedMetrics']) - && empty($reportMetadata['constantRowsCount']) && !empty($reportMetadata['metrics']['nb_visits']) ) { - $parameters['filter_add_columns_when_show_all_columns'] = '1'; + $deleteRowsWithNoVisits = empty($reportMetadata['constantRowsCount']) ? '1' : '0'; + $parameters['filter_add_columns_when_show_all_columns'] = $deleteRowsWithNoVisits; } $url = Url::getQueryStringFromParameters($parameters); diff --git a/plugins/VisitFrequency/Metrics/BounceRateReturning.php b/plugins/VisitFrequency/Metrics/BounceRateReturning.php new file mode 100644 index 0000000000..4137a999a5 --- /dev/null +++ b/plugins/VisitFrequency/Metrics/BounceRateReturning.php @@ -0,0 +1,33 @@ + 3 - 1801 2 + 1801 13 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml index 330e0110bf..00706ea24a 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml @@ -1,7 +1,7 @@ 5 - 1369 4 + 1369 16 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml index 2ecf693474..c909a67f09 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 4682 6 - 0% 4.5 2341 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml index 2ecf693474..c909a67f09 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 4682 6 - 0% 4.5 2341 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml index 32b66284be..f8181af56d 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 0 0 - 0% 0 0 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml index 44b18e613c..6b178d1ed5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 3961 6 - 0% 6 3961 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml index 02458f0645..4a69adcaa0 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 1 2165 3 - 33% 2 722 + 33% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml index 44b18e613c..6b178d1ed5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 3961 6 - 0% 6 3961 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml index a9d2095dfb..c48c13a998 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 - 0% 4 721 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml index 115904be39..0902118d1a 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 5403 6 - 0% 4.3 1801 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index ad3cd28109..0939181278 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -4,8 +4,8 @@ Piwik test,5,16,16,$ 13361.11,5,4,$ 13351.11,100%,100%,100%,100%,100%,100%,100% Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0,0 Visits Summary -nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,bounce_rate,nb_actions_per_visit,avg_time_on_site -1,0,5,16,6,20%,3.2,00:22:49 +nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate +1,0,5,16,6,3.2,00:22:49,0.2% Visits by Server Time label,nb_visits,nb_actions,revenue,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -484,8 +484,8 @@ New visits,1 365+ days,0 Returning Visits -nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning -1,0,4,12,3,6126,6,25%,3,00:25:32 +nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,nb_actions_per_visit_returning,avg_time_on_site_returning,bounce_rate_returning +1,0,4,12,3,6126,6,3,00:25:32,0.25% Provider label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index 5116a93633..f0a2507dcf 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -551,25 +551,25 @@ - Bounce Rate + Actions per Visit - 20% + 3.2 - Actions per Visit + Avg. Visit Duration (in seconds) - 3.2 + 00:22:49 - Avg. Visit Duration (in seconds) + Bounce Rate - 00:22:49 + 0.2% @@ -6482,25 +6482,25 @@ - Bounce Rate for Returning Visits + Avg. Actions per Returning Visit - 25% + 3 - Avg. Actions per Returning Visit + Avg. Duration of a Returning Visit (in sec) - 3 + 00:25:32 - Avg. Duration of a Returning Visit (in sec) + Bounce Rate for Returning Visits - 00:25:32 + 0.25% -- cgit v1.2.3 From 0b36adb531084ef59f56c7e0002b43764022af4b Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 12:31:01 -0800 Subject: Fixing more tests. --- plugins/Insights/Model.php | 2 +- plugins/Insights/tests/Integration/ModelTest.php | 6 +- ...ataShouldNotAppear__VisitsSummary.get_month.xml | 2 +- ...ekWasNotInvalidated__VisitsSummary.get_week.xml | 2 +- ...ataShouldNotAppear__VisitsSummary.get_month.xml | 2 +- ...estAPITest_actions__VisitsSummary.get_range.xml | 2 +- ...PITest_browserCode__VisitsSummary.get_range.xml | 2 +- ...Test_browserEngine__VisitsSummary.get_range.xml | 2 +- ...est_browserVersion__VisitsSummary.get_range.xml | 2 +- ...uggestAPITest_city__VisitsSummary.get_range.xml | 2 +- ...Test_continentCode__VisitsSummary.get_range.xml | 2 +- ...PITest_countryCode__VisitsSummary.get_range.xml | 2 +- ...ustomVariableName1__VisitsSummary.get_range.xml | 2 +- ...ustomVariableName5__VisitsSummary.get_range.xml | 2 +- ...mVariablePageName2__VisitsSummary.get_range.xml | 2 +- ...mVariablePageName4__VisitsSummary.get_range.xml | 2 +- ...mVariablePageName5__VisitsSummary.get_range.xml | 2 +- ...VariablePageValue2__VisitsSummary.get_range.xml | 2 +- ...VariablePageValue4__VisitsSummary.get_range.xml | 2 +- ...VariablePageValue5__VisitsSummary.get_range.xml | 2 +- ...stomVariableValue1__VisitsSummary.get_range.xml | 2 +- ...stomVariableValue5__VisitsSummary.get_range.xml | 2 +- ...aysSinceFirstVisit__VisitsSummary.get_range.xml | 2 +- ...LastEcommerceOrder__VisitsSummary.get_range.xml | 2 +- ...daysSinceLastVisit__VisitsSummary.get_range.xml | 2 +- ...APITest_deviceType__VisitsSummary.get_range.xml | 2 +- ...est_entryPageTitle__VisitsSummary.get_range.xml | 2 +- ...ITest_entryPageUrl__VisitsSummary.get_range.xml | 2 +- ...PITest_eventAction__VisitsSummary.get_range.xml | 2 +- ...Test_eventCategory__VisitsSummary.get_range.xml | 2 +- ...tAPITest_eventName__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_events__VisitsSummary.get_range.xml | 2 +- ...Test_exitPageTitle__VisitsSummary.get_range.xml | 2 +- ...PITest_exitPageUrl__VisitsSummary.get_range.xml | 2 +- ...stAPITest_latitude__VisitsSummary.get_range.xml | 2 +- ...tAPITest_longitude__VisitsSummary.get_range.xml | 2 +- ...peratingSystemCode__VisitsSummary.get_range.xml | 2 +- ...tAPITest_pageTitle__VisitsSummary.get_range.xml | 2 +- ...estAPITest_pageUrl__VisitsSummary.get_range.xml | 2 +- ...stAPITest_provider__VisitsSummary.get_range.xml | 2 +- ...st_referrerKeyword__VisitsSummary.get_range.xml | 2 +- ...ITest_referrerName__VisitsSummary.get_range.xml | 2 +- ...ITest_referrerType__VisitsSummary.get_range.xml | 2 +- ...PITest_referrerUrl__VisitsSummary.get_range.xml | 2 +- ...APITest_regionCode__VisitsSummary.get_range.xml | 2 +- ...APITest_resolution__VisitsSummary.get_range.xml | 2 +- ...stAPITest_searches__VisitsSummary.get_range.xml | 2 +- ..._siteSearchKeyword__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_userId__VisitsSummary.get_range.xml | 2 +- ...sitConvertedGoalId__VisitsSummary.get_range.xml | 2 +- ...est_visitConverted__VisitsSummary.get_range.xml | 2 +- ...APITest_visitCount__VisitsSummary.get_range.xml | 2 +- ...Test_visitDuration__VisitsSummary.get_range.xml | 2 +- ...sitEcommerceStatus__VisitsSummary.get_range.xml | 2 +- ...estAPITest_visitIp__VisitsSummary.get_range.xml | 2 +- ...est_visitLocalHour__VisitsSummary.get_range.xml | 2 +- ...st_visitServerHour__VisitsSummary.get_range.xml | 2 +- ...tAPITest_visitorId__VisitsSummary.get_range.xml | 2 +- ...PITest_visitorType__VisitsSummary.get_range.xml | 2 +- ...Compatibility1XTest__VisitFrequency.get_day.xml | 2 +- ...mpatibility1XTest__VisitFrequency.get_month.xml | 2 +- ...mpatibility1XTest__VisitFrequency.get_range.xml | 2 +- ...ompatibility1XTest__VisitFrequency.get_week.xml | 2 +- ...ompatibility1XTest__VisitFrequency.get_year.xml | 2 +- ...XTest_multipleDates__VisitFrequency.get_day.xml | 2 +- ...st_multipleOldNew__VisitFrequency.get_month.xml | 4 +- .../test_ImportLogs__VisitFrequency.get_month.xml | 2 +- .../test_ImportLogs__VisitFrequency.get_range.xml | 2 +- .../test_ImportLogs__VisitsSummary.get_month.xml | 2 +- ...ckedUsingLogReplay__VisitsSummary.get_month.xml | 2 +- ...ivingTest_sitesGroup__VisitsSummary.get_day.xml | 2 +- ...ingTest_sitesGroup__VisitsSummary.get_month.xml | 2 +- ..._OneVisitorTwoVisits__VisitsSummary.get_day.xml | 2 +- ...test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 2494 -> 2472 bytes ...s_withCookieSupport__VisitFrequency.get_day.xml | 2 +- ...ts_withCookieSupport__VisitsSummary.get_day.xml | 2 +- ...estsCampaignTracking__VisitsSummary.get_day.xml | 2 +- ...esTest_dayAfterVisit__VisitsSummary.get_day.xml | 2 +- ...ezonesTest_withVisit__VisitsSummary.get_day.xml | 2 +- ...sabled_disabledAfter__VisitsSummary.get_day.xml | 2 +- ...bled_disabledAfter__VisitsSummary.get_month.xml | 4 +- ...abled_disabledAfter__VisitsSummary.get_week.xml | 2 +- ...abled_disabledAfter__VisitsSummary.get_year.xml | 4 +- ...Before_isDateRange__VisitsSummary.get_range.xml | 4 +- ...Before_isDateRange__VisitsSummary.get_range.xml | 4 +- ...vingDisabled_enabled__VisitsSummary.get_day.xml | 2 +- ...ngDisabled_enabled__VisitsSummary.get_month.xml | 4 +- ...ingDisabled_enabled__VisitsSummary.get_week.xml | 2 +- ...ingDisabled_enabled__VisitsSummary.get_year.xml | 4 +- ...ions_NotLastNPeriods__VisitsSummary.get_day.xml | 2 +- ...ns_NotLastNPeriods__VisitsSummary.get_month.xml | 4 +- ...eduledReports.generateReport_month.original.csv | 94 ++++++++-------- ...est_UserId_VisitorId__VisitsSummary.get_day.xml | 2 +- ...t_UserId_VisitorId__VisitsSummary.get_month.xml | 2 +- ...st_UserId_VisitorId__VisitsSummary.get_week.xml | 2 +- ...st_UserId_VisitorId__VisitsSummary.get_year.xml | 2 +- ...itorId_segmentUserId__VisitsSummary.get_day.xml | 2 +- ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 2 +- ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 2 +- ...etReportMetadata__API.getReportMetadata_day.xml | 124 ++++++++++++++++----- .../test_apiGetReportMetadata__API.get_day.xml | 17 +-- .../test_csvExport_xp0__VisitsSummary.get_day.csv | Bin 378 -> 378 bytes ..._xp1_inner0_trans-en__VisitsSummary.get_day.csv | Bin 466 -> 466 bytes ..._xp1_inner1_trans-de__VisitsSummary.get_day.csv | Bin 588 -> 588 bytes .../test_noVisit__VisitFrequency.get_day.xml | 2 +- .../test_noVisit__VisitsSummary.get_day.xml | 2 +- ...ralDays_DateRange__VisitFrequency.get_range.xml | 2 +- ...eralDays_DateRange__VisitsSummary.get_range.xml | 2 +- ...tadataAndNormalAPI__VisitsSummary.get_range.xml | 2 +- ...eConversionsPerVisit__VisitsSummary.get_day.xml | 2 +- ...insStrangeCharacters__VisitsSummary.get_day.xml | 2 +- ...entPageTitleContains__VisitsSummary.get_day.xml | 2 +- ...entPageTitleExcludes__VisitsSummary.get_day.xml | 2 +- ...gmentPageUrlContains__VisitsSummary.get_day.xml | 2 +- ...gmentPageUrlExcludes__VisitsSummary.get_day.xml | 2 +- ...sWithCustomVariables__VisitsSummary.get_day.xml | 2 +- ...WithCustomVariables__VisitsSummary.get_week.xml | 2 +- ...tMatchALL_noGoalData__VisitsSummary.get_day.xml | 2 +- ...MatchALL_noGoalData__VisitsSummary.get_week.xml | 2 +- ...mentMatchVisitorType__VisitsSummary.get_day.xml | 2 +- ...entMatchVisitorType__VisitsSummary.get_week.xml | 2 +- 121 files changed, 274 insertions(+), 209 deletions(-) diff --git a/plugins/Insights/Model.php b/plugins/Insights/Model.php index 9dae23c978..b8c4957e55 100644 --- a/plugins/Insights/Model.php +++ b/plugins/Insights/Model.php @@ -85,7 +85,7 @@ class Model public function getTotalValue($idSite, $period, $date, $metric, $segment) { - $visits = VisitsSummaryAPI::getInstance()->get($idSite, $period, $date, $segment, array($metric)); + $visits = VisitsSummaryAPI::getInstance()->get($idSite, $period, $date, $segment); $firstRow = $visits->getFirstRow(); if (empty($firstRow)) { diff --git a/plugins/Insights/tests/Integration/ModelTest.php b/plugins/Insights/tests/Integration/ModelTest.php index dda3605309..8b98658f08 100644 --- a/plugins/Insights/tests/Integration/ModelTest.php +++ b/plugins/Insights/tests/Integration/ModelTest.php @@ -144,12 +144,10 @@ class ModelTest extends SystemTestCase $this->assertEquals(1, $total); } - /** - * @expectedException \Exception - */ public function test_getTotalValue_shouldReturnZero_IfColumnDoesNotExist() { - $this->model->getTotalValue(self::$fixture->idSite, 'day', self::$fixture->date1, 'unknown_ColUmn', false); + $total = $this->model->getTotalValue(self::$fixture->idSite, 'day', self::$fixture->date1, 'unknown_ColUmn', false); + $this->assertEquals(0, $total); } public function test_getRelevantTotalValue_shouldReturnTotalValue_IfMetricTotalIsHighEnough() diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 5d2578d36f..55461e8c2e 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 1 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml index 75d267cfc4..a2821522d2 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ 0 1 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 4402121f8a..001a304de2 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 1 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml index 7ace3fcbe7..05d76e44c0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml index e2373a1ef1..21eac49375 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 14 16393 3 - 52% 1.7 607 + 52% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml index dfa3a20623..d829330513 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml index e2373a1ef1..21eac49375 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 14 16393 3 - 52% 1.7 607 + 52% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml index 0dadc8d4ed..2b45ee7be6 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 5 6305 3 - 50% 1.8 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml index 7c7cc211dd..670e6648a7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 10 12610 3 - 50% 1.8 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml index 0dadc8d4ed..2b45ee7be6 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 5 6305 3 - 50% 1.8 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml index 47eec1002c..c962c1f57a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 16393 3 - 57% 1.7 546 + 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml index 47eec1002c..c962c1f57a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 16393 3 - 57% 1.7 546 + 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml index b72146a986..b298538359 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml index d8bcdace18..5c910751f2 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 0 0 - 0% 0 0 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml index b72146a986..b298538359 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml index 88dae8fd6c..c63a1557c9 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml index e0144ec833..73dad8e078 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 11349 3 - 0% 3 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml index 88dae8fd6c..c63a1557c9 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml index d4214faba0..ef1f29ec1e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 3783 2 - 57% 1.4 540 + 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml index d4214faba0..ef1f29ec1e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 3783 2 - 57% 1.4 540 + 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml index a0db0ecba0..dd20ff477d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 0% 2.5 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml index a0db0ecba0..dd20ff477d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 0% 2.5 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml index a0db0ecba0..dd20ff477d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 0% 2.5 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml index 5d07770e4e..4fb38583bd 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 15 16393 3 - 54% 1.7 585 + 54% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml index b72146a986..b298538359 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml index 7ace3fcbe7..05d76e44c0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml index 1922b24059..2dd4346fbb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 5044 2 - 0% 2 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml index 1922b24059..2dd4346fbb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 5044 2 - 0% 2 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml index 1922b24059..2dd4346fbb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 5044 2 - 0% 2 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml index 7ace3fcbe7..05d76e44c0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml index b72146a986..b298538359 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml index 7ace3fcbe7..05d76e44c0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml index e023a89081..5f7f45bac7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 3 3783 3 - 50% 1.7 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml index d8bcdace18..5c910751f2 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 0 0 - 0% 0 0 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml index 5d07770e4e..4fb38583bd 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 15 16393 3 - 54% 1.7 585 + 54% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml index b72146a986..b298538359 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml index a0db0ecba0..dd20ff477d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 0% 2.5 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml index c51a1bc13d..d2922278ae 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 1261 3 - 50% 2 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml index dfa3a20623..d829330513 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml index dfa3a20623..d829330513 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml index ce18f5b1dc..3fdf141636 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 21437 3 - 50% 1.8 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml index dfa3a20623..d829330513 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml index e023a89081..5f7f45bac7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 3 3783 3 - 50% 1.7 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml index f52326b337..24ae7dc5eb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 51% 1.7 612 + 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml index 410df64fa3..c0affa752a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 10088 2 - 69% 1.3 388 + 69% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml index e0144ec833..73dad8e078 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 11349 3 - 0% 3 1261 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml index dfa3a20623..d829330513 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml index f52326b337..24ae7dc5eb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 51% 1.7 612 + 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml index f52326b337..24ae7dc5eb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 51% 1.7 612 + 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml index ce025f0a46..a18e44ac4f 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 13 21437 3 - 43% 1.9 715 + 43% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml index 7ace3fcbe7..05d76e44c0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml index f52326b337..24ae7dc5eb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 51% 1.7 612 + 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml index 352cc69e4a..7ae89fb823 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 2 1261 3 - 67% 1.7 420 + 67% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml index f52326b337..24ae7dc5eb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 51% 1.7 612 + 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml index 7ace3fcbe7..05d76e44c0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml index 64efc881e1..407428439a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 1261 2 - 50% 1.5 631 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml index ce025f0a46..a18e44ac4f 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 13 21437 3 - 43% 1.9 715 + 43% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml index 3633fe5914..b876004aa6 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml index 3c62d79738..babf4d6c4e 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml index a232e03046..b85c0368da 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml @@ -6,7 +6,7 @@ 2 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml index 3c62d79738..babf4d6c4e 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml index a232e03046..b85c0368da 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml @@ -6,7 +6,7 @@ 2 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml index b8e30312d7..0d21f8e79a 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml @@ -12,9 +12,9 @@ 1 0 1 - 100% 1 0 + 100% diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml index 9b5f22a3ea..6503700469 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% @@ -30,8 +30,8 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml index 3633fe5914..b876004aa6 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml index f301254690..4ae0deec01 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml @@ -6,7 +6,7 @@ 8 115 2 - 80% 1.2 12 + 80% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml index 327d564f47..07e3a2a444 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 25 305 3 - 93% 1.1 11 + 93% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml index b0e66b9280..e58092a648 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml index 64e9c36af1..fae1924b03 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 5 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml index 64e9c36af1..fae1924b03 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 5 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml index 40498bf45d..b638a7f68c 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml @@ -7,7 +7,7 @@ 1 1621 7 - 50% 4 811 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index f0bfc66205..ac649abb58 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml index 3633fe5914..b876004aa6 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml index 9f63db28ef..df818717fa 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 1 1621 8 - 50% 4.5 811 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml index 78c6610886..e796a48661 100644 --- a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 8 1084 1 - 100% 0.9 136 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml index 32b66284be..f8181af56d 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 0 0 - 0% 0 0 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml index b0e66b9280..e58092a648 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml index 89cd627339..8a211396aa 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml index 50c77f2755..72f3317640 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -22,8 +22,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml index 89cd627339..8a211396aa 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml index f520263652..02158803ff 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml @@ -7,9 +7,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -18,8 +18,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml index f520263652..02158803ff 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -7,9 +7,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -18,8 +18,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml index f520263652..02158803ff 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -7,9 +7,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -18,8 +18,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml index 89cd627339..8a211396aa 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml index 50c77f2755..72f3317640 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -22,8 +22,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml index 89cd627339..8a211396aa 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml index f520263652..02158803ff 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml @@ -7,9 +7,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -18,8 +18,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml index 89cd627339..8a211396aa 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml index 50c77f2755..72f3317640 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 1 7577 5 - 10% 4.3 758 + 10% 1 @@ -22,8 +22,8 @@ 0 2 3 - 0% 3 2 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index 5f75466362..e36f65bcae 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -4,12 +4,12 @@ Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 Visits Summary -nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,bounce_rate,nb_actions_per_visit,avg_time_on_site -2,0,10,43,5,10%,4.3,00:12:37 +nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate +2,0,10,43,5,4.3,00:12:37,0.1% Visits by Server Time label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue -0h,1,2,2,00:06:01,0%,$ 0 +0h,1,2,0,00:00:00,0%,$ 0 1h,0,0,0,00:00:00,0%,$ 0 2h,0,0,0,00:00:00,0%,$ 0 3h,0,0,0,00:00:00,0%,$ 0 @@ -20,8 +20,8 @@ label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,rev 8h,0,0,0,00:00:00,0%,$ 0 9h,0,0,0,00:00:00,0%,$ 0 10h,0,0,0,00:00:00,0%,$ 0 -11h,8,40,5,00:15:01,0%,$ 0 -12h,1,1,1,00:00:00,100%,$ 0 +11h,8,40,0,00:00:00,0%,$ 0 +12h,1,1,0,00:00:00,0%,$ 0 13h,0,0,0,00:00:00,0%,$ 0 14h,0,0,0,00:00:00,0%,$ 0 15h,0,0,0,00:00:00,0%,$ 0 @@ -35,41 +35,41 @@ label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,rev 23h,0,0,0,00:00:00,0%,$ 0 Visits by Local Time -label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -0h,0,0,0%,0,00:00:00,0% -1h,0,0,0%,0,00:00:00,0% -2h,0,0,0%,0,00:00:00,0% -3h,0,0,0%,0,00:00:00,0% -4h,0,0,0%,0,00:00:00,0% -5h,0,0,0%,0,00:00:00,0% -6h,0,0,0%,0,00:00:00,0% -7h,0,0,0%,0,00:00:00,0% -8h,0,0,0%,0,00:00:00,0% -9h,0,0,0%,0,00:00:00,0% -10h,0,0,0%,0,00:00:00,0% -11h,0,0,0%,0,00:00:00,0% -12h,10,43,0%,4.3,00:12:37,10% -13h,0,0,0%,0,00:00:00,0% -14h,0,0,0%,0,00:00:00,0% -15h,0,0,0%,0,00:00:00,0% -16h,0,0,0%,0,00:00:00,0% -17h,0,0,0%,0,00:00:00,0% -18h,0,0,0%,0,00:00:00,0% -19h,0,0,0%,0,00:00:00,0% -20h,0,0,0%,0,00:00:00,0% -21h,0,0,0%,0,00:00:00,0% -22h,0,0,0%,0,00:00:00,0% -23h,0,0,0%,0,00:00:00,0% +label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,conversion_rate +0h,0,0,0,00:00:00,0%,0% +1h,0,0,0,00:00:00,0%,0% +2h,0,0,0,00:00:00,0%,0% +3h,0,0,0,00:00:00,0%,0% +4h,0,0,0,00:00:00,0%,0% +5h,0,0,0,00:00:00,0%,0% +6h,0,0,0,00:00:00,0%,0% +7h,0,0,0,00:00:00,0%,0% +8h,0,0,0,00:00:00,0%,0% +9h,0,0,0,00:00:00,0%,0% +10h,0,0,0,00:00:00,0%,0% +11h,0,0,0,00:00:00,0%,0% +12h,10,43,0,00:00:00,0%,0% +13h,0,0,0,00:00:00,0%,0% +14h,0,0,0,00:00:00,0%,0% +15h,0,0,0,00:00:00,0%,0% +16h,0,0,0,00:00:00,0%,0% +17h,0,0,0,00:00:00,0%,0% +18h,0,0,0,00:00:00,0%,0% +19h,0,0,0,00:00:00,0%,0% +20h,0,0,0,00:00:00,0%,0% +21h,0,0,0,00:00:00,0%,0% +22h,0,0,0,00:00:00,0%,0% +23h,0,0,0,00:00:00,0%,0% Visits by Day of Week -label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -Monday,2,7,0%,3.5,00:10:31,0% -Tuesday,2,10,0%,5,00:15:01,0% -Wednesday,1,5,0%,5,00:15:01,0% -Thursday,1,5,0%,5,00:15:01,0% -Friday,1,5,0%,5,00:15:01,0% -Saturday,1,5,0%,5,00:15:01,0% -Sunday,2,6,0%,3,00:07:31,50% +label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,conversion_rate +Monday,2,7,0,00:00:00,0%,0% +Tuesday,2,10,0,00:00:00,0%,0% +Wednesday,1,5,0,00:00:00,0%,0% +Thursday,1,5,0,00:00:00,0%,0% +Friday,1,5,0,00:00:00,0%,0% +Saturday,1,5,0,00:00:00,0%,0% +Sunday,2,6,0,00:00:00,0%,0% Screen Resolution label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -123,10 +123,10 @@ Unknown,8,40,0%,5,00:15:01,0% Windows,2,3,0%,1.5,00:03:01,50% Mobile vs Desktop -label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -Unknown,8,40,0%,5,00:15:01,0% -Desktop,2,3,0%,1.5,00:03:01,50% -Mobile,0,0,0%,0,00:00:00,0% +label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,conversion_rate +Unknown,8,40,0,00:00:00,0%,0% +Desktop,2,3,0,00:00:00,0%,0% +Mobile,0,0,0,00:00:00,0%,0% Browser language label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -214,9 +214,9 @@ No data available Referrer Type label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue -Websites,5,22,4.4,00:13:13,0%,$ 0 -Campaigns,4,20,5,00:15:01,0%,$ 0 -Direct Entry,1,1,1,00:00:00,100%,$ 0 +Websites,5,22,0,00:00:00,0%,$ 0 +Campaigns,4,20,0,00:00:00,0%,$ 0 +Direct Entry,1,1,0,00:00:00,0%,$ 0 All Referrers label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -333,8 +333,8 @@ New visits,2 365+ days,0 Returning Visits -nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning -1,0,8,40,0,7208,5,0%,5,00:15:01 +nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,nb_actions_per_visit_returning,avg_time_on_site_returning,bounce_rate_returning +1,0,8,40,0,7208,5,5,00:15:01,0% Provider label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index ca85e8dede..a38438cdf5 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 3 1983 3 - 50% 1.7 331 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index 7731535795..6e60147856 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 5 1983 3 - 63% 1.5 248 + 63% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index ca85e8dede..a38438cdf5 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 3 1983 3 - 50% 1.7 331 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index 84850ee827..e282c141e9 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -6,7 +6,7 @@ 5 1983 3 - 63% 1.5 248 + 63% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml index 969fd130e8..9ce463bc58 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 1 1081 2 - 50% 1.5 541 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index d84e6c4f35..aade7b46a8 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -11,9 +11,9 @@ 0 1 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index d046dca549..b8f8397cce 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -12,9 +12,9 @@ 0 1 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 0a2549a18e..61d4d807f8 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -1,5 +1,65 @@ + + All Metrics + API + get + + Pageviews + Unique Pageviews + Downloads + Unique Downloads + Outlinks + Unique Outlinks + Searches + Unique Keywords + Avg. generation time + Conversions + Visits with Conversions + Conversion Rate + Revenue + Returning Visits + Actions by Returning Visits + Avg. Duration of a Returning Visit (in sec) + Avg. Actions per Returning Visit + Unique returning visitors + Total time spent by returning visitors (in seconds) + Returning Users + Number of converted returning visits + Maximum actions in one returning visit + Unique visitors + Visits + Users + Actions + Actions per Visit + Avg. Visit Duration (in seconds) + Maximum actions in one visit + + + The number of times this page was visited. + The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once. + The number of times this link was clicked. + The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. + The number of times this link was clicked. + The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. + The number of visits that searched for this keyword on your website's search engine. + The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! + The percentage of visits that triggered a goal conversion. + The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day. + If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. + The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). + The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. + The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. + The average duration of a visit. + + + Bounce Rate for Returning Visits + Bounce Rate + + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04 + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04 + API_get + All Websites All Websites dashboard @@ -73,7 +133,6 @@ Users Actions Actions per Visit - Bounce Rate Avg. Visit Duration (in seconds) Maximum actions in one visit @@ -83,9 +142,11 @@ The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. The average duration of a visit. + + Bounce Rate + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2008-12-06,2009-01-04 VisitsSummary_get @@ -1783,7 +1844,6 @@ Returning Visits Actions by Returning Visits Avg. Duration of a Returning Visit (in sec) - Bounce Rate for Returning Visits Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) @@ -1791,6 +1851,9 @@ Number of converted returning visits Maximum actions in one returning visit + + Bounce Rate for Returning Visits + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitFrequency&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitFrequency&apiAction=get&period=day&date=2008-12-06,2009-01-04 VisitFrequency_get @@ -2055,24 +2118,6 @@ API get - Unique visitors - Visits - Users - Actions - Actions per Visit - Bounce Rate - Avg. Visit Duration (in seconds) - Maximum actions in one visit - Conversions - Visits with Conversions - Conversion Rate - Revenue - Subtotal - Tax - Shipping - Discount - Products left in cart - Average Order Value Pageviews Unique Pageviews Downloads @@ -2082,26 +2127,38 @@ Searches Unique Keywords Avg. generation time + Conversions + Visits with Conversions + Conversion Rate + Revenue Returning Visits Actions by Returning Visits Avg. Duration of a Returning Visit (in sec) - Bounce Rate for Returning Visits Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) Returning Users Number of converted returning visits Maximum actions in one returning visit + Unique visitors + Visits + Users + Actions + Actions per Visit + Avg. Visit Duration (in seconds) + Maximum actions in one visit + Subtotal + Tax + Shipping + Discount + Products left in cart + Average Order Value + + Bounce Rate for Returning Visits + Bounce Rate + - The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day. - If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. - The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). - The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. - The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. - The average duration of a visit. - The percentage of visits that triggered a goal conversion. The number of times this page was visited. The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once. The number of times this link was clicked. @@ -2110,6 +2167,13 @@ The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. The number of visits that searched for this keyword on your website's search engine. The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! + The percentage of visits that triggered a goal conversion. + The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day. + If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. + The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). + The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. + The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. + The average duration of a visit. API_get diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml index fe0924b8d9..a69bb4a656 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml @@ -1,25 +1,27 @@ 1 - 1 0 + 1 1 + 1 + 1 + 1086 1 - 100% 1 1086 - 0 - 0 0 - 0 0 + 0 + 0 0 + 0 + 0 0 - 0% 0 0 + 0% 1 - 1 100 42.26 1 @@ -31,4 +33,5 @@ 0 0 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv index 26adb45055..5adb44d2cb 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv index 58e88ae47a..6dc5de50ef 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv index 7315bde871..ff048e655d 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml index c415099916..937fbcb558 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml @@ -8,7 +8,7 @@ 0 0 0 - 0% 0 0 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml index 32b66284be..f8181af56d 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 0 0 - 0% 0 0 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml index d7c74b8645..26fb301d3b 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml @@ -6,7 +6,7 @@ 3 1083 2 - 50% 1.5 181 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml index 29d972ff8a..ee6e9c48c8 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 3 1083 2 - 50% 1.5 181 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml index 4a5151e912..3276834e80 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 2 725 3 - 67% 1.7 242 + 67% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml index 7168091d51..4c75ff4e34 100644 --- a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 363 3 - 0% 2.5 182 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml index 9cdfb2d5b7..d49a524fb4 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 364 3 - 0% 3 364 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml index 9cdfb2d5b7..d49a524fb4 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 364 3 - 0% 3 364 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml index 06b9efca77..0dd3a1e7d8 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 1 725 3 - 50% 2 363 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml index 9cdfb2d5b7..d49a524fb4 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 364 3 - 0% 3 364 + 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml index 06b9efca77..0dd3a1e7d8 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 1 725 3 - 50% 2 363 + 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml index ab7f9f9a18..c07bc42ab2 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ 2 722 4 - 67% 2 241 + 67% diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml index b5e37b20aa..326e9a2685 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ 2 722 4 - 67% 2 241 + 67% diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml index 283758c4ec..d6c3ce4082 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ 2 725 3 - 67% 1.7 242 + 67% diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml index 4dab22a018..1bf3799ef6 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ 2 725 3 - 67% 1.7 242 + 67% diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml index de4eac0560..bcca65deb4 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ 0 364 3 - 0% 3 364 + 0% diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml index b23508240f..e529d2b356 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ 0 364 3 - 0% 3 364 + 0% -- cgit v1.2.3 From ff138afcb3ad956d86ff40cae17d455a1e14cab7 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 14:24:45 -0800 Subject: Fixing more tests. --- ...torsTwoWebsitesDifferentDaysConversionsTest.php | 25 +++++-- ...veCronTest_noOptions__VisitsSummary.get_day.xml | 2 +- ...CronTest_noOptions__VisitsSummary.get_month.xml | 4 +- ...ewDataShouldAppear__VisitsSummary.get_month.xml | 2 +- ...ewDataShouldAppear__VisitsSummary.get_month.xml | 2 +- ...eduledReports.generateReport_month.original.csv | 86 +++++++++++----------- ...duledReports.generateReport_month.original.html | 70 +++++++++--------- ...etReportMetadata__API.getReportMetadata_day.xml | 1 + 8 files changed, 102 insertions(+), 90 deletions(-) diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php index 9918f108d9..13e9948f3b 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php @@ -7,7 +7,9 @@ */ namespace Piwik\Tests\System; +use Piwik\Archive; use Piwik\Plugins\Goals\Archiver; +use Piwik\Segment; use Piwik\Tests\Framework\TestCase\SystemTestCase; use Piwik\Tests\Fixtures\TwoSitesTwoVisitorsDifferentDays; @@ -109,19 +111,28 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase ); } + return $result; + } + + // TODO: this test should be in an integration test for Piwik\Archive. setup code for getting metrics from different + // plugins is non-trivial, so not done now. + public function test_Archive_getNumeric_ReturnsMetricsFromDifferentPlugins_WhenThoseMetricsAreRequested() + { // Tests that getting a visits summary metric (nb_visits) & a Goal's metric (Goal_revenue) // at the same time works. $dateTimeRange = '2010-01-03,2010-01-06'; $columns = 'nb_visits,' . Archiver::getRecordName('conversion_rate'); + $idSite1 = self::$fixture->idSite1; - $result[] = array( - 'VisitsSummary.get', array('idSite' => 'all', 'date' => $dateTimeRange, 'periods' => 'range', - 'otherRequestParameters' => array('columns' => $columns), - 'testSuffix' => '_getMetricsFromDifferentReports') + $archive = Archive::build($idSite1, 'range', $dateTimeRange); + $result = $archive->getDataTableFromNumeric($columns); + $this->assertEquals( + array( + 'nb_visits' => 4, + 'Goal_conversion_rate' => 100 + ), + $result ); - - - return $result; } public static function getOutputPrefix() diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml index 32434a44f6..7813b88d41 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 9 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml index 527a5d7177..b867c7e45e 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 25 305 3 - 93% 1.1 11 + 93% 1 @@ -22,8 +22,8 @@ 1 0 1 - 100% 1 0 + 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml index d183cb915b..f9a5c84ee1 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 2 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml index 1e897c6120..7c4f0b76ba 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 2 12 - 0% 9 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index e36f65bcae..c447355464 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -9,7 +9,7 @@ nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit, Visits by Server Time label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue -0h,1,2,0,00:00:00,0%,$ 0 +0h,1,2,2,00:06:01,0%,$ 0 1h,0,0,0,00:00:00,0%,$ 0 2h,0,0,0,00:00:00,0%,$ 0 3h,0,0,0,00:00:00,0%,$ 0 @@ -20,8 +20,8 @@ label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,rev 8h,0,0,0,00:00:00,0%,$ 0 9h,0,0,0,00:00:00,0%,$ 0 10h,0,0,0,00:00:00,0%,$ 0 -11h,8,40,0,00:00:00,0%,$ 0 -12h,1,1,0,00:00:00,0%,$ 0 +11h,8,40,5,00:15:01,0%,$ 0 +12h,1,1,1,00:00:00,100%,$ 0 13h,0,0,0,00:00:00,0%,$ 0 14h,0,0,0,00:00:00,0%,$ 0 15h,0,0,0,00:00:00,0%,$ 0 @@ -35,41 +35,41 @@ label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,rev 23h,0,0,0,00:00:00,0%,$ 0 Visits by Local Time -label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,conversion_rate -0h,0,0,0,00:00:00,0%,0% -1h,0,0,0,00:00:00,0%,0% -2h,0,0,0,00:00:00,0%,0% -3h,0,0,0,00:00:00,0%,0% -4h,0,0,0,00:00:00,0%,0% -5h,0,0,0,00:00:00,0%,0% -6h,0,0,0,00:00:00,0%,0% -7h,0,0,0,00:00:00,0%,0% -8h,0,0,0,00:00:00,0%,0% -9h,0,0,0,00:00:00,0%,0% -10h,0,0,0,00:00:00,0%,0% -11h,0,0,0,00:00:00,0%,0% -12h,10,43,0,00:00:00,0%,0% -13h,0,0,0,00:00:00,0%,0% -14h,0,0,0,00:00:00,0%,0% -15h,0,0,0,00:00:00,0%,0% -16h,0,0,0,00:00:00,0%,0% -17h,0,0,0,00:00:00,0%,0% -18h,0,0,0,00:00:00,0%,0% -19h,0,0,0,00:00:00,0%,0% -20h,0,0,0,00:00:00,0%,0% -21h,0,0,0,00:00:00,0%,0% -22h,0,0,0,00:00:00,0%,0% -23h,0,0,0,00:00:00,0%,0% +label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate +0h,0,0,0%,0,00:00:00,0% +1h,0,0,0%,0,00:00:00,0% +2h,0,0,0%,0,00:00:00,0% +3h,0,0,0%,0,00:00:00,0% +4h,0,0,0%,0,00:00:00,0% +5h,0,0,0%,0,00:00:00,0% +6h,0,0,0%,0,00:00:00,0% +7h,0,0,0%,0,00:00:00,0% +8h,0,0,0%,0,00:00:00,0% +9h,0,0,0%,0,00:00:00,0% +10h,0,0,0%,0,00:00:00,0% +11h,0,0,0%,0,00:00:00,0% +12h,10,43,0%,4.3,00:12:37,10% +13h,0,0,0%,0,00:00:00,0% +14h,0,0,0%,0,00:00:00,0% +15h,0,0,0%,0,00:00:00,0% +16h,0,0,0%,0,00:00:00,0% +17h,0,0,0%,0,00:00:00,0% +18h,0,0,0%,0,00:00:00,0% +19h,0,0,0%,0,00:00:00,0% +20h,0,0,0%,0,00:00:00,0% +21h,0,0,0%,0,00:00:00,0% +22h,0,0,0%,0,00:00:00,0% +23h,0,0,0%,0,00:00:00,0% Visits by Day of Week -label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,conversion_rate -Monday,2,7,0,00:00:00,0%,0% -Tuesday,2,10,0,00:00:00,0%,0% -Wednesday,1,5,0,00:00:00,0%,0% -Thursday,1,5,0,00:00:00,0%,0% -Friday,1,5,0,00:00:00,0%,0% -Saturday,1,5,0,00:00:00,0%,0% -Sunday,2,6,0,00:00:00,0%,0% +label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate +Monday,2,7,0%,3.5,00:10:31,0% +Tuesday,2,10,0%,5,00:15:01,0% +Wednesday,1,5,0%,5,00:15:01,0% +Thursday,1,5,0%,5,00:15:01,0% +Friday,1,5,0%,5,00:15:01,0% +Saturday,1,5,0%,5,00:15:01,0% +Sunday,2,6,0%,3,00:07:31,50% Screen Resolution label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -123,10 +123,10 @@ Unknown,8,40,0%,5,00:15:01,0% Windows,2,3,0%,1.5,00:03:01,50% Mobile vs Desktop -label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,conversion_rate -Unknown,8,40,0,00:00:00,0%,0% -Desktop,2,3,0,00:00:00,0%,0% -Mobile,0,0,0,00:00:00,0%,0% +label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate +Unknown,8,40,0%,5,00:15:01,0% +Desktop,2,3,0%,1.5,00:03:01,50% +Mobile,0,0,0%,0,00:00:00,0% Browser language label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -214,9 +214,9 @@ No data available Referrer Type label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue -Websites,5,22,0,00:00:00,0%,$ 0 -Campaigns,4,20,0,00:00:00,0%,$ 0 -Direct Entry,1,1,0,00:00:00,0%,$ 0 +Websites,5,22,4.4,00:13:13,0%,$ 0 +Campaigns,4,20,5,00:15:01,0%,$ 0 +Direct Entry,1,1,1,00:00:00,100%,$ 0 All Referrers label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index c930e98c62..016101e368 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -560,10 +560,10 @@ 2 - 0 + 2 - 00:00:00 + 00:06:01 0% @@ -813,10 +813,10 @@ 40 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -836,13 +836,13 @@ 1 - 0 + 1 00:00:00 - 0% + 100% $ 0 @@ -1425,13 +1425,13 @@ 43 - 0 + 4.3 - 00:00:00 + 00:12:37 - 0% + 10% 0% @@ -1738,10 +1738,10 @@ 7 - 0 + 3.5 - 00:00:00 + 00:10:31 0% @@ -1761,10 +1761,10 @@ 10 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -1784,10 +1784,10 @@ 5 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -1807,10 +1807,10 @@ 5 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -1830,10 +1830,10 @@ 5 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -1853,10 +1853,10 @@ 5 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -1876,13 +1876,13 @@ 6 - 0 + 3 - 00:00:00 + 00:07:31 - 0% + 50% 0% @@ -2767,10 +2767,10 @@ 40 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -2792,13 +2792,13 @@ 3 - 0 + 1.5 - 00:00:00 + 00:03:01 - 0% + 50% 0% @@ -3695,10 +3695,10 @@ 22 - 0 + 4.4 - 00:00:00 + 00:13:13 0% @@ -3718,10 +3718,10 @@ 20 - 0 + 5 - 00:00:00 + 00:15:01 0% @@ -3741,13 +3741,13 @@ 1 - 0 + 1 00:00:00 - 0% + 100% $ 0 diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 61d4d807f8..005ad10245 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -1,6 +1,7 @@ + API All Metrics API get -- cgit v1.2.3 From b13ad60885f33f054e4fbf44503618577fcd8469 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 15:40:26 -0800 Subject: Fix last failing tests. --- .../System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php | 2 +- ...eportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml | 4 ++-- ...eportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php index 13e9948f3b..cc7b96e425 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php @@ -121,7 +121,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase // Tests that getting a visits summary metric (nb_visits) & a Goal's metric (Goal_revenue) // at the same time works. $dateTimeRange = '2010-01-03,2010-01-06'; - $columns = 'nb_visits,' . Archiver::getRecordName('conversion_rate'); + $columns = array('nb_visits', 'Goal_conversion_rate'); $idSite1 = self::$fixture->idSite1; $archive = Archive::build($idSite1, 'range', $dateTimeRange); diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml index 2f7ce19aa5..5a29eaa6d0 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 1 4 - 0% 4 1 + 0% @@ -23,9 +23,9 @@ 0 1 6 - 0% 6 1 + 0% diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml index ed3e2b6ade..cb5658098f 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 361 5 - 0% 5 361 + 0% @@ -24,9 +24,9 @@ 0 1 6 - 0% 6 1 + 0% -- cgit v1.2.3 From d4e0c79caef3ca17dbad7890a52af9a000f07ee9 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Mon, 3 Nov 2014 16:08:44 -0800 Subject: Add rest of processed metrics from VisitsSummary.get as metric metadata. --- core/Plugin/ProcessedMetric.php | 5 ++++- plugins/CoreHome/Metrics/ActionsPerVisit.php | 28 ++++++++++++++++++++++++++ plugins/CoreHome/Metrics/AverageTimeOnSite.php | 28 ++++++++++++++++++++++++++ plugins/CoreHome/Metrics/BounceCount.php | 22 -------------------- plugins/VisitsSummary/API.php | 7 +------ plugins/VisitsSummary/Reports/Get.php | 8 +++++--- 6 files changed, 66 insertions(+), 32 deletions(-) create mode 100644 plugins/CoreHome/Metrics/ActionsPerVisit.php create mode 100644 plugins/CoreHome/Metrics/AverageTimeOnSite.php delete mode 100644 plugins/CoreHome/Metrics/BounceCount.php diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index a6b88f6c0d..9fcf1f5767 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -47,7 +47,10 @@ abstract class ProcessedMetric /** * TODO */ - abstract public function format($value); + public function format($value) + { + return $value; + } /** * TODO diff --git a/plugins/CoreHome/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Metrics/ActionsPerVisit.php new file mode 100644 index 0000000000..cd6e357a2a --- /dev/null +++ b/plugins/CoreHome/Metrics/ActionsPerVisit.php @@ -0,0 +1,28 @@ +getColumn('nb_actions'), $row->getColumn('nb_visits'), $precision = 1); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php new file mode 100644 index 0000000000..dda436140c --- /dev/null +++ b/plugins/CoreHome/Metrics/AverageTimeOnSite.php @@ -0,0 +1,28 @@ +getColumn('sum_visit_length'), $row->getColumn('nb_visits'), $precision = 0); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/BounceCount.php b/plugins/CoreHome/Metrics/BounceCount.php deleted file mode 100644 index ea6bbcdd23..0000000000 --- a/plugins/CoreHome/Metrics/BounceCount.php +++ /dev/null @@ -1,22 +0,0 @@ -getCoreColumns($period); $dataTable = $archive->getDataTableFromNumeric($columns); - - // Process ratio metrics from base metrics, when requested - $dataTable->filter('ColumnCallbackAddColumnQuotient', array('nb_actions_per_visit', 'nb_actions', 'nb_visits', 1)); - $dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0)); - return $dataTable; } diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index 93d67eabf3..83493dc1ef 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -9,6 +9,8 @@ namespace Piwik\Plugins\VisitsSummary\Reports; use Piwik\Piwik; +use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; +use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; use Piwik\Plugins\CoreHome\Metrics\BounceRate; class Get extends \Piwik\Plugin\Report @@ -20,15 +22,15 @@ class Get extends \Piwik\Plugin\Report $this->name = Piwik::translate('VisitsSummary_VisitsSummary'); $this->documentation = ''; // TODO $this->processedMetrics = array( - new BounceRate() + new BounceRate(), + new ActionsPerVisit(), + new AverageTimeOnSite() ); $this->metrics = array( 'nb_uniq_visitors', 'nb_visits', 'nb_users', 'nb_actions', - 'nb_actions_per_visit', - 'avg_time_on_site', 'max_actions' ); // Used to process metrics, not displayed/used directly -- cgit v1.2.3 From c1264ec0476fc2e88c29d052e2018990458f814d Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 11:00:10 -0800 Subject: Moved processed metrics computation to DataTableGenericFilter, removed new filters & implemented as methods in Report to avoid confusion regarding re-use, allow adding processed metrics as DataTable metadata and use this to rewrite AddProcessedMetrics filter, correct name of Metrics::getMappingFromIdToName function, added placeholder AggregatedMetric class for future, revise Metric/ProcessedMetric hierarchy (add methods for translation/etc.), allow .get API methods to use metadata to automatically figure out which columns to select, get EcommerceOrderWithItemsTest to pass. --- core/API/DataTableGenericFilter.php | 64 +++++++++++- core/API/ResponseBuilder.php | 10 +- core/DataTable.php | 5 + .../Filter/AddColumnsProcessedMetrics.php | 29 +++--- core/DataTable/Filter/ComputeProcessedMetrics.php | 66 ------------- core/DataTable/Filter/FormatProcessedMetrics.php | 65 ------------- core/DataTable/Filter/PivotByDimension.php | 2 +- core/DataTable/Filter/Sort.php | 2 +- core/Metrics.php | 8 +- core/Metrics/Processed.php | 7 +- core/Plugin/AggregatedMetric.php | 18 ++++ core/Plugin/ComponentFactory.php | 2 +- core/Plugin/Metric.php | 33 +++++++ core/Plugin/ProcessedMetric.php | 14 +-- core/Plugin/Report.php | 107 ++++++++++++++++++++- plugins/API/API.php | 16 +-- plugins/API/ProcessedReport.php | 2 + plugins/CoreHome/Metrics/ActionsPerVisit.php | 16 ++- plugins/CoreHome/Metrics/AverageTimeOnSite.php | 15 ++- plugins/CoreHome/Metrics/BounceRate.php | 15 ++- plugins/CoreHome/Metrics/ConversionRate.php | 46 +++++++++ .../VisitFrequency/Metrics/BounceRateReturning.php | 11 +++ plugins/VisitsSummary/API.php | 10 +- .../test_ImportLogs__VisitFrequency.get_month.xml | 2 +- .../test_ImportLogs__VisitFrequency.get_range.xml | 2 +- .../test_ImportLogs__VisitsSummary.get_month.xml | 2 +- ...ckedUsingLogReplay__VisitsSummary.get_month.xml | 2 +- ...ivingTest_sitesGroup__VisitsSummary.get_day.xml | 2 +- ...ingTest_sitesGroup__VisitsSummary.get_month.xml | 2 +- ...commerceOrderWithItems_API_get__API.get_day.xml | 2 +- ...ommerceOrderWithItems_API_get__API.get_week.xml | 2 +- ...SegmentAbandonedCart__VisitsSummary.get_day.xml | 2 +- ...mentConvertedGoalId1__VisitsSummary.get_day.xml | 2 +- ...entConvertedGoalId1__VisitsSummary.get_week.xml | 2 +- ...DidNotConvertGoalId1__VisitsSummary.get_day.xml | 2 +- ..._SegmentNewVisitors__VisitsSummary.get_week.xml | 2 +- ...s_SegmentNoEcommerce__VisitsSummary.get_day.xml | 2 +- ...rtedNonExistingGoal__VisitsSummary.get_week.xml | 2 +- ...mentOrderedSomething__VisitsSummary.get_day.xml | 2 +- ...egmentPageTitleMatch__VisitsSummary.get_day.xml | 2 +- ...tReturningCustomers__VisitsSummary.get_week.xml | 2 +- ...ntReturningVisitors__VisitsSummary.get_week.xml | 2 +- ...sitHasConvertedGoal__VisitsSummary.get_week.xml | 2 +- ...redAndConvertedGoal__VisitsSummary.get_week.xml | 2 +- ...mmerceOrderWithItems__VisitsSummary.get_day.xml | 4 +- ...heduledReports.generateReport_week.original.csv | 8 +- ...eduledReports.generateReport_week.original.html | 24 ++--- ...heduledReports.generateReport_week.original.pdf | Bin 527977 -> 525106 bytes .../test_noVisit__VisitFrequency.get_day.xml | 2 +- tests/PHPUnit/Unit/MetricsTest.php | 2 +- 50 files changed, 406 insertions(+), 239 deletions(-) delete mode 100644 core/DataTable/Filter/ComputeProcessedMetrics.php delete mode 100644 core/DataTable/Filter/FormatProcessedMetrics.php create mode 100644 core/Plugin/AggregatedMetric.php create mode 100644 plugins/CoreHome/Metrics/ConversionRate.php diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index 681c1a12f8..9cb7599147 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -12,6 +12,8 @@ use Exception; use Piwik\Common; use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; use Piwik\DataTable; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; class DataTableGenericFilter { @@ -22,14 +24,22 @@ class DataTableGenericFilter */ private $disabledFilters = array(); + /** + * TODO + * + * @var Report|null- + */ + private $report; + /** * Constructor * * @param $request */ - function __construct($request) + function __construct($request, $report = null) { $this->request = $request; + $this->report = $report; } /** @@ -105,7 +115,7 @@ class DataTableGenericFilter 'filter_offset' => array('integer', '0'), 'filter_limit' => array('integer'), 'keep_summary_row' => array('integer', '0'), - )), + )) ); } @@ -126,6 +136,8 @@ class DataTableGenericFilter return; } + $computed = $this->computeProcessedMetricsIfNeeded($datatable); + $genericFilters = self::getGenericFiltersInformation(); $filterApplied = false; @@ -164,6 +176,52 @@ class DataTableGenericFilter $filterApplied = true; } } + + if (!$computed) { + $this->computeProcessedMetrics($datatable); + } + return $filterApplied; } -} + + private function computeProcessedMetricsIfNeeded(DataTable $dataTable) + { + if (!$this->doesColumnQueryParamReferenceProcessedMetric()) { + return false; + } + + $this->computeProcessedMetrics($dataTable); + + return true; + } + + private function computeProcessedMetrics(DataTable $dataTable) + { + if (empty($this->report)) { + return; + } + + $this->report->computeProcessedMetrics($dataTable); + } + + private function doesColumnQueryParamReferenceProcessedMetric() + { + $columnQueryParameters = array( + 'filter_column', + 'filter_column_recursive', + 'filter_excludelowpop', + 'filter_sort_column' + ); + + foreach ($columnQueryParameters as $queryParamName) { + $queryParamValue = Common::getRequestVar($queryParamName, false); + if (!empty($queryParamValue) + && ProcessedMetric::isProcessedMetric($queryParamValue) // TODO + ) { + return true; + } + } + + return false; + } +} \ No newline at end of file diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index b2e8bd9aea..49cb4c2f51 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -169,6 +169,7 @@ class ResponseBuilder private function handleDataTable(DataTableInterface $datatable) { $label = $this->getLabelFromRequest($this->request); + $report = Report::factory($this->apiModule, $this->apiMethod); // handle pivot by dimension filter $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $this->request); @@ -195,14 +196,9 @@ class ResponseBuilder $datatable = $genericFilter->calculate($datatable); } - $report = Report::factory($this->apiModule, $this->apiMethod); - if (!empty($report)) { - $datatable->filter('ComputeProcessedMetrics', array($report)); - } - // if the flag disable_generic_filters is defined we skip the generic filters if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { - $genericFilter = new DataTableGenericFilter($this->request); + $genericFilter = new DataTableGenericFilter($this->request, $report); if (!empty($label)) { $genericFilter->disableFilters(array('Limit', 'Truncate')); } @@ -243,7 +239,7 @@ class ResponseBuilder if (!($this->apiRenderer instanceof Original) && !empty($report) ) { - $datatable->filter('FormatProcessedMetrics', array($report)); + $datatable->filter(array($report, 'formatProcessedMetrics')); } return $this->apiRenderer->renderDataTable($datatable); diff --git a/core/DataTable.php b/core/DataTable.php index 4d308f7d21..089f1a63fa 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -199,6 +199,11 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess /** The original label of the Summary Row. */ const LABEL_SUMMARY_ROW = -1; + /** + * TODO + */ + const EXTRA_PROCESSED_METRICS_METADATA_NAME = 'extra_processed_metrics'; + /** * Maximum nesting level. */ diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php index f3d8191b1f..06cdc154ea 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php @@ -12,6 +12,10 @@ use Piwik\DataTable\BaseFilter; use Piwik\DataTable\Row; use Piwik\DataTable; use Piwik\Metrics; +use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; +use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; +use Piwik\Plugins\CoreHome\Metrics\BounceRate; +use Piwik\Plugins\CoreHome\Metrics\ConversionRate; /** * Adds processed metrics columns to a {@link DataTable} using metrics that already exist. @@ -65,25 +69,14 @@ class AddColumnsProcessedMetrics extends BaseFilter $this->deleteRowsWithNoVisit($table); } - $metrics = new Metrics\Processed(); - - foreach ($table->getRows() as $row) { - $this->tryToAddColumn($row, 'conversion_rate', array($metrics, 'getConversionRate')); - $this->tryToAddColumn($row, 'nb_actions_per_visit', array($metrics, 'getActionsPerVisit')); - $this->tryToAddColumn($row, 'avg_time_on_site', array($metrics, 'getAvgTimeOnSite')); - $this->tryToAddColumn($row, 'bounce_rate', array($metrics, 'getBounceRate')); + $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); - $this->filterSubTable($row); - } - } + $extraProcessedMetrics[] = new ConversionRate(); + $extraProcessedMetrics[] = new ActionsPerVisit(); + $extraProcessedMetrics[] = new AverageTimeOnSite(); + $extraProcessedMetrics[] = new BounceRate(); - private function tryToAddColumn(Row $row, $column, $callable) - { - try { - $row->addColumn($column, $callable); - } catch (\Exception $e) { - - } + $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); } private function deleteRowsWithNoVisit(DataTable $table) @@ -102,4 +95,4 @@ class AddColumnsProcessedMetrics extends BaseFilter } } } -} +} \ No newline at end of file diff --git a/core/DataTable/Filter/ComputeProcessedMetrics.php b/core/DataTable/Filter/ComputeProcessedMetrics.php deleted file mode 100644 index d463212368..0000000000 --- a/core/DataTable/Filter/ComputeProcessedMetrics.php +++ /dev/null @@ -1,66 +0,0 @@ -report = $report; - } - - /** - * Executes the filter. See {@link ComputeProcessedMetrics}. - * - * @param DataTable $table - */ - public function filter($table) - { - $processedMetrics = $this->report->processedMetrics; - if (!is_array($processedMetrics)) { - return; - } - - foreach ($table->getRows() as $row) { - /** @var ProcessedMetric $processedMetric */ // TODO: should remove this and if below eventually. - foreach ($processedMetrics as $processedMetric) { - if ($processedMetric instanceof ProcessedMetric) { - $processedMetricName = $processedMetric->getName(); - if ($row->getColumn($processedMetricName) === false) { - $row->addColumn($processedMetricName, $processedMetric->compute($row)); - } - } - } - } - } -} \ No newline at end of file diff --git a/core/DataTable/Filter/FormatProcessedMetrics.php b/core/DataTable/Filter/FormatProcessedMetrics.php deleted file mode 100644 index d612ecaedd..0000000000 --- a/core/DataTable/Filter/FormatProcessedMetrics.php +++ /dev/null @@ -1,65 +0,0 @@ -report = $report; - } - - /** - * Executes the filter. See {@link ComputeProcessedMetrics}. - * - * @param DataTable $table - */ - public function filter($table) - { - $processedMetrics = $this->report->processedMetrics; - if (empty($processedMetrics)) { - return; - } - - foreach ($table->getRows() as $row) { - foreach ($processedMetrics as $processedMetric) { - if (!($processedMetric instanceof ProcessedMetric)) { - continue; - } - - $name = $processedMetric->getName(); - $columnValue = $row->getColumn($name); - if ($columnValue !== false) { - $row->setColumn($name, $processedMetric->format($columnValue)); - } - } - } - } -} \ No newline at end of file diff --git a/core/DataTable/Filter/PivotByDimension.php b/core/DataTable/Filter/PivotByDimension.php index ce3ac98ec5..61e68423e8 100644 --- a/core/DataTable/Filter/PivotByDimension.php +++ b/core/DataTable/Filter/PivotByDimension.php @@ -161,7 +161,7 @@ class PivotByDimension extends BaseFilter $this->pivotByColumnLimit = $pivotByColumnLimit ?: self::getDefaultColumnLimit(); $this->isFetchingBySegmentEnabled = $isFetchingBySegmentEnabled; - $namesToId = Metrics::getMappingFromIdToName(); + $namesToId = Metrics::getMappingFromNameToId(); $this->metricIndexValue = isset($namesToId[$this->pivotColumn]) ? $namesToId[$this->pivotColumn] : null; $this->setPivotByDimension($pivotByDimension); diff --git a/core/DataTable/Filter/Sort.php b/core/DataTable/Filter/Sort.php index 9df2250288..6ffe33bced 100644 --- a/core/DataTable/Filter/Sort.php +++ b/core/DataTable/Filter/Sort.php @@ -192,7 +192,7 @@ class Sort extends BaseFilter return $this->columnToSort; } - $columnIdToName = Metrics::getMappingFromIdToName(); + $columnIdToName = Metrics::getMappingFromNameToId(); // sorting by "nb_visits" but the index is Metrics::INDEX_NB_VISITS in the table if (isset($columnIdToName[$this->columnToSort])) { $column = $columnIdToName[$this->columnToSort]; diff --git a/core/Metrics.php b/core/Metrics.php index 0f8baf5a10..01e2e66ca2 100644 --- a/core/Metrics.php +++ b/core/Metrics.php @@ -183,10 +183,12 @@ class Metrics return $names; } - // TODO: this method is named wrong - public static function getMappingFromIdToName() + public static function getMappingFromNameToId() { - $idToName = array_flip(self::$mappingFromIdToName); + static $idToName = null; + if ($idToName === null) { + $idToName = array_flip(self::$mappingFromIdToName); + } return $idToName; } diff --git a/core/Metrics/Processed.php b/core/Metrics/Processed.php index 0e6b7c969b..5fe38e9363 100644 --- a/core/Metrics/Processed.php +++ b/core/Metrics/Processed.php @@ -4,7 +4,6 @@ * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * */ namespace Piwik\Metrics; @@ -12,6 +11,7 @@ use Piwik\Metrics; use Piwik\DataTable\Row; use Piwik\DataTable; +// TODO: this class should be removed class Processed extends Base { @@ -60,9 +60,8 @@ class Processed extends Base return $this->invalidDivision; } - $bounceRate = round(100 * $this->getColumn($row, Metrics::INDEX_BOUNCE_COUNT) / $nbVisits, $this->roundPrecision); + $bounceRate = round($this->getColumn($row, Metrics::INDEX_BOUNCE_COUNT) / $nbVisits, $this->roundPrecision); - return $bounceRate . "%"; + return $bounceRate; } - } \ No newline at end of file diff --git a/core/Plugin/AggregatedMetric.php b/core/Plugin/AggregatedMetric.php new file mode 100644 index 0000000000..5bdf8d4e1e --- /dev/null +++ b/core/Plugin/AggregatedMetric.php @@ -0,0 +1,18 @@ +getColumn($columnName); + if ($value === false + && isset($mappingIdToName[$columnName]) + ) { + $value = $row->getColumn($mappingIdToName[$columnName]); + } + + return $value; + } } \ No newline at end of file diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index 9fcf1f5767..da0fdbea0f 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -12,7 +12,7 @@ use Piwik\DataTable\Row; /** * TODO */ -abstract class ProcessedMetric +abstract class ProcessedMetric extends Metric { /** * The sub-namespace name in a plugin where Report components are stored. @@ -42,18 +42,10 @@ abstract class ProcessedMetric /** * TODO */ - abstract public function getName(); - - /** - * TODO - */ - public function format($value) - { - return $value; - } + abstract public function compute(Row $row); /** * TODO */ - abstract public function compute(Row $row); + abstract public function getDependenctMetrics(); } \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 4f8e357624..76e8f66f45 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -367,6 +367,33 @@ class Report return $this->getMetricTranslations($this->metrics); } + /** + * TODO + */ + public function getMetricsRequiredForReport($allColumns = null, $restrictToColumns = null) + { + if (empty($allColumns)) { + $allColumns = $this->metrics; + } + + if (empty($restrictToColumns)) { + return $allColumns; + } else { + $processedMetricsById = $this->getProcessedMetricsById(); + $metricsSet = array_flip($allColumns); + + $metrics = array(); + foreach ($restrictToColumns as $column) { + if (isset($processedMetricsById[$column])) { + $metrics = array_merge($metrics, $processedMetricsById[$column]->getDependenctMetrics()); + } else if (isset($metricsSet[$column])) { // TODO: this may cause regression w/ #2531, check? + $metrics[] = $column; + } + } + return array_unique($metrics); + } + } + /** * Returns an array of supported processed metrics and their corresponding translations. Eg * `array('nb_visits' => 'Visits')`. By default the given {@link $processedMetrics} are used and their @@ -655,6 +682,70 @@ class Report return Request::processRequest($module . '.' . $action, $paramOverride); } + /** + * TODO + * TODO: recursion (+ for format) + */ + public function computeProcessedMetrics(DataTable $dataTable) + { + $processedMetrics = $this->getProcessedMetricsFor($dataTable); + if (empty($processedMetrics)) { + return; + } + + foreach ($dataTable->getRows() as $row) { + /** @var ProcessedMetric $processedMetric */ + foreach ($processedMetrics as $name => $processedMetric) { + if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already + $row->addColumn($name, $processedMetric->compute($row)); + } + } + } + } + + /** + * TODO + * + * @return ProcessedMetric[] + */ + public function getProcessedMetricsFor(DataTable $dataTable) + { + $dataTableProcessedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); + + $processedMetrics = $this->processedMetrics ?: array(); + $processedMetrics = array_merge($processedMetrics, $dataTableProcessedMetrics); + + $result = array(); + foreach ($processedMetrics as $metric) { + if (!($metric instanceof ProcessedMetric)) { + continue; + } + + $result[$metric->getName()] = $metric; + } + return $result; + } + + /** + * TODO + */ + public function formatProcessedMetrics(DataTable $dataTable) + { + $processedMetrics = $this->getProcessedMetricsFor($dataTable); + if (empty($processedMetrics)) { + return; + } + + foreach ($dataTable->getRows() as $row) { + foreach ($processedMetrics as $name => $processedMetric) { + $columnValue = $row->getColumn($name); + if ($columnValue !== false) { + $row->setColumn($name, $processedMetric->format($columnValue)); + } + } + } + } + /** * Get an instance of a specific report belonging to the given module and having the given action. * @param string $module @@ -751,10 +842,24 @@ class Report */ public static function getForDimension(Dimension $dimension) { - return ComponentFactory::getComponentif (__CLASS__, $dimension->getModule(), function (Report $report) use ($dimension) { + return ComponentFactory::getComponentIf(__CLASS__, $dimension->getModule(), function (Report $report) use ($dimension) { return !$report->isSubtableReport() && $report->getDimension() && $report->getDimension()->getId() == $dimension->getId(); }); } + + /** + * @return ProcessedMetric[] + */ + private function getProcessedMetricsById() + { + $result = array(); + foreach ($this->processedMetrics as $processedMetric) { + if ($processedMetric instanceof ProcessedMetric) { // instanceof check for backwards compatibility + $result[$processedMetric->getName()] = $processedMetric; + } + } + return $result; + } } diff --git a/plugins/API/API.php b/plugins/API/API.php index 405d5d7b3a..9d7d364187 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -22,7 +22,6 @@ use Piwik\Period; use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Plugin\Dimension\VisitDimension; -use Piwik\Plugin\Report; use Piwik\Plugins\CoreAdminHome\CustomLogo; use Piwik\SegmentExpression; use Piwik\Translate; @@ -363,8 +362,7 @@ class API extends \Piwik\Plugin\API */ public function get($idSite, $period, $date, $segment = false, $columns = false) { - $columnsToShow = Piwik::getArrayFromApiParameter($columns); - $columns = array(); + $columns = Piwik::getArrayFromApiParameter($columns); // build columns map for faster checks later on $columnsMap = array(); @@ -374,7 +372,6 @@ class API extends \Piwik\Plugin\API // find out which columns belong to which plugin $columnsByPlugin = array(); - $allColumns = array(); $meta = \Piwik\Plugins\API\API::getInstance()->getReportMetadata($idSite, $period, $date); foreach ($meta as $reportMeta) { // scan all *.get reports @@ -391,7 +388,6 @@ class API extends \Piwik\Plugin\API || empty($columnsMap) ) { $columnsByPlugin[$plugin][] = $column; - $allColumns[] = $column; } } } @@ -403,10 +399,11 @@ class API extends \Piwik\Plugin\API foreach ($columnsByPlugin as $plugin => $columns) { // load the data $className = Request::getClassNameAPI($plugin); - $params['columns'] = ""; + $params['columns'] = implode(',', $columns); $dataTable = Proxy::getInstance()->call($className, 'get', $params); // make sure the table has all columns + /* TODO: keep removed? $array = ($dataTable instanceof DataTable\Map ? $dataTable->getDataTables() : array($dataTable)); foreach ($array as $table) { // we don't support idSites=all&date=DATE1,DATE2 @@ -422,7 +419,7 @@ class API extends \Piwik\Plugin\API } } } - } + }*/ // merge reports if ($mergedDataTable === false) { @@ -431,11 +428,6 @@ class API extends \Piwik\Plugin\API $this->mergeDataTables($mergedDataTable, $dataTable); } } - - if (!empty($columnsToShow)) { - $mergedDataTable->filter('ColumnDelete', array(array(), $columnsToShow)); - } - return $mergedDataTable; } diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 040e2b768d..f3be5e3359 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -448,6 +448,8 @@ class ProcessedReport throw new Exception("API returned an error: " . $e->getMessage() . " at " . basename($e->getFile()) . ":" . $e->getLine() . "\n"); } + $dataTable->filter(array(Report::factory($apiModule, $apiAction), 'formatProcessedMetrics')); + list($newReport, $columns, $rowsMetadata, $totals) = $this->handleTableReport($idSite, $dataTable, $reportMetadata, $showRawMetrics); foreach ($columns as &$name) { diff --git a/plugins/CoreHome/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Metrics/ActionsPerVisit.php index cd6e357a2a..a19fda80de 100644 --- a/plugins/CoreHome/Metrics/ActionsPerVisit.php +++ b/plugins/CoreHome/Metrics/ActionsPerVisit.php @@ -10,6 +10,7 @@ namespace Piwik\Plugins\CoreHome\Metrics; use Piwik\DataTable\Row; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; +use Piwik\Translate; /** * TODO @@ -23,6 +24,19 @@ class ActionsPerVisit extends ProcessedMetric public function compute(Row $row) { - return Piwik::getQuotientSafe($row->getColumn('nb_actions'), $row->getColumn('nb_visits'), $precision = 1); + $actions = $this->getColumn($row, 'nb_actions'); + $visits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($actions, $visits, $precision = 2); + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnActionsPerVisit'); + } + + public function getDependenctMetrics() + { + return array('nb_actions', 'nb_visits'); } } \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php index dda436140c..bdeea363ea 100644 --- a/plugins/CoreHome/Metrics/AverageTimeOnSite.php +++ b/plugins/CoreHome/Metrics/AverageTimeOnSite.php @@ -23,6 +23,19 @@ class AverageTimeOnSite extends ProcessedMetric public function compute(Row $row) { - return Piwik::getQuotientSafe($row->getColumn('sum_visit_length'), $row->getColumn('nb_visits'), $precision = 0); + $sumVisitLength = $this->getColumn($row, 'sum_visit_length'); + $nbVisits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($sumVisitLength, $nbVisits, $precision = 0); + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnAvgTimeOnSite'); + } + + public function getDependenctMetrics() + { + return array('sum_visit_length', 'nb_visits'); } } \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/BounceRate.php b/plugins/CoreHome/Metrics/BounceRate.php index cd1dfca671..4fb79a52c7 100644 --- a/plugins/CoreHome/Metrics/BounceRate.php +++ b/plugins/CoreHome/Metrics/BounceRate.php @@ -21,6 +21,16 @@ class BounceRate extends ProcessedMetric return 'bounce_rate'; } + public function getTranslatedName() + { + return Piwik::translate('General_ColumnBounceRate'); + } + + public function getDependenctMetrics() + { + return array('bounce_count', 'nb_visits'); + } + public function format($value) { return ($value * 100) . '%'; @@ -28,6 +38,9 @@ class BounceRate extends ProcessedMetric public function compute(Row $row) { - return Piwik::getQuotientSafe($row->getColumn('bounce_count'), $row->getColumn('nb_visits'), $precision = 2); + $bounceCount = $this->getColumn($row, 'bounce_count'); + $visits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 4); } } \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/ConversionRate.php b/plugins/CoreHome/Metrics/ConversionRate.php new file mode 100644 index 0000000000..c98915a26f --- /dev/null +++ b/plugins/CoreHome/Metrics/ConversionRate.php @@ -0,0 +1,46 @@ +getColumn($row, 'nb_visits_converted'); + $nbVisits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($nbVisitsConverted, $nbVisits, $precision = 4); + } +} \ No newline at end of file diff --git a/plugins/VisitFrequency/Metrics/BounceRateReturning.php b/plugins/VisitFrequency/Metrics/BounceRateReturning.php index 4137a999a5..d8f572c3a4 100644 --- a/plugins/VisitFrequency/Metrics/BounceRateReturning.php +++ b/plugins/VisitFrequency/Metrics/BounceRateReturning.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\VisitFrequency\Metrics; use Exception; use Piwik\DataTable\Row; +use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** @@ -21,6 +22,11 @@ class BounceRateReturning extends ProcessedMetric return 'bounce_rate_returning'; } + public function getTranslatedName() + { + return Piwik::translate('VisitFrequency_ColumnBounceRateForReturningVisits'); + } + public function format($value) { return ($value * 100) . '%'; @@ -30,4 +36,9 @@ class BounceRateReturning extends ProcessedMetric { // empty (metric is not computed, it is copied from segmented report) } + + public function getDependenctMetrics() + { + return array(); + } } \ No newline at end of file diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 681b2d05a8..81fd49f8df 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -9,8 +9,10 @@ namespace Piwik\Plugins\VisitsSummary; use Piwik\Archive; +use Piwik\Common; use Piwik\MetricsFormatter; use Piwik\Piwik; +use Piwik\Plugin\Report; use Piwik\SettingsPiwik; /** @@ -21,12 +23,16 @@ use Piwik\SettingsPiwik; */ class API extends \Piwik\Plugin\API { - public function get($idSite, $period, $date, $segment = false) + public function get($idSite, $period, $date, $segment = false, $columns = false) { Piwik::checkUserHasViewAccess($idSite); $archive = Archive::build($idSite, $period, $date, $segment); - $columns = $this->getCoreColumns($period); + $columns = Piwik::getArrayFromApiParameter($columns); + + $report = Report::factory("VisitsSummary", "get"); + $columns = $report->getMetricsRequiredForReport($this->getCoreColumns($period), $columns); + $dataTable = $archive->getDataTableFromNumeric($columns); return $dataTable; } diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml index b876004aa6..3633fe5914 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml @@ -8,7 +8,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml index 4ae0deec01..f301254690 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml @@ -6,7 +6,7 @@ 8 115 2 + 80% 1.2 12 - 80% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml index 07e3a2a444..327d564f47 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 25 305 3 + 93% 1.1 11 - 93% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml index e58092a648..b0e66b9280 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml index fae1924b03..64e9c36af1 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 5 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml index fae1924b03..64e9c36af1 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 5 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_day.xml index 81ecc67c50..ebf215db8e 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_day.xml @@ -2,6 +2,6 @@ 3 2 - 1801 13 + 1801 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml index 00706ea24a..3194b95fa1 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_API_get__API.get_week.xml @@ -2,6 +2,6 @@ 5 4 - 1369 16 + 1369 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml index c909a67f09..2ecf693474 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 4682 6 + 0% 4.5 2341 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml index c909a67f09..2ecf693474 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 4682 6 + 0% 4.5 2341 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml index f8181af56d..32b66284be 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 0 0 + 0% 0 0 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml index 6b178d1ed5..44b18e613c 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 3961 6 + 0% 6 3961 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml index 4a69adcaa0..fc0095a9b6 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 1 2165 3 + 33.33% 2 722 - 33% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml index 6b178d1ed5..44b18e613c 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 3961 6 + 0% 6 3961 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml index c48c13a998..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ 0 721 4 + 0% 4 721 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml index 0902118d1a..bd9117bce7 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 5403 6 - 4.3 - 1801 0% + 4.33 + 1801 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index 0939181278..ad3cd28109 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -4,8 +4,8 @@ Piwik test,5,16,16,$ 13361.11,5,4,$ 13351.11,100%,100%,100%,100%,100%,100%,100% Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0,0 Visits Summary -nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate -1,0,5,16,6,3.2,00:22:49,0.2% +nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,bounce_rate,nb_actions_per_visit,avg_time_on_site +1,0,5,16,6,20%,3.2,00:22:49 Visits by Server Time label,nb_visits,nb_actions,revenue,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -484,8 +484,8 @@ New visits,1 365+ days,0 Returning Visits -nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,nb_actions_per_visit_returning,avg_time_on_site_returning,bounce_rate_returning -1,0,4,12,3,6126,6,3,00:25:32,0.25% +nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning +1,0,4,12,3,6126,6,25%,3,00:25:32 Provider label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index f0a2507dcf..dbe23a2221 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -551,25 +551,25 @@ - Actions per Visit + Bounce Rate - 3.2 + 20% - Avg. Visit Duration (in seconds) + Actions per Visit - 00:22:49 + 3.2 - Bounce Rate + Avg. Time on Website - 0.2% + 00:22:49 @@ -6482,25 +6482,25 @@ - Avg. Actions per Returning Visit + Bounce Rate for Returning Visits - 3 + 25% - Avg. Duration of a Returning Visit (in sec) + Avg. Actions per Returning Visit - 00:25:32 + 3 - Bounce Rate for Returning Visits + Avg. Duration of a Returning Visit (in sec) - 0.25% + 00:25:32 diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf index 3db8e7ed77..fbfae51937 100644 Binary files a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf and b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf differ diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml index 937fbcb558..c415099916 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml @@ -8,7 +8,7 @@ 0 0 0 + 0% 0 0 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/Unit/MetricsTest.php b/tests/PHPUnit/Unit/MetricsTest.php index 610e1cf459..20202232ef 100644 --- a/tests/PHPUnit/Unit/MetricsTest.php +++ b/tests/PHPUnit/Unit/MetricsTest.php @@ -39,7 +39,7 @@ class Core_MetricsTest extends \PHPUnit_Framework_TestCase */ public function testGetMappingFromIdToName() { - $mapping = Metrics::getMappingFromIdToName(); + $mapping = Metrics::getMappingFromNameToId(); $expectedMapping = array( 'nb_uniq_visitors' => 1, 'nb_visits' => 2, -- cgit v1.2.3 From 1c921c50f28581e239133bce76dda0955bc11027 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 13:01:09 -0800 Subject: Rewrite AddColumnsProcessedMetricsGoal filter to use processed metrics DataTable metadata. --- .../Filter/AddColumnsProcessedMetricsGoal.php | 104 +++++++++------------ core/Metrics.php | 17 +++- core/Metrics/ProcessedGoals.php | 77 --------------- core/Plugin/Metric.php | 22 +++-- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 47 ++++++++++ .../Goals/Metrics/GoalSpecific/ConversionRate.php | 50 ++++++++++ plugins/Goals/Metrics/GoalSpecific/Conversions.php | 39 ++++++++ plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 39 ++++++++ plugins/Goals/Metrics/GoalSpecific/Revenue.php | 39 ++++++++ .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 47 ++++++++++ .../Goals/Metrics/GoalSpecificProcessedMetric.php | 38 ++++++++ plugins/Goals/Metrics/RevenuePerVisit.php | 64 +++++++++++++ 12 files changed, 437 insertions(+), 146 deletions(-) create mode 100644 plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php create mode 100644 plugins/Goals/Metrics/GoalSpecific/ConversionRate.php create mode 100644 plugins/Goals/Metrics/GoalSpecific/Conversions.php create mode 100644 plugins/Goals/Metrics/GoalSpecific/ItemsCount.php create mode 100644 plugins/Goals/Metrics/GoalSpecific/Revenue.php create mode 100644 plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php create mode 100644 plugins/Goals/Metrics/GoalSpecificProcessedMetric.php create mode 100644 plugins/Goals/Metrics/RevenuePerVisit.php diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 963ac9acbd..aed53e3d30 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -12,6 +12,13 @@ use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\Plugins\Goals\Metrics\GoalSpecific\AverageOrderRevenue; +use Piwik\Plugins\Goals\Metrics\GoalSpecific\ConversionRate; +use Piwik\Plugins\Goals\Metrics\GoalSpecific\Conversions; +use Piwik\Plugins\Goals\Metrics\GoalSpecific\ItemsCount; +use Piwik\Plugins\Goals\Metrics\GoalSpecific\Revenue; +use Piwik\Plugins\Goals\Metrics\GoalSpecific\RevenuePerVisit as GoalSpecificRevenuePerVisit; +use Piwik\Plugins\Goals\Metrics\RevenuePerVisit; /** * Adds goal related metrics to a {@link DataTable} using metrics that already exist. @@ -87,12 +94,6 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics $this->deleteRowsWithNoVisit = false; } - private function addColumn(Row $row, $columnName, $callback) - { - $this->expectedColumns[$columnName] = true; - $row->addColumn($columnName, $callback); - } - /** * Adds the processed metrics. See {@link AddColumnsProcessedMetrics} for * more information. @@ -104,40 +105,22 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics // Add standard processed metrics parent::filter($table); - $this->expectedColumns = array(); - - $metrics = new Metrics\ProcessedGoals(); - - foreach ($table->getRows() as $row) { - $goals = $metrics->getColumn($row, Metrics::INDEX_GOALS); + $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); - if (!$goals) { - continue; - } - - $this->addColumn($row, 'revenue_per_visit', function (Row $row) use ($metrics) { - return $metrics->getRevenuePerVisit($row); - }); - - if ($this->processOnlyIdGoal == self::GOALS_MINIMAL_REPORT) { - continue; - } - - foreach ($goals as $goalId => $goalMetrics) { - $goalId = str_replace("idgoal=", "", $goalId); + $goals = $this->getGoalsInTable($table); + // TODO: all metrics depend on 'goals' row paremter + $extraProcessedMetrics[] = new RevenuePerVisit(); + if ($this->processOnlyIdGoal != self::GOALS_MINIMAL_REPORT) { + foreach ($goals as $idGoal) { if (($this->processOnlyIdGoal > self::GOALS_FULL_TABLE || $this->isEcommerce) - && $this->processOnlyIdGoal != $goalId + && $this->processOnlyIdGoal != $idGoal ) { continue; } - $columnPrefix = 'goal_' . $goalId; - - $this->addColumn($row, $columnPrefix . '_conversion_rate', function (Row $row) use ($metrics, $goalMetrics) { - return $metrics->getConversionRate($row, $goalMetrics); - }); + $extraProcessedMetrics[] = new ConversionRate($idGoal); // PerGoal\ConversionRate // When the table is displayed by clicking on the flag icon, we only display the columns // Visits, Conversions, Per goal conversion rate, Revenue @@ -145,38 +128,20 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics continue; } - // Goal Conversions - $this->addColumn($row, $columnPrefix . '_nb_conversions', function () use ($metrics, $goalMetrics) { - return $metrics->getNbConversions($goalMetrics); - }); - - // Goal Revenue per visit - $this->addColumn($row, $columnPrefix . '_revenue_per_visit', function (Row $row) use ($metrics, $goalMetrics) { - return $metrics->getRevenuePerVisitForGoal($row, $goalMetrics); - }); - - // Total revenue - $this->addColumn($row, $columnPrefix . '_revenue', function () use ($metrics, $goalMetrics) { - return $metrics->getRevenue($goalMetrics); - }); + $extraProcessedMetrics[] = new Conversions($idGoal); // PerGoal\Conversions or GoalSpecific\ + $extraProcessedMetrics[] = new GoalSpecificRevenuePerVisit($idGoal); // PerGoal\Revenue + $extraProcessedMetrics[] = new Revenue($idGoal); // PerGoal\Revenue if ($this->isEcommerce) { - - // AOV Average Order Value - $this->addColumn($row, $columnPrefix . '_avg_order_revenue', function () use ($metrics, $goalMetrics) { - return $metrics->getAvgOrderRevenue($goalMetrics); - }); - - // Items qty - $this->addColumn($row, $columnPrefix . '_items', function () use ($metrics, $goalMetrics) { - return $metrics->getItems($goalMetrics); - }); - + $extraProcessedMetrics[] = new AverageOrderRevenue($idGoal); + $extraProcessedMetrics[] = new ItemsCount($idGoal); } } } - $expectedColumns = array_keys($this->expectedColumns); + $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); + + /*$expectedColumns = array_keys($this->expectedColumns); $rows = $table->getRows(); foreach ($rows as $row) { foreach ($expectedColumns as $name) { @@ -190,6 +155,27 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics } } } + }*/ + } + + private function getGoalsInTable(DataTable $table) + { + $metrics = new Metrics\Base(); // TODO: should probably get rid of Base too... + + $result = array(); + foreach ($table->getRows() as $row) { + $goals = $metrics->getColumn($row, Metrics::INDEX_GOALS); + if (!$goals) { + continue; + } + + foreach ($goals as $goalId => $goalMetrics) { + $goalId = str_replace("idgoal=", "", $goalId); + $result[] = $goalId; + } + + break; } + return $result; } -} +} \ No newline at end of file diff --git a/core/Metrics.php b/core/Metrics.php index 01e2e66ca2..4614cf2d0d 100644 --- a/core/Metrics.php +++ b/core/Metrics.php @@ -185,11 +185,20 @@ class Metrics public static function getMappingFromNameToId() { - static $idToName = null; - if ($idToName === null) { - $idToName = array_flip(self::$mappingFromIdToName); + static $nameToId = null; + if ($nameToId === null) { + $nameToId = array_flip(self::$mappingFromIdToName); } - return $idToName; + return $nameToId; + } + + public static function getMappingFromNameToIdGoal() + { + static $nameToId = null; + if ($nameToId === null) { + $nameToId = array_flip(self::$mappingFromIdToNameGoal); + } + return $nameToId; } /** diff --git a/core/Metrics/ProcessedGoals.php b/core/Metrics/ProcessedGoals.php index 6fb62231f3..eb981cb4c9 100644 --- a/core/Metrics/ProcessedGoals.php +++ b/core/Metrics/ProcessedGoals.php @@ -16,61 +16,6 @@ use Piwik\Tracker\GoalManager; class ProcessedGoals extends Base { - - public function getRevenuePerVisit(Row $row) - { - $goals = $this->getColumn($row, Metrics::INDEX_GOALS); - - $revenue = 0; - foreach ($goals as $goalId => $goalMetrics) { - if ($goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) { - continue; - } - if ($goalId >= GoalManager::IDGOAL_ORDER - || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER - ) { - $revenue += (int) $this->getColumn($goalMetrics, Metrics::INDEX_GOAL_REVENUE, Metrics::$mappingFromIdToNameGoal); - } - } - - if ($revenue == 0) { - $revenue = (int) $this->getColumn($row, Metrics::INDEX_REVENUE); - } - - $nbVisits = $this->getNumVisits($row); - $conversions = (int) $this->getColumn($row, Metrics::INDEX_NB_CONVERSIONS); - - // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit" - // even though it will actually be in this edge case "Revenue per conversion" - $revenuePerVisit = $this->invalidDivision; - - if ($nbVisits > 0 - || $conversions > 0 - ) { - $revenuePerVisit = round($revenue / ($nbVisits == 0 ? $conversions : $nbVisits), GoalManager::REVENUE_PRECISION); - } - - return $revenuePerVisit; - } - - public function getConversionRate(Row $row, $goalMetrics) - { - $nbVisits = $this->getNumVisits($row); - - if ($nbVisits == 0) { - $value = $this->invalidDivision; - } else { - $conversions = $this->getNbConversions($goalMetrics); - $value = round(100 * $conversions / $nbVisits, GoalManager::REVENUE_PRECISION); - } - - if (empty($value)) { - return '0%'; - } - - return $value . "%"; - } - public function getNbConversions($goalMetrics) { return (int) $this->getColumn($goalMetrics, @@ -85,28 +30,6 @@ class ProcessedGoals extends Base Metrics::$mappingFromIdToNameGoal); } - public function getRevenuePerVisitForGoal(Row $row, $goalMetrics) - { - $nbVisits = $this->getNumVisits($row); - - $div = $nbVisits; - if ($nbVisits == 0) { - $div = $this->getNbConversions($goalMetrics); - } - - $goalRevenue = $this->getRevenue($goalMetrics); - - return round($goalRevenue / $div, GoalManager::REVENUE_PRECISION); - } - - public function getAvgOrderRevenue($goalMetrics) - { - $goalRevenue = $this->getRevenue($goalMetrics); - $conversions = $this->getNbConversions($goalMetrics); - - return $goalRevenue / $conversions; - } - public function getItems($goalMetrics) { $items = $this->getColumn($goalMetrics, diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 3728dacac5..7a6033e8b7 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -63,17 +63,27 @@ abstract class Metric /** * TODO */ - public function getColumn(Row $row, $columnName, $mappingIdToName = null) + public function getColumn($row, $columnName, $mappingIdToName = null) { if (empty($mappingIdToName)) { $mappingIdToName = Metrics::getMappingFromNameToId(); } - $value = $row->getColumn($columnName); - if ($value === false - && isset($mappingIdToName[$columnName]) - ) { - $value = $row->getColumn($mappingIdToName[$columnName]); + if ($row instanceof Row) { + $value = $row->getColumn($columnName); + if ($value === false + && isset($mappingIdToName[$columnName]) + ) { + $value = $row->getColumn($mappingIdToName[$columnName]); + } + } else { + $value = $row[$columnName]; + if ($value === false + && isset($mappingIdToName[$columnName]) + ) { + $value = $row[$mappingIdToName[$columnName]]; + } + return $value; } return $value; diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php new file mode 100644 index 0000000000..ed2b0b1e09 --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -0,0 +1,47 @@ +getColumnPrefix() . '_avg_order_revenue'; + } + + public function getTranslatedName() + { + return self::getName(); // TODO??? + } + + public function getDependenctMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $row->getColumn($row, 'goals'); + + $goalRevenue = $this->getColumn($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + $conversions = $this->getColumn($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); + + return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php new file mode 100644 index 0000000000..c65e88fc6b --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -0,0 +1,50 @@ +getColumnPrefix() . '_conversion_rate'; + } + + public function getTranslatedName() + { + return self::getName(); // TODO??? + } + + public function getDependenctMetrics() + { + return array('goals'); + } + + public function format($value) + { + return ($value * 100) . '%'; + } + + public function compute(Row $row) + { + $goalMetrics = $this->getColumn($row, 'goals'); + + $nbVisits = $this->getColumn($row, 'nb_visits'); + $conversions = $this->getColumn($goalMetrics, 'nb_conversions'); + + return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php new file mode 100644 index 0000000000..a4ff02aeb2 --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecific/Conversions.php @@ -0,0 +1,39 @@ +getColumnPrefix() . '_nb_conversions'; + } + + public function getTranslatedName() + { + return self::getName(); // TODO??? + } + + public function getDependenctMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $goalMetrics = $this->getColumn($row, 'goals'); + return (int) $this->getCOlumn($goalMetrics, 'nb_conversions'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php new file mode 100644 index 0000000000..d7265e3a08 --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php @@ -0,0 +1,39 @@ +getColumnPrefix() . '_items'; + } + + public function getTranslatedName() + { + return self::getName(); // TODO??? + } + + public function getDependenctMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $goalMetrics = $this->getColumn($row, 'goals'); + return (int) $this->getCOlumn($goalMetrics, 'items'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php new file mode 100644 index 0000000000..1658425bbb --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -0,0 +1,39 @@ +getColumnPrefix() . '_revenue'; + } + + public function getTranslatedName() + { + return self::getName(); // TODO??? + } + + public function getDependenctMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $goalMetrics = $this->getColumn($row, 'goals'); + return (float) $this->getCOlumn($goalMetrics, 'revenue'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php new file mode 100644 index 0000000000..403f415f8b --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -0,0 +1,47 @@ +getColumnPrefix() . '_revenue_per_visit'; + } + + public function getTranslatedName() + { + return self::getName(); // TODO??? + } + + public function getDependenctMetrics() + { + return array('goals', 'nb_visits'); + } + + public function compute(Row $row) + { + $goalMetrics = $this->getColumn($row, 'goals'); + + $nbVisits = $this->getColumn($row, 'nb_visits'); + $conversions = $this->getColumn($goalMetrics, 'nb_conversions'); + + $goalRevenue = (float) $this->getColumn($goalMetrics, 'revenue'); + + return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php new file mode 100644 index 0000000000..e75cec74fa --- /dev/null +++ b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php @@ -0,0 +1,38 @@ +idGoal = $idGoal; + } + + protected function getColumnPrefix() + { + return 'goal_' . $this->idGoal; + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php new file mode 100644 index 0000000000..d20af74d4e --- /dev/null +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -0,0 +1,64 @@ +getColumn($row, 'goals'); + + $revenue = 0; + foreach ($goals as $goalId => $goalMetrics) { + if ($goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) { + continue; + } + if ($goalId >= GoalManager::IDGOAL_ORDER + || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER + ) { + $revenue += (int) $this->getColumn($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + } + } + + if ($revenue == 0) { + $revenue = (int) $this->getColumn($row, 'revenue'); + } + + $nbVisits = (int) $this->getColumn($row, 'nb_visits'); + $conversions = (int) $this->getColumn($row, 'nb_conversions'); + + // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit" + // even though it will actually be in this edge case "Revenue per conversion" + return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); + } +} \ No newline at end of file -- cgit v1.2.3 From 1664b22d783327de70d2b83de97f66940bff9ec5 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 14:37:53 -0800 Subject: Fixing some tests and removing processed metrics file (no longer used). --- core/API/DataTableGenericFilter.php | 2 +- .../Filter/AddColumnsProcessedMetrics.php | 2 +- core/Metrics/Processed.php | 67 ---------------------- core/Metrics/ProcessedGoals.php | 46 --------------- core/Plugin/Report.php | 15 +++++ .../VisitFrequency/Metrics/BounceRateReturning.php | 3 +- plugins/VisitsSummary/Reports/Get.php | 12 +++- 7 files changed, 28 insertions(+), 119 deletions(-) delete mode 100644 core/Metrics/Processed.php delete mode 100644 core/Metrics/ProcessedGoals.php diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index 9cb7599147..e45685df8c 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -216,7 +216,7 @@ class DataTableGenericFilter foreach ($columnQueryParameters as $queryParamName) { $queryParamValue = Common::getRequestVar($queryParamName, false); if (!empty($queryParamValue) - && ProcessedMetric::isProcessedMetric($queryParamValue) // TODO + && $this->report->hasProcessedMetric($queryParamValue) ) { return true; } diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php index 06cdc154ea..21fbef976a 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php @@ -81,7 +81,7 @@ class AddColumnsProcessedMetrics extends BaseFilter private function deleteRowsWithNoVisit(DataTable $table) { - $metrics = new Metrics\Processed(); + $metrics = new Metrics\Base(); foreach ($table->getRows() as $key => $row) { $nbVisits = $metrics->getColumn($row, Metrics::INDEX_NB_VISITS); diff --git a/core/Metrics/Processed.php b/core/Metrics/Processed.php deleted file mode 100644 index 5fe38e9363..0000000000 --- a/core/Metrics/Processed.php +++ /dev/null @@ -1,67 +0,0 @@ -getNumVisits($row); - - $nbVisitsConverted = (int) $this->getColumn($row, Metrics::INDEX_NB_VISITS_CONVERTED); - if ($nbVisitsConverted > 0) { - $conversionRate = round(100 * $nbVisitsConverted / $nbVisits, $this->roundPrecision); - - return $conversionRate . '%'; - } - } - - public function getActionsPerVisit(Row $row) - { - $nbVisits = $this->getNumVisits($row); - $nbActions = $this->getColumn($row, Metrics::INDEX_NB_ACTIONS); - - if ($nbVisits == 0) { - return $this->invalidDivision; - } - - return round($nbActions / $nbVisits, $this->roundPrecision); - } - - public function getAvgTimeOnSite(Row $row) - { - $nbVisits = $this->getNumVisits($row); - - if ($nbVisits == 0) { - return $this->invalidDivision; - } - - $visitLength = $this->getColumn($row, Metrics::INDEX_SUM_VISIT_LENGTH); - - return round($visitLength / $nbVisits, $rounding = 0); - } - - public function getBounceRate(Row $row) - { - $nbVisits = $this->getNumVisits($row); - - if ($nbVisits == 0) { - return $this->invalidDivision; - } - - $bounceRate = round($this->getColumn($row, Metrics::INDEX_BOUNCE_COUNT) / $nbVisits, $this->roundPrecision); - - return $bounceRate; - } -} \ No newline at end of file diff --git a/core/Metrics/ProcessedGoals.php b/core/Metrics/ProcessedGoals.php deleted file mode 100644 index eb981cb4c9..0000000000 --- a/core/Metrics/ProcessedGoals.php +++ /dev/null @@ -1,46 +0,0 @@ -getColumn($goalMetrics, - Metrics::INDEX_GOAL_NB_CONVERSIONS, - Metrics::$mappingFromIdToNameGoal); - } - - public function getRevenue($goalMetrics) - { - return (float) $this->getColumn($goalMetrics, - Metrics::INDEX_GOAL_REVENUE, - Metrics::$mappingFromIdToNameGoal); - } - - public function getItems($goalMetrics) - { - $items = $this->getColumn($goalMetrics, - Metrics::INDEX_GOAL_ECOMMERCE_ITEMS, - Metrics::$mappingFromIdToNameGoal); - - if (empty($items)) { - return 0; - } - - return $items; - } - -} \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 76e8f66f45..91a07377fb 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -746,6 +746,21 @@ class Report } } + /** + * TODO + */ + public function hasProcessedMetric($name) + { + foreach ($this->processedMetrics as $metric) { + if ($metric instanceof ProcessedMetric + && $metric->getName() == $name + ) { + return true; + } + } + return false; + } + /** * Get an instance of a specific report belonging to the given module and having the given action. * @param string $module diff --git a/plugins/VisitFrequency/Metrics/BounceRateReturning.php b/plugins/VisitFrequency/Metrics/BounceRateReturning.php index d8f572c3a4..9d9f2f89f9 100644 --- a/plugins/VisitFrequency/Metrics/BounceRateReturning.php +++ b/plugins/VisitFrequency/Metrics/BounceRateReturning.php @@ -7,7 +7,6 @@ */ namespace Piwik\Plugins\VisitFrequency\Metrics; -use Exception; use Piwik\DataTable\Row; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -34,7 +33,7 @@ class BounceRateReturning extends ProcessedMetric public function compute(Row $row) { - // empty (metric is not computed, it is copied from segmented report) + return 0; // (metric is not computed, it is copied from segmented report) } public function getDependenctMetrics() diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index 83493dc1ef..32fc2a2644 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -43,9 +43,17 @@ class Get extends \Piwik\Plugin\Report { $metrics = parent::getMetrics(); - $metrics['avg_time_on_site'] = Piwik::translate('General_VisitDuration'); $metrics['max_actions'] = Piwik::translate('General_ColumnMaxActions'); return $metrics; } -} + + public function getProcessedMetrics() + { + $metrics = parent::getMetrics(); + + $metrics['avg_time_on_site'] = Piwik::translate('General_VisitDuration'); + + return $metrics; + } +} \ No newline at end of file -- cgit v1.2.3 From 6672912f7a5841784a97a1f5b5359df6b1a0f0bb Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 15:22:09 -0800 Subject: Remove 'temporaryMetrics', add processed metrics for VisitFrequency.get and fixing some tests. --- core/Plugin/Report.php | 7 --- plugins/API/API.php | 3 +- plugins/API/Reports/Get.php | 9 ---- .../VisitFrequency/Metrics/BounceRateReturning.php | 43 ---------------- plugins/VisitFrequency/Metrics/ReturningMetric.php | 59 ++++++++++++++++++++++ plugins/VisitFrequency/Reports/Get.php | 11 ++-- plugins/VisitsSummary/Reports/Get.php | 2 +- ...etReportMetadata__API.getReportMetadata_day.xml | 30 +++++------ .../test_apiGetReportMetadata__API.get_day.xml | 19 ++++--- ..._showRawMetrics__API.getProcessedReport_day.xml | 2 +- 10 files changed, 91 insertions(+), 94 deletions(-) delete mode 100644 plugins/VisitFrequency/Metrics/BounceRateReturning.php create mode 100644 plugins/VisitFrequency/Metrics/ReturningMetric.php diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 91a07377fb..e5c862cf32 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -127,13 +127,6 @@ class Report public $processedMetrics = array('nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'); // for a little performance improvement we avoid having to call Metrics::getDefaultProcessedMetrics for each report - /** - * TODO - * - * TODO: shouldn't be public - */ - public $temporaryMetrics = array(); - /** * Set this property to true in case your report supports goal metrics. In this case, the goal metrics will be * automatically added to the report metadata and the report will be displayed in the Goals UI. diff --git a/plugins/API/API.php b/plugins/API/API.php index 9d7d364187..5af04194ae 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -381,7 +381,8 @@ class API extends \Piwik\Plugin\API && !empty($reportMeta['metrics']) ) { $plugin = $reportMeta['module']; - foreach ($reportMeta['metrics'] as $column => $columnTranslation) { + $allMetrics = array_merge($reportMeta['metrics'], @$reportMeta['processedMetrics'] ?: array()); + foreach ($allMetrics as $column => $columnTranslation) { // a metric from this report has been requested if (isset($columnsMap[$column]) // or by default, return all metrics diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php index f8e7e5280c..2ed936cd08 100644 --- a/plugins/API/Reports/Get.php +++ b/plugins/API/Reports/Get.php @@ -48,15 +48,6 @@ class Get extends Report $this->metrics = array_merge($this->metrics, $report->metrics); } - $this->temporaryMetrics = array(); - foreach ($this->reportsToMerge as $report) { - if (!is_array($report->temporaryMetrics)) { - continue; - } - - $this->temporaryMetrics = array_merge($this->temporaryMetrics, $report->temporaryMetrics); - } - // Used to process metrics, not displayed/used directly // 'sum_visit_length', // 'nb_visits_converted', diff --git a/plugins/VisitFrequency/Metrics/BounceRateReturning.php b/plugins/VisitFrequency/Metrics/BounceRateReturning.php deleted file mode 100644 index 9d9f2f89f9..0000000000 --- a/plugins/VisitFrequency/Metrics/BounceRateReturning.php +++ /dev/null @@ -1,43 +0,0 @@ - 'ColumnAverageVisitDurationForReturningVisitors', + 'nb_actions_per_visit_returning' => 'ColumnAvgActionsPerReturningVisit', + 'bounce_rate_returning' => 'ColumnBounceRateForReturningVisits', + ); + + /** + * @var ProcessedMetric + */ + private $wrapped; + + public function __construct(ProcessedMetric $wrapped) + { + $this->wrapped = $wrapped; + } + + public function getName() + { + return $this->wrapped->getName() . '_returning'; + } + + public function getTranslatedName() + { + return Piwik::translate(self::$translations[$this->getName()]); + } + + public function format($value) + { + return $this->wrapped->format($value); + } + + public function compute(Row $row) + { + return 0; // (metric is not computed, it is copied from segmented report) + } + + public function getDependenctMetrics() + { + return array(); + } +} \ No newline at end of file diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php index f1cf21293c..332b9b6e09 100644 --- a/plugins/VisitFrequency/Reports/Get.php +++ b/plugins/VisitFrequency/Reports/Get.php @@ -9,7 +9,10 @@ namespace Piwik\Plugins\VisitFrequency\Reports; use Piwik\Piwik; -use Piwik\Plugins\VisitFrequency\Metrics\BounceRateReturning; +use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; +use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; +use Piwik\Plugins\CoreHome\Metrics\BounceRate; +use Piwik\Plugins\VisitFrequency\Metrics\ReturningMetric; class Get extends \Piwik\Plugin\Report { @@ -20,13 +23,13 @@ class Get extends \Piwik\Plugin\Report $this->name = Piwik::translate('VisitFrequency_ColumnReturningVisits'); $this->documentation = ''; // TODO $this->processedMetrics = array( - new BounceRateReturning() + new ReturningMetric(new AverageTimeOnSite()), + new ReturningMetric(new ActionsPerVisit()), + new ReturningMetric(new BounceRate()) ); $this->metrics = array( 'nb_visits_returning', 'nb_actions_returning', - 'avg_time_on_site_returning', - 'nb_actions_per_visit_returning', 'nb_uniq_visitors_returning', 'sum_visit_length_returning', 'nb_users_returning', diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index 32fc2a2644..e2ba265704 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -50,7 +50,7 @@ class Get extends \Piwik\Plugin\Report public function getProcessedMetrics() { - $metrics = parent::getMetrics(); + $metrics = parent::getProcessedMetrics(); $metrics['avg_time_on_site'] = Piwik::translate('General_VisitDuration'); diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 005ad10245..ce93308a2e 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -21,8 +21,6 @@ Revenue Returning Visits Actions by Returning Visits - Avg. Duration of a Returning Visit (in sec) - Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) Returning Users @@ -32,8 +30,6 @@ Visits Users Actions - Actions per Visit - Avg. Visit Duration (in seconds) Maximum actions in one visit @@ -50,12 +46,14 @@ If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. - The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The average duration of a visit. + Avg. Duration of a Returning Visit (in sec) + Avg. Actions per Returning Visit Bounce Rate for Returning Visits Bounce Rate + Actions per Visit + Avg. Time on Website index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04 @@ -133,8 +131,6 @@ Visits Users Actions - Actions per Visit - Avg. Visit Duration (in seconds) Maximum actions in one visit @@ -142,11 +138,11 @@ If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. - The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The average duration of a visit. Bounce Rate + Actions per Visit + Avg. Visit Duration (in seconds) index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2008-12-06,2009-01-04 @@ -1844,8 +1840,6 @@ Returning Visits Actions by Returning Visits - Avg. Duration of a Returning Visit (in sec) - Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) Returning Users @@ -1853,6 +1847,8 @@ Maximum actions in one returning visit + Avg. Duration of a Returning Visit (in sec) + Avg. Actions per Returning Visit Bounce Rate for Returning Visits index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitFrequency&apiAction=get&period=day&date=2008-12-06,2009-01-04 @@ -2134,8 +2130,6 @@ Revenue Returning Visits Actions by Returning Visits - Avg. Duration of a Returning Visit (in sec) - Avg. Actions per Returning Visit Unique returning visitors Total time spent by returning visitors (in seconds) Returning Users @@ -2145,8 +2139,6 @@ Visits Users Actions - Actions per Visit - Avg. Visit Duration (in seconds) Maximum actions in one visit Subtotal Tax @@ -2156,8 +2148,12 @@ Average Order Value + Avg. Duration of a Returning Visit (in sec) + Avg. Actions per Returning Visit Bounce Rate for Returning Visits Bounce Rate + Actions per Visit + Avg. Visit Duration (in seconds) The number of times this page was visited. @@ -2173,8 +2169,6 @@ If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. - The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The average duration of a visit. API_get diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml index a69bb4a656..d4b0c6d61d 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml @@ -1,27 +1,24 @@ 1 - 0 1 + 0 1 - 1 + 1 1 1086 - 1 - 1 - 1086 - 0 - 0 0 0 - 0 - 0 + 0 0 + 0 + 0 0 + 0% 0 0 - 0% 1 + 1 100 42.26 1 @@ -34,4 +31,6 @@ 0 0 100% + 1 + 1086 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_showRawMetrics__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_showRawMetrics__API.getProcessedReport_day.xml index 4b38b3da7f..a701470308 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_showRawMetrics__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_showRawMetrics__API.getProcessedReport_day.xml @@ -64,7 +64,7 @@ 1 $ 42.26 - 0 + 0% 1 00:18:06 100% -- cgit v1.2.3 From b870c6a83be9f319d2ade9299d0fbfda51cf9ebc Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 16:20:49 -0800 Subject: Converted Actions.get API method to use processed metrics. --- .../Filter/ColumnCallbackAddColumnQuotient.php | 2 + plugins/Actions/API.php | 55 ++++------------------ .../Actions/Metrics/AveragePageGenerationTime.php | 42 +++++++++++++++++ plugins/Actions/Reports/Get.php | 7 ++- ...etReportMetadata__API.getReportMetadata_day.xml | 11 ++--- ...etadata_hideMetricsDoc__API.getMetadata_day.xml | 4 +- ..._hideMetricsDoc__API.getProcessedReport_day.xml | 4 +- 7 files changed, 68 insertions(+), 57 deletions(-) create mode 100644 plugins/Actions/Metrics/AveragePageGenerationTime.php diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php index 81d8eadf04..c905fc8081 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php @@ -23,6 +23,8 @@ use Piwik\DataTable\Row; * * $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', array('bounce_rate', 'bounce_count', 'nb_visits', $precision = 2)); * + * TODO: deprecate filters meant for processed metrics? shouldn't remove, but could deprecate. + * * @api */ class ColumnCallbackAddColumnQuotient extends BaseFilter diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index ed161bdfec..d847c17be7 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -16,6 +16,7 @@ use Piwik\DataTable; use Piwik\Date; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\Plugin\Report; use Piwik\Plugins\CustomVariables\API as APICustomVariables; use Piwik\Plugins\Actions\Actions\ActionSiteSearch; use Piwik\Tracker\Action; @@ -52,58 +53,18 @@ class API extends \Piwik\Plugin\API Piwik::checkUserHasViewAccess($idSite); $archive = Archive::build($idSite, $period, $date, $segment); - $metrics = Archiver::$actionsAggregateMetrics; - $metrics['Actions_avg_time_generation'] = 'avg_time_generation'; - - // get requested columns $columns = Piwik::getArrayFromApiParameter($columns); - if (!empty($columns)) { - // get the columns that are available and requested - $columns = array_intersect($columns, array_values($metrics)); - $columns = array_values($columns); // make sure indexes are right - $nameReplace = array(); - foreach ($columns as $i => $column) { - $fullColumn = array_search($column, $metrics); - $columns[$i] = $fullColumn; - $nameReplace[$fullColumn] = $column; - } - - if (false !== ($avgGenerationTimeRequested = array_search('Actions_avg_time_generation', $columns))) { - unset($columns[$avgGenerationTimeRequested]); - $avgGenerationTimeRequested = true; - } - } else { - // get all columns - unset($metrics['Actions_avg_time_generation']); - $columns = array_keys($metrics); - $nameReplace = & $metrics; - $avgGenerationTimeRequested = true; - } + $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport(Archiver::$actionsAggregateMetrics, $columns); - if ($avgGenerationTimeRequested) { - $tempColumns = array( - Archiver::METRIC_SUM_TIME_RECORD_NAME, - Archiver::METRIC_HITS_TIMED_RECORD_NAME, - ); - $columns = array_merge($columns, $tempColumns); - $columns = array_unique($columns); - - $nameReplace[Archiver::METRIC_SUM_TIME_RECORD_NAME] = 'sum_time_generation'; - $nameReplace[Archiver::METRIC_HITS_TIMED_RECORD_NAME] = 'nb_hits_with_time_generation'; - } + $inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns); + $dataTable = $archive->getDataTableFromNumeric($inDbColumnNames); - $table = $archive->getDataTableFromNumeric($columns); + $newNameMapping = array_combine(array_values($inDbColumnNames), $columns); + $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); - // replace labels (remove Actions_) - $table->filter('ReplaceColumnNames', array($nameReplace)); + $dataTable->filter('ColumnDelete', array(array('sum_time_generation','nb_hits_with_time_generation'))); - // compute avg generation time - if ($avgGenerationTimeRequested) { - $table->filter('ColumnCallbackAddColumnQuotient', array('avg_time_generation', 'sum_time_generation', 'nb_hits_with_time_generation', 3)); - $table->deleteColumns(array('sum_time_generation', 'nb_hits_with_time_generation')); - } - - return $table; + return $dataTable; } /** diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php new file mode 100644 index 0000000000..01d7e04e4c --- /dev/null +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -0,0 +1,42 @@ +getColumn($row, Archiver::METRIC_SUM_TIME_RECORD_NAME); + $hitsWithTimeGeneration = $this->getColumn($row, Archiver::METRIC_HITS_TIMED_RECORD_NAME); + + return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); + } +} \ No newline at end of file diff --git a/plugins/Actions/Reports/Get.php b/plugins/Actions/Reports/Get.php index 612666c32a..da907315cd 100644 --- a/plugins/Actions/Reports/Get.php +++ b/plugins/Actions/Reports/Get.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; class Get extends Base { @@ -19,6 +20,9 @@ class Get extends Base $this->name = Piwik::translate('General_Actions') . ' - ' . Piwik::translate('General_MainMetrics'); $this->documentation = ''; // TODO $this->order = 1; + $this->processedMetrics = array( + new AveragePageGenerationTime() + ); $this->metrics = array( 'nb_pageviews', 'nb_uniq_pageviews', @@ -27,8 +31,7 @@ class Get extends Base 'nb_outlinks', 'nb_uniq_outlinks', 'nb_searches', - 'nb_keywords', - 'avg_time_generation' + 'nb_keywords' ); } } diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index ce93308a2e..f4739f52cb 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -14,7 +14,6 @@ Unique Outlinks Searches Unique Keywords - Avg. generation time Conversions Visits with Conversions Conversion Rate @@ -40,7 +39,6 @@ The number of times this link was clicked. The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. The number of visits that searched for this keyword on your website's search engine. - The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! The percentage of visits that triggered a goal conversion. The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day. If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. @@ -48,6 +46,7 @@ The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. + Avg. generation time Avg. Duration of a Returning Visit (in sec) Avg. Actions per Returning Visit Bounce Rate for Returning Visits @@ -724,7 +723,6 @@ Unique Outlinks Searches Unique Keywords - Avg. generation time The number of times this page was visited. @@ -734,8 +732,10 @@ The number of times this link was clicked. The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. The number of visits that searched for this keyword on your website's search engine. - The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! + + Avg. generation time + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2008-12-06,2009-01-04 Actions_get @@ -2123,7 +2123,6 @@ Unique Outlinks Searches Unique Keywords - Avg. generation time Conversions Visits with Conversions Conversion Rate @@ -2148,6 +2147,7 @@ Average Order Value + Avg. generation time Avg. Duration of a Returning Visit (in sec) Avg. Actions per Returning Visit Bounce Rate for Returning Visits @@ -2163,7 +2163,6 @@ The number of times this link was clicked. The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. The number of visits that searched for this keyword on your website's search engine. - The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! The percentage of visits that triggered a goal conversion. The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day. If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getMetadata_day.xml index 590b2acbe5..7e1c898ec6 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getMetadata_day.xml @@ -14,8 +14,10 @@ Unique Outlinks Searches Unique Keywords - Avg. generation time + + Avg. generation time + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2008-12-06,2009-01-04 Actions_get diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml index 6eb752956e..7f2181f658 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml @@ -16,8 +16,10 @@ Unique Outlinks Searches Unique Keywords - Avg. generation time + + Avg. generation time + index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2008-12-06,2009-01-04 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2008-12-06,2009-01-04 Actions_get -- cgit v1.2.3 From 7f94d08876f6b6553ab0b5123b0e61912e620cde Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 17:43:48 -0800 Subject: Convert Goals.get to use processed metrics. --- plugins/Actions/API.php | 2 +- plugins/Goals/API.php | 67 +++++++--------------- plugins/Goals/Metrics/AverageOrderPerVisit.php | 0 plugins/Goals/Metrics/AverageOrderRevenue.php | 41 +++++++++++++ plugins/Goals/Reports/Get.php | 2 + ...eduledReports.generateReport_week.original.html | 2 +- 6 files changed, 67 insertions(+), 47 deletions(-) create mode 100644 plugins/Goals/Metrics/AverageOrderPerVisit.php create mode 100644 plugins/Goals/Metrics/AverageOrderRevenue.php diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index d847c17be7..e98005fded 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -59,7 +59,7 @@ class API extends \Piwik\Plugin\API $inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns); $dataTable = $archive->getDataTableFromNumeric($inDbColumnNames); - $newNameMapping = array_combine(array_values($inDbColumnNames), $columns); + $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); $dataTable->filter('ColumnDelete', array(array('sum_time_generation','nb_hits_with_time_generation'))); diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index c76054aab9..f774bee68d 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -15,6 +15,8 @@ use Piwik\DataTable; use Piwik\Db; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\Plugin\Report; +use Piwik\Plugins\Goals\Metrics\AverageOrderRevenue; use Piwik\Site; use Piwik\Tracker\Cache; use Piwik\Tracker\GoalManager; @@ -334,61 +336,36 @@ class API extends \Piwik\Plugin\API { Piwik::checkUserHasViewAccess($idSite); $archive = Archive::build($idSite, $period, $date, $segment); - $columns = Piwik::getArrayFromApiParameter($columns); // Mapping string idGoal to internal ID $idGoal = self::convertSpecialGoalIds($idGoal); - if (empty($columns)) { - $columns = Goals::getGoalColumns($idGoal); - if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { - $columns[] = 'avg_order_revenue'; - } - } - if (in_array('avg_order_revenue', $columns) - && $idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER + $allMetrics = Goals::getGoalColumns($idGoal); + + $columns = Piwik::getArrayFromApiParameter($columns); + $columnsToGet = Report::factory("Goals", "get")->getMetricsRequiredForReport($allMetrics, $columns); + + $inDbMetricNames = array_map(function ($value) use ($idGoal) { return Archiver::getRecordName($value, $idGoal); }, $columnsToGet); + $dataTable = $archive->getDataTableFromNumeric($inDbMetricNames); + + $newNameMapping = array_combine($inDbMetricNames, $columnsToGet); + $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); + + // TODO: this should be in Goals/Get.php but it depends on idGoal parameter which isn't always in _GET (ie, + // it's not in ProcessedReport.php). more refactoring must be done to report class before this can be + // corrected. + if ((in_array('avg_order_revenue', $columns) + || empty($columns)) + && $idGoal === GoalManager::IDGOAL_ORDER ) { - $columns[] = 'nb_conversions'; - $columns[] = 'revenue'; - $columns = array_values(array_unique($columns)); - } - $columnsToSelect = array(); - foreach ($columns as &$columnName) { - $columnsToSelect[] = Archiver::getRecordName($columnName, $idGoal); + $extraProcessedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); + $extraProcessedMetrics[] = new AverageOrderRevenue(); + $dataTable->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); } - $dataTable = $archive->getDataTableFromNumeric($columnsToSelect); - // Rewrite column names as we expect them - foreach ($columnsToSelect as $id => $oldName) { - $dataTable->renameColumn($oldName, $columns[$id]); - } - if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { - if ($dataTable instanceof DataTable\Map) { - foreach ($dataTable->getDataTables() as $row) { - $this->enrichTable($row); - } - } else { - $this->enrichTable($dataTable); - } - } return $dataTable; } - protected function enrichTable($table) - { - $row = $table->getFirstRow(); - if (!$row) { - return; - } - // AVG order per visit - if (false !== $table->getColumn('avg_order_revenue')) { - $conversions = $row->getColumn('nb_conversions'); - if ($conversions) { - $row->setColumn('avg_order_revenue', round($row->getColumn('revenue') / $conversions, 2)); - } - } - } - protected function getNumeric($idSite, $period, $date, $segment, $toFetch) { Piwik::checkUserHasViewAccess($idSite); diff --git a/plugins/Goals/Metrics/AverageOrderPerVisit.php b/plugins/Goals/Metrics/AverageOrderPerVisit.php new file mode 100644 index 0000000000..e69de29bb2 diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php new file mode 100644 index 0000000000..56e3e2e2e9 --- /dev/null +++ b/plugins/Goals/Metrics/AverageOrderRevenue.php @@ -0,0 +1,41 @@ +getColumn($row, 'revenue'); + $conversions = $this->getColumn($row, 'nb_conversions'); + + return Piwik::getQuotientSafe($revenue, $conversions, $precision = 2); + } + + public function getTranslatedName() + { + return Piwik::translate(''); // TODO: no translated name? + } + + public function getDependenctMetrics() + { + return array('revenue', 'nb_conversions'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Reports/Get.php b/plugins/Goals/Reports/Get.php index 7fd804ec26..cd790fec49 100644 --- a/plugins/Goals/Reports/Get.php +++ b/plugins/Goals/Reports/Get.php @@ -8,7 +8,9 @@ */ namespace Piwik\Plugins\Goals\Reports; +use Piwik\Common; use Piwik\Piwik; +use Piwik\Plugins\Goals\Metrics\AverageOrderRevenue; class Get extends BaseGoal { diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index dbe23a2221..5116a93633 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -567,7 +567,7 @@ - Avg. Time on Website + Avg. Visit Duration (in seconds) 00:22:49 -- cgit v1.2.3 From b0717253476d3b704d127f49985d9f7165f3facc Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 18:15:39 -0800 Subject: Allow processed metrics to provide metric documentation. --- core/Plugin/Metric.php | 8 ++++++++ core/Plugin/Report.php | 17 +++++++++++++++++ ..._apiGetReportMetadata__API.getReportMetadata_day.xml | 12 ++++++++++++ 3 files changed, 37 insertions(+) diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 7a6033e8b7..2c4410c548 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -52,6 +52,14 @@ abstract class Metric */ abstract public function getTranslatedName(); + /** + * TODO + */ + public function getDocumentation() + { + return ""; + } + /** * TODO */ diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index e5c862cf32..21e6058606 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -428,6 +428,23 @@ class Report } } + $processedMetrics = $this->processedMetrics ?: array(); + foreach ($processedMetrics as $processedMetric) { + if (!($processedMetric instanceof ProcessedMetric)) { + continue; + } + + $name = $processedMetric->getName(); + $metricDocs = $processedMetric->getDocumentation(); + if (empty($metricDocs)) { + $metricDocs = @$translations[$name]; + } + + if (!empty($metricDocs)) { + $documentation[$processedMetric->getName()] = $metricDocs; + } + } + return $documentation; } diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index f4739f52cb..e4f13e2e83 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -44,6 +44,10 @@ If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. + The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! + The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. + The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. + The average duration of a visit. Avg. generation time @@ -137,6 +141,9 @@ If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. + The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. + The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. + The average duration of a visit. Bounce Rate @@ -732,6 +739,7 @@ The number of times this link was clicked. The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. The number of visits that searched for this keyword on your website's search engine. + The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! Avg. generation time @@ -2168,6 +2176,10 @@ If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. + The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! + The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. + The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. + The average duration of a visit. API_get -- cgit v1.2.3 From 46e81357369b935f7a747b33d0ce6851d1deddc2 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 18:21:38 -0800 Subject: Remove redundant API.get metadata entry. --- plugins/API/ProcessedReport.php | 37 ------------ plugins/API/Reports/Get.php | 8 +-- ...etReportMetadata__API.getReportMetadata_day.xml | 68 +--------------------- 3 files changed, 4 insertions(+), 109 deletions(-) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index f3be5e3359..9b317a15d2 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -263,9 +263,6 @@ class ProcessedReport // Sort results to ensure consistent order usort($availableReports, array('self', 'sortReports')); - // Add the magic API.get report metadata aggregating all plugins API.get API calls automatically - $this->addApiGetMetdata($availableReports); - $knownMetrics = array_merge(Metrics::getDefaultMetrics(), Metrics::getDefaultProcessedMetrics()); $columnsToKeep = $this->getColumnsToKeep(); $columnsToRemove = $this->getColumnsToRemove(); @@ -362,40 +359,6 @@ class ProcessedReport : $category; } - /** - * Add the metadata for the API.get report - * In other plugins, this would hook on 'API.getReportMetadata' - */ - private function addApiGetMetdata(&$availableReports) - { - $metadata = array( - 'category' => Piwik::translate('General_API'), - 'name' => Piwik::translate('General_MainMetrics'), - 'module' => 'API', - 'action' => 'get', - 'metrics' => array(), - 'processedMetrics' => array(), - 'metricsDocumentation' => array(), - 'order' => 1 - ); - - $indexesToMerge = array('metrics', 'processedMetrics', 'metricsDocumentation'); - - foreach ($availableReports as $report) { - if ($report['action'] == 'get') { - foreach ($indexesToMerge as $index) { - if (isset($report[$index]) - && is_array($report[$index]) - ) { - $metadata[$index] = array_merge($metadata[$index], $report[$index]); - } - } - } - } - - $availableReports[] = $metadata; - } - public function getProcessedReport($idSite, $period, $date, $apiModule, $apiAction, $segment = false, $apiParameters = false, $idGoal = false, $language = false, $showTimer = true, $hideMetricsDoc = false, $idSubtable = false, $showRawMetrics = false) diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php index 2ed936cd08..8f3c409ecd 100644 --- a/plugins/API/Reports/Get.php +++ b/plugins/API/Reports/Get.php @@ -8,6 +8,7 @@ */ namespace Piwik\Plugins\API\Reports; +use Piwik\Piwik; use Piwik\Plugin\Manager; use Piwik\Plugin\Report; @@ -27,8 +28,8 @@ class Get extends Report $this->reportsToMerge = $this->getReportsToMerge(); $this->category = 'API'; - $this->name = 'All Metrics'; // TODO: translate - $this->documentation = ''; // TODO + $this->name = Piwik::translate('General_MainMetrics'); + $this->documentation = ''; $this->processedMetrics = array(); foreach ($this->reportsToMerge as $report) { @@ -48,9 +49,6 @@ class Get extends Report $this->metrics = array_merge($this->metrics, $report->metrics); } - // Used to process metrics, not displayed/used directly -// 'sum_visit_length', -// 'nb_visits_converted', $this->order = 1; } diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index e4f13e2e83..4b7b68280f 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -2,7 +2,7 @@ API - All Metrics + Main metrics API get @@ -2117,70 +2117,4 @@ index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowserEngines&period=day&date=2008-12-06,2009-01-04 DevicesDetection_getBrowserEngines - - API - Main metrics - API - get - - Pageviews - Unique Pageviews - Downloads - Unique Downloads - Outlinks - Unique Outlinks - Searches - Unique Keywords - Conversions - Visits with Conversions - Conversion Rate - Revenue - Returning Visits - Actions by Returning Visits - Unique returning visitors - Total time spent by returning visitors (in seconds) - Returning Users - Number of converted returning visits - Maximum actions in one returning visit - Unique visitors - Visits - Users - Actions - Maximum actions in one visit - Subtotal - Tax - Shipping - Discount - Products left in cart - Average Order Value - - - Avg. generation time - Avg. Duration of a Returning Visit (in sec) - Avg. Actions per Returning Visit - Bounce Rate for Returning Visits - Bounce Rate - Actions per Visit - Avg. Visit Duration (in seconds) - - - The number of times this page was visited. - The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once. - The number of times this link was clicked. - The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. - The number of times this link was clicked. - The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once. - The number of visits that searched for this keyword on your website's search engine. - The percentage of visits that triggered a goal conversion. - The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day. - If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit. - The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId'). - The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks. - The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors! - The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. - The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits. - The average duration of a visit. - - API_get - \ No newline at end of file -- cgit v1.2.3 From 2755791a3e0e62a22e405f976939e24a5cc4a46f Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 6 Nov 2014 18:59:11 -0800 Subject: Fixing some tests and providing better output in system test case failure. --- plugins/Goals/API.php | 8 +++++--- tests/PHPUnit/Framework/TestCase/SystemTestCase.php | 3 ++- ...ArchiveCronTest_noOptions__VisitsSummary.get_day.xml | 2 +- ...chiveCronTest_noOptions__VisitsSummary.get_month.xml | 6 +++--- ...oSuggestAPITest_actions__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_browserCode__VisitsSummary.get_range.xml | 4 ++-- ...stAPITest_browserEngine__VisitsSummary.get_range.xml | 2 +- ...tAPITest_browserVersion__VisitsSummary.get_range.xml | 4 ++-- ...AutoSuggestAPITest_city__VisitsSummary.get_range.xml | 2 +- ...stAPITest_continentCode__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_countryCode__VisitsSummary.get_range.xml | 2 +- ...est_customVariableName1__VisitsSummary.get_range.xml | 4 ++-- ...est_customVariableName5__VisitsSummary.get_range.xml | 4 ++-- ...customVariablePageName2__VisitsSummary.get_range.xml | 2 +- ...customVariablePageName4__VisitsSummary.get_range.xml | 2 +- ...customVariablePageName5__VisitsSummary.get_range.xml | 2 +- ...ustomVariablePageValue2__VisitsSummary.get_range.xml | 2 +- ...ustomVariablePageValue4__VisitsSummary.get_range.xml | 2 +- ...ustomVariablePageValue5__VisitsSummary.get_range.xml | 2 +- ...st_customVariableValue1__VisitsSummary.get_range.xml | 4 ++-- ...st_customVariableValue5__VisitsSummary.get_range.xml | 4 ++-- ...est_daysSinceFirstVisit__VisitsSummary.get_range.xml | 4 ++-- ...SinceLastEcommerceOrder__VisitsSummary.get_range.xml | 4 ++-- ...Test_daysSinceLastVisit__VisitsSummary.get_range.xml | 4 ++-- ...ggestAPITest_deviceType__VisitsSummary.get_range.xml | 4 ++-- ...tAPITest_entryPageTitle__VisitsSummary.get_range.xml | 2 +- ...estAPITest_entryPageUrl__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_eventAction__VisitsSummary.get_range.xml | 2 +- ...stAPITest_eventCategory__VisitsSummary.get_range.xml | 2 +- ...uggestAPITest_eventName__VisitsSummary.get_range.xml | 2 +- ...toSuggestAPITest_events__VisitsSummary.get_range.xml | 2 +- ...stAPITest_exitPageTitle__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_exitPageUrl__VisitsSummary.get_range.xml | 2 +- ...SuggestAPITest_latitude__VisitsSummary.get_range.xml | 4 ++-- ...uggestAPITest_longitude__VisitsSummary.get_range.xml | 2 +- ...est_operatingSystemCode__VisitsSummary.get_range.xml | 4 ++-- ...uggestAPITest_pageTitle__VisitsSummary.get_range.xml | 2 +- ...oSuggestAPITest_pageUrl__VisitsSummary.get_range.xml | 4 ++-- ...SuggestAPITest_provider__VisitsSummary.get_range.xml | 2 +- ...APITest_referrerKeyword__VisitsSummary.get_range.xml | 2 +- ...estAPITest_referrerName__VisitsSummary.get_range.xml | 2 +- ...estAPITest_referrerType__VisitsSummary.get_range.xml | 4 ++-- ...gestAPITest_referrerUrl__VisitsSummary.get_range.xml | 2 +- ...ggestAPITest_regionCode__VisitsSummary.get_range.xml | 4 ++-- ...ggestAPITest_resolution__VisitsSummary.get_range.xml | 4 ++-- ...SuggestAPITest_searches__VisitsSummary.get_range.xml | 4 ++-- ...ITest_siteSearchKeyword__VisitsSummary.get_range.xml | 2 +- ...toSuggestAPITest_userId__VisitsSummary.get_range.xml | 2 +- ...st_visitConvertedGoalId__VisitsSummary.get_range.xml | 4 ++-- ...tAPITest_visitConverted__VisitsSummary.get_range.xml | 4 ++-- ...ggestAPITest_visitCount__VisitsSummary.get_range.xml | 4 ++-- ...stAPITest_visitDuration__VisitsSummary.get_range.xml | 2 +- ...st_visitEcommerceStatus__VisitsSummary.get_range.xml | 4 ++-- ...oSuggestAPITest_visitIp__VisitsSummary.get_range.xml | 4 ++-- ...tAPITest_visitLocalHour__VisitsSummary.get_range.xml | 4 ++-- ...APITest_visitServerHour__VisitsSummary.get_range.xml | 2 +- ...uggestAPITest_visitorId__VisitsSummary.get_range.xml | 2 +- ...gestAPITest_visitorType__VisitsSummary.get_range.xml | 4 ++-- ...wardsCompatibility1XTest__VisitFrequency.get_day.xml | 2 +- ...rdsCompatibility1XTest__VisitFrequency.get_month.xml | 2 +- ...rdsCompatibility1XTest__VisitFrequency.get_range.xml | 2 +- ...ardsCompatibility1XTest__VisitFrequency.get_week.xml | 2 +- ...ardsCompatibility1XTest__VisitFrequency.get_year.xml | 2 +- ...lity1XTest_multipleDates__VisitFrequency.get_day.xml | 2 +- ...y1XTest_multipleOldNew__VisitFrequency.get_month.xml | 4 ++-- .../test_csvExport_xp0__VisitsSummary.get_day.csv | Bin 378 -> 386 bytes ...xport_xp1_inner0_trans-en__VisitsSummary.get_day.csv | Bin 466 -> 474 bytes ...xport_xp1_inner1_trans-de__VisitsSummary.get_day.csv | Bin 588 -> 596 bytes 68 files changed, 97 insertions(+), 94 deletions(-) diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index f774bee68d..36d0007f83 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -358,9 +358,11 @@ class API extends \Piwik\Plugin\API || empty($columns)) && $idGoal === GoalManager::IDGOAL_ORDER ) { - $extraProcessedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); - $extraProcessedMetrics[] = new AverageOrderRevenue(); - $dataTable->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); + $dataTable->filter(function (DataTable $table) { + $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); + $extraProcessedMetrics[] = new AverageOrderRevenue(); + $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); + }); } return $dataTable; diff --git a/tests/PHPUnit/Framework/TestCase/SystemTestCase.php b/tests/PHPUnit/Framework/TestCase/SystemTestCase.php index e153dc5f2f..50e39b213c 100755 --- a/tests/PHPUnit/Framework/TestCase/SystemTestCase.php +++ b/tests/PHPUnit/Framework/TestCase/SystemTestCase.php @@ -294,7 +294,8 @@ abstract class SystemTestCase extends PHPUnit_Framework_TestCase } try { - Response::assertEquals($expectedResponse, $processedResponse, "Differences with expected in '$processedFilePath'"); + $errorMessage = get_class($this) . ": Differences with expected in '$processedFilePath'"; + Response::assertEquals($expectedResponse, $processedResponse, $errorMessage); } catch (Exception $ex) { $this->comparisonFailures[] = $ex; } diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml index 7813b88d41..32434a44f6 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ 9 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml index b867c7e45e..b53ae63861 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 25 305 3 - 1.1 + 92.59% + 1.11 11 - 93% 1 @@ -22,8 +22,8 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml index 05d76e44c0..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml index 21eac49375..4db8c2a21e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 14 16393 3 - 1.7 + 51.85% + 1.74 607 - 52% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml index d829330513..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml index 21eac49375..4db8c2a21e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 14 16393 3 - 1.7 + 51.85% + 1.74 607 - 52% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml index 2b45ee7be6..0dadc8d4ed 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 5 6305 3 + 50% 1.8 631 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml index 670e6648a7..7c7cc211dd 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 10 12610 3 + 50% 1.8 631 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml index 2b45ee7be6..0dadc8d4ed 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 5 6305 3 + 50% 1.8 631 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml index c962c1f57a..13090033ff 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 16393 3 - 1.7 + 56.67% + 1.67 546 - 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml index c962c1f57a..13090033ff 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 16393 3 - 1.7 + 56.67% + 1.67 546 - 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml index b298538359..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml index 5c910751f2..d8bcdace18 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 0 0 + 0% 0 0 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml index b298538359..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml index c63a1557c9..88dae8fd6c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml index 73dad8e078..e0144ec833 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 11349 3 + 0% 3 1261 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml index c63a1557c9..88dae8fd6c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml index ef1f29ec1e..32c6776190 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 3783 2 - 1.4 + 57.14% + 1.43 540 - 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml index ef1f29ec1e..32c6776190 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 4 3783 2 - 1.4 + 57.14% + 1.43 540 - 57% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml index dd20ff477d..e2fe92a586 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 2.5 - 1261 0% + 2.53 + 1261 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml index dd20ff477d..e2fe92a586 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 2.5 - 1261 0% + 2.53 + 1261 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml index dd20ff477d..e2fe92a586 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 2.5 - 1261 0% + 2.53 + 1261 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml index 4fb38583bd..1e255527a8 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 15 16393 3 - 1.7 + 53.57% + 1.71 585 - 54% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml index b298538359..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml index 05d76e44c0..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml index 2dd4346fbb..1922b24059 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 5044 2 + 0% 2 1261 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml index 2dd4346fbb..1922b24059 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 5044 2 + 0% 2 1261 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml index 2dd4346fbb..1922b24059 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 5044 2 + 0% 2 1261 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml index 05d76e44c0..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml index b298538359..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml index 05d76e44c0..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml index 5f7f45bac7..1f2e217a7f 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 3 3783 3 - 1.7 - 631 50% + 1.67 + 631 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml index 5c910751f2..d8bcdace18 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 0 0 + 0% 0 0 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml index 4fb38583bd..1e255527a8 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 15 16393 3 - 1.7 + 53.57% + 1.71 585 - 54% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml index b298538359..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml index dd20ff477d..e2fe92a586 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 21437 3 - 2.5 - 1261 0% + 2.53 + 1261 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml index d2922278ae..c51a1bc13d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 1261 3 + 50% 2 631 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml index d829330513..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml index d829330513..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml index 3fdf141636..9baa2eaa8c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 17 21437 3 - 1.8 - 631 50% + 1.76 + 631 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml index d829330513..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml index 5f7f45bac7..1f2e217a7f 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 3 3783 3 - 1.7 - 631 50% + 1.67 + 631 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml index 24ae7dc5eb..cc9ba86681 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 1.7 + 51.43% + 1.74 612 - 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml index c0affa752a..40ae762770 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 10088 2 - 1.3 + 69.23% + 1.31 388 - 69% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml index 73dad8e078..e0144ec833 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 0 11349 3 + 0% 3 1261 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml index d829330513..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml index 24ae7dc5eb..cc9ba86681 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 1.7 + 51.43% + 1.74 612 - 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml index 24ae7dc5eb..cc9ba86681 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 1.7 + 51.43% + 1.74 612 - 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml index a18e44ac4f..4eebacc953 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 13 21437 3 - 1.9 + 43.33% + 1.87 715 - 43% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml index 05d76e44c0..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml index 24ae7dc5eb..cc9ba86681 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 1.7 + 51.43% + 1.74 612 - 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml index 7ae89fb823..8ee61b940f 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 2 1261 3 - 1.7 + 66.67% + 1.67 420 - 67% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml index 24ae7dc5eb..cc9ba86681 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 21437 3 - 1.7 + 51.43% + 1.74 612 - 51% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml index 05d76e44c0..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 18 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml index 407428439a..64efc881e1 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 1 1261 2 + 50% 1.5 631 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml index a18e44ac4f..4eebacc953 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 13 21437 3 - 1.9 + 43.33% + 1.87 715 - 43% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml index b876004aa6..3633fe5914 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml @@ -8,7 +8,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml index babf4d6c4e..3c62d79738 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml @@ -8,7 +8,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml index b85c0368da..a232e03046 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml @@ -6,7 +6,7 @@ 2 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml index babf4d6c4e..3c62d79738 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml @@ -8,7 +8,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml index b85c0368da..a232e03046 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml @@ -6,7 +6,7 @@ 2 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml index 0d21f8e79a..b8e30312d7 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml @@ -12,9 +12,9 @@ 1 0 1 + 100% 1 0 - 100% diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml index 6503700469..9b5f22a3ea 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml @@ -9,9 +9,9 @@ 1 0 1 + 100% 1 0 - 100% @@ -30,8 +30,8 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv index 5adb44d2cb..063947e09b 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv index 6dc5de50ef..2ad19ac5f5 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv index ff048e655d..993b297d22 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv differ -- cgit v1.2.3 From abedc85c37f6fdd1c0d306852162841a78f4fa3d Mon Sep 17 00:00:00 2001 From: diosmosis Date: Fri, 7 Nov 2014 11:22:39 -0800 Subject: Fixing some tests, make sure processed metrics are computed even if generic filters disabled, and do not apply queued filters in datatablemanipulators when fetching subtables. --- core/API/DataTableGenericFilter.php | 10 +-- core/API/DataTableManipulator.php | 8 +- core/API/ResponseBuilder.php | 25 +++++-- core/Plugin/Report.php | 87 +++++++++++++--------- plugins/Actions/API.php | 4 +- .../Actions/Metrics/AveragePageGenerationTime.php | 4 +- tests/PHPUnit/System/ImportLogsTest.php | 2 +- ...ewDataShouldAppear__VisitsSummary.get_month.xml | 2 +- ...ataShouldNotAppear__VisitsSummary.get_month.xml | 2 +- ...ewDataShouldAppear__VisitsSummary.get_month.xml | 2 +- ...ekWasNotInvalidated__VisitsSummary.get_week.xml | 2 +- ...ataShouldNotAppear__VisitsSummary.get_month.xml | 2 +- .../test_ImportLogs__VisitsSummary.get_month.xml | 4 +- ...ldKeepEmptyRows__API.getProcessedReport_day.xml | 22 +++--- ...OneVisitorTwoVisits__VisitFrequency.get_day.xml | 2 +- ...s_withCookieSupport__VisitFrequency.get_day.xml | 2 +- ...ts_withCookieSupport__VisitsSummary.get_day.xml | 2 +- ...estsCampaignTracking__VisitsSummary.get_day.xml | 4 +- .../test_noVisit__VisitsSummary.get_day.xml | 2 +- ...ralDays_DateRange__VisitFrequency.get_range.xml | 2 +- ...eralDays_DateRange__VisitsSummary.get_range.xml | 2 +- ...tadataAndNormalAPI__VisitsSummary.get_range.xml | 4 +- 22 files changed, 110 insertions(+), 86 deletions(-) diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index e45685df8c..2dc9ee82c1 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -136,8 +136,6 @@ class DataTableGenericFilter return; } - $computed = $this->computeProcessedMetricsIfNeeded($datatable); - $genericFilters = self::getGenericFiltersInformation(); $filterApplied = false; @@ -177,14 +175,10 @@ class DataTableGenericFilter } } - if (!$computed) { - $this->computeProcessedMetrics($datatable); - } - return $filterApplied; } - private function computeProcessedMetricsIfNeeded(DataTable $dataTable) + public function computeProcessedMetricsIfNeeded(DataTable $dataTable) { if (!$this->doesColumnQueryParamReferenceProcessedMetric()) { return false; @@ -195,7 +189,7 @@ class DataTableGenericFilter return true; } - private function computeProcessedMetrics(DataTable $dataTable) + public function computeProcessedMetrics(DataTable $dataTable) { if (empty($this->report)) { return; diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php index 6d744e50df..41c731afd5 100644 --- a/core/API/DataTableManipulator.php +++ b/core/API/DataTableManipulator.php @@ -172,6 +172,7 @@ abstract class DataTableManipulator $request = $this->manipulateSubtableRequest($request); $request['serialize'] = 0; $request['expanded'] = 0; + $request['format'] = 'original'; // don't want to run recursive filters on the subtables as they are loaded, // otherwise the result will be empty in places (or everywhere). instead we @@ -181,13 +182,14 @@ abstract class DataTableManipulator $dataTable = Proxy::getInstance()->call($class, $method, $request); $response = new ResponseBuilder($format = 'original', $request); $response->disableSendHeader(); - $dataTable = $response->getResponse($dataTable); + $dataTable = $response->getResponse($dataTable, $apiModule, $method); + /*TODO: remove if (Common::getRequestVar('disable_queued_filters', 0, 'int', $request) == 0) { if (method_exists($dataTable, 'applyQueuedFilters')) { - $dataTable->applyQueuedFilters(); + //$dataTable->applyQueuedFilters(); } - } + }*/ return $dataTable; } diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 49cb4c2f51..d5d39c6429 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -171,6 +171,8 @@ class ResponseBuilder $label = $this->getLabelFromRequest($this->request); $report = Report::factory($this->apiModule, $this->apiMethod); + $genericFilter = new DataTableGenericFilter($this->request, $report); + // handle pivot by dimension filter $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $this->request); if (!empty($pivotBy)) { @@ -192,13 +194,16 @@ class ResponseBuilder } if (1 == Common::getRequestVar('totals', '1', 'integer', $this->request)) { - $genericFilter = new ReportTotalsCalculator($this->apiModule, $this->apiMethod, $this->request); - $datatable = $genericFilter->calculate($datatable); + $reportTotalsCalculator = new ReportTotalsCalculator($this->apiModule, $this->apiMethod, $this->request); + $datatable = $reportTotalsCalculator->calculate($datatable); } // if the flag disable_generic_filters is defined we skip the generic filters if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { - $genericFilter = new DataTableGenericFilter($this->request, $report); + $datatable->filter(function (DataTable $table) use ($genericFilter) { + $genericFilter->computeProcessedMetricsIfNeeded($table); + }); + if (!empty($label)) { $genericFilter->disableFilters(array('Limit', 'Truncate')); } @@ -206,6 +211,10 @@ class ResponseBuilder $genericFilter->filter($datatable); } + $datatable->filter(function (DataTable $table) use ($genericFilter) { + $genericFilter->computeProcessedMetrics($table); + }); + // we automatically safe decode all datatable labels (against xss) $datatable->queueFilter('SafeDecodeLabel'); @@ -236,10 +245,12 @@ class ResponseBuilder $datatable = $filter->filter($label, $datatable, $addLabelIndex); } - if (!($this->apiRenderer instanceof Original) - && !empty($report) - ) { - $datatable->filter(array($report, 'formatProcessedMetrics')); + if (!empty($report)) { + if (!($this->apiRenderer instanceof Original)) { + $datatable->filter(array($report, 'formatProcessedMetrics')); + } else { + $datatable->queueFilter(array($report, 'formatProcessedMetrics')); + } } return $this->apiRenderer->renderDataTable($datatable); diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 21e6058606..2f3ace11c5 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -367,24 +367,28 @@ class Report { if (empty($allColumns)) { $allColumns = $this->metrics; + + foreach ($this->processedMetrics as $processedMetric) { + $allColumns[] = $processedMetric instanceof ProcessedMetric ? $processedMetric->getName() : $processedMetric; + } } if (empty($restrictToColumns)) { - return $allColumns; - } else { - $processedMetricsById = $this->getProcessedMetricsById(); - $metricsSet = array_flip($allColumns); - - $metrics = array(); - foreach ($restrictToColumns as $column) { - if (isset($processedMetricsById[$column])) { - $metrics = array_merge($metrics, $processedMetricsById[$column]->getDependenctMetrics()); - } else if (isset($metricsSet[$column])) { // TODO: this may cause regression w/ #2531, check? - $metrics[] = $column; - } + $restrictToColumns = $allColumns; + } + + $processedMetricsById = $this->getProcessedMetricsById(); + $metricsSet = array_flip($allColumns); + + $metrics = array(); + foreach ($restrictToColumns as $column) { + if (isset($processedMetricsById[$column])) { + $metrics = array_merge($metrics, $processedMetricsById[$column]->getDependenctMetrics()); + } else if (isset($metricsSet[$column])) { // TODO: this may cause regression w/ #2531, check? + $metrics[] = $column; } - return array_unique($metrics); } + return array_unique($metrics); } /** @@ -692,27 +696,6 @@ class Report return Request::processRequest($module . '.' . $action, $paramOverride); } - /** - * TODO - * TODO: recursion (+ for format) - */ - public function computeProcessedMetrics(DataTable $dataTable) - { - $processedMetrics = $this->getProcessedMetricsFor($dataTable); - if (empty($processedMetrics)) { - return; - } - - foreach ($dataTable->getRows() as $row) { - /** @var ProcessedMetric $processedMetric */ - foreach ($processedMetrics as $name => $processedMetric) { - if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already - $row->addColumn($name, $processedMetric->compute($row)); - } - } - } - } - /** * TODO * @@ -736,11 +719,44 @@ class Report return $result; } + /** + * TODO + * TODO: recursion (+ for format) + */ + public function computeProcessedMetrics(DataTable $dataTable) + { + if ($dataTable->getMetadata('processed_metrics_computed')) { + return; + } + + $dataTable->setMetadata('processed_metrics_computed', true); // TODO: metadataname should be const + + $processedMetrics = $this->getProcessedMetricsFor($dataTable); + if (empty($processedMetrics)) { + return; + } + + foreach ($dataTable->getRows() as $row) { + /** @var ProcessedMetric $processedMetric */ + foreach ($processedMetrics as $name => $processedMetric) { + if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already + $row->addColumn($name, $processedMetric->compute($row)); + } + } + } + } + /** * TODO */ public function formatProcessedMetrics(DataTable $dataTable) { + if ($dataTable->getMetadata('processed_metrics_formatted')) { + return; + } + + $dataTable->setMetadata('processed_metrics_formatted', true); // TODO: metadataname should be const + $processedMetrics = $this->getProcessedMetricsFor($dataTable); if (empty($processedMetrics)) { return; @@ -761,7 +777,8 @@ class Report */ public function hasProcessedMetric($name) { - foreach ($this->processedMetrics as $metric) { + $processedMetrics = $this->processedMetrics ?: array(); // TODO: shouldn't allow processedMetrics to be non-array + foreach ($processedMetrics as $metric) { if ($metric instanceof ProcessedMetric && $metric->getName() == $name ) { diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index e98005fded..afff715053 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -54,7 +54,7 @@ class API extends \Piwik\Plugin\API $archive = Archive::build($idSite, $period, $date, $segment); $columns = Piwik::getArrayFromApiParameter($columns); - $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport(Archiver::$actionsAggregateMetrics, $columns); + $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $columns); $inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns); $dataTable = $archive->getDataTableFromNumeric($inDbColumnNames); @@ -62,7 +62,7 @@ class API extends \Piwik\Plugin\API $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); - $dataTable->filter('ColumnDelete', array(array('sum_time_generation','nb_hits_with_time_generation'))); + $dataTable->queueFilter('ColumnDelete', array(array('sum_time_generation', 'nb_hits_with_time_generation'))); return $dataTable; } diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 01d7e04e4c..8c414bc955 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -34,8 +34,8 @@ class AveragePageGenerationTime extends ProcessedMetric public function compute(Row $row) { - $sumGenerationTime = $this->getColumn($row, Archiver::METRIC_SUM_TIME_RECORD_NAME); - $hitsWithTimeGeneration = $this->getColumn($row, Archiver::METRIC_HITS_TIMED_RECORD_NAME); + $sumGenerationTime = $this->getColumn($row, 'sum_time_generation'); + $hitsWithTimeGeneration = $this->getColumn($row, 'nb_hits_with_time_generation'); return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } diff --git a/tests/PHPUnit/System/ImportLogsTest.php b/tests/PHPUnit/System/ImportLogsTest.php index 44c6b7b0b9..82c2082a88 100755 --- a/tests/PHPUnit/System/ImportLogsTest.php +++ b/tests/PHPUnit/System/ImportLogsTest.php @@ -61,7 +61,7 @@ class ImportLogsTest extends SystemTestCase // Mysqli rounds latitude/longitude $apiMethods = array('Live.getLastVisitsDetails'); } - $apiMethods[] = 'Actions'; + $apiMethods[] = 'Actions.get'; $apiMethods[] = 'VisitorInterest'; $apiMethods[] = 'VisitFrequency'; $apis[] = array($apiMethods, array( diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml index f9a5c84ee1..d183cb915b 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 2 6 + 0% 6 1 - 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 55461e8c2e..5d2578d36f 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 1 6 + 0% 6 1 - 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml index 7c4f0b76ba..1e897c6120 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 2 12 + 0% 9 1 - 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml index a2821522d2..75d267cfc4 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ 0 1 6 + 0% 6 1 - 0% diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 001a304de2..4402121f8a 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ 0 1 6 + 0% 6 1 - 0% diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml index 327d564f47..19b70949f1 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ 25 305 3 - 93% - 1.1 + 92.59% + 1.11 11 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml index 3861e6c668..2dc60effda 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml @@ -49,17 +49,6 @@ Revenue - - - 4 - 4 - 12 - 0 - $ 40 - 3 - 00:21:01 - 0% - 4 @@ -71,6 +60,17 @@ 00:00:00 100% + + + 4 + 4 + 12 + 0 + $ 40 + 3 + 00:21:01 + 0% + 0 diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml index c65c3ddf75..eb4e37fdf7 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml @@ -7,7 +7,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml index b876004aa6..3633fe5914 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml @@ -8,7 +8,7 @@ 1 0 1 + 100% 1 0 - 100% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml index df818717fa..9f63db28ef 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 1 1621 8 + 50% 4.5 811 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml index e796a48661..7cc1ec61c8 100644 --- a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 8 1084 1 - 0.9 - 136 100% + 0.88 + 136 \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml index f8181af56d..32b66284be 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ 0 0 0 + 0% 0 0 - 0% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml index 26fb301d3b..d7c74b8645 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml @@ -6,7 +6,7 @@ 3 1083 2 + 50% 1.5 181 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml index ee6e9c48c8..29d972ff8a 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 3 1083 2 + 50% 1.5 181 - 50% \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml index 3276834e80..846caa395f 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ 2 725 3 - 1.7 + 66.67% + 1.67 242 - 67% \ No newline at end of file -- cgit v1.2.3 From 949adebcc57524bd49c61eba6fda670c46654630 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Fri, 7 Nov 2014 13:25:24 -0800 Subject: Adding processed metrics for Actions plugin (removing queueFilter calls). --- core/API/ResponseBuilder.php | 2 +- core/Plugin/ProcessedMetric.php | 9 +++ core/Plugin/Report.php | 11 ++- plugins/Actions/API.php | 81 ++-------------------- .../Actions/Metrics/AveragePageGenerationTime.php | 33 +++++++++ plugins/Actions/Metrics/AverageTimeOnPage.php | 42 +++++++++++ plugins/Actions/Metrics/BounceRate.php | 47 +++++++++++++ plugins/Actions/Metrics/ExitRate.php | 42 +++++++++++ plugins/Actions/Reports/GetPageTitles.php | 12 +++- plugins/Actions/Reports/GetPageUrls.php | 12 +++- plugins/Actions/Reports/GetSiteSearchKeywords.php | 12 +++- .../Reports/GetSiteSearchNoResultKeywords.php | 12 +++- plugins/VisitFrequency/API.php | 4 ++ 13 files changed, 235 insertions(+), 84 deletions(-) create mode 100644 plugins/Actions/Metrics/AverageTimeOnPage.php create mode 100644 plugins/Actions/Metrics/BounceRate.php create mode 100644 plugins/Actions/Metrics/ExitRate.php diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index d5d39c6429..248c4401ae 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -249,7 +249,7 @@ class ResponseBuilder if (!($this->apiRenderer instanceof Original)) { $datatable->filter(array($report, 'formatProcessedMetrics')); } else { - $datatable->queueFilter(array($report, 'formatProcessedMetrics')); + $datatable->queueFilter(array($report, 'formatProcessedMetrics')); // TODO: queuing does not always work. } } diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index da0fdbea0f..ea77986c29 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugin; +use Piwik\DataTable; use Piwik\DataTable\Row; /** @@ -48,4 +49,12 @@ abstract class ProcessedMetric extends Metric * TODO */ abstract public function getDependenctMetrics(); + + /** + * TODO + */ + public function shouldComputeForTable(Report $report, DataTable $table) + { + return true; + } } \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 2f3ace11c5..e61d3efd60 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -722,6 +722,8 @@ class Report /** * TODO * TODO: recursion (+ for format) + * + * TODO: put in new non-filter class. do not mark w/ @api. */ public function computeProcessedMetrics(DataTable $dataTable) { @@ -736,9 +738,12 @@ class Report return; } - foreach ($dataTable->getRows() as $row) { - /** @var ProcessedMetric $processedMetric */ - foreach ($processedMetrics as $name => $processedMetric) { + foreach ($processedMetrics as $name => $processedMetric) { + if (!$processedMetric->shouldComputeForTable($this, $dataTable)) { + continue; + } + + foreach ($dataTable->getRows() as $row) { if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already $row->addColumn($name, $processedMetric->compute($row)); } diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index afff715053..41c8cccda1 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -62,6 +62,8 @@ class API extends \Piwik\Plugin\API $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); + // TODO: either replace w/ temporary metrics, or just include them in the results and let people remove themif + // they want. $dataTable->queueFilter('ColumnDelete', array(array('sum_time_generation', 'nb_hits_with_time_generation'))); return $dataTable; @@ -82,7 +84,6 @@ class API extends \Piwik\Plugin\API $depth = false) { $dataTable = $this->getDataTableFromArchive('Actions_actions_url', $idSite, $period, $date, $segment, $expanded, $idSubtable, $depth); - $this->filterPageDatatable($dataTable); $this->filterActionsDataTable($dataTable, $expanded); return $dataTable; } @@ -161,7 +162,7 @@ class API extends \Piwik\Plugin\API { $callBackParameters = array('Actions_actions_url', $idSite, $period, $date, $segment, $expanded = false, $idSubtable = false); $dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $pageUrl, Action::TYPE_PAGE_URL); - $this->filterPageDatatable($dataTable); + // $this->filterPageDatatable($dataTable); TODO: no report metadata for getPageUrl... problem? can add extra processed metrics via metadata. $this->filterActionsDataTable($dataTable); return $dataTable; } @@ -169,7 +170,6 @@ class API extends \Piwik\Plugin\API public function getPageTitles($idSite, $period, $date, $segment = false, $expanded = false, $idSubtable = false) { $dataTable = $this->getDataTableFromArchive('Actions_actions', $idSite, $period, $date, $segment, $expanded, $idSubtable); - $this->filterPageDatatable($dataTable); $this->filterActionsDataTable($dataTable, $expanded); return $dataTable; } @@ -202,7 +202,7 @@ class API extends \Piwik\Plugin\API { $callBackParameters = array('Actions_actions', $idSite, $period, $date, $segment, $expanded = false, $idSubtable = false); $dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $pageName, Action::TYPE_PAGE_TITLE); - $this->filterPageDatatable($dataTable); + // $this->filterPageDatatable($dataTable); TODO: no GetPageTitle report $this->filterActionsDataTable($dataTable); return $dataTable; } @@ -241,7 +241,6 @@ class API extends \Piwik\Plugin\API { $dataTable = $this->getSiteSearchKeywordsRaw($idSite, $period, $date, $segment); $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT); - $this->filterPageDatatable($dataTable); $this->filterActionsDataTable($dataTable); $this->addPagesPerSearchColumn($dataTable); return $dataTable; @@ -277,7 +276,6 @@ class API extends \Piwik\Plugin\API )); $dataTable->deleteRow(DataTable::ID_SUMMARY_ROW); $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT); - $this->filterPageDatatable($dataTable); $this->filterActionsDataTable($dataTable); $this->addPagesPerSearchColumn($dataTable); return $dataTable; @@ -436,75 +434,6 @@ class API extends \Piwik\Plugin\API throw new Exception("For this API function, DataTable " . get_class($table) . " is not supported"); } - /** - * Common filters for Page URLs and Page Titles - * - * @param DataTable|DataTable\Simple|DataTable\Map $dataTable - */ - protected function filterPageDatatable($dataTable) - { - $columnsToRemove = array('bounce_rate'); - $dataTable->queueFilter('ColumnDelete', array($columnsToRemove)); - - // Average time on page = total time on page / number visits on that page - $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', - array('avg_time_on_page', - 'sum_time_spent', - 'nb_visits', - 0) - ); - - // Bounce rate = single page visits on this page / visits started on this page - $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', - array('bounce_rate', - 'entry_bounce_count', - 'entry_nb_visits', - 0)); - - // % Exit = Number of visits that finished on this page / visits on this page - $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', - array('exit_rate', - 'exit_nb_visits', - 'nb_visits', - 0) - ); - - // Handle performance analytics - $hasTimeGeneration = (array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)) > 0); - if ($hasTimeGeneration) { - // Average generation time = total generation time / number of pageviews - $precisionAvgTimeGeneration = 3; - $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', - array('avg_time_generation', - 'sum_time_generation', - 'nb_hits_with_time_generation', - $precisionAvgTimeGeneration) - ); - $dataTable->queueFilter('ColumnDelete', array(array('sum_time_generation'))); - } else { - // No generation time: remove it from the API output and add it to empty_columns metadata, so that - // the columns can also be removed from the view - $dataTable->filter('ColumnDelete', array(array( - Metrics::INDEX_PAGE_SUM_TIME_GENERATION, - Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, - Metrics::INDEX_PAGE_MIN_TIME_GENERATION, - Metrics::INDEX_PAGE_MAX_TIME_GENERATION - ))); - - if ($dataTable instanceof DataTable) { - $emptyColumns = $dataTable->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); - if (!is_array($emptyColumns)) { - $emptyColumns = array(); - } - $emptyColumns[] = 'sum_time_generation'; - $emptyColumns[] = 'avg_time_generation'; - $emptyColumns[] = 'min_time_generation'; - $emptyColumns[] = 'max_time_generation'; - $dataTable->setMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME, $emptyColumns); - } - } - } - /** * Common filters for all Actions API * @@ -518,7 +447,7 @@ class API extends \Piwik\Plugin\API $dataTable->filter('ReplaceColumnNames'); $dataTable->filter('Sort', array('nb_visits', 'desc', $naturalSort = false, $expanded)); - $dataTable->queueFilter('ReplaceSummaryRowLabel'); + //$dataTable->queueFilter('ReplaceSummaryRowLabel'); TODO: necessary? } /** diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 8c414bc955..1bbe713a12 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -7,9 +7,12 @@ */ namespace Piwik\Plugins\Actions\Metrics; +use Piwik\DataTable; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; use Piwik\Plugins\Actions\Archiver; /** @@ -39,4 +42,34 @@ class AveragePageGenerationTime extends ProcessedMetric return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } + + public function shouldComputeForTable(Report $report, DataTable $table) + { + $hasTimeGeneration = array_sum($table->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)) > 0; + + if (!$hasTimeGeneration) { // TODO: ideally this logic shouldn't exist... + // No generation time: remove it from the API output and add it to empty_columns metadata, so that + // the columns can also be removed from the view + $table->filter('ColumnDelete', array(array( + Metrics::INDEX_PAGE_SUM_TIME_GENERATION, + Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, + Metrics::INDEX_PAGE_MIN_TIME_GENERATION, + Metrics::INDEX_PAGE_MAX_TIME_GENERATION + ))); + + if ($table instanceof DataTable) { + $emptyColumns = $table->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); // TODO: this metadata feels like a hack, should investigate removing it in a new issue + if (!is_array($emptyColumns)) { + $emptyColumns = array(); + } + $emptyColumns[] = 'sum_time_generation'; + $emptyColumns[] = 'avg_time_generation'; + $emptyColumns[] = 'min_time_generation'; + $emptyColumns[] = 'max_time_generation'; + $table->setMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME, $emptyColumns); + } + } + + return $hasTimeGeneration; + } } \ No newline at end of file diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php new file mode 100644 index 0000000000..4a55a051eb --- /dev/null +++ b/plugins/Actions/Metrics/AverageTimeOnPage.php @@ -0,0 +1,42 @@ +getColumn($row, 'sum_time_spent'); + $visits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); + } + + public function getDependenctMetrics() + { + return array('sum_time_spent', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Actions/Metrics/BounceRate.php b/plugins/Actions/Metrics/BounceRate.php new file mode 100644 index 0000000000..b86a45a953 --- /dev/null +++ b/plugins/Actions/Metrics/BounceRate.php @@ -0,0 +1,47 @@ +getColumn($row, 'entry_bounce_count'); + $entryVisits = $this->getColumn($row, 'entry_nb_visits'); + + return Piwik::getQuotientSafe($entryBounceCount, $entryVisits, $precision = 2); + } + + public function format($value) + { + return ($value * 100) . '%'; // TODO: how does this affect the float/locale bug? + } + + public function getDependenctMetrics() + { + return array('entry_bounce_count', 'entry_nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php new file mode 100644 index 0000000000..2570de0ac1 --- /dev/null +++ b/plugins/Actions/Metrics/ExitRate.php @@ -0,0 +1,42 @@ +getColumn($row, 'exit_nb_visits'); + $visits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 0); + } + + public function getDependenctMetrics() + { + return array('exit_nb_visits', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Actions/Reports/GetPageTitles.php b/plugins/Actions/Reports/GetPageTitles.php index ed6e4aed68..010c5cfeac 100644 --- a/plugins/Actions/Reports/GetPageTitles.php +++ b/plugins/Actions/Reports/GetPageTitles.php @@ -13,6 +13,10 @@ use Piwik\Plugin\ViewDataTable; use Piwik\API\Request; use Piwik\Common; use Piwik\Plugins\Actions\Columns\PageTitle; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetPageTitles extends Base { @@ -26,7 +30,13 @@ class GetPageTitles extends Base array('
', htmlentities(''))); $this->order = 5; - $this->metrics = array('nb_hits', 'nb_visits', 'bounce_rate', 'avg_time_on_page', 'exit_rate', 'avg_time_generation'); + $this->metrics = array('nb_hits', 'nb_visits'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->actionToLoadSubTables = $this->action; diff --git a/plugins/Actions/Reports/GetPageUrls.php b/plugins/Actions/Reports/GetPageUrls.php index 17ad2b1750..664e7218a7 100644 --- a/plugins/Actions/Reports/GetPageUrls.php +++ b/plugins/Actions/Reports/GetPageUrls.php @@ -10,7 +10,11 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\BounceRate; use Piwik\Plugins\Actions\Columns\PageUrl; +use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; class GetPageUrls extends Base { @@ -25,7 +29,13 @@ class GetPageUrls extends Base $this->actionToLoadSubTables = $this->action; $this->order = 2; - $this->metrics = array('nb_hits', 'nb_visits', 'bounce_rate', 'avg_time_on_page', 'exit_rate', 'avg_time_generation'); + $this->metrics = array('nb_hits', 'nb_visits'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->segmentSql = 'log_visit.visit_entry_idaction_url'; diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php index 61fc0a84ed..f3fa86afaf 100644 --- a/plugins/Actions/Reports/GetSiteSearchKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php @@ -11,6 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\Keyword; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetSiteSearchKeywords extends SiteSearchBase { @@ -21,7 +25,13 @@ class GetSiteSearchKeywords extends SiteSearchBase $this->name = Piwik::translate('Actions_WidgetSearchKeywords'); $this->documentation = Piwik::translate('Actions_SiteSearchKeywordsDocumentation') . '<br/><br/>' . Piwik::translate('Actions_SiteSearchIntro') . '<br/><br/>' . '<a href="http://piwik.org/docs/site-search/" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>'; - $this->metrics = array('nb_visits', 'nb_pages_per_search', 'exit_rate'); + $this->metrics = array('nb_visits', 'nb_pages_per_search'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->order = 15; $this->widgetTitle = 'Actions_WidgetSearchKeywords'; } diff --git a/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php b/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php index df39684c2e..2c2a8f1c31 100644 --- a/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php @@ -11,6 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\KeywordwithNoSearchResult; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetSiteSearchNoResultKeywords extends SiteSearchBase { @@ -20,7 +24,13 @@ class GetSiteSearchNoResultKeywords extends SiteSearchBase $this->dimension = new KeywordwithNoSearchResult(); $this->name = Piwik::translate('Actions_WidgetSearchNoResultKeywords'); $this->documentation = Piwik::translate('Actions_SiteSearchIntro') . '<br /><br />' . Piwik::translate('Actions_SiteSearchKeywordsNoResultDocumentation'); - $this->metrics = array('nb_visits', 'exit_rate'); + $this->metrics = array('nb_visits'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->order = 16; $this->widgetTitle = 'Actions_WidgetSearchNoResultKeywords'; } diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php index 60a12c273b..a100521788 100644 --- a/plugins/VisitFrequency/API.php +++ b/plugins/VisitFrequency/API.php @@ -47,8 +47,12 @@ class API extends \Piwik\Plugin\API 'format' => 'original', 'serialize' => 0 // tests set this to 1 ); + + /** @var DataTable $table */ $table = Request::processRequest('VisitsSummary.get', $params); $this->prefixColumns($table, $period); + $table->clearQueuedFilters(); + return $table; } -- cgit v1.2.3 From 68d77438edb1a492c9ef7943c16ac9874175b362 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 15:46:58 -0800 Subject: Converted most other processed metric calculation to use ProcessedMetric class. --- core/Plugin/ProcessedMetric.php | 2 +- core/Plugin/Report.php | 13 +++- plugins/API/ProcessedReport.php | 2 +- plugins/Actions/API.php | 24 ++++++-- .../Actions/Metrics/AveragePageGenerationTime.php | 14 ++++- plugins/Actions/Metrics/ExitRate.php | 7 ++- plugins/Actions/Reports/GetEntryPageTitles.php | 12 +++- plugins/Actions/Reports/GetEntryPageUrls.php | 12 +++- plugins/Actions/Reports/GetExitPageTitles.php | 12 +++- plugins/Actions/Reports/GetExitPageUrls.php | 12 +++- plugins/Contents/API.php | 3 - plugins/Contents/Metrics/InteractionRate.php | 48 +++++++++++++++ plugins/Events/API.php | 9 --- plugins/Events/Metrics/AverageEventValue.php | 42 +++++++++++++ plugins/Events/Reports/Base.php | 5 +- plugins/Goals/API.php | 9 --- plugins/Goals/Goals.php | 2 +- plugins/Goals/Metrics/AveragePrice.php | 45 ++++++++++++++ plugins/Goals/Metrics/AverageQuantity.php | 44 ++++++++++++++ plugins/Goals/Metrics/ProductConversionRate.php | 45 ++++++++++++++ plugins/Goals/Reports/BaseEcommerceItem.php | 11 +++- plugins/Live/API.php | 1 + plugins/UserSettings/API.php | 25 +++----- .../UserSettings/Metrics/PluginsVisitsPercent.php | 54 +++++++++++++++++ plugins/VisitFrequency/API.php | 6 +- plugins/VisitorInterest/API.php | 22 ------- plugins/VisitorInterest/Metrics/VisitsPercent.php | 67 +++++++++++++++++++++ .../Reports/GetNumberOfVisitsByVisitCount.php | 5 +- tests/PHPUnit/System/OneVisitorTwoVisitsTest.php | 10 +-- ...orTwoVisits__Actions.getEntryPageTitles_day.xml | 3 + ...itorTwoVisits__Actions.getEntryPageUrls_day.xml | 3 + ...torTwoVisits__Actions.getExitPageTitles_day.xml | 3 + ...sitorTwoVisits__Actions.getExitPageUrls_day.xml | 3 + ...VisitorTwoVisits__Actions.getPageTitles_day.xml | 5 ++ ...neVisitorTwoVisits__Actions.getPageUrls_day.xml | 5 ++ ..._OneVisitorTwoVisits__VisitsSummary.get_day.xml | 2 +- ...torTwoVisits_bulk_json__API.getBulkRequest.json | 2 +- ...sitorTwoVisits_bulk_xml__API.getBulkRequest.xml | 4 +- ...test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 2472 -> 1658 bytes ...ts_hideColumns___API.getProcessedReport_day.xml | 6 +- ...its_hideColumns___Actions.getPageTitles_day.xml | 5 ++ ...oVisits_hideColumns___VisitsSummary.get_day.xml | 2 +- ...ts_showColumns___API.getProcessedReport_day.xml | 4 +- 43 files changed, 510 insertions(+), 100 deletions(-) create mode 100644 plugins/Contents/Metrics/InteractionRate.php create mode 100644 plugins/Events/Metrics/AverageEventValue.php create mode 100644 plugins/Goals/Metrics/AveragePrice.php create mode 100644 plugins/Goals/Metrics/AverageQuantity.php create mode 100644 plugins/Goals/Metrics/ProductConversionRate.php create mode 100644 plugins/UserSettings/Metrics/PluginsVisitsPercent.php create mode 100644 plugins/VisitorInterest/Metrics/VisitsPercent.php diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index ea77986c29..449fc61e32 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -53,7 +53,7 @@ abstract class ProcessedMetric extends Metric /** * TODO */ - public function shouldComputeForTable(Report $report, DataTable $table) + public function beforeCompute(Report $report, DataTable $table) { return true; } diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index e61d3efd60..fb009f06a2 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -721,7 +721,6 @@ class Report /** * TODO - * TODO: recursion (+ for format) * * TODO: put in new non-filter class. do not mark w/ @api. */ @@ -739,13 +738,18 @@ class Report } foreach ($processedMetrics as $name => $processedMetric) { - if (!$processedMetric->shouldComputeForTable($this, $dataTable)) { + if (!$processedMetric->beforeCompute($this, $dataTable)) { continue; } foreach ($dataTable->getRows() as $row) { if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already $row->addColumn($name, $processedMetric->compute($row)); + + $subtable = $row->getSubtable(); + if (!empty($subtable)) { + $this->computeProcessedMetrics($subtable); + } } } } @@ -773,6 +777,11 @@ class Report if ($columnValue !== false) { $row->setColumn($name, $processedMetric->format($columnValue)); } + + $subtable = $row->getSubtable(); + if (!empty($subtable)) { + $this->formatProcessedMetrics($subtable); + } } } } diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 9b317a15d2..2b72e07849 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -456,7 +456,7 @@ class ProcessedReport private function handleTableReport($idSite, $dataTable, &$reportMetadata, $showRawMetrics = false) { $hasDimension = isset($reportMetadata['dimension']); - $columns = $reportMetadata['metrics']; + $columns = @$reportMetadata['metrics'] ?: array(); if ($hasDimension) { $columns = array_merge( diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index 41c8cccda1..cdb34b9961 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -17,6 +17,10 @@ use Piwik\Date; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\Report; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; use Piwik\Plugins\CustomVariables\API as APICustomVariables; use Piwik\Plugins\Actions\Actions\ActionSiteSearch; use Piwik\Tracker\Action; @@ -62,7 +66,7 @@ class API extends \Piwik\Plugin\API $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); - // TODO: either replace w/ temporary metrics, or just include them in the results and let people remove themif + // TODO: either replace w/ temporary metrics, or just include them in the results and let people remove them if // they want. $dataTable->queueFilter('ColumnDelete', array(array('sum_time_generation', 'nb_hits_with_time_generation'))); @@ -162,7 +166,7 @@ class API extends \Piwik\Plugin\API { $callBackParameters = array('Actions_actions_url', $idSite, $period, $date, $segment, $expanded = false, $idSubtable = false); $dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $pageUrl, Action::TYPE_PAGE_URL); - // $this->filterPageDatatable($dataTable); TODO: no report metadata for getPageUrl... problem? can add extra processed metrics via metadata. + $this->addPageProcessedMetrics($dataTable); $this->filterActionsDataTable($dataTable); return $dataTable; } @@ -202,7 +206,7 @@ class API extends \Piwik\Plugin\API { $callBackParameters = array('Actions_actions', $idSite, $period, $date, $segment, $expanded = false, $idSubtable = false); $dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $pageName, Action::TYPE_PAGE_TITLE); - // $this->filterPageDatatable($dataTable); TODO: no GetPageTitle report + $this->addPageProcessedMetrics($dataTable); $this->filterActionsDataTable($dataTable); return $dataTable; } @@ -447,7 +451,7 @@ class API extends \Piwik\Plugin\API $dataTable->filter('ReplaceColumnNames'); $dataTable->filter('Sort', array('nb_visits', 'desc', $naturalSort = false, $expanded)); - //$dataTable->queueFilter('ReplaceSummaryRowLabel'); TODO: necessary? + $dataTable->queueFilter('ReplaceSummaryRowLabel'); } /** @@ -493,4 +497,14 @@ class API extends \Piwik\Plugin\API } return Archive::getDataTableFromArchive($name, $idSite, $period, $date, $segment, $expanded, $idSubtable, $skipAggregationOfSubTables, $depth); } -} + + private function addPageprocessedMetrics(DataTable $dataTable) + { + $extraProcessedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); + $extraProcessedMetrics[] = new AverageTimeOnPage(); + $extraProcessedMetrics[] = new BounceRate(); + $extraProcessedMetrics[] = new ExitRate(); + $extraProcessedMetrics[] = new AveragePageGenerationTime(); + $dataTable->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); + } +} \ No newline at end of file diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 1bbe713a12..678fd52f31 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -43,9 +43,19 @@ class AveragePageGenerationTime extends ProcessedMetric return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } - public function shouldComputeForTable(Report $report, DataTable $table) + public function beforeCompute(Report $report, DataTable $table) { - $hasTimeGeneration = array_sum($table->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)) > 0; + $columnName = Metrics::INDEX_PAGE_SUM_TIME_GENERATION; + + // TODO: code redundancy w/ another metric (VisitsPercent i think?) + $firstRow = $table->getFirstRow(); + if (!empty($firstRow) + && $firstRow->getColumn($columnName) === false + ) { + $columnName = 'sum_time_generation'; + } + + $hasTimeGeneration = array_sum($table->getColumn($columnName)) > 0; if (!$hasTimeGeneration) { // TODO: ideally this logic shouldn't exist... // No generation time: remove it from the API output and add it to empty_columns metadata, so that diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php index 2570de0ac1..89a1955804 100644 --- a/plugins/Actions/Metrics/ExitRate.php +++ b/plugins/Actions/Metrics/ExitRate.php @@ -32,7 +32,12 @@ class ExitRate extends ProcessedMetric $exitVisits = $this->getColumn($row, 'exit_nb_visits'); $visits = $this->getColumn($row, 'nb_visits'); - return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 0); + return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); + } + + public function format($value) // TODO: should create ratio & percent processed metric base types + { + return ($value * 100) . '%'; } public function getDependenctMetrics() diff --git a/plugins/Actions/Reports/GetEntryPageTitles.php b/plugins/Actions/Reports/GetEntryPageTitles.php index f5b9c41817..f1332f2266 100644 --- a/plugins/Actions/Reports/GetEntryPageTitles.php +++ b/plugins/Actions/Reports/GetEntryPageTitles.php @@ -11,6 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\EntryPageTitle; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetEntryPageTitles extends Base { @@ -22,7 +26,13 @@ class GetEntryPageTitles extends Base $this->name = Piwik::translate('Actions_EntryPageTitles'); $this->documentation = Piwik::translate('Actions_ExitPageTitlesReportDocumentation', '<br />') . ' ' . Piwik::translate('General_UsePlusMinusIconsDocumentation'); - $this->metrics = array('entry_nb_visits', 'entry_bounce_count', 'bounce_rate'); + $this->metrics = array('entry_nb_visits', 'entry_bounce_count'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->order = 6; $this->actionToLoadSubTables = $this->action; diff --git a/plugins/Actions/Reports/GetEntryPageUrls.php b/plugins/Actions/Reports/GetEntryPageUrls.php index 71cab238b7..d0c42891fe 100644 --- a/plugins/Actions/Reports/GetEntryPageUrls.php +++ b/plugins/Actions/Reports/GetEntryPageUrls.php @@ -13,6 +13,10 @@ use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\API\Request; use Piwik\Plugins\Actions\Columns\EntryPageUrl; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetEntryPageUrls extends Base { @@ -25,7 +29,13 @@ class GetEntryPageUrls extends Base $this->documentation = Piwik::translate('Actions_EntryPagesReportDocumentation', '<br />') . '<br />' . Piwik::translate('General_UsePlusMinusIconsDocumentation'); - $this->metrics = array('entry_nb_visits', 'entry_bounce_count', 'bounce_rate'); + $this->metrics = array('entry_nb_visits', 'entry_bounce_count'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->order = 3; $this->actionToLoadSubTables = $this->action; diff --git a/plugins/Actions/Reports/GetExitPageTitles.php b/plugins/Actions/Reports/GetExitPageTitles.php index a9d29bd552..996b418843 100644 --- a/plugins/Actions/Reports/GetExitPageTitles.php +++ b/plugins/Actions/Reports/GetExitPageTitles.php @@ -11,6 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\ExitPageTitle; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetExitPageTitles extends Base { @@ -23,7 +27,13 @@ class GetExitPageTitles extends Base $this->documentation = Piwik::translate('Actions_EntryPageTitlesReportDocumentation', '<br />') . ' ' . Piwik::translate('General_UsePlusMinusIconsDocumentation'); - $this->metrics = array('exit_nb_visits', 'nb_visits', 'exit_rate'); + $this->metrics = array('exit_nb_visits', 'nb_visits'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->order = 7; $this->actionToLoadSubTables = $this->action; diff --git a/plugins/Actions/Reports/GetExitPageUrls.php b/plugins/Actions/Reports/GetExitPageUrls.php index 72a95379b6..781ca05f3a 100644 --- a/plugins/Actions/Reports/GetExitPageUrls.php +++ b/plugins/Actions/Reports/GetExitPageUrls.php @@ -13,6 +13,10 @@ use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\API\Request; use Piwik\Plugins\Actions\Columns\ExitPageUrl; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetExitPageUrls extends Base { @@ -25,7 +29,13 @@ class GetExitPageUrls extends Base $this->documentation = Piwik::translate('Actions_ExitPagesReportDocumentation', '<br />') . '<br />' . Piwik::translate('General_UsePlusMinusIconsDocumentation'); - $this->metrics = array('exit_nb_visits', 'nb_visits', 'exit_rate'); + $this->metrics = array('exit_nb_visits', 'nb_visits'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->actionToLoadSubTables = $this->action; $this->order = 4; diff --git a/plugins/Contents/API.php b/plugins/Contents/API.php index 002360588f..43d07b7cdc 100644 --- a/plugins/Contents/API.php +++ b/plugins/Contents/API.php @@ -61,8 +61,5 @@ class API extends \Piwik\Plugin\API } } }); - - // Content interaction rate = interactions / impressions - $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('interaction_rate', 'nb_interactions', 'nb_impressions', $precision = 2)); } } diff --git a/plugins/Contents/Metrics/InteractionRate.php b/plugins/Contents/Metrics/InteractionRate.php new file mode 100644 index 0000000000..41efeac82a --- /dev/null +++ b/plugins/Contents/Metrics/InteractionRate.php @@ -0,0 +1,48 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Contents\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * TODO +// Content interaction rate = interactions / impressions + */ +class InteractionRate extends ProcessedMetric +{ + public function getName() + { + return 'interaction_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('Contents_InteractionRate'); + } + + public function compute(Row $row) + { + $interactions = $this->getColumn($row, 'nb_interactions'); + $impressions = $this->getColumn($row, 'nb_impressions'); + + return Piwik::getQuotientSafe($interactions, $impressions, $precision = 4); + } + + public function format($value) + { + return ($value * 100) . '%'; + } + + public function getDependenctMetrics() + { + return array('nb_interactions', 'nb_impressions'); + } +} \ No newline at end of file diff --git a/plugins/Events/API.php b/plugins/Events/API.php index 890979db2c..d81144f855 100644 --- a/plugins/Events/API.php +++ b/plugins/Events/API.php @@ -217,14 +217,5 @@ class API extends \Piwik\Plugin\API $row->setColumn('label', Piwik::translate('General_NotDefined', Piwik::translate('Events_EventName'))); } }); - - // add processed metric avg_event_value - $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', - array('avg_event_value', - 'sum_event_value', - 'nb_events_with_value', - $precision = 2, - $shouldSkipRows = true) - ); } } \ No newline at end of file diff --git a/plugins/Events/Metrics/AverageEventValue.php b/plugins/Events/Metrics/AverageEventValue.php new file mode 100644 index 0000000000..e09079f266 --- /dev/null +++ b/plugins/Events/Metrics/AverageEventValue.php @@ -0,0 +1,42 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Events\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * TODO + */ +class AverageEventValue extends ProcessedMetric +{ + public function getName() + { + return 'avg_event_value'; + } + + public function getTranslatedName() + { + return Piwik::translate('Events_AvgValueDocumentation'); + } + + public function compute(Row $row) + { + $sumEventValue = $this->getColumn($row, 'sum_event_value'); + $eventsWithValue = $this->getColumn($row, 'nb_events_with_value'); + + return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); // TODO: used to use shouldSkipRows = true + } + + public function getDependenctMetrics() + { + return array('sum_event_value', 'nb_events_with_value'); + } +} \ No newline at end of file diff --git a/plugins/Events/Reports/Base.php b/plugins/Events/Reports/Base.php index 2caf9b6a75..e49c7815fa 100644 --- a/plugins/Events/Reports/Base.php +++ b/plugins/Events/Reports/Base.php @@ -9,13 +9,16 @@ namespace Piwik\Plugins\Events\Reports; use Piwik\Plugins\Events\API; +use Piwik\Plugins\Events\Metrics\AverageEventValue; abstract class Base extends \Piwik\Plugin\Report { protected function init() { $this->category = 'Events_Events'; - $this->processedMetrics = false; + $this->processedMetrics = array( + new AverageEventValue() + ); $this->widgetParams = array( 'secondaryDimension' => API::getInstance()->getDefaultSecondaryDimension($this->action) diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 36d0007f83..dcf39f8874 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -230,17 +230,8 @@ class API extends \Piwik\Plugin\API $dataTable->renameColumn(Metrics::INDEX_ECOMMERCE_ORDERS, $ordersColumn); } - // Average price = sum product revenue / quantity - $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', array('avg_price', 'price', $ordersColumn, GoalManager::REVENUE_PRECISION)); - - // Average quantity = sum product quantity / abandoned carts - $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', - array('avg_quantity', 'quantity', $ordersColumn, $precision = 1)); $dataTable->queueFilter('ColumnDelete', array('price')); - // Product conversion rate = orders / visits - $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('conversion_rate', $ordersColumn, 'nb_visits', GoalManager::REVENUE_PRECISION)); - return $dataTable; } diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index 381c37f7ee..cd75af0c9e 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -117,7 +117,7 @@ class Goals extends \Piwik\Plugin 'revenue_per_visit' => 'General_ColumnValuePerVisit', 'quantity' => 'General_Quantity', 'avg_price' => 'General_AveragePrice', - 'avg_quantity' => 'General_AverageQuantity', + 'avg_quantity' => 'onv', 'revenue_subtotal' => 'General_Subtotal', 'revenue_tax' => 'General_Tax', 'revenue_shipping' => 'General_Shipping', diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php new file mode 100644 index 0000000000..1bc6932d68 --- /dev/null +++ b/plugins/Goals/Metrics/AveragePrice.php @@ -0,0 +1,45 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Goals\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * TODO +// Average price = sum product revenue / quantity + */ +class AveragePrice extends ProcessedMetric +{ + public function getName() + { + return 'avg_price'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_AveragePrice'); + } + + public function compute(Row $row) + { + $price = $this->getColumn($row, 'price'); + $orders = $this->getColumn($row, 'orders'); + $abandonedCarts = $this->getColumn($row, 'abandoned_carts'); + + return Piwik::getQuotientSafe($price, $orders === false ? $abandonedCarts : $orders, GoalManager::REVENUE_PRECISION); + } + + public function getDependenctMetrics() + { + return array('price', 'orders', 'abandoned_carts'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/AverageQuantity.php b/plugins/Goals/Metrics/AverageQuantity.php new file mode 100644 index 0000000000..6644840e82 --- /dev/null +++ b/plugins/Goals/Metrics/AverageQuantity.php @@ -0,0 +1,44 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Goals\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * TODO +// Average quantity = sum product quantity / abandoned carts + */ +class AverageQuantity extends ProcessedMetric +{ + public function getName() + { + return 'avg_quantity'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_AverageQuantity'); + } + + public function compute(Row $row) + { + $quantity = $this->getColumn($row, 'quantity'); + $orders = $this->getColumn($row, 'orders'); + $abandonedCarts = $this->getColumn($row, 'abandoned_carts'); + + return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1); + } + + public function getDependenctMetrics() + { + return array('quantity', 'orders', 'abandoned_carts'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php new file mode 100644 index 0000000000..7be6bf28af --- /dev/null +++ b/plugins/Goals/Metrics/ProductConversionRate.php @@ -0,0 +1,45 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Goals\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * TODO +// Product conversion rate = orders / visits + */ +class ProductConversionRate extends ProcessedMetric +{ + public function getName() + { + return 'conversion_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnConversionRate'); + } + + public function compute(Row $row) + { + $orders = $this->getColumn($row, 'orders'); + $abandonedCarts = $this->getColumn($row, 'abandoned_carts'); + $visits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION); + } + + public function getDependenctMetrics() + { + return array('orders', 'abandoned_carts', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Reports/BaseEcommerceItem.php b/plugins/Goals/Reports/BaseEcommerceItem.php index 8699fe386b..b74585c7f4 100644 --- a/plugins/Goals/Reports/BaseEcommerceItem.php +++ b/plugins/Goals/Reports/BaseEcommerceItem.php @@ -13,15 +13,22 @@ use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Goals\Goals; +use Piwik\Plugins\Goals\Metrics\AveragePrice; +use Piwik\Plugins\Goals\Metrics\AverageQuantity; +use Piwik\Plugins\Goals\Metrics\ProductConversionRate; abstract class BaseEcommerceItem extends BaseEcommerce { protected function init() { parent::init(); - $this->processedMetrics = false; + $this->processedMetrics = array( + new AveragePrice(), + new AverageQuantity(), + new ProductConversionRate() + ); $this->metrics = array( - 'revenue', 'quantity', 'orders', 'avg_price', 'avg_quantity', 'nb_visits', 'conversion_rate' + 'revenue', 'quantity', 'orders', 'nb_visits' ); } diff --git a/plugins/Live/API.php b/plugins/Live/API.php index d15cca9e36..67f7d46cd4 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -167,6 +167,7 @@ class API extends \Piwik\Plugin\API $dataTable = $this->loadLastVisitorDetailsFromDatabase($idSite, $period, $date, $segment, $countVisitorsToFetch, $visitorId = false, $minTimestamp, $filterSortOrder); $this->addFilterToCleanVisitors($dataTable, $idSite, $flat, $doNotFetchActions); + // TODO: why is this necessary? shouldn't be. uncomment & see if tests pass. $filterSortColumn = Common::getRequestVar('filter_sort_column', false, 'string'); $filterSortOrder = Common::getRequestVar('filter_sort_order', 'desc', 'string'); diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index 76b98ad8b2..014db7a765 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -196,6 +196,14 @@ class API extends \Piwik\Plugin\API } } + // Calculate percentage, but ignore IE users because plugin detection doesn't work on IE + $ieVisits = 0; + + $ieStats = $browserType->getRowFromLabel('Trident'); + if ($ieStats !== false) { + $ieVisits = $ieStats->getColumn(Metrics::INDEX_NB_VISITS); + } + // get according visitsSum foreach ($visitSumsArray as $k => $visits) { if ($k == $key) { @@ -211,24 +219,9 @@ class API extends \Piwik\Plugin\API } } - // Calculate percentage, but ignore IE users because plugin detection doesn't work on IE - $ieVisits = 0; - - $ieStats = $browserType->getRowFromLabel('Trident'); - if ($ieStats !== false) { - $ieVisits = $ieStats->getColumn(Metrics::INDEX_NB_VISITS); - } - $visitsSum = $visitsSumTotal - $ieVisits; - // When Truncate filter is applied, it will call AddSummaryRow which tries to sum all rows. - // We tell the object to skip the column nb_visits_percentage when aggregating (since it's not correct to sum % values) - $columnAggregationOps = $table->getMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME); - $columnAggregationOps['nb_visits_percentage'] = 'skip'; - $table->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, $columnAggregationOps); - - // The filter must be applied now so that the new column can - // be sorted by the generic filters (applied right after this loop exits) + // TODO: refactor this message before using PluginsVisitsPercent $table->filter('ColumnCallbackAddColumnPercentage', array('nb_visits_percentage', Metrics::INDEX_NB_VISITS, $visitsSum, 1)); $table->filter('RangeCheck', array('nb_visits_percentage')); } diff --git a/plugins/UserSettings/Metrics/PluginsVisitsPercent.php b/plugins/UserSettings/Metrics/PluginsVisitsPercent.php new file mode 100644 index 0000000000..b3b87bc0e5 --- /dev/null +++ b/plugins/UserSettings/Metrics/PluginsVisitsPercent.php @@ -0,0 +1,54 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\UserSettings\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; + +/** + * TODO + */ +class PluginsVisitsPercent extends ProcessedMetric +{ + private $cachedTotalVisits = null; + + public function getName() + { + return 'nb_visits_percentage'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnPercentageVisits'); + } + + public function compute(Row $row) + { + // TODO: Implement compute() method. + } + + public function format($value) + { + return ($value * 100) . '%'; + } + + public function getDependenctMetrics() + { + return array('nb_visits'); + } + + public function beforeCompute(Report $report, DataTable $table) + { + // TODO + return true; + } +} \ No newline at end of file diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php index a100521788..d05cf436c7 100644 --- a/plugins/VisitFrequency/API.php +++ b/plugins/VisitFrequency/API.php @@ -48,10 +48,12 @@ class API extends \Piwik\Plugin\API 'serialize' => 0 // tests set this to 1 ); - /** @var DataTable $table */ $table = Request::processRequest('VisitsSummary.get', $params); $this->prefixColumns($table, $period); - $table->clearQueuedFilters(); + + $table->filter(function (DataTable $table) { + $table->clearQueuedFilters(); + }); return $table; } diff --git a/plugins/VisitorInterest/API.php b/plugins/VisitorInterest/API.php index 44df111588..33f6d97b58 100644 --- a/plugins/VisitorInterest/API.php +++ b/plugins/VisitorInterest/API.php @@ -87,28 +87,6 @@ class API extends \Piwik\Plugin\API $dataTable->queueFilter('BeautifyRangeLabels', array( Piwik::translate('General_OneVisit'), Piwik::translate('General_NVisits'))); - // add visit percent column - self::addVisitsPercentColumn($dataTable); - return $dataTable; } - - /** - * Utility function that adds a visit percent column to a data table, - * regardless of whether the data table is an data table array or just - * a data table. - * - * @param DataTable $dataTable The data table to modify. - */ - private static function addVisitsPercentColumn($dataTable) - { - if ($dataTable instanceof DataTable\Map) { - foreach ($dataTable->getDataTables() as $table) { - self::addVisitsPercentColumn($table); - } - } else { - $totalVisits = array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)); - $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('nb_visits_percentage', 'nb_visits', $totalVisits)); - } - } } diff --git a/plugins/VisitorInterest/Metrics/VisitsPercent.php b/plugins/VisitorInterest/Metrics/VisitsPercent.php new file mode 100644 index 0000000000..74afb172b9 --- /dev/null +++ b/plugins/VisitorInterest/Metrics/VisitsPercent.php @@ -0,0 +1,67 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\VisitorInterest\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; + +/** + * TODO + */ +class VisitsPercent extends ProcessedMetric +{ + private $cachedTotalVisits = null; + + public function getName() + { + return 'nb_visits_percentage'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnPercentageVisits'); + } + + public function compute(Row $row) + { + $visits = $this->getColumn($row, 'nb_visits'); + + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); + } + + public function format($value) + { + return ($value * 100) . '%'; + } + + public function getDependenctMetrics() + { + return array('nb_visits'); + } + + public function beforeCompute(Report $report, DataTable $table) + { + $columnName = 'nb_visits'; + + $firstRow = $table->getFirstRow(); + if (!empty($firstRow) + && $firstRow->getColumn($columnName) === false + ) { + $columnName = Metrics::INDEX_NB_VISITS; + } + + $this->cachedTotalVisits = array_sum($table->getColumn($columnName)); + + return true; // always compute + } +} \ No newline at end of file diff --git a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php index 74cf975a4d..0c42eafab0 100644 --- a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php +++ b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php @@ -12,6 +12,7 @@ use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\VisitorInterest\Columns\VisitsbyVisitNumber; +use Piwik\Plugins\VisitorInterest\Metrics\VisitsPercent; class GetNumberOfVisitsByVisitCount extends Base { @@ -23,7 +24,9 @@ class GetNumberOfVisitsByVisitCount extends Base $this->documentation = Piwik::translate('VisitorInterest_WidgetVisitsByNumDocumentation') . '<br />' . Piwik::translate('General_ChangeTagCloudView'); $this->metrics = array('nb_visits', 'nb_visits_percentage'); - $this->processedMetrics = false; + $this->processedMetrics = array( + new VisitsPercent() + ); $this->constantRowsCount = true; $this->order = 25; $this->widgetTitle = 'VisitorInterest_visitsByVisitCount'; diff --git a/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php b/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php index 0d6930fba1..287e6799f1 100755 --- a/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php +++ b/tests/PHPUnit/System/OneVisitorTwoVisitsTest.php @@ -79,15 +79,7 @@ class OneVisitorTwoVisitsTest extends SystemTestCase $url = urlencode($url); } return array( - array('VisitFrequency.get', array('idSite' => $idSite, - 'date' => $dateTime, - 'otherRequestParameters' => array( - 'hideColumns' => 'nb_users', - ) - )) - ); - return array( - array('VisitFrequency.get', array('idSite' => $idSite, + array('all', array('idSite' => $idSite, 'date' => $dateTime, 'otherRequestParameters' => array( 'hideColumns' => 'nb_users', diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageTitles_day.xml index 124e271777..668fad20f4 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -24,6 +25,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageUrls_day.xml index 5b3878f7b2..782624f6dc 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getEntryPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -25,6 +26,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -44,6 +46,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageTitles_day.xml index f80bfdd222..e6cc3fafe0 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -24,6 +25,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.023</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.023</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageUrls_day.xml index 3986b5b44b..39e9d36014 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getExitPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.023</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.023</max_time_generation> @@ -22,6 +23,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -41,6 +43,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitles_day.xml index 510f81282a..863bb0ecb6 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -24,6 +25,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -66,6 +69,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.023</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.023</max_time_generation> @@ -82,6 +86,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.224</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrls_day.xml index 62c8fa6fc8..099d3c8c45 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.224</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> @@ -21,6 +22,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.023</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.023</max_time_generation> @@ -38,6 +40,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -57,6 +60,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -76,6 +80,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml index b638a7f68c..40498bf45d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml @@ -7,7 +7,7 @@ <bounce_count>1</bounce_count> <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> + <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> <avg_time_on_site>811</avg_time_on_site> - <bounce_rate>50%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json index 4b75f2c513..54eec7681d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json @@ -1 +1 @@ -[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"nb_actions_per_visit":4,"avg_time_on_site":811,"bounce_rate":"50%"},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"nb_actions_per_visit":4,"avg_time_on_site":811,"bounce_rate":"50%"},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file +[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml index df99d07898..e3455beeec 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml @@ -10,9 +10,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> + <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> <avg_time_on_site>811</avg_time_on_site> - <bounce_rate>50%</bounce_rate> </row> <row key="2010-03-07"> </row> @@ -27,9 +27,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> + <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> <avg_time_on_site>811</avg_time_on_site> - <bounce_rate>50%</bounce_rate> </row> <row key="2010-03-07"> </row> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index ac649abb58..4fecaeba84 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___API.getProcessedReport_day.xml index fe3da65352..c9d8cb0877 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___API.getProcessedReport_day.xml @@ -9,12 +9,12 @@ <action>getPageTitles</action> <dimension>Page Name</dimension> <documentation>This report contains information about the titles of the pages that have been visited. <br /> The page title is the HTML <title> Tag that most browsers show in their window title.</documentation> - <metrics> - <exit_rate>Exit rate</exit_rate> - </metrics> <metricsDocumentation> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> </metricsDocumentation> + <processedMetrics> + <exit_rate>Exit rate</exit_rate> + </processedMetrics> <actionToLoadSubTables>getPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2010-03-06</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2010-02-05,2010-03-06</imageGraphEvolutionUrl> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___Actions.getPageTitles_day.xml index 793f02d8be..0d2e438d08 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___Actions.getPageTitles_day.xml @@ -2,6 +2,7 @@ <result> <row> <label>Checkout</label> + <sum_time_generation>0.134</sum_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> <avg_time_on_page>0</avg_time_on_page> @@ -10,6 +11,7 @@ <row> <label> Purchasing...</label> <nb_uniq_visitors>1</nb_uniq_visitors> + <sum_time_generation>0.134</sum_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> <avg_time_on_page>0</avg_time_on_page> @@ -20,6 +22,7 @@ <row> <label> incredible title!</label> <nb_uniq_visitors>1</nb_uniq_visitors> + <sum_time_generation>0.234</sum_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> <avg_time_on_page>180</avg_time_on_page> @@ -28,6 +31,7 @@ <row> <label> Looking at homepage (again)...</label> <nb_uniq_visitors>1</nb_uniq_visitors> + <sum_time_generation>0.023</sum_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.023</max_time_generation> <avg_time_on_page>0</avg_time_on_page> @@ -36,6 +40,7 @@ <row> <label> Second page view - should be registered as URL</label> <nb_uniq_visitors>1</nb_uniq_visitors> + <sum_time_generation>0.224</sum_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> <avg_time_on_page>900</avg_time_on_page> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml index 0a131c30c2..e84bd27189 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___VisitsSummary.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_uniq_visitors>1</nb_uniq_visitors> <nb_users>0</nb_users> - <nb_actions_per_visit>4</nb_actions_per_visit> <bounce_rate>50%</bounce_rate> + <nb_actions_per_visit>4</nb_actions_per_visit> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns___API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns___API.getProcessedReport_day.xml index 6c94a197f7..0997fc815f 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns___API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns___API.getProcessedReport_day.xml @@ -11,12 +11,14 @@ <documentation>This report contains information about the titles of the pages that have been visited. <br /> The page title is the HTML <title> Tag that most browsers show in their window title.</documentation> <metrics> <nb_hits>Pageviews</nb_hits> - <bounce_rate>Bounce Rate</bounce_rate> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> </metricsDocumentation> + <processedMetrics> + <bounce_rate>Bounce Rate</bounce_rate> + </processedMetrics> <actionToLoadSubTables>getPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2010-03-06</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2010-02-05,2010-03-06</imageGraphEvolutionUrl> -- cgit v1.2.3 From 08e1a4c2d0bbc9744b71e35517ea3493650866de Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 17:37:38 -0800 Subject: Convert MultiSites/API to use processed metric instead of CalculateEvolutionFilter. --- core/DataTable/Filter/CalculateEvolutionFilter.php | 3 + plugins/CoreHome/Metrics/EvolutionMetric.php | 108 +++++++++++++++++++++ plugins/MultiSites/API.php | 15 +-- 3 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 plugins/CoreHome/Metrics/EvolutionMetric.php diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index 0ef6a30a2f..ce1c778b86 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -25,6 +25,8 @@ use Piwik\Site; * * ((currentValue - pastValue) / pastValue) * 100 * + * TODO: deprecate and use Evolutionmetric + * * @api */ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage @@ -73,6 +75,7 @@ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, // we don't add the new column + // TODO: replicate this logic in MultiSites/API.php (create RevenueEvolutionMetric in Goals & add this check) if ($currentValue === false && $this->isRevenueEvolution && !Site::isEcommerceEnabledFor($row->getColumn('label')) diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php new file mode 100644 index 0000000000..6cf88eaba7 --- /dev/null +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -0,0 +1,108 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\CoreHome\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\Metric; +use Piwik\Plugin\ProcessedMetric; + +/** + * TODO + */ +class EvolutionMetric extends ProcessedMetric +{ + /** + * @var Metric|string + */ + private $wrapped; + + /** + * @var string + */ + private $evolutionMetricName; + + /** + * @var int + */ + private $quotientPrecision; + + /** + * @var DataTable + */ + private $pastData; + + /** + * TODO + */ + public function __construct($wrapped, $pastData, $evolutionMetricName = false, $quotientPrecision = 0) + { + $this->wrapped = $wrapped; + $this->pastData = $pastData; + + if (empty($evolutionMetricName)) { + $wrappedName = $this->getWrappedName(); + $evolutionMetricName = $wrappedName . '_evolution'; + } + + $this->evolutionMetricName = $evolutionMetricName; + $this->quotientPrecision = $quotientPrecision; + } + + public function getName() + { + return $this->evolutionMetricName; + } + + public function getTranslatedName() + { + return $this->wrapped instanceof Metric ? $this->wrapped->getTranslatedName() : $this->getName(); + } + + public function compute(Row $row) + { + $columnName = $this->getWrappedName(); + $pastRow = $this->getPastRowFromCurrent($row); + + $currentValue = $this->getColumn($row, $columnName); + $pastValue = $pastRow ? $this->getColumn($pastRow, $columnName) : 0; + + $dividend = $currentValue - $pastValue; + $divisor = $pastValue; + + if ($dividend == 0) { + return $dividend; + } else if ($divisor == 0) { + return $divisor; + } else { + return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision); + } + } + + public function format($value) + { + return ($value * 100) . '%'; + } + + public function getDependenctMetrics() + { + return array($this->getWrappedName()); + } + + private function getWrappedName() + { + return $this->wrapped instanceof Metric ? $this->wrapped->getName() : $this->wrapped; + } + + private function getPastRowFromCurrent(Row $row) + { + return $this->pastData->getRowFromLabel($row->getColumn('label')); + } +} \ No newline at end of file diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index ea393414f7..b148e3d99e 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -15,6 +15,7 @@ use Piwik\Common; use Piwik\DataTable; use Piwik\Period\Range; use Piwik\Piwik; +use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; use Piwik\Plugins\Goals\Archiver; use Piwik\Plugins\SitesManager\API as APISitesManager; use Piwik\Plugins\SitesManager\Model as ModelSitesManager; @@ -326,16 +327,16 @@ class API extends \Piwik\Plugin\API next($pastArray); } } else { + $extraProcessedMetrics = $currentData->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); foreach ($apiMetrics as $metricSettings) { - $currentData->filter( - 'CalculateEvolutionFilter', - array( - $pastData, - $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], - $metricSettings[self::METRIC_RECORD_NAME_KEY], - $quotientPrecision = 1) + $extraProcessedMetrics[] = new EvolutionMetric( + $metricSettings[self::METRIC_RECORD_NAME_KEY], + $pastData, + $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], + $quotientPrecision = 1 ); } + $currentData->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); } } -- cgit v1.2.3 From 4aee52a381121c5fd9e6d8825a1302889603f551 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 18:11:36 -0800 Subject: Use VisitsPercent processed metric in UserSettings.getPlugin. --- plugins/UserSettings/API.php | 34 +++++--------- .../UserSettings/Metrics/PluginsVisitsPercent.php | 54 ---------------------- 2 files changed, 11 insertions(+), 77 deletions(-) delete mode 100644 plugins/UserSettings/Metrics/PluginsVisitsPercent.php diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index 014db7a765..307f958d2a 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -13,6 +13,8 @@ use Piwik\DataTable; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\DevicesDetection\Archiver AS DDArchiver; +use Piwik\Plugins\UserSettings\Metrics\PluginsVisitsPercent; +use Piwik\Plugins\VisitorInterest\Metrics\VisitsPercent; /** * @see plugins/UserSettings/functions.php @@ -189,41 +191,27 @@ class API extends \Piwik\Plugin\API // walk through the results and calculate the percentage foreach ($dataTableMap as $key => $table) { - // get according browserType table - foreach ($browserTypesArray as $k => $browsers) { - if ($k == $key) { - $browserType = $browsers; - } - } - // Calculate percentage, but ignore IE users because plugin detection doesn't work on IE $ieVisits = 0; - $ieStats = $browserType->getRowFromLabel('Trident'); + $ieStats = $browserTypesArray[$key]->getRowFromLabel('Trident'); if ($ieStats !== false) { $ieVisits = $ieStats->getColumn(Metrics::INDEX_NB_VISITS); } // get according visitsSum - foreach ($visitSumsArray as $k => $visits) { - if ($k == $key) { - if (is_object($visits)) { - if ($visits->getRowsCount() == 0) { - $visitsSumTotal = 0; - } else { - $visitsSumTotal = (float)$visits->getFirstRow()->getColumn('nb_visits'); - } - } else { - $visitsSumTotal = (float)$visits; - } - } + $visits = $visitSumsArray[$key]; + if ($visits->getRowsCount() == 0) { + $visitsSumTotal = 0; + } else { + $visitsSumTotal = (float) $visits->getFirstRow()->getColumn('nb_visits'); } $visitsSum = $visitsSumTotal - $ieVisits; - // TODO: refactor this message before using PluginsVisitsPercent - $table->filter('ColumnCallbackAddColumnPercentage', array('nb_visits_percentage', Metrics::INDEX_NB_VISITS, $visitsSum, 1)); - $table->filter('RangeCheck', array('nb_visits_percentage')); + $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); + $extraProcessedMetrics[] = new VisitsPercent($visitsSum); // TODO: move to CoreHome/Metrics + $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); } $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getPluginsLogo')); diff --git a/plugins/UserSettings/Metrics/PluginsVisitsPercent.php b/plugins/UserSettings/Metrics/PluginsVisitsPercent.php deleted file mode 100644 index b3b87bc0e5..0000000000 --- a/plugins/UserSettings/Metrics/PluginsVisitsPercent.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\UserSettings\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Plugin\Report; - -/** - * TODO - */ -class PluginsVisitsPercent extends ProcessedMetric -{ - private $cachedTotalVisits = null; - - public function getName() - { - return 'nb_visits_percentage'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnPercentageVisits'); - } - - public function compute(Row $row) - { - // TODO: Implement compute() method. - } - - public function format($value) - { - return ($value * 100) . '%'; - } - - public function getDependenctMetrics() - { - return array('nb_visits'); - } - - public function beforeCompute(Report $report, DataTable $table) - { - // TODO - return true; - } -} \ No newline at end of file -- cgit v1.2.3 From 6bc507763db1f66f26c421c8bb736a312b9871d1 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 20:01:03 -0800 Subject: Filling out TODO items and refactoring ResponseBuilder + computing/formatting of ProcessedMetrics. --- core/API/DataTableGenericFilter.php | 37 +-- core/API/DataTablePostProcessor.php | 336 +++++++++++++++++++++ core/API/ResponseBuilder.php | 121 +------- core/Plugin/Report.php | 111 ++----- plugins/API/RowEvolution.php | 3 +- .../CoreHome/DataTableRowAction/RowEvolution.php | 3 +- 6 files changed, 367 insertions(+), 244 deletions(-) create mode 100644 core/API/DataTablePostProcessor.php diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index 2dc9ee82c1..a87f3305b0 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -12,7 +12,6 @@ use Exception; use Piwik\Common; use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; use Piwik\DataTable; -use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; class DataTableGenericFilter @@ -24,22 +23,14 @@ class DataTableGenericFilter */ private $disabledFilters = array(); - /** - * TODO - * - * @var Report|null- - */ - private $report; - /** * Constructor * * @param $request */ - function __construct($request, $report = null) + function __construct($request) { $this->request = $request; - $this->report = $report; } /** @@ -178,27 +169,7 @@ class DataTableGenericFilter return $filterApplied; } - public function computeProcessedMetricsIfNeeded(DataTable $dataTable) - { - if (!$this->doesColumnQueryParamReferenceProcessedMetric()) { - return false; - } - - $this->computeProcessedMetrics($dataTable); - - return true; - } - - public function computeProcessedMetrics(DataTable $dataTable) - { - if (empty($this->report)) { - return; - } - - $this->report->computeProcessedMetrics($dataTable); - } - - private function doesColumnQueryParamReferenceProcessedMetric() + public function areProcessedMetricsNeededFor(Report $report) { $columnQueryParameters = array( 'filter_column', @@ -208,9 +179,9 @@ class DataTableGenericFilter ); foreach ($columnQueryParameters as $queryParamName) { - $queryParamValue = Common::getRequestVar($queryParamName, false); + $queryParamValue = Common::getRequestVar($queryParamName, false, $type = null, $this->request); if (!empty($queryParamValue) - && $this->report->hasProcessedMetric($queryParamValue) + && $report->hasProcessedMetric($queryParamValue) ) { return true; } diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php new file mode 100644 index 0000000000..6b80082f69 --- /dev/null +++ b/core/API/DataTablePostProcessor.php @@ -0,0 +1,336 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\API; + +use Piwik\API\DataTableManipulator\Flattener; +use Piwik\API\DataTableManipulator\LabelFilter; +use Piwik\API\DataTableManipulator\ReportTotalsCalculator; +use Piwik\Common; +use Piwik\DataTable; +use Piwik\DataTable\DataTableInterface; +use Piwik\DataTable\Filter\PivotByDimension; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; + +/** + * Processes DataTables that should be served through Piwik's APIs. This processing handles + * special query parameters and computes processed metrics. It does not included rendering to + * output formates (eg, 'xml'). + */ +class DataTablePostProcessor +{ + const PROCESSED_METRICS_FORMATTED_FLAG = 'processed_metrics_formatted'; + const PROCESSED_METRICS_COMPUTED_FLAG = 'processed_metrics_computed'; + + /** + * Apply post-processing logic to a DataTable of a report for an API request. + * + * @param DataTableInterface $dataTable The data table to process. + * @param Report|null $report The Report metadata class for the DataTable's report, or null if + * there is none. + * @param string[] $request The API request that + * @param bool $applyFormatting Whether to format processed metrics or not. + * @return DataTableInterface A new data table. + */ + public function process(DataTableInterface $dataTable, $report, $request, $applyFormatting = true) + { + $label = self::getLabelFromRequest($request); + + $dataTable = $this->applyPivotByFilter($dataTable, $report, $request); + $dataTable = $this->applyFlattener($dataTable, $report, $request); + $dataTable = $this->applyTotalsCalculator($dataTable, $report, $request); + $dataTable = $this->applyGenericFilters($label, $dataTable, $report, $request); + + $dataTable->filter(array($this, 'computeProcessedMetrics'), array($report)); + + // we automatically safe decode all datatable labels (against xss) + $dataTable->queueFilter('SafeDecodeLabel'); + + $dataTable = $this->applyQueuedFilters($dataTable, $request); + $dataTable = $this->applyRequestedColumnDeletion($dataTable, $request); + $dataTable = $this->applyLabelFilter($label, $dataTable, $report, $request); + $dataTable = $this->applyProcessedMetricsFormatting($dataTable, $report, $applyFormatting); + + return $dataTable; + } + + /** + * @param DataTableInterface $dataTable + * @param Report|null $report + * @param $request + * @return DataTableInterface + */ + private function applyPivotByFilter(DataTableInterface $dataTable, $report, $request) + { + $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $request); + if (!empty($pivotBy)) { + $reportId = $report->getModule() . '.' . $report->getAction(); + $pivotByColumn = Common::getRequestVar('pivotByColumn', false, 'string', $request); + $pivotByColumnLimit = Common::getRequestVar('pivotByColumnLimit', false, 'int', $request); + + $dataTable->filter('PivotByDimension', array($reportId, $pivotBy, $pivotByColumn, $pivotByColumnLimit, + PivotByDimension::isSegmentFetchingEnabledInConfig())); + } + return $dataTable; + } + + /** + * @param DataTableInterface $dataTable + * @param Report|null $report + * @param $request + * @return DataTable|DataTableInterface|DataTable\Map + */ + private function applyFlattener($dataTable, $report, $request) + { + if (Common::getRequestVar('flat', '0', 'string', $request) == '1') { + $flattener = new Flattener($report->getModule(), $report->getAction(), $request); + if (Common::getRequestVar('include_aggregate_rows', '0', 'string', $request) == '1') { + $flattener->includeAggregateRows(); + } + $dataTable = $flattener->flatten($dataTable); + } + return $dataTable; + } + + /** + * @param DataTableInterface $dataTable + * @param Report|null $report + * @param $request + * @return DataTableInterface + */ + private function applyTotalsCalculator($dataTable, $report, $request) + { + if (1 == Common::getRequestVar('totals', '1', 'integer', $request)) { + $reportTotalsCalculator = new ReportTotalsCalculator($report->getModule(), $report->getAction(), $request); + $dataTable = $reportTotalsCalculator->calculate($dataTable); + } + return $dataTable; + } + + /** + * @param string $label + * @param DataTableInterface $dataTable + * @param Report|null $report + * @param $request + * @return DataTableInterface + */ + private function applyGenericFilters($label, $dataTable, $report, $request) + { + // if the flag disable_generic_filters is defined we skip the generic filters + if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $request)) { + $self = $this; + + $genericFilter = new DataTableGenericFilter($request, $report); + + if ($genericFilter->areProcessedMetricsNeededFor($report)) { + $dataTable->filter(function (DataTable $table) use ($self, $report) { + $self->computeProcessedMetrics($table, $report); + }); + } + + if (!empty($label)) { + $genericFilter->disableFilters(array('Limit', 'Truncate')); + } + + $genericFilter->filter($dataTable); + } + + return $dataTable; + } + + /** + * @param DataTableInterface $dataTable + * @param $request + * @return DataTableInterface + */ + private function applyQueuedFilters($dataTable, $request) + { + // if the flag disable_queued_filters is defined we skip the filters that were queued + if (Common::getRequestVar('disable_queued_filters', 0, 'int', $request) == 0) { + $dataTable->applyQueuedFilters(); + } + return $dataTable; + } + + /** + * @param DataTableInterface $dataTable + * @param $request + * @return DataTableInterface + */ + private function applyRequestedColumnDeletion($dataTable, $request) + { + // use the ColumnDelete filter if hideColumns/showColumns is provided (must be done + // after queued filters are run so processed metrics can be removed, too) + $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $request); + $showColumns = Common::getRequestVar('showColumns', '', 'string', $request); + if (empty($showColumns)) { + // if 'columns' is used, we remove all temporary metrics by showing only the columns specified in + // 'columns' + $showColumns = Common::getRequestVar('columns', '', 'string', $request); + } + + if (!empty($hideColumns) + || !empty($showColumns) + ) { + $dataTable->filter('ColumnDelete', array($hideColumns, $showColumns)); + } + + return $dataTable; + } + + /** + * @param string $label + * @param DataTableInterface $dataTable + * @param Report $report + * @return DataTableInterface + */ + private function applyLabelFilter($label, $dataTable, $report, $request) + { + // apply label filter: only return rows matching the label parameter (more than one if more than one label) + if (!empty($label)) { + $addLabelIndex = Common::getRequestVar('labelFilterAddLabelIndex', 0, 'int', $request) == 1; + + $filter = new LabelFilter($report->getModule(), $report->getAction(), $request); + $dataTable = $filter->filter($label, $dataTable, $addLabelIndex); + } + return $dataTable; + } + + /** + * @param DataTableInterface $dataTable + * @param Report $report + * @return DataTableInterface + */ + private function applyProcessedMetricsFormatting($dataTable, $report, $applyFormatting) + { + if ($applyFormatting) { + $dataTable->filter(array($this, 'formatProcessedMetrics'), array($report)); + } else { + $dataTable->queueFilter(array($this, 'formatProcessedMetrics'), array($report)); // TODO: queuing does not always work. + } + + return $dataTable; + } + + /** + * Returns the value for the label query parameter which can be either a string + * (ie, label=...) or array (ie, label[]=...). + * + * @param array $request + * @return array + */ + public static function getLabelFromRequest($request) + { + $label = Common::getRequestVar('label', array(), 'array', $request); + if (empty($label)) { + $label = Common::getRequestVar('label', '', 'string', $request); + if (!empty($label)) { + $label = array($label); + } + } + + $label = self::unsanitizeLabelParameter($label); + return $label; + } + + public static function unsanitizeLabelParameter($label) + { + // this is needed because Proxy uses Common::getRequestVar which in turn + // uses Common::sanitizeInputValue. This causes the > that separates recursive labels + // to become > and we need to undo that here. + $label = Common::unsanitizeInputValues($label); + return $label; + } + + private function computeProcessedMetrics(DataTable $dataTable, $report) + { + if ($dataTable->getMetadata(self::PROCESSED_METRICS_COMPUTED_FLAG)) { + return; + } + + $dataTable->setMetadata(self::PROCESSED_METRICS_COMPUTED_FLAG, true); + + $processedMetrics = $this->getProcessedMetricsFor($dataTable, $report); + if (empty($processedMetrics)) { + return; + } + + foreach ($processedMetrics as $name => $processedMetric) { + if (!$processedMetric->beforeCompute($this, $dataTable)) { + continue; + } + + foreach ($dataTable->getRows() as $row) { + if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already + $row->addColumn($name, $processedMetric->compute($row)); + + $subtable = $row->getSubtable(); + if (!empty($subtable)) { + $this->computeProcessedMetrics($subtable, $report); + } + } + } + } + } + + /** + * public for use as callback. + */ + public function formatProcessedMetrics(DataTable $dataTable, $report) + { + if ($dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG)) { + return; + } + + $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); + + $processedMetrics = $this->getProcessedMetricsFor($dataTable, $report); + if (empty($processedMetrics)) { + return; + } + + foreach ($dataTable->getRows() as $row) { + foreach ($processedMetrics as $name => $processedMetric) { + $columnValue = $row->getColumn($name); + if ($columnValue !== false) { + $row->setColumn($name, $processedMetric->format($columnValue)); + } + + $subtable = $row->getSubtable(); + if (!empty($subtable)) { + $this->formatProcessedMetrics($subtable, $report); + } + } + } + } + + /** + * @param DataTable $dataTable + * @param Report $report + * @return ProcessedMetric[] + */ + private function getProcessedMetricsFor(DataTable $dataTable, $report) + { + $processedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); + + if (!empty($report)) { + $processedMetrics = array_merge($processedMetrics, $report->processedMetrics ?: array()); + } + + $result = array(); + foreach ($processedMetrics as $metric) { + if (!($metric instanceof ProcessedMetric)) { + continue; + } + + $result[$metric->getName()] = $metric; + } + return $result; + } +} \ No newline at end of file diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 248c4401ae..dbf79b1ec8 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -9,12 +9,8 @@ namespace Piwik\API; use Exception; -use Piwik\API\DataTableManipulator\Flattener; -use Piwik\API\DataTableManipulator\LabelFilter; -use Piwik\API\DataTableManipulator\ReportTotalsCalculator; use Piwik\Common; use Piwik\DataTable; -use Piwik\DataTable\Filter\PivotByDimension; use Piwik\DataTable\Renderer; use Piwik\DataTable\DataTableInterface; use Piwik\DataTable\Filter\ColumnDelete; @@ -33,6 +29,8 @@ class ResponseBuilder private $apiModule = false; private $apiMethod = false; + private $postProcessor; + /** * @param string $outputFormat * @param array $request @@ -42,6 +40,7 @@ class ResponseBuilder $this->outputFormat = $outputFormat; $this->request = $request; $this->apiRenderer = ApiRenderer::factory($outputFormat, $request); + $this->postProcessor = new DataTablePostProcessor(); } public function disableSendHeader() @@ -168,90 +167,10 @@ class ResponseBuilder private function handleDataTable(DataTableInterface $datatable) { - $label = $this->getLabelFromRequest($this->request); $report = Report::factory($this->apiModule, $this->apiMethod); + $applyFormatting = !($this->apiRenderer instanceof Original); - $genericFilter = new DataTableGenericFilter($this->request, $report); - - // handle pivot by dimension filter - $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $this->request); - if (!empty($pivotBy)) { - $reportId = $this->apiModule . '.' . $this->apiMethod; - $pivotByColumn = Common::getRequestVar('pivotByColumn', false, 'string', $this->request); - $pivotByColumnLimit = Common::getRequestVar('pivotByColumnLimit', false, 'int', $this->request); - - $datatable->filter('PivotByDimension', array($reportId, $pivotBy, $pivotByColumn, $pivotByColumnLimit, - PivotByDimension::isSegmentFetchingEnabledInConfig())); - } - - // if requested, flatten nested tables - if (Common::getRequestVar('flat', '0', 'string', $this->request) == '1') { - $flattener = new Flattener($this->apiModule, $this->apiMethod, $this->request); - if (Common::getRequestVar('include_aggregate_rows', '0', 'string', $this->request) == '1') { - $flattener->includeAggregateRows(); - } - $datatable = $flattener->flatten($datatable); - } - - if (1 == Common::getRequestVar('totals', '1', 'integer', $this->request)) { - $reportTotalsCalculator = new ReportTotalsCalculator($this->apiModule, $this->apiMethod, $this->request); - $datatable = $reportTotalsCalculator->calculate($datatable); - } - - // if the flag disable_generic_filters is defined we skip the generic filters - if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { - $datatable->filter(function (DataTable $table) use ($genericFilter) { - $genericFilter->computeProcessedMetricsIfNeeded($table); - }); - - if (!empty($label)) { - $genericFilter->disableFilters(array('Limit', 'Truncate')); - } - - $genericFilter->filter($datatable); - } - - $datatable->filter(function (DataTable $table) use ($genericFilter) { - $genericFilter->computeProcessedMetrics($table); - }); - - // we automatically safe decode all datatable labels (against xss) - $datatable->queueFilter('SafeDecodeLabel'); - - // if the flag disable_queued_filters is defined we skip the filters that were queued - if (Common::getRequestVar('disable_queued_filters', 0, 'int', $this->request) == 0) { - $datatable->applyQueuedFilters(); - } - - // use the ColumnDelete filter if hideColumns/showColumns is provided (must be done - // after queued filters are run so processed metrics can be removed, too) - $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request); - $showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request); - if (empty($showColumns)) { - $showColumns = Common::getRequestVar('columns', '', 'string', $this->request); // TODO: note backwards compatibility - } - - if (!empty($hideColumns) - || !empty($showColumns) - ) { - $datatable->filter('ColumnDelete', array($hideColumns, $showColumns)); - } - - // apply label filter: only return rows matching the label parameter (more than one if more than one label) - if (!empty($label)) { - $addLabelIndex = Common::getRequestVar('labelFilterAddLabelIndex', 0, 'int', $this->request) == 1; - - $filter = new LabelFilter($this->apiModule, $this->apiMethod, $this->request); - $datatable = $filter->filter($label, $datatable, $addLabelIndex); - } - - if (!empty($report)) { - if (!($this->apiRenderer instanceof Original)) { - $datatable->filter(array($report, 'formatProcessedMetrics')); - } else { - $datatable->queueFilter(array($report, 'formatProcessedMetrics')); // TODO: queuing does not always work. - } - } + $datatable = $this->postProcessor->process($datatable, $report, $this->request, $applyFormatting); return $this->apiRenderer->renderDataTable($datatable); } @@ -286,36 +205,6 @@ class ResponseBuilder return $this->apiRenderer->renderArray($array); } - /** - * Returns the value for the label query parameter which can be either a string - * (ie, label=...) or array (ie, label[]=...). - * - * @param array $request - * @return array - */ - public static function getLabelFromRequest($request) - { - $label = Common::getRequestVar('label', array(), 'array', $request); - if (empty($label)) { - $label = Common::getRequestVar('label', '', 'string', $request); - if (!empty($label)) { - $label = array($label); - } - } - - $label = self::unsanitizeLabelParameter($label); - return $label; - } - - public static function unsanitizeLabelParameter($label) - { - // this is needed because Proxy uses Common::getRequestVar which in turn - // uses Common::sanitizeInputValue. This causes the > that separates recursive labels - // to become > and we need to undo that here. - $label = Common::unsanitizeInputValues($label); - return $label; - } - private function sendHeaderIfEnabled() { if ($this->sendHeader) { diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index fb009f06a2..11b50fc3ef 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -121,10 +121,8 @@ class Report * Eg `array('avg_time_on_site', 'nb_actions_per_visit', ...)` * @var array|false * @api - * - * TODO: shouldn't be public */ - public $processedMetrics = array('nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'); + protected $processedMetrics = array('nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'); // for a little performance improvement we avoid having to call Metrics::getDefaultProcessedMetrics for each report /** @@ -361,7 +359,18 @@ class Report } /** - * TODO + * Returns the list of metrics required at minimum for a report factoring in the columns requested by + * the report requester. + * + * This will return all the metrics requested (or all the metrics in the report if nothing is requested) + * **plus** the metrics required to calculate the requested processed metrics. + * + * This method should be used in **Plugin.get** API methods. + * + * @param string[]|null $allColumns The list of all available columns. Defaults to this report's metrics + * and processed metrics. + * @param string[]|null $restrictToColumns The requested columns. + * @return string[] */ public function getMetricsRequiredForReport($allColumns = null, $restrictToColumns = null) { @@ -697,97 +706,13 @@ class Report } /** - * TODO + * Returns true if this report has a processed metric with the `$name` name. * - * @return ProcessedMetric[] - */ - public function getProcessedMetricsFor(DataTable $dataTable) - { - $dataTableProcessedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); - - $processedMetrics = $this->processedMetrics ?: array(); - $processedMetrics = array_merge($processedMetrics, $dataTableProcessedMetrics); - - $result = array(); - foreach ($processedMetrics as $metric) { - if (!($metric instanceof ProcessedMetric)) { - continue; - } - - $result[$metric->getName()] = $metric; - } - return $result; - } - - /** - * TODO + * Will only search through {@link Piwik\Plugin\ProcessedMetric} instances, so string entries + * in {@link $processedMetrics} will be ignored. * - * TODO: put in new non-filter class. do not mark w/ @api. - */ - public function computeProcessedMetrics(DataTable $dataTable) - { - if ($dataTable->getMetadata('processed_metrics_computed')) { - return; - } - - $dataTable->setMetadata('processed_metrics_computed', true); // TODO: metadataname should be const - - $processedMetrics = $this->getProcessedMetricsFor($dataTable); - if (empty($processedMetrics)) { - return; - } - - foreach ($processedMetrics as $name => $processedMetric) { - if (!$processedMetric->beforeCompute($this, $dataTable)) { - continue; - } - - foreach ($dataTable->getRows() as $row) { - if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already - $row->addColumn($name, $processedMetric->compute($row)); - - $subtable = $row->getSubtable(); - if (!empty($subtable)) { - $this->computeProcessedMetrics($subtable); - } - } - } - } - } - - /** - * TODO - */ - public function formatProcessedMetrics(DataTable $dataTable) - { - if ($dataTable->getMetadata('processed_metrics_formatted')) { - return; - } - - $dataTable->setMetadata('processed_metrics_formatted', true); // TODO: metadataname should be const - - $processedMetrics = $this->getProcessedMetricsFor($dataTable); - if (empty($processedMetrics)) { - return; - } - - foreach ($dataTable->getRows() as $row) { - foreach ($processedMetrics as $name => $processedMetric) { - $columnValue = $row->getColumn($name); - if ($columnValue !== false) { - $row->setColumn($name, $processedMetric->format($columnValue)); - } - - $subtable = $row->getSubtable(); - if (!empty($subtable)) { - $this->formatProcessedMetrics($subtable); - } - } - } - } - - /** - * TODO + * @param string $name + * @return bool */ public function hasProcessedMetric($name) { diff --git a/plugins/API/RowEvolution.php b/plugins/API/RowEvolution.php index b57a788050..c4d96fb912 100644 --- a/plugins/API/RowEvolution.php +++ b/plugins/API/RowEvolution.php @@ -10,6 +10,7 @@ namespace Piwik\Plugins\API; use Exception; use Piwik\API\DataTableManipulator\LabelFilter; +use Piwik\API\DataTablePostProcessor; use Piwik\API\Request; use Piwik\API\ResponseBuilder; use Piwik\Common; @@ -48,7 +49,7 @@ class RowEvolution throw new Exception("Row evolutions can not be processed with this combination of \'date\' and \'period\' parameters."); } - $label = ResponseBuilder::unsanitizeLabelParameter($label); + $label = DataTablePostProcessor::unsanitizeLabelParameter($label); $labels = Piwik::getArrayFromApiParameter($label); $metadata = $this->getRowEvolutionMetaData($idSite, $period, $date, $apiModule, $apiAction, $language, $idGoal); diff --git a/plugins/CoreHome/DataTableRowAction/RowEvolution.php b/plugins/CoreHome/DataTableRowAction/RowEvolution.php index 6f2db7ab9d..2e2631203a 100644 --- a/plugins/CoreHome/DataTableRowAction/RowEvolution.php +++ b/plugins/CoreHome/DataTableRowAction/RowEvolution.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\CoreHome\DataTableRowAction; use Exception; +use Piwik\API\DataTablePostProcessor; use Piwik\API\Request; use Piwik\API\ResponseBuilder; use Piwik\Common; @@ -85,7 +86,7 @@ class RowEvolution $this->apiMethod = Common::getRequestVar('apiMethod', '', 'string'); if (empty($this->apiMethod)) throw new Exception("Parameter apiMethod not set."); - $this->label = ResponseBuilder::getLabelFromRequest($_GET); + $this->label = DataTablePostProcessor::getLabelFromRequest($_GET); if (!is_array($this->label)) { throw new Exception("Expected label to be an array, got instead: " . $this->label); } -- cgit v1.2.3 From 97dc9e2897fd5d365926af05078cf4f9941dd01a Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 20:15:11 -0800 Subject: Rename Metric::getColumn to Metric::getMetric and get rid of Metrics\Base. --- .../Filter/AddColumnsProcessedMetrics.php | 8 ++- .../Filter/AddColumnsProcessedMetricsGoal.php | 5 +- core/Metrics/Base.php | 61 ---------------------- core/Plugin/Metric.php | 4 +- .../Actions/Metrics/AveragePageGenerationTime.php | 4 +- plugins/Actions/Metrics/AverageTimeOnPage.php | 4 +- plugins/Actions/Metrics/BounceRate.php | 4 +- plugins/Actions/Metrics/ExitRate.php | 4 +- plugins/Contents/Metrics/InteractionRate.php | 4 +- plugins/CoreHome/Metrics/ActionsPerVisit.php | 4 +- plugins/CoreHome/Metrics/AverageTimeOnSite.php | 4 +- plugins/CoreHome/Metrics/BounceRate.php | 4 +- plugins/CoreHome/Metrics/ConversionRate.php | 4 +- plugins/CoreHome/Metrics/EvolutionMetric.php | 4 +- plugins/Events/Metrics/AverageEventValue.php | 4 +- plugins/Goals/Metrics/AverageOrderRevenue.php | 4 +- plugins/Goals/Metrics/AveragePrice.php | 6 +-- plugins/Goals/Metrics/AverageQuantity.php | 6 +-- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 4 +- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 6 +-- plugins/Goals/Metrics/GoalSpecific/Conversions.php | 4 +- plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 4 +- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 4 +- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 8 +-- plugins/Goals/Metrics/ProductConversionRate.php | 6 +-- plugins/Goals/Metrics/RevenuePerVisit.php | 10 ++-- plugins/VisitorInterest/Metrics/VisitsPercent.php | 2 +- 27 files changed, 61 insertions(+), 125 deletions(-) delete mode 100644 core/Metrics/Base.php diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php index 21fbef976a..778a202b8b 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php @@ -11,7 +11,7 @@ namespace Piwik\DataTable\Filter; use Piwik\DataTable\BaseFilter; use Piwik\DataTable\Row; use Piwik\DataTable; -use Piwik\Metrics; +use Piwik\Plugin\Metric; use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; use Piwik\Plugins\CoreHome\Metrics\BounceRate; @@ -81,11 +81,9 @@ class AddColumnsProcessedMetrics extends BaseFilter private function deleteRowsWithNoVisit(DataTable $table) { - $metrics = new Metrics\Base(); - foreach ($table->getRows() as $key => $row) { - $nbVisits = $metrics->getColumn($row, Metrics::INDEX_NB_VISITS); - $nbActions = $metrics->getColumn($row, Metrics::INDEX_NB_ACTIONS); + $nbVisits = Metric::getMetric($row, Metrics::INDEX_NB_VISITS); + $nbActions = Metric::getMetric($row, Metrics::INDEX_NB_ACTIONS); if ($nbVisits == 0 && $nbActions == 0 diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index aed53e3d30..1410103174 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -12,6 +12,7 @@ use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\Plugin\Metric; use Piwik\Plugins\Goals\Metrics\GoalSpecific\AverageOrderRevenue; use Piwik\Plugins\Goals\Metrics\GoalSpecific\ConversionRate; use Piwik\Plugins\Goals\Metrics\GoalSpecific\Conversions; @@ -160,11 +161,9 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics private function getGoalsInTable(DataTable $table) { - $metrics = new Metrics\Base(); // TODO: should probably get rid of Base too... - $result = array(); foreach ($table->getRows() as $row) { - $goals = $metrics->getColumn($row, Metrics::INDEX_GOALS); + $goals = Metric::getMetric($row, Metrics::INDEX_GOALS); if (!$goals) { continue; } diff --git a/core/Metrics/Base.php b/core/Metrics/Base.php deleted file mode 100644 index 838d7c2ee6..0000000000 --- a/core/Metrics/Base.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * - */ -namespace Piwik\Metrics; - -use Piwik\Metrics; -use Piwik\DataTable\Row; - -class Base -{ - protected $invalidDivision = 0; - protected $roundPrecision = 2; - - protected function getNumVisits(Row $row) - { - return (int) $this->getColumn($row, Metrics::INDEX_NB_VISITS); - } - - /** - * Returns column from a given row. - * Will work with 2 types of datatable - * - raw datatables coming from the archive DB, which columns are int indexed - * - datatables processed resulting of API calls, which columns have human readable english names - * - * @param Row|array $row - * @param int $columnIdRaw see consts in Archive:: - * @param bool|array $mappingIdToName - * @return mixed Value of column, false if not found - */ - public function getColumn($row, $columnIdRaw, $mappingIdToName = false) - { - if (empty($mappingIdToName)) { - $mappingIdToName = Metrics::$mappingFromIdToName; - } - - $columnIdReadable = $mappingIdToName[$columnIdRaw]; - - if ($row instanceof Row) { - $raw = $row->getColumn($columnIdRaw); - if ($raw !== false) { - return $raw; - } - return $row->getColumn($columnIdReadable); - } - - if (isset($row[$columnIdRaw])) { - return $row[$columnIdRaw]; - } - - if (isset($row[$columnIdReadable])) { - return $row[$columnIdReadable]; - } - - return false; - } -} \ No newline at end of file diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 2c4410c548..af4fbcb9c4 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -71,13 +71,13 @@ abstract class Metric /** * TODO */ - public function getColumn($row, $columnName, $mappingIdToName = null) + public static function getMetric($row, $columnName, $mappingIdToName = null) { if (empty($mappingIdToName)) { $mappingIdToName = Metrics::getMappingFromNameToId(); } - if ($row instanceof Row) { + if ($row instanceof Row) { // TODO: benchmark w/ array-access (so we don't need this if statement). $value = $row->getColumn($columnName); if ($value === false && isset($mappingIdToName[$columnName]) diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 678fd52f31..f3081af35f 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -37,8 +37,8 @@ class AveragePageGenerationTime extends ProcessedMetric public function compute(Row $row) { - $sumGenerationTime = $this->getColumn($row, 'sum_time_generation'); - $hitsWithTimeGeneration = $this->getColumn($row, 'nb_hits_with_time_generation'); + $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); + $hitsWithTimeGeneration = $this->getMetric($row, 'nb_hits_with_time_generation'); return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php index 4a55a051eb..cc67b0e6ee 100644 --- a/plugins/Actions/Metrics/AverageTimeOnPage.php +++ b/plugins/Actions/Metrics/AverageTimeOnPage.php @@ -29,8 +29,8 @@ class AverageTimeOnPage extends ProcessedMetric public function compute(Row $row) { - $sumTimeSpent = $this->getColumn($row, 'sum_time_spent'); - $visits = $this->getColumn($row, 'nb_visits'); + $sumTimeSpent = $this->getMetric($row, 'sum_time_spent'); + $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); } diff --git a/plugins/Actions/Metrics/BounceRate.php b/plugins/Actions/Metrics/BounceRate.php index b86a45a953..7ced1b2cb4 100644 --- a/plugins/Actions/Metrics/BounceRate.php +++ b/plugins/Actions/Metrics/BounceRate.php @@ -29,8 +29,8 @@ class BounceRate extends ProcessedMetric public function compute(Row $row) { - $entryBounceCount = $this->getColumn($row, 'entry_bounce_count'); - $entryVisits = $this->getColumn($row, 'entry_nb_visits'); + $entryBounceCount = $this->getMetric($row, 'entry_bounce_count'); + $entryVisits = $this->getMetric($row, 'entry_nb_visits'); return Piwik::getQuotientSafe($entryBounceCount, $entryVisits, $precision = 2); } diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php index 89a1955804..ab9d305ddb 100644 --- a/plugins/Actions/Metrics/ExitRate.php +++ b/plugins/Actions/Metrics/ExitRate.php @@ -29,8 +29,8 @@ class ExitRate extends ProcessedMetric public function compute(Row $row) { - $exitVisits = $this->getColumn($row, 'exit_nb_visits'); - $visits = $this->getColumn($row, 'nb_visits'); + $exitVisits = $this->getMetric($row, 'exit_nb_visits'); + $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); } diff --git a/plugins/Contents/Metrics/InteractionRate.php b/plugins/Contents/Metrics/InteractionRate.php index 41efeac82a..6e577e0e98 100644 --- a/plugins/Contents/Metrics/InteractionRate.php +++ b/plugins/Contents/Metrics/InteractionRate.php @@ -30,8 +30,8 @@ class InteractionRate extends ProcessedMetric public function compute(Row $row) { - $interactions = $this->getColumn($row, 'nb_interactions'); - $impressions = $this->getColumn($row, 'nb_impressions'); + $interactions = $this->getMetric($row, 'nb_interactions'); + $impressions = $this->getMetric($row, 'nb_impressions'); return Piwik::getQuotientSafe($interactions, $impressions, $precision = 4); } diff --git a/plugins/CoreHome/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Metrics/ActionsPerVisit.php index a19fda80de..63969c0831 100644 --- a/plugins/CoreHome/Metrics/ActionsPerVisit.php +++ b/plugins/CoreHome/Metrics/ActionsPerVisit.php @@ -24,8 +24,8 @@ class ActionsPerVisit extends ProcessedMetric public function compute(Row $row) { - $actions = $this->getColumn($row, 'nb_actions'); - $visits = $this->getColumn($row, 'nb_visits'); + $actions = $this->getMetric($row, 'nb_actions'); + $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($actions, $visits, $precision = 2); } diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php index bdeea363ea..3ac723faba 100644 --- a/plugins/CoreHome/Metrics/AverageTimeOnSite.php +++ b/plugins/CoreHome/Metrics/AverageTimeOnSite.php @@ -23,8 +23,8 @@ class AverageTimeOnSite extends ProcessedMetric public function compute(Row $row) { - $sumVisitLength = $this->getColumn($row, 'sum_visit_length'); - $nbVisits = $this->getColumn($row, 'nb_visits'); + $sumVisitLength = $this->getMetric($row, 'sum_visit_length'); + $nbVisits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($sumVisitLength, $nbVisits, $precision = 0); } diff --git a/plugins/CoreHome/Metrics/BounceRate.php b/plugins/CoreHome/Metrics/BounceRate.php index 4fb79a52c7..ac5bb31748 100644 --- a/plugins/CoreHome/Metrics/BounceRate.php +++ b/plugins/CoreHome/Metrics/BounceRate.php @@ -38,8 +38,8 @@ class BounceRate extends ProcessedMetric public function compute(Row $row) { - $bounceCount = $this->getColumn($row, 'bounce_count'); - $visits = $this->getColumn($row, 'nb_visits'); + $bounceCount = $this->getMetric($row, 'bounce_count'); + $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 4); } diff --git a/plugins/CoreHome/Metrics/ConversionRate.php b/plugins/CoreHome/Metrics/ConversionRate.php index c98915a26f..129f7dbdd4 100644 --- a/plugins/CoreHome/Metrics/ConversionRate.php +++ b/plugins/CoreHome/Metrics/ConversionRate.php @@ -38,8 +38,8 @@ class ConversionRate extends ProcessedMetric public function compute(Row $row) { - $nbVisitsConverted = $this->getColumn($row, 'nb_visits_converted'); - $nbVisits = $this->getColumn($row, 'nb_visits'); + $nbVisitsConverted = $this->getMetric($row, 'nb_visits_converted'); + $nbVisits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($nbVisitsConverted, $nbVisits, $precision = 4); } diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index 6cf88eaba7..49e1c859d6 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -71,8 +71,8 @@ class EvolutionMetric extends ProcessedMetric $columnName = $this->getWrappedName(); $pastRow = $this->getPastRowFromCurrent($row); - $currentValue = $this->getColumn($row, $columnName); - $pastValue = $pastRow ? $this->getColumn($pastRow, $columnName) : 0; + $currentValue = $this->getMetric($row, $columnName); + $pastValue = $pastRow ? $this->getMetric($pastRow, $columnName) : 0; $dividend = $currentValue - $pastValue; $divisor = $pastValue; diff --git a/plugins/Events/Metrics/AverageEventValue.php b/plugins/Events/Metrics/AverageEventValue.php index e09079f266..8a29094822 100644 --- a/plugins/Events/Metrics/AverageEventValue.php +++ b/plugins/Events/Metrics/AverageEventValue.php @@ -29,8 +29,8 @@ class AverageEventValue extends ProcessedMetric public function compute(Row $row) { - $sumEventValue = $this->getColumn($row, 'sum_event_value'); - $eventsWithValue = $this->getColumn($row, 'nb_events_with_value'); + $sumEventValue = $this->getMetric($row, 'sum_event_value'); + $eventsWithValue = $this->getMetric($row, 'nb_events_with_value'); return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); // TODO: used to use shouldSkipRows = true } diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php index 56e3e2e2e9..2c43a98be2 100644 --- a/plugins/Goals/Metrics/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/AverageOrderRevenue.php @@ -23,8 +23,8 @@ class AverageOrderRevenue extends ProcessedMetric public function compute(Row $row) { - $revenue = $this->getColumn($row, 'revenue'); - $conversions = $this->getColumn($row, 'nb_conversions'); + $revenue = $this->getMetric($row, 'revenue'); + $conversions = $this->getMetric($row, 'nb_conversions'); return Piwik::getQuotientSafe($revenue, $conversions, $precision = 2); } diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php index 1bc6932d68..613a1227ac 100644 --- a/plugins/Goals/Metrics/AveragePrice.php +++ b/plugins/Goals/Metrics/AveragePrice.php @@ -31,9 +31,9 @@ class AveragePrice extends ProcessedMetric public function compute(Row $row) { - $price = $this->getColumn($row, 'price'); - $orders = $this->getColumn($row, 'orders'); - $abandonedCarts = $this->getColumn($row, 'abandoned_carts'); + $price = $this->getMetric($row, 'price'); + $orders = $this->getMetric($row, 'orders'); + $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); return Piwik::getQuotientSafe($price, $orders === false ? $abandonedCarts : $orders, GoalManager::REVENUE_PRECISION); } diff --git a/plugins/Goals/Metrics/AverageQuantity.php b/plugins/Goals/Metrics/AverageQuantity.php index 6644840e82..0ff8fee069 100644 --- a/plugins/Goals/Metrics/AverageQuantity.php +++ b/plugins/Goals/Metrics/AverageQuantity.php @@ -30,9 +30,9 @@ class AverageQuantity extends ProcessedMetric public function compute(Row $row) { - $quantity = $this->getColumn($row, 'quantity'); - $orders = $this->getColumn($row, 'orders'); - $abandonedCarts = $this->getColumn($row, 'abandoned_carts'); + $quantity = $this->getMetric($row, 'quantity'); + $orders = $this->getMetric($row, 'orders'); + $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1); } diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php index ed2b0b1e09..fef4fc5533 100644 --- a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -39,8 +39,8 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric $goalMetrics = $row->getColumn($row, 'goals'); - $goalRevenue = $this->getColumn($goalMetrics, 'revenue', $mappingFromNameToIdGoal); - $conversions = $this->getColumn($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); + $goalRevenue = $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); } diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index c65e88fc6b..06b04bdd11 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -40,10 +40,10 @@ class ConversionRate extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getColumn($row, 'goals'); + $goalMetrics = $this->getMetric($row, 'goals'); - $nbVisits = $this->getColumn($row, 'nb_visits'); - $conversions = $this->getColumn($goalMetrics, 'nb_conversions'); + $nbVisits = $this->getMetric($row, 'nb_visits'); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION); } diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php index a4ff02aeb2..3f795aa745 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Conversions.php +++ b/plugins/Goals/Metrics/GoalSpecific/Conversions.php @@ -33,7 +33,7 @@ class Conversions extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getColumn($row, 'goals'); - return (int) $this->getCOlumn($goalMetrics, 'nb_conversions'); + $goalMetrics = $this->getMetric($row, 'goals'); + return (int) $this->getMetric($goalMetrics, 'nb_conversions'); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php index d7265e3a08..9981dcfaba 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php +++ b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php @@ -33,7 +33,7 @@ class ItemsCount extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getColumn($row, 'goals'); - return (int) $this->getCOlumn($goalMetrics, 'items'); + $goalMetrics = $this->getMetric($row, 'goals'); + return (int) $this->getMetric($goalMetrics, 'items'); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php index 1658425bbb..4b6001ab48 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -33,7 +33,7 @@ class Revenue extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getColumn($row, 'goals'); - return (float) $this->getCOlumn($goalMetrics, 'revenue'); + $goalMetrics = $this->getMetric($row, 'goals'); + return (float) $this->getMetric($goalMetrics, 'revenue'); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php index 403f415f8b..67ec9be1bc 100644 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -35,12 +35,12 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getColumn($row, 'goals'); + $goalMetrics = $this->getMetric($row, 'goals'); - $nbVisits = $this->getColumn($row, 'nb_visits'); - $conversions = $this->getColumn($goalMetrics, 'nb_conversions'); + $nbVisits = $this->getMetric($row, 'nb_visits'); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); - $goalRevenue = (float) $this->getColumn($goalMetrics, 'revenue'); + $goalRevenue = (float) $this->getMetric($goalMetrics, 'revenue'); return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); } diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php index 7be6bf28af..03d88ed709 100644 --- a/plugins/Goals/Metrics/ProductConversionRate.php +++ b/plugins/Goals/Metrics/ProductConversionRate.php @@ -31,9 +31,9 @@ class ProductConversionRate extends ProcessedMetric public function compute(Row $row) { - $orders = $this->getColumn($row, 'orders'); - $abandonedCarts = $this->getColumn($row, 'abandoned_carts'); - $visits = $this->getColumn($row, 'nb_visits'); + $orders = $this->getMetric($row, 'orders'); + $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); + $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION); } diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php index d20af74d4e..0a70421006 100644 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -36,7 +36,7 @@ class RevenuePerVisit extends ProcessedMetric public function compute(Row $row) { $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - $goals = $this->getColumn($row, 'goals'); + $goals = $this->getMetric($row, 'goals'); $revenue = 0; foreach ($goals as $goalId => $goalMetrics) { @@ -46,16 +46,16 @@ class RevenuePerVisit extends ProcessedMetric if ($goalId >= GoalManager::IDGOAL_ORDER || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER ) { - $revenue += (int) $this->getColumn($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + $revenue += (int) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); } } if ($revenue == 0) { - $revenue = (int) $this->getColumn($row, 'revenue'); + $revenue = (int) $this->getMetric($row, 'revenue'); } - $nbVisits = (int) $this->getColumn($row, 'nb_visits'); - $conversions = (int) $this->getColumn($row, 'nb_conversions'); + $nbVisits = (int) $this->getMetric($row, 'nb_visits'); + $conversions = (int) $this->getMetric($row, 'nb_conversions'); // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit" // even though it will actually be in this edge case "Revenue per conversion" diff --git a/plugins/VisitorInterest/Metrics/VisitsPercent.php b/plugins/VisitorInterest/Metrics/VisitsPercent.php index 74afb172b9..ba1c376202 100644 --- a/plugins/VisitorInterest/Metrics/VisitsPercent.php +++ b/plugins/VisitorInterest/Metrics/VisitsPercent.php @@ -34,7 +34,7 @@ class VisitsPercent extends ProcessedMetric public function compute(Row $row) { - $visits = $this->getColumn($row, 'nb_visits'); + $visits = $this->getMetric($row, 'nb_visits'); return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); } -- cgit v1.2.3 From 41f6d051a3c6a4083a807acdea4e681a02f8f9cb Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 20:25:21 -0800 Subject: Documented Metric class and fixed regression in last commit's refactor. --- .../Filter/AddColumnsProcessedMetrics.php | 4 +- .../Filter/AddColumnsProcessedMetricsGoal.php | 2 +- core/Plugin/AggregatedMetric.php | 2 + core/Plugin/Metric.php | 85 +++++++++++++--------- core/Plugin/ProcessedMetric.php | 20 ----- 5 files changed, 56 insertions(+), 57 deletions(-) diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php index 778a202b8b..e95c351f4e 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php @@ -82,8 +82,8 @@ class AddColumnsProcessedMetrics extends BaseFilter private function deleteRowsWithNoVisit(DataTable $table) { foreach ($table->getRows() as $key => $row) { - $nbVisits = Metric::getMetric($row, Metrics::INDEX_NB_VISITS); - $nbActions = Metric::getMetric($row, Metrics::INDEX_NB_ACTIONS); + $nbVisits = Metric::getMetric($row, 'nb_visits'); + $nbActions = Metric::getMetric($row, 'nb_actions'); if ($nbVisits == 0 && $nbActions == 0 diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 1410103174..1c524adab2 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -163,7 +163,7 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics { $result = array(); foreach ($table->getRows() as $row) { - $goals = Metric::getMetric($row, Metrics::INDEX_GOALS); + $goals = Metric::getMetric($row, 'goals'); if (!$goals) { continue; } diff --git a/core/Plugin/AggregatedMetric.php b/core/Plugin/AggregatedMetric.php index 5bdf8d4e1e..89851d5187 100644 --- a/core/Plugin/AggregatedMetric.php +++ b/core/Plugin/AggregatedMetric.php @@ -11,6 +11,8 @@ use Piwik\DataTable\Row; /** * TODO + * + * TODO: note that this will be filled out in another issue */ abstract class AggregatedMetric extends Metric { diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index af4fbcb9c4..8b2c9f7020 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -11,49 +11,53 @@ use Piwik\DataTable\Row; use Piwik\Metrics; /** - * TODO + * Base type of metric metadata classes. * - * TODO: note that this will be filled out in another issue + * A metric metadata class is a class that describes how a metric is described, computed and + * formatted. + * + * There are two types of metrics: aggregated and processed. An aggregated metric is computed + * in the backend datastore and aggregated in PHP when archiving period reports. + * + * Currently, only processed metrics can be defined as metric metadata classes. Support for + * aggregated metrics will be added at a later date. + * + * See {@link Piwik\Plugin\ProcessedMetric} and {@link Piwik\Plugin|AggregatedMetric}. + * + * @api */ abstract class Metric { /** - * The sub-namespace name in a plugin where Report components are stored. + * The sub-namespace name in a plugin where Metric components are stored. */ const COMPONENT_SUBNAMESPACE = 'Metrics'; /** - * TODO + * Returns the column name of this metric, eg, `"nb_visits"` or `"avg_time_on_site"`. * - * @return Metric[] - */ - public static function getAll() - { - $components = Manager::getInstance()->findMultipleComponents(self::COMPONENT_SUBNAMESPACE, __CLASS__); - - $result = array(); - foreach ($components as $componentClass) { - /** @var Metric $component */ - $component = new $componentClass(); - - $name = $component->getName(); - $result[$name] = $component; - } - return $result; - } - - /** - * TODO + * This string is what appears in API output. + * + * @return string */ abstract public function getName(); /** - * TODO + * Returns the human readable translated name of this metric, eg, `"Visits"` or `"Avg. time on site"`. + * + * This string is what appears in the UI. + * + * @return string */ abstract public function getTranslatedName(); /** - * TODO + * Returns a string describing what the metric represents. The result will be included in report metadata + * API output, including processed reports. + * + * Implementing this method is optional. + * + * @return string */ public function getDocumentation() { @@ -61,7 +65,13 @@ abstract class Metric } /** - * TODO + * Returns a formatted metric value. This value is what appears in API output. From within Piwik, + * (core & plugins) the computed value is used. Only when outputting to the API does a metric + * get formatted. + * + * By default, just returns the value. + * + * @return mixed $value */ public function format($value) { @@ -69,27 +79,34 @@ abstract class Metric } /** - * TODO + * Helper method that will access a metric in a {@link Piwik\DataTable\Row} or array either by + * its name or by its special numerical index value. + * + * @param Row|array $row + * @param string $columnName + * @param int[]|null $mappingNameToId A custom mapping of metric names to special index values. By + * default {@link Metrics::getMappingFromNameToId()} is used. + * @return mixed The metric value or false if none exists. */ - public static function getMetric($row, $columnName, $mappingIdToName = null) + public static function getMetric($row, $columnName, $mappingNameToId = null) { if (empty($mappingIdToName)) { - $mappingIdToName = Metrics::getMappingFromNameToId(); + $mappingNameToId = Metrics::getMappingFromNameToId(); } if ($row instanceof Row) { // TODO: benchmark w/ array-access (so we don't need this if statement). $value = $row->getColumn($columnName); if ($value === false - && isset($mappingIdToName[$columnName]) + && isset($mappingNameToId[$columnName]) ) { - $value = $row->getColumn($mappingIdToName[$columnName]); + $value = $row->getColumn($mappingNameToId[$columnName]); } } else { - $value = $row[$columnName]; + $value = @$row[$columnName]; if ($value === false - && isset($mappingIdToName[$columnName]) + && isset($mappingNameToId[$columnName]) ) { - $value = $row[$mappingIdToName[$columnName]]; + $value = $row[$mappingNameToId[$columnName]]; } return $value; } diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index 449fc61e32..f70cc915d3 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -20,26 +20,6 @@ abstract class ProcessedMetric extends Metric */ const COMPONENT_SUBNAMESPACE = 'Metrics'; - /** - * TODO - * - * @return ProcessedMetric[] - */ - public static function getAll() - { - $components = Manager::getInstance()->findMultipleComponents(self::COMPONENT_SUBNAMESPACE, __CLASS__); - - $result = array(); - foreach ($components as $componentClass) { - /** @var ProcessedMetric $component */ - $component = new $componentClass(); - - $name = $component->getName(); - $result[$name] = $component; - } - return $result; - } - /** * TODO */ -- cgit v1.2.3 From bc5a8e3ee9fed5a1e50c024feb1f3f415f3dc699 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 21:36:20 -0800 Subject: Document ProcessedMetric class. --- .../Filter/AddColumnsProcessedMetricsGoal.php | 5 ++--- core/Plugin/ProcessedMetric.php | 25 ++++++++++++++++++---- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 1c524adab2..eee1b90983 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -10,7 +10,6 @@ namespace Piwik\DataTable\Filter; use Piwik\DataTable; use Piwik\DataTable\Row; -use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\Metric; use Piwik\Plugins\Goals\Metrics\GoalSpecific\AverageOrderRevenue; @@ -110,7 +109,6 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics $goals = $this->getGoalsInTable($table); - // TODO: all metrics depend on 'goals' row paremter $extraProcessedMetrics[] = new RevenuePerVisit(); if ($this->processOnlyIdGoal != self::GOALS_MINIMAL_REPORT) { foreach ($goals as $idGoal) { @@ -142,7 +140,8 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); - /*$expectedColumns = array_keys($this->expectedColumns); + /* TODO: remove this? + $expectedColumns = array_keys($this->expectedColumns); $rows = $table->getRows(); foreach ($rows as $row) { foreach ($expectedColumns as $name) { diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index f70cc915d3..b2d563f633 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -11,7 +11,10 @@ use Piwik\DataTable; use Piwik\DataTable\Row; /** - * TODO + * Base type for processed metrics. A processed metric is a metric that is computed using + * one or more other metrics. + * + * @api */ abstract class ProcessedMetric extends Metric { @@ -21,17 +24,31 @@ abstract class ProcessedMetric extends Metric const COMPONENT_SUBNAMESPACE = 'Metrics'; /** - * TODO + * Computes the metric using the values in a {@link Piwik\DataTable\Row}. + * + * The computed value should be numerical and not formatted in any way. For example, for + * a percent value, `0.14` should be returned instead of `"14%"`. + * + * @return mixed */ abstract public function compute(Row $row); /** - * TODO + * Returns the array of metrics that are necessary for computing this metric. The elements + * of the array are metric names. + * + * @return string[] */ abstract public function getDependenctMetrics(); /** - * TODO + * Executed before computing all processed metrics for a report. Implementers can return `false` + * to skip computing this metric. + * + * @param Report $report + * @param DataTable $table + * @return bool Return `true` to compute the metric for the table, `false` to skip computing + * this metric. */ public function beforeCompute(Report $report, DataTable $table) { -- cgit v1.2.3 From 3435e95ce3f0fa92b1b4616f766e7b017e936c7c Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 21:57:14 -0800 Subject: Refactor and deprecate CalculateEvolutionFilter & document some more classes/methods. --- core/DataTable.php | 4 +- core/DataTable/Filter/CalculateEvolutionFilter.php | 101 +++------------------ plugins/CoreHome/Metrics/EvolutionMetric.php | 4 +- plugins/MultiSites/API.php | 6 +- 4 files changed, 22 insertions(+), 93 deletions(-) diff --git a/core/DataTable.php b/core/DataTable.php index 089f1a63fa..16839631e5 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -200,7 +200,9 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess const LABEL_SUMMARY_ROW = -1; /** - * TODO + * Name for metadata that contains extra {@link Piwik\Plugin\ProcessedMetric}s for a DataTable. + * These metrics will be added in addition to the ones specified in the table's associated + * {@link Piwik\Plugin\Report} class. */ const EXTRA_PROCESSED_METRICS_METADATA_NAME = 'extra_processed_metrics'; diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index ce1c778b86..525257f689 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -10,7 +10,7 @@ namespace Piwik\DataTable\Filter; use Piwik\DataTable; use Piwik\DataTable\Row; -use Piwik\Site; +use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; /** * A {@link DataTable} filter that calculates the evolution of a metric and adds @@ -25,23 +25,12 @@ use Piwik\Site; * * ((currentValue - pastValue) / pastValue) * 100 * - * TODO: deprecate and use Evolutionmetric - * * @api + * @deprecated since 2.9.0 */ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage { - /** - * The the DataTable that contains past data. - * - * @var DataTable - */ - protected $pastDataTable; - - /** - * Tells if column being added is the revenue evolution column. - */ - protected $isRevenueEvolution = null; + protected $evolutionMetric; /** * Constructor. @@ -57,86 +46,19 @@ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage parent::__construct( $table, $columnToAdd, $columnToRead, $columnToRead, $quotientPrecision, $shouldSkipRows = true); - $this->pastDataTable = $pastDataTable; - - $this->isRevenueEvolution = $columnToAdd == 'revenue_evolution'; + $this->evolutionMetric = new EvolutionMetric($columnToRead, $pastDataTable, $columnToAdd, $quotientPrecision); } /** - * Returns the difference between the column in the specific row and its - * sister column in the past DataTable. - * - * @param Row $row - * @return int|float + * @param DataTable $table */ - protected function getDividend($row) + public function filter($table) { - $currentValue = $row->getColumn($this->columnValueToRead); - - // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, - // we don't add the new column - // TODO: replicate this logic in MultiSites/API.php (create RevenueEvolutionMetric in Goals & add this check) - if ($currentValue === false - && $this->isRevenueEvolution - && !Site::isEcommerceEnabledFor($row->getColumn('label')) - ) { - return false; + $evolutionName = $this->evolutionMetric->getName(); + foreach ($table->getRows() as $row) { + $value = $this->evolutionMetric->compute($row); + $row->addColumn($evolutionName, $value); } - - $pastRow = $this->getPastRowFromCurrent($row); - if ($pastRow) { - $pastValue = $pastRow->getColumn($this->columnValueToRead); - } else { - $pastValue = 0; - } - - return $currentValue - $pastValue; - } - - /** - * Returns the value of the column in $row's sister row in the past - * DataTable. - * - * @param Row $row - * @return int|float - */ - protected function getDivisor($row) - { - $pastRow = $this->getPastRowFromCurrent($row); - if (!$pastRow) return 0; - - return $pastRow->getColumn($this->columnNameUsedAsDivisor); - } - - /** - * Calculates and formats a quotient based on a divisor and dividend. - * - * Unlike ColumnCallbackAddColumnPercentage's, - * version of this method, this method will return 100% if the past - * value of a metric is 0, and the current value is not 0. For a - * value representative of an evolution, this makes sense. - * - * @param int|float $value The dividend. - * @param int|float $divisor - * @return string - */ - protected function formatValue($value, $divisor) - { - $value = self::getPercentageValue($value, $divisor, $this->quotientPrecision); - $value = self::appendPercentSign($value); - - return $value; - } - - /** - * Utility function. Returns the current row in the past DataTable. - * - * @param Row $row The row in the 'current' DataTable. - * @return bool|Row - */ - protected function getPastRowFromCurrent($row) - { - return $this->pastDataTable->getRowFromLabel($row->getColumn('label')); } /** @@ -149,6 +71,7 @@ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage * @param bool $appendPercentSign Whether to append a '%' sign to the end of the number or not. * * @return string The evolution percent, eg `'15%'`. + * @deprecated since 2.9.0 */ public static function calculate($currentValue, $pastValue, $quotientPrecision = 0, $appendPercentSign = true) { @@ -190,4 +113,4 @@ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage $evolution = round($evolution, $quotientPrecision); return $evolution; } -} +} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index 49e1c859d6..c4f2c3afed 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -96,12 +96,12 @@ class EvolutionMetric extends ProcessedMetric return array($this->getWrappedName()); } - private function getWrappedName() + protected function getWrappedName() { return $this->wrapped instanceof Metric ? $this->wrapped->getName() : $this->wrapped; } - private function getPastRowFromCurrent(Row $row) + protected function getPastRowFromCurrent(Row $row) { return $this->pastData->getRowFromLabel($row->getColumn('label')); } diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index b148e3d99e..1357271e55 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -329,7 +329,11 @@ class API extends \Piwik\Plugin\API } else { $extraProcessedMetrics = $currentData->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); foreach ($apiMetrics as $metricSettings) { - $extraProcessedMetrics[] = new EvolutionMetric( + $evolutionMetricClass = $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY] == 'revenue' + ? "Piwik\\Plugins\\MultiSites\\Metrics\\RevenueEvolution" + : "Piwik\\Plugins\\CoreHome\\Metrics\\EvolutionMetric"; + + $extraProcessedMetrics[] = new $evolutionMetricClass( $metricSettings[self::METRIC_RECORD_NAME_KEY], $pastData, $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], -- cgit v1.2.3 From 43ed4c23161083f8c57fdda09cdf398d07567cdf Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 7 Nov 2014 22:00:44 -0800 Subject: Forgot to add files in previous commit and document two more pieces of code. --- core/Piwik.php | 7 ++++- core/Plugin/AggregatedMetric.php | 6 +++-- plugins/MultiSites/Metrics/RevenueEvolution.php | 35 +++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 plugins/MultiSites/Metrics/RevenueEvolution.php diff --git a/core/Piwik.php b/core/Piwik.php index 9df4034bcd..81451af88e 100644 --- a/core/Piwik.php +++ b/core/Piwik.php @@ -116,7 +116,12 @@ class Piwik } /** - * TODO + * Safely compute a ratio. Returns 0 if divisor is 0 (to avoid division by 0 error). + * + * @param number $dividend + * @param number $divisor + * @param int $precision + * @return number */ public static function getQuotientSafe($dividend, $divisor, $precision = 0) { diff --git a/core/Plugin/AggregatedMetric.php b/core/Plugin/AggregatedMetric.php index 89851d5187..7df1535727 100644 --- a/core/Plugin/AggregatedMetric.php +++ b/core/Plugin/AggregatedMetric.php @@ -10,9 +10,11 @@ namespace Piwik\Plugin; use Piwik\DataTable\Row; /** - * TODO + * Base type for metric metadata classes that describe aggregated metrics. These metrics are + * computed in the backend data store and are aggregated in PHP when Piwik archives period reports. * - * TODO: note that this will be filled out in another issue + * Note: This class is a placeholder. It will be filled out at a later date. Right now, only + * processed metrics can be defined this way. */ abstract class AggregatedMetric extends Metric { diff --git a/plugins/MultiSites/Metrics/RevenueEvolution.php b/plugins/MultiSites/Metrics/RevenueEvolution.php new file mode 100644 index 0000000000..b9a90ff5ec --- /dev/null +++ b/plugins/MultiSites/Metrics/RevenueEvolution.php @@ -0,0 +1,35 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\MultiSites\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; +use Piwik\Site; + +/** + * TODO + */ +class RevenueEvolution extends EvolutionMetric +{ + public function compute(Row $row) + { + $columnName = $this->getWrappedName(); + $currentValue = $this->getMetric($row, $columnName); + + // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, + // we don't add the new column + if ($currentValue === false + && !Site::isEcommerceEnabledFor($row->getColumn('label')) + ) { + return false; + } + + return parent::compute($row); + } +} \ No newline at end of file -- cgit v1.2.3 From 0fc2f8f10ec054f648c6d5d1122cc77c008ec3bf Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 10:49:12 -0800 Subject: Fixing tests and code. --- core/API/DataTableGenericFilter.php | 22 ++- core/API/DataTablePostProcessor.php | 151 ++++++++++++--------- core/API/ResponseBuilder.php | 9 +- core/Plugin/ProcessedMetric.php | 2 +- core/Plugin/Report.php | 30 +--- plugins/API/ProcessedReport.php | 5 +- .../Actions/Metrics/AveragePageGenerationTime.php | 2 +- plugins/MultiSites/API.php | 1 - ...eVisitorTwoVisits__Actions.getPageTitle_day.xml | 1 + ...OneVisitorTwoVisits__Actions.getPageUrl_day.xml | 1 + ...sits__subtable__API.getProcessedReport_week.xml | 16 ++- 11 files changed, 129 insertions(+), 111 deletions(-) diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index a87f3305b0..7a88cb4175 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -12,6 +12,7 @@ use Exception; use Piwik\Common; use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; use Piwik\DataTable; +use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; class DataTableGenericFilter @@ -169,7 +170,7 @@ class DataTableGenericFilter return $filterApplied; } - public function areProcessedMetricsNeededFor(Report $report) + public function areProcessedMetricsNeededFor($metrics) { $columnQueryParameters = array( 'filter_column', @@ -181,7 +182,7 @@ class DataTableGenericFilter foreach ($columnQueryParameters as $queryParamName) { $queryParamValue = Common::getRequestVar($queryParamName, false, $type = null, $this->request); if (!empty($queryParamValue) - && $report->hasProcessedMetric($queryParamValue) + && $this->containsProcessedMetric($metrics, $queryParamValue) ) { return true; } @@ -189,4 +190,21 @@ class DataTableGenericFilter return false; } + + /** + * @param ProcessedMetric[] $metrics + * @param string $name + * @return bool + */ + private function containsProcessedMetric($metrics, $name) + { + foreach ($metrics as $metric) { + if ($metric instanceof ProcessedMetric + && $metric->getName() == $name + ) { + return true; + } + } + return false; + } } \ No newline at end of file diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 6b80082f69..e6bab6aaca 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -28,6 +28,38 @@ class DataTablePostProcessor const PROCESSED_METRICS_FORMATTED_FLAG = 'processed_metrics_formatted'; const PROCESSED_METRICS_COMPUTED_FLAG = 'processed_metrics_computed'; + /** + * @var null|Report + */ + private $report; + + /** + * @var string[] + */ + private $request; + + /** + * @var string + */ + private $apiModule; + + /** + * @var string + */ + private $apiMethod; + + /** + * Constructor. + */ + public function __construct($apiModule, $apiMethod, $request) + { + $this->apiModule = $apiModule; + $this->apiMethod = $apiMethod; + $this->request = $request; + + $this->report = Report::factory($apiModule, $apiMethod); + } + /** * Apply post-processing logic to a DataTable of a report for an API request. * @@ -38,41 +70,39 @@ class DataTablePostProcessor * @param bool $applyFormatting Whether to format processed metrics or not. * @return DataTableInterface A new data table. */ - public function process(DataTableInterface $dataTable, $report, $request, $applyFormatting = true) + public function process(DataTableInterface $dataTable, $applyFormatting = true) { - $label = self::getLabelFromRequest($request); + $label = self::getLabelFromRequest($this->request); - $dataTable = $this->applyPivotByFilter($dataTable, $report, $request); - $dataTable = $this->applyFlattener($dataTable, $report, $request); - $dataTable = $this->applyTotalsCalculator($dataTable, $report, $request); - $dataTable = $this->applyGenericFilters($label, $dataTable, $report, $request); + $dataTable = $this->applyPivotByFilter($dataTable); + $dataTable = $this->applyFlattener($dataTable); + $dataTable = $this->applyTotalsCalculator($dataTable); + $dataTable = $this->applyGenericFilters($label, $dataTable); - $dataTable->filter(array($this, 'computeProcessedMetrics'), array($report)); + $dataTable->filter(array($this, 'computeProcessedMetrics')); // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); - $dataTable = $this->applyQueuedFilters($dataTable, $request); - $dataTable = $this->applyRequestedColumnDeletion($dataTable, $request); - $dataTable = $this->applyLabelFilter($label, $dataTable, $report, $request); - $dataTable = $this->applyProcessedMetricsFormatting($dataTable, $report, $applyFormatting); + $dataTable = $this->applyQueuedFilters($dataTable); + $dataTable = $this->applyRequestedColumnDeletion($dataTable); + $dataTable = $this->applyLabelFilter($label, $dataTable); + $dataTable = $this->applyProcessedMetricsFormatting($dataTable, $applyFormatting); return $dataTable; } /** * @param DataTableInterface $dataTable - * @param Report|null $report - * @param $request * @return DataTableInterface */ - private function applyPivotByFilter(DataTableInterface $dataTable, $report, $request) + private function applyPivotByFilter(DataTableInterface $dataTable) { - $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $request); + $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $this->request); if (!empty($pivotBy)) { - $reportId = $report->getModule() . '.' . $report->getAction(); - $pivotByColumn = Common::getRequestVar('pivotByColumn', false, 'string', $request); - $pivotByColumnLimit = Common::getRequestVar('pivotByColumnLimit', false, 'int', $request); + $reportId = $this->apiModule . '.' . $this->apiMethod; + $pivotByColumn = Common::getRequestVar('pivotByColumn', false, 'string', $this->request); + $pivotByColumnLimit = Common::getRequestVar('pivotByColumnLimit', false, 'int', $this->request); $dataTable->filter('PivotByDimension', array($reportId, $pivotBy, $pivotByColumn, $pivotByColumnLimit, PivotByDimension::isSegmentFetchingEnabledInConfig())); @@ -82,15 +112,13 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable - * @param Report|null $report - * @param $request * @return DataTable|DataTableInterface|DataTable\Map */ - private function applyFlattener($dataTable, $report, $request) + private function applyFlattener($dataTable) { - if (Common::getRequestVar('flat', '0', 'string', $request) == '1') { - $flattener = new Flattener($report->getModule(), $report->getAction(), $request); - if (Common::getRequestVar('include_aggregate_rows', '0', 'string', $request) == '1') { + if (Common::getRequestVar('flat', '0', 'string', $this->request) == '1') { + $flattener = new Flattener($this->apiModule, $this->apiMethod, $this->request); + if (Common::getRequestVar('include_aggregate_rows', '0', 'string', $this->request) == '1') { $flattener->includeAggregateRows(); } $dataTable = $flattener->flatten($dataTable); @@ -100,14 +128,12 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable - * @param Report|null $report - * @param $request * @return DataTableInterface */ - private function applyTotalsCalculator($dataTable, $report, $request) + private function applyTotalsCalculator($dataTable) { - if (1 == Common::getRequestVar('totals', '1', 'integer', $request)) { - $reportTotalsCalculator = new ReportTotalsCalculator($report->getModule(), $report->getAction(), $request); + if (1 == Common::getRequestVar('totals', '1', 'integer', $this->request)) { + $reportTotalsCalculator = new ReportTotalsCalculator($this->apiModule, $this->apiMethod, $this->request); $dataTable = $reportTotalsCalculator->calculate($dataTable); } return $dataTable; @@ -116,23 +142,21 @@ class DataTablePostProcessor /** * @param string $label * @param DataTableInterface $dataTable - * @param Report|null $report - * @param $request * @return DataTableInterface */ - private function applyGenericFilters($label, $dataTable, $report, $request) + private function applyGenericFilters($label, $dataTable) { // if the flag disable_generic_filters is defined we skip the generic filters - if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $request)) { - $self = $this; - - $genericFilter = new DataTableGenericFilter($request, $report); + if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { + $genericFilter = new DataTableGenericFilter($this->request); - if ($genericFilter->areProcessedMetricsNeededFor($report)) { - $dataTable->filter(function (DataTable $table) use ($self, $report) { - $self->computeProcessedMetrics($table, $report); - }); - } + $self = $this; + $report = $this->report; + $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self) { + if ($genericFilter->areProcessedMetricsNeededFor($this->getProcessedMetricsFor($table, $this->report))) { + $self->computeProcessedMetrics($table); + } + }); if (!empty($label)) { $genericFilter->disableFilters(array('Limit', 'Truncate')); @@ -146,13 +170,12 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable - * @param $request * @return DataTableInterface */ - private function applyQueuedFilters($dataTable, $request) + private function applyQueuedFilters($dataTable) { // if the flag disable_queued_filters is defined we skip the filters that were queued - if (Common::getRequestVar('disable_queued_filters', 0, 'int', $request) == 0) { + if (Common::getRequestVar('disable_queued_filters', 0, 'int', $this->request) == 0) { $dataTable->applyQueuedFilters(); } return $dataTable; @@ -160,19 +183,18 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable - * @param $request * @return DataTableInterface */ - private function applyRequestedColumnDeletion($dataTable, $request) + private function applyRequestedColumnDeletion($dataTable) { // use the ColumnDelete filter if hideColumns/showColumns is provided (must be done // after queued filters are run so processed metrics can be removed, too) - $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $request); - $showColumns = Common::getRequestVar('showColumns', '', 'string', $request); + $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request); + $showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request); if (empty($showColumns)) { // if 'columns' is used, we remove all temporary metrics by showing only the columns specified in // 'columns' - $showColumns = Common::getRequestVar('columns', '', 'string', $request); + $showColumns = Common::getRequestVar('columns', '', 'string', $this->request); } if (!empty($hideColumns) @@ -187,16 +209,15 @@ class DataTablePostProcessor /** * @param string $label * @param DataTableInterface $dataTable - * @param Report $report * @return DataTableInterface */ - private function applyLabelFilter($label, $dataTable, $report, $request) + private function applyLabelFilter($label, $dataTable) { // apply label filter: only return rows matching the label parameter (more than one if more than one label) if (!empty($label)) { - $addLabelIndex = Common::getRequestVar('labelFilterAddLabelIndex', 0, 'int', $request) == 1; + $addLabelIndex = Common::getRequestVar('labelFilterAddLabelIndex', 0, 'int', $this->request) == 1; - $filter = new LabelFilter($report->getModule(), $report->getAction(), $request); + $filter = new LabelFilter($this->apiModule, $this->apiMethod, $this->request); $dataTable = $filter->filter($label, $dataTable, $addLabelIndex); } return $dataTable; @@ -204,17 +225,15 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable - * @param Report $report * @return DataTableInterface */ - private function applyProcessedMetricsFormatting($dataTable, $report, $applyFormatting) + private function applyProcessedMetricsFormatting($dataTable, $applyFormatting) { if ($applyFormatting) { - $dataTable->filter(array($this, 'formatProcessedMetrics'), array($report)); + $dataTable->filter(array($this, 'formatProcessedMetrics')); } else { - $dataTable->queueFilter(array($this, 'formatProcessedMetrics'), array($report)); // TODO: queuing does not always work. + $dataTable->queueFilter(array($this, 'formatProcessedMetrics')); // TODO: queuing does not always work. } - return $dataTable; } @@ -248,7 +267,7 @@ class DataTablePostProcessor return $label; } - private function computeProcessedMetrics(DataTable $dataTable, $report) + public function computeProcessedMetrics(DataTable $dataTable) { if ($dataTable->getMetadata(self::PROCESSED_METRICS_COMPUTED_FLAG)) { return; @@ -256,13 +275,13 @@ class DataTablePostProcessor $dataTable->setMetadata(self::PROCESSED_METRICS_COMPUTED_FLAG, true); - $processedMetrics = $this->getProcessedMetricsFor($dataTable, $report); + $processedMetrics = $this->getProcessedMetricsFor($dataTable, $this->report); if (empty($processedMetrics)) { return; } foreach ($processedMetrics as $name => $processedMetric) { - if (!$processedMetric->beforeCompute($this, $dataTable)) { + if (!$processedMetric->beforeCompute($this->report, $dataTable)) { continue; } @@ -272,7 +291,7 @@ class DataTablePostProcessor $subtable = $row->getSubtable(); if (!empty($subtable)) { - $this->computeProcessedMetrics($subtable, $report); + $this->computeProcessedMetrics($subtable, $this->report); } } } @@ -282,7 +301,7 @@ class DataTablePostProcessor /** * public for use as callback. */ - public function formatProcessedMetrics(DataTable $dataTable, $report) + public function formatProcessedMetrics(DataTable $dataTable) { if ($dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG)) { return; @@ -290,7 +309,7 @@ class DataTablePostProcessor $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); - $processedMetrics = $this->getProcessedMetricsFor($dataTable, $report); + $processedMetrics = $this->getProcessedMetricsFor($dataTable, $this->report); if (empty($processedMetrics)) { return; } @@ -304,7 +323,7 @@ class DataTablePostProcessor $subtable = $row->getSubtable(); if (!empty($subtable)) { - $this->formatProcessedMetrics($subtable, $report); + $this->formatProcessedMetrics($subtable, $this->report); } } } @@ -320,7 +339,7 @@ class DataTablePostProcessor $processedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); if (!empty($report)) { - $processedMetrics = array_merge($processedMetrics, $report->processedMetrics ?: array()); + $processedMetrics = array_merge($processedMetrics, $report->getProcessedMetricsById()); } $result = array(); diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index dbf79b1ec8..97c27693db 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -29,8 +29,6 @@ class ResponseBuilder private $apiModule = false; private $apiMethod = false; - private $postProcessor; - /** * @param string $outputFormat * @param array $request @@ -40,7 +38,6 @@ class ResponseBuilder $this->outputFormat = $outputFormat; $this->request = $request; $this->apiRenderer = ApiRenderer::factory($outputFormat, $request); - $this->postProcessor = new DataTablePostProcessor(); } public function disableSendHeader() @@ -167,10 +164,10 @@ class ResponseBuilder private function handleDataTable(DataTableInterface $datatable) { - $report = Report::factory($this->apiModule, $this->apiMethod); - $applyFormatting = !($this->apiRenderer instanceof Original); + $applyFormatting = Common::getRequestVar('force_format_processed_metrics', !($this->apiRenderer instanceof Original), null, $this->request) == 1; - $datatable = $this->postProcessor->process($datatable, $report, $this->request, $applyFormatting); + $postProcessor = new DataTablePostProcessor($this->apiModule, $this->apiMethod, $this->request); + $datatable = $postProcessor->process($datatable, $applyFormatting); return $this->apiRenderer->renderDataTable($datatable); } diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index b2d563f633..1d1e1eaae4 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -50,7 +50,7 @@ abstract class ProcessedMetric extends Metric * @return bool Return `true` to compute the metric for the table, `false` to skip computing * this metric. */ - public function beforeCompute(Report $report, DataTable $table) + public function beforeCompute($report, DataTable $table) { return true; } diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 11b50fc3ef..e83832bb39 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -705,28 +705,6 @@ class Report return Request::processRequest($module . '.' . $action, $paramOverride); } - /** - * Returns true if this report has a processed metric with the `$name` name. - * - * Will only search through {@link Piwik\Plugin\ProcessedMetric} instances, so string entries - * in {@link $processedMetrics} will be ignored. - * - * @param string $name - * @return bool - */ - public function hasProcessedMetric($name) - { - $processedMetrics = $this->processedMetrics ?: array(); // TODO: shouldn't allow processedMetrics to be non-array - foreach ($processedMetrics as $metric) { - if ($metric instanceof ProcessedMetric - && $metric->getName() == $name - ) { - return true; - } - } - return false; - } - /** * Get an instance of a specific report belonging to the given module and having the given action. * @param string $module @@ -831,12 +809,16 @@ class Report } /** + * Returns an array mapping the ProcessedMetrics served by this report by their string names. + * * @return ProcessedMetric[] */ - private function getProcessedMetricsById() + public function getProcessedMetricsById() { + $processedMetrics = $this->processedMetrics ?: array(); // TODO: shouldn't allow processedMetrics to be non-array + $result = array(); - foreach ($this->processedMetrics as $processedMetric) { + foreach ($processedMetrics as $processedMetric) { if ($processedMetric instanceof ProcessedMetric) { // instanceof check for backwards compatibility $result[$processedMetric->getName()] = $processedMetric; } diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 2b72e07849..61c34c3378 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -390,7 +390,8 @@ class ProcessedReport 'format' => 'original', 'serialize' => '0', 'language' => $language, - 'idSubtable' => $idSubtable + 'idSubtable' => $idSubtable, + 'force_format_processed_metrics' => 1, )); if (!empty($segment)) $parameters['segment'] = $segment; @@ -411,8 +412,6 @@ class ProcessedReport throw new Exception("API returned an error: " . $e->getMessage() . " at " . basename($e->getFile()) . ":" . $e->getLine() . "\n"); } - $dataTable->filter(array(Report::factory($apiModule, $apiAction), 'formatProcessedMetrics')); - list($newReport, $columns, $rowsMetadata, $totals) = $this->handleTableReport($idSite, $dataTable, $reportMetadata, $showRawMetrics); foreach ($columns as &$name) { diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index f3081af35f..3b0399bb04 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -43,7 +43,7 @@ class AveragePageGenerationTime extends ProcessedMetric return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } - public function beforeCompute(Report $report, DataTable $table) + public function beforeCompute($report, DataTable $table) { $columnName = Metrics::INDEX_PAGE_SUM_TIME_GENERATION; diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 1357271e55..1851fe4397 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -240,7 +240,6 @@ class API extends \Piwik\Plugin\API // use past data to calculate evolution percentages $this->calculateEvolutionPercentages($dataTable, $pastData, $apiMetrics); - Common::destroy($pastData); } // remove eCommerce related metrics on non eCommerce Piwik sites diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitle_day.xml index 629847ae61..5f687c3a3f 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageTitle_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrl_day.xml index 0880f58750..dda8223114 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.getPageUrl_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.023</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.023</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__subtable__API.getProcessedReport_week.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__subtable__API.getProcessedReport_week.xml index 7279329235..1c2d3f6a74 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__subtable__API.getProcessedReport_week.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__subtable__API.getProcessedReport_week.xml @@ -12,19 +12,21 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=week&date=2010-03-06&idSubtable=</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=week&date=2009-08-10,2010-03-07&idSubtable=</imageGraphEvolutionUrl> @@ -34,8 +36,8 @@ <label>Page URL</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </columns> @@ -44,8 +46,8 @@ <label>/purchase.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.13s</avg_time_generation> </row> -- cgit v1.2.3 From 756565b2263d3466a5e29f81621bdee53fbda5cf Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 11:50:25 -0800 Subject: Fixing OneVisitorTwoVisitsTest. --- plugins/CoreHome/Metrics/EvolutionMetric.php | 4 +-- plugins/MultiSites/API.php | 10 +++++++- plugins/VisitorInterest/Metrics/VisitsPercent.php | 29 ++++++++++++++++------ ..._OneVisitorTwoVisits__MultiSites.getOne_day.xml | 4 +-- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index c4f2c3afed..c96b3490fd 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -78,9 +78,9 @@ class EvolutionMetric extends ProcessedMetric $divisor = $pastValue; if ($dividend == 0) { - return $dividend; + return 0; } else if ($divisor == 0) { - return $divisor; + return 1; } else { return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision); } diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 1851fe4397..3c7c16aeb7 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -31,6 +31,7 @@ class API extends \Piwik\Plugin\API const METRIC_TRANSLATION_KEY = 'translation'; const METRIC_EVOLUTION_COL_NAME_KEY = 'evolution_column_name'; const METRIC_RECORD_NAME_KEY = 'record_name'; + const METRIC_COL_NAME_KEY = 'metric_column_name'; const METRIC_IS_ECOMMERCE_KEY = 'is_ecommerce'; const NB_VISITS_METRIC = 'nb_visits'; @@ -47,12 +48,14 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_ColumnNbVisits', self::METRIC_EVOLUTION_COL_NAME_KEY => 'visits_evolution', self::METRIC_RECORD_NAME_KEY => self::NB_VISITS_METRIC, + self::METRIC_COL_NAME_KEY => self::NB_VISITS_METRIC, self::METRIC_IS_ECOMMERCE_KEY => false, ), self::NB_ACTIONS_METRIC => array( self::METRIC_TRANSLATION_KEY => 'General_ColumnNbActions', self::METRIC_EVOLUTION_COL_NAME_KEY => 'actions_evolution', self::METRIC_RECORD_NAME_KEY => self::NB_ACTIONS_METRIC, + self::METRIC_COL_NAME_KEY => self::NB_ACTIONS_METRIC, self::METRIC_IS_ECOMMERCE_KEY => false, ) ); @@ -333,7 +336,7 @@ class API extends \Piwik\Plugin\API : "Piwik\\Plugins\\CoreHome\\Metrics\\EvolutionMetric"; $extraProcessedMetrics[] = new $evolutionMetricClass( - $metricSettings[self::METRIC_RECORD_NAME_KEY], + $metricSettings[self::METRIC_COL_NAME_KEY], $pastData, $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], $quotientPrecision = 1 @@ -355,6 +358,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_ColumnPageviews', self::METRIC_EVOLUTION_COL_NAME_KEY => 'pageviews_evolution', self::METRIC_RECORD_NAME_KEY => self::NB_PAGEVIEWS_METRIC, + self::METRIC_COL_NAME_KEY => self::NB_PAGEVIEWS_LABEL, self::METRIC_IS_ECOMMERCE_KEY => false, ); } @@ -365,6 +369,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_ColumnRevenue', self::METRIC_EVOLUTION_COL_NAME_KEY => self::GOAL_REVENUE_METRIC . '_evolution', self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_REVENUE_METRIC), + self::METRIC_COL_NAME_KEY => self::GOAL_REVENUE_METRIC, self::METRIC_IS_ECOMMERCE_KEY => false, ); @@ -374,6 +379,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'Goals_ColumnConversions', self::METRIC_EVOLUTION_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC . '_evolution', self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC), + self::METRIC_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC, self::METRIC_IS_ECOMMERCE_KEY => false, ); @@ -382,6 +388,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_EcommerceOrders', self::METRIC_EVOLUTION_COL_NAME_KEY => self::ECOMMERCE_ORDERS_METRIC . '_evolution', self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC, 0), + self::METRIC_COL_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC, 0), self::METRIC_IS_ECOMMERCE_KEY => true, ); @@ -390,6 +397,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_ProductRevenue', self::METRIC_EVOLUTION_COL_NAME_KEY => self::ECOMMERCE_REVENUE_METRIC . '_evolution', self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_REVENUE_METRIC, 0), + self::METRIC_COL_NAME_KEY => Archiver::getRecordName(self::GOAL_REVENUE_METRIC, 0), // TODO: need to test this... self::METRIC_IS_ECOMMERCE_KEY => true, ); } diff --git a/plugins/VisitorInterest/Metrics/VisitsPercent.php b/plugins/VisitorInterest/Metrics/VisitsPercent.php index ba1c376202..54333e83ae 100644 --- a/plugins/VisitorInterest/Metrics/VisitsPercent.php +++ b/plugins/VisitorInterest/Metrics/VisitsPercent.php @@ -21,6 +21,15 @@ use Piwik\Plugin\Report; class VisitsPercent extends ProcessedMetric { private $cachedTotalVisits = null; + private $forceTotalVisits = null; + + /** + * TODO + */ + public function __construct($totalVisits = null) + { + $this->forceTotalVisits = $totalVisits; + } public function getName() { @@ -51,16 +60,20 @@ class VisitsPercent extends ProcessedMetric public function beforeCompute(Report $report, DataTable $table) { - $columnName = 'nb_visits'; + if ($this->forceTotalVisits === null) { + $columnName = 'nb_visits'; - $firstRow = $table->getFirstRow(); - if (!empty($firstRow) - && $firstRow->getColumn($columnName) === false - ) { - $columnName = Metrics::INDEX_NB_VISITS; - } + $firstRow = $table->getFirstRow(); + if (!empty($firstRow) + && $firstRow->getColumn($columnName) === false + ) { + $columnName = Metrics::INDEX_NB_VISITS; + } - $this->cachedTotalVisits = array_sum($table->getColumn($columnName)); + $this->cachedTotalVisits = array_sum($table->getColumn($columnName)); + } else { + $this->cachedTotalVisits = $this->forceTotalVisits; + } return true; // always compute } diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml index b76e6ee906..73ac235db9 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml @@ -2,10 +2,10 @@ <result> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> + <nb_pageviews>4</nb_pageviews> + <revenue>43</revenue> <visits_evolution>100%</visits_evolution> <actions_evolution>100%</actions_evolution> <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>100%</revenue_evolution> - <nb_pageviews>4</nb_pageviews> - <revenue>43</revenue> </result> \ No newline at end of file -- cgit v1.2.3 From 47145e0b8993dfb576a230c32de04bc3cc7b1d26 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 13:32:55 -0800 Subject: Fixing more tests. --- core/API/DataTablePostProcessor.php | 2 +- core/CronArchive.php | 4 + .../Actions/Metrics/AveragePageGenerationTime.php | 6 +- plugins/Events/Reports/GetAction.php | 2 +- plugins/Events/Reports/GetCategory.php | 2 +- plugins/Events/Reports/GetName.php | 2 +- plugins/Goals/Goals.php | 2 +- plugins/VisitorInterest/Metrics/VisitsPercent.php | 2 +- tests/PHPUnit/System/ArchiveWebTest.php | 2 +- tests/PHPUnit/System/BlobReportLimitingTest.php | 4 +- ...etReportMetadata__API.getReportMetadata_day.xml | 118 ++++++++++++++++----- .../test_apiGetReportMetadata__API.get_day.xml | 1 - ..._hideMetricsDoc__API.getProcessedReport_day.xml | 2 - 13 files changed, 111 insertions(+), 38 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index e6bab6aaca..8540192e0a 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -80,7 +80,7 @@ class DataTablePostProcessor $dataTable = $this->applyGenericFilters($label, $dataTable); $dataTable->filter(array($this, 'computeProcessedMetrics')); - + echo print_r($dataTable, true); // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); diff --git a/core/CronArchive.php b/core/CronArchive.php index 5cf42664a4..e7a470bd32 100644 --- a/core/CronArchive.php +++ b/core/CronArchive.php @@ -1205,6 +1205,10 @@ class CronArchive $today = end($stats); + if (empty($today)) { + return 0; + } + return $today['nb_visits']; } diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 3b0399bb04..e59dad01dd 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -64,7 +64,11 @@ class AveragePageGenerationTime extends ProcessedMetric Metrics::INDEX_PAGE_SUM_TIME_GENERATION, Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, Metrics::INDEX_PAGE_MIN_TIME_GENERATION, - Metrics::INDEX_PAGE_MAX_TIME_GENERATION + Metrics::INDEX_PAGE_MAX_TIME_GENERATION, + 'sum_time_generation', + 'nb_hits_with_time_generation', + 'min_time_generation', + 'max_time_generation' ))); if ($table instanceof DataTable) { diff --git a/plugins/Events/Reports/GetAction.php b/plugins/Events/Reports/GetAction.php index 4fa80bf4e1..84f750e264 100644 --- a/plugins/Events/Reports/GetAction.php +++ b/plugins/Events/Reports/GetAction.php @@ -20,7 +20,7 @@ class GetAction extends Base $this->dimension = new EventAction(); $this->name = Piwik::translate('Events_EventActions'); $this->documentation = ''; // TODO - $this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'avg_event_value', 'nb_events_with_value'); + $this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'nb_events_with_value'); if (Common::getRequestVar('secondaryDimension', false) == 'eventCategory') { $this->actionToLoadSubTables = 'getCategoryFromNameId'; } else { diff --git a/plugins/Events/Reports/GetCategory.php b/plugins/Events/Reports/GetCategory.php index 9d3817cd71..be867705ea 100644 --- a/plugins/Events/Reports/GetCategory.php +++ b/plugins/Events/Reports/GetCategory.php @@ -20,7 +20,7 @@ class GetCategory extends Base $this->dimension = new EventCategory(); $this->name = Piwik::translate('Events_EventCategories'); $this->documentation = ''; // TODO - $this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'avg_event_value', 'nb_events_with_value'); + $this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'nb_events_with_value'); if (Common::getRequestVar('secondaryDimension', false) == 'eventName') { $this->actionToLoadSubTables = 'getNameFromCategoryId'; } else { diff --git a/plugins/Events/Reports/GetName.php b/plugins/Events/Reports/GetName.php index 1f97eb7099..aa21f968be 100644 --- a/plugins/Events/Reports/GetName.php +++ b/plugins/Events/Reports/GetName.php @@ -20,7 +20,7 @@ class GetName extends Base $this->dimension = new EventName(); $this->name = Piwik::translate('Events_EventNames'); $this->documentation = ''; // TODO - $this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'avg_event_value', 'nb_events_with_value'); + $this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'nb_events_with_value'); if (Common::getRequestVar('secondaryDimension', false) == 'eventCategory') { $this->actionToLoadSubTables = 'getCategoryFromNameId'; } else { diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index cd75af0c9e..381c37f7ee 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -117,7 +117,7 @@ class Goals extends \Piwik\Plugin 'revenue_per_visit' => 'General_ColumnValuePerVisit', 'quantity' => 'General_Quantity', 'avg_price' => 'General_AveragePrice', - 'avg_quantity' => 'onv', + 'avg_quantity' => 'General_AverageQuantity', 'revenue_subtotal' => 'General_Subtotal', 'revenue_tax' => 'General_Tax', 'revenue_shipping' => 'General_Shipping', diff --git a/plugins/VisitorInterest/Metrics/VisitsPercent.php b/plugins/VisitorInterest/Metrics/VisitsPercent.php index 54333e83ae..8770f7051b 100644 --- a/plugins/VisitorInterest/Metrics/VisitsPercent.php +++ b/plugins/VisitorInterest/Metrics/VisitsPercent.php @@ -58,7 +58,7 @@ class VisitsPercent extends ProcessedMetric return array('nb_visits'); } - public function beforeCompute(Report $report, DataTable $table) + public function beforeCompute($report, DataTable $table) { if ($this->forceTotalVisits === null) { $columnName = 'nb_visits'; diff --git a/tests/PHPUnit/System/ArchiveWebTest.php b/tests/PHPUnit/System/ArchiveWebTest.php index defddb58ae..953affe8fa 100644 --- a/tests/PHPUnit/System/ArchiveWebTest.php +++ b/tests/PHPUnit/System/ArchiveWebTest.php @@ -38,7 +38,7 @@ class ArchiveWebTest extends SystemTestCase $url = $host . 'tests/PHPUnit/proxy/archive.php?token_auth=' . $token; $output = Http::sendHttpRequest($url, 600); - +echo "OUTPUT: ".$output."\n"; // ignore random build issues if (empty($output) || strpos($output, \Piwik\CronArchive::NO_ERROR) === false) { $message = "This test has failed. Because it sometimes randomly fails, we skip the test, and ignore this failure.\n"; diff --git a/tests/PHPUnit/System/BlobReportLimitingTest.php b/tests/PHPUnit/System/BlobReportLimitingTest.php index f54a6aaafd..8dfd05bbf7 100755 --- a/tests/PHPUnit/System/BlobReportLimitingTest.php +++ b/tests/PHPUnit/System/BlobReportLimitingTest.php @@ -43,7 +43,9 @@ class BlobReportLimitingTest extends SystemTestCase ); $ecommerceApi = array('Goals.getItemsSku', 'Goals.getItemsName', 'Goals.getItemsCategory'); - +return array(array('Goals.getItemsCategory', array('idSite' => self::$fixture->idSite, + 'date' => self::$fixture->nextDay, + 'periods' => 'day'))); return array( array($apiToCall, array('idSite' => self::$fixture->idSite, 'date' => self::$fixture->dateTime, diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 4b7b68280f..f18c424620 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -669,11 +669,14 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> - <avg_price>Average Price</avg_price> - <avg_quantity>Average Quantity</avg_quantity> <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> </metrics> + <processedMetrics> + <avg_price>Average Price</avg_price> + <avg_quantity>Average Quantity</avg_quantity> + <conversion_rate>Conversion Rate</conversion_rate> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsSku&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsSku&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_getItemsSku</uniqueId> @@ -688,11 +691,14 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> - <avg_price>Average Price</avg_price> - <avg_quantity>Average Quantity</avg_quantity> <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> </metrics> + <processedMetrics> + <avg_price>Average Price</avg_price> + <avg_quantity>Average Quantity</avg_quantity> + <conversion_rate>Conversion Rate</conversion_rate> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsName&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsName&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_getItemsName</uniqueId> @@ -707,11 +713,14 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> - <avg_price>Average Price</avg_price> - <avg_quantity>Average Quantity</avg_quantity> <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> </metrics> + <processedMetrics> + <avg_price>Average Price</avg_price> + <avg_quantity>Average Quantity</avg_quantity> + <conversion_rate>Conversion Rate</conversion_rate> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsCategory&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsCategory&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_getItemsCategory</uniqueId> @@ -758,19 +767,21 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -786,13 +797,21 @@ <metrics> <entry_nb_visits>Entrances</entry_nb_visits> <entry_bounce_count>Bounces</entry_bounce_count> - <bounce_rate>Bounce Rate</bounce_rate> </metrics> <metricsDocumentation> <entry_nb_visits>Number of visits that started on this page.</entry_nb_visits> <entry_bounce_count>Number of visits that started and ended on this page. This means that the visitor left the website after viewing only this page.</entry_bounce_count> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> <bounce_rate>Percentage of visits that started and ended on this page.</bounce_rate> + <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> + <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getEntryPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getEntryPageUrls&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getEntryPageUrls&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -808,13 +827,21 @@ <metrics> <exit_nb_visits>Exits</exit_nb_visits> <nb_visits>Unique Pageviews</nb_visits> - <exit_rate>Exit rate</exit_rate> </metrics> <metricsDocumentation> <exit_nb_visits>Number of visits that ended on this page.</exit_nb_visits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> + <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getExitPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getExitPageUrls&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getExitPageUrls&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -830,19 +857,21 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -858,13 +887,21 @@ <metrics> <entry_nb_visits>Entrances</entry_nb_visits> <entry_bounce_count>Bounces</entry_bounce_count> - <bounce_rate>Bounce Rate</bounce_rate> </metrics> <metricsDocumentation> <entry_nb_visits>Number of visits that started on this page.</entry_nb_visits> <entry_bounce_count>Number of visits that started and ended on this page. This means that the visitor left the website after viewing only this page.</entry_bounce_count> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> <bounce_rate>Percentage of visits that started and ended on this page.</bounce_rate> + <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> + <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getEntryPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getEntryPageTitles&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getEntryPageTitles&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -880,13 +917,21 @@ <metrics> <exit_nb_visits>Exits</exit_nb_visits> <nb_visits>Unique Pageviews</nb_visits> - <exit_rate>Exit rate</exit_rate> </metrics> <metricsDocumentation> <exit_nb_visits>Number of visits that ended on this page.</exit_nb_visits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> + <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getExitPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getExitPageTitles&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getExitPageTitles&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -979,7 +1024,6 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> </metrics> <metricsDocumentation> @@ -987,9 +1031,12 @@ <sum_event_value>The sum of event values</sum_event_value> <min_event_value>The minimum value for this event</min_event_value> <max_event_value>The maximum value for this event</max_event_value> - <avg_event_value>The average of all values for this event</avg_event_value> <nb_events_with_value>Number of events where an Event value was set</nb_events_with_value> + <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> + <processedMetrics> + <avg_event_value>Average value</avg_event_value> + </processedMetrics> <actionToLoadSubTables>getActionFromCategoryId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1006,7 +1053,6 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> </metrics> <metricsDocumentation> @@ -1014,9 +1060,12 @@ <sum_event_value>The sum of event values</sum_event_value> <min_event_value>The minimum value for this event</min_event_value> <max_event_value>The maximum value for this event</max_event_value> - <avg_event_value>The average of all values for this event</avg_event_value> <nb_events_with_value>Number of events where an Event value was set</nb_events_with_value> + <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> + <processedMetrics> + <avg_event_value>Average value</avg_event_value> + </processedMetrics> <actionToLoadSubTables>getNameFromActionId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1033,7 +1082,6 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> </metrics> <metricsDocumentation> @@ -1041,9 +1089,12 @@ <sum_event_value>The sum of event values</sum_event_value> <min_event_value>The minimum value for this event</min_event_value> <max_event_value>The maximum value for this event</max_event_value> - <avg_event_value>The average of all values for this event</avg_event_value> <nb_events_with_value>Number of events where an Event value was set</nb_events_with_value> + <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> + <processedMetrics> + <avg_event_value>Average value</avg_event_value> + </processedMetrics> <actionToLoadSubTables>getActionFromNameId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1066,6 +1117,12 @@ <nb_pages_per_search>Visitors will search on your website, and sometimes click "next" to view more results. This is the average number of search results pages viewed for this keyword.</nb_pages_per_search> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Actions_getSiteSearchKeywords</uniqueId> @@ -1085,6 +1142,12 @@ <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Actions_getSiteSearchNoResultKeywords</uniqueId> @@ -1819,6 +1882,9 @@ <metricsDocumentation> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> </metricsDocumentation> + <processedMetrics> + <nb_visits_percentage>% Visits</nb_visits_percentage> + </processedMetrics> <constantRowsCount>1</constantRowsCount> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitorInterest&apiAction=getNumberOfVisitsByVisitCount&period=day&date=2009-01-04</imageGraphUrl> <uniqueId>VisitorInterest_getNumberOfVisitsByVisitCount</uniqueId> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml index d4b0c6d61d..59ad705757 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml @@ -29,7 +29,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <avg_time_generation>0</avg_time_generation> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>1086</avg_time_on_site> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml index 7f2181f658..92986c8118 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata_hideMetricsDoc__API.getProcessedReport_day.xml @@ -33,7 +33,6 @@ <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> <nb_searches>Searches</nb_searches> <nb_keywords>Unique Keywords</nb_keywords> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <nb_pageviews>1</nb_pageviews> @@ -44,7 +43,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <avg_time_generation>0s</avg_time_generation> </reportData> <reportMetadata /> <reportTotal> -- cgit v1.2.3 From ba721aacb883d6a6fa15a4928404adb1f862909f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 15:11:38 -0800 Subject: Fixing more tests. --- core/API/DataTablePostProcessor.php | 3 ++- core/Plugin/Report.php | 14 +++++++------- plugins/Goals/API.php | 2 +- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 2 +- plugins/Goals/Metrics/ProductConversionRate.php | 9 +++++++-- plugins/Goals/Reports/BaseEcommerceItem.php | 2 -- tests/PHPUnit/System/BlobReportLimitingTest.php | 3 --- ...getAction_lastN__API.getProcessedReport_day.xml | 8 +++++--- ...tCategory_lastN__API.getProcessedReport_day.xml | 8 +++++--- ...s.getName_lastN__API.getProcessedReport_day.xml | 8 +++++--- .../test_CustomEvents__Actions.getPageUrls_day.xml | 2 ++ ...est_CustomEvents__Actions.getPageUrls_month.xml | 2 ++ ...a_ItemsCategory__API.getProcessedReport_day.xml | 22 ++++++++++++---------- 13 files changed, 49 insertions(+), 36 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 8540192e0a..187847baa9 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -80,13 +80,14 @@ class DataTablePostProcessor $dataTable = $this->applyGenericFilters($label, $dataTable); $dataTable->filter(array($this, 'computeProcessedMetrics')); - echo print_r($dataTable, true); + // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); $dataTable = $this->applyQueuedFilters($dataTable); $dataTable = $this->applyRequestedColumnDeletion($dataTable); $dataTable = $this->applyLabelFilter($label, $dataTable); + $dataTable = $this->applyProcessedMetricsFormatting($dataTable, $applyFormatting); return $dataTable; diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index e83832bb39..2d8f03bd73 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -764,15 +764,15 @@ class Report $metrics = array(); foreach ($metricsToTranslate as $metric) { - if ($metric instanceof ProcessedMetric) { - $metric = $metric->getName(); - } - - if (!empty($translations[$metric])) { - $metrics[$metric] = $translations[$metric]; + if ($metric instanceof Metric) { + $metricName = $metric->getName(); + $translation = $metric->getTranslatedName(); } else { - $metrics[$metric] = $metric; + $metricName = $metric; + $translation = @$translations[$metric]; } + + $metrics[$metricName] = $translation ?: $metricName; } return $metrics; diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index dcf39f8874..b807a024ce 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -219,7 +219,7 @@ class API extends \Piwik\Plugin\API // First rename the avg_price_viewed column $renameColumn = array(self::AVG_PRICE_VIEWED => 'avg_price'); - $dataTable->queueFilter('ReplaceColumnNames', array($renameColumn)); + $dataTable->filter('ReplaceColumnNames', array($renameColumn)); // TODO: benchmark this change $dataTable->queueFilter('ReplaceColumnNames'); $dataTable->queueFilter('ReplaceSummaryRowLabel'); diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index 06b04bdd11..5d1332773b 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -45,6 +45,6 @@ class ConversionRate extends GoalSpecificProcessedMetric $nbVisits = $this->getMetric($row, 'nb_visits'); $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); - return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION); + return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION + 2); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php index 03d88ed709..5915b431c1 100644 --- a/plugins/Goals/Metrics/ProductConversionRate.php +++ b/plugins/Goals/Metrics/ProductConversionRate.php @@ -26,7 +26,12 @@ class ProductConversionRate extends ProcessedMetric public function getTranslatedName() { - return Piwik::translate('General_ColumnConversionRate'); + return Piwik::translate('General_ProductConversionRate'); + } + + public function format($value) + { + return ($value * 100) . '%'; } public function compute(Row $row) @@ -35,7 +40,7 @@ class ProductConversionRate extends ProcessedMetric $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION); + return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION + 2); } public function getDependenctMetrics() diff --git a/plugins/Goals/Reports/BaseEcommerceItem.php b/plugins/Goals/Reports/BaseEcommerceItem.php index b74585c7f4..5181d6fcc3 100644 --- a/plugins/Goals/Reports/BaseEcommerceItem.php +++ b/plugins/Goals/Reports/BaseEcommerceItem.php @@ -37,8 +37,6 @@ abstract class BaseEcommerceItem extends BaseEcommerce $metrics = parent::getMetrics(); $metrics['revenue'] = Piwik::translate('General_ProductRevenue'); $metrics['orders'] = Piwik::translate('General_UniquePurchases'); - $metrics['conversion_rate'] = Piwik::translate('General_ProductConversionRate'); - return $metrics; } diff --git a/tests/PHPUnit/System/BlobReportLimitingTest.php b/tests/PHPUnit/System/BlobReportLimitingTest.php index 8dfd05bbf7..b2e9f39774 100755 --- a/tests/PHPUnit/System/BlobReportLimitingTest.php +++ b/tests/PHPUnit/System/BlobReportLimitingTest.php @@ -43,9 +43,6 @@ class BlobReportLimitingTest extends SystemTestCase ); $ecommerceApi = array('Goals.getItemsSku', 'Goals.getItemsName', 'Goals.getItemsCategory'); -return array(array('Goals.getItemsCategory', array('idSite' => self::$fixture->idSite, - 'date' => self::$fixture->nextDay, - 'periods' => 'day'))); return array( array($apiToCall, array('idSite' => self::$fixture->idSite, 'date' => self::$fixture->dateTime, diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml index ef94481043..465e801623 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml @@ -13,7 +13,6 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> </metrics> <metricsDocumentation> @@ -21,9 +20,12 @@ <sum_event_value>The sum of event values</sum_event_value> <min_event_value>The minimum value for this event</min_event_value> <max_event_value>The maximum value for this event</max_event_value> - <avg_event_value>The average of all values for this event</avg_event_value> <nb_events_with_value>Number of events where an Event value was set</nb_events_with_value> + <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> + <processedMetrics> + <avg_event_value>Average value</avg_event_value> + </processedMetrics> <actionToLoadSubTables>getNameFromActionId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -35,8 +37,8 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> + <avg_event_value>Average value</avg_event_value> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml index b503ab7292..bc8b959e76 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml @@ -13,7 +13,6 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> </metrics> <metricsDocumentation> @@ -21,9 +20,12 @@ <sum_event_value>The sum of event values</sum_event_value> <min_event_value>The minimum value for this event</min_event_value> <max_event_value>The maximum value for this event</max_event_value> - <avg_event_value>The average of all values for this event</avg_event_value> <nb_events_with_value>Number of events where an Event value was set</nb_events_with_value> + <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> + <processedMetrics> + <avg_event_value>Average value</avg_event_value> + </processedMetrics> <actionToLoadSubTables>getActionFromCategoryId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -35,8 +37,8 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> + <avg_event_value>Average value</avg_event_value> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml index 403acff85f..bc03ebf5bc 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml @@ -13,7 +13,6 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> </metrics> <metricsDocumentation> @@ -21,9 +20,12 @@ <sum_event_value>The sum of event values</sum_event_value> <min_event_value>The minimum value for this event</min_event_value> <max_event_value>The maximum value for this event</max_event_value> - <avg_event_value>The average of all values for this event</avg_event_value> <nb_events_with_value>Number of events where an Event value was set</nb_events_with_value> + <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> + <processedMetrics> + <avg_event_value>Average value</avg_event_value> + </processedMetrics> <actionToLoadSubTables>getActionFromNameId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -35,8 +37,8 @@ <sum_event_value>Total value</sum_event_value> <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> - <avg_event_value>Average value</avg_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> + <avg_event_value>Average value</avg_event_value> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml index b09bbc9e7f..0b6c6f92e8 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.332</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.666</min_time_generation> <max_time_generation>0.666</max_time_generation> @@ -23,6 +24,7 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>2998</sum_time_spent> + <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml index 5e6a7b260b..0f82e96ead 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml @@ -5,6 +5,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.332</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.666</min_time_generation> <max_time_generation>0.666</max_time_generation> @@ -22,6 +23,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>2998</sum_time_spent> + <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml index 002d38705c..28edaa1b6d 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml @@ -12,11 +12,13 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> + <nb_visits>Visits</nb_visits> + </metrics> + <processedMetrics> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> - </metrics> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsCategory&period=day&date=2011-04-05</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsCategory&period=day&date=2011-03-07,2011-04-05</imageGraphEvolutionUrl> <uniqueId>Goals_getItemsCategory</uniqueId> @@ -26,9 +28,9 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> + <nb_visits>Visits</nb_visits> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> </columns> <reportData> @@ -38,9 +40,9 @@ <quantity>3</quantity> <orders>2</orders> <nb_visits>3</nb_visits> + <conversion_rate>66.67%</conversion_rate> <avg_price>1000</avg_price> <avg_quantity>1.5</avg_quantity> - <conversion_rate>66.67%</conversion_rate> </row> <row> <label>Multiple Category 1</label> @@ -48,9 +50,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> + <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> - <conversion_rate>100%</conversion_rate> </row> <row> <label>Multiple Category 2</label> @@ -58,9 +60,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> + <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> - <conversion_rate>100%</conversion_rate> </row> <row> <label>Multiple Category 4</label> @@ -68,9 +70,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> + <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> - <conversion_rate>100%</conversion_rate> </row> <row> <label>Multiple Category 5</label> @@ -78,9 +80,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> + <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> - <conversion_rate>100%</conversion_rate> </row> <row> <label>Product Category not defined</label> @@ -88,16 +90,16 @@ <quantity>7</quantity> <orders>2</orders> <nb_visits>3</nb_visits> + <conversion_rate>66.67%</conversion_rate> <avg_price>55.61</avg_price> <avg_quantity>3.5</avg_quantity> - <conversion_rate>66.67%</conversion_rate> </row> <row> <label>Category TWO LEFT in cart</label> <nb_visits>2</nb_visits> + <conversion_rate>0%</conversion_rate> <avg_price>0</avg_price> <avg_quantity>0</avg_quantity> - <conversion_rate>0%</conversion_rate> <revenue>$ 0</revenue> <quantity>0</quantity> <orders>0</orders> -- cgit v1.2.3 From 773f85166aefd8a056f6ef931a5a2507b99b35bd Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 16:36:05 -0800 Subject: Fixing more tests. --- plugins/API/ProcessedReport.php | 1 + plugins/MultiSites/API.php | 6 +- ...a_ItemsCategory__API.getProcessedReport_day.xml | 14 +- ...tadata_ItemsSku__API.getProcessedReport_day.xml | 8 +- ...heduledReports.generateReport_week.original.csv | 54 ++--- ...eduledReports.generateReport_week.original.html | 260 +++++++++++++-------- 6 files changed, 202 insertions(+), 141 deletions(-) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 61c34c3378..dcdf8aa09e 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -398,6 +398,7 @@ class ProcessedReport if (!empty($reportMetadata['processedMetrics']) && !empty($reportMetadata['metrics']['nb_visits']) + && @$reportMetadata['category'] != Piwik::translate('Goals_Ecommerce') ) { $deleteRowsWithNoVisits = empty($reportMetadata['constantRowsCount']) ? '1' : '0'; $parameters['filter_add_columns_when_show_all_columns'] = $deleteRowsWithNoVisits; diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 3c7c16aeb7..067461f38e 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -378,7 +378,7 @@ class API extends \Piwik\Plugin\API $metrics[self::GOAL_CONVERSION_METRIC] = array( self::METRIC_TRANSLATION_KEY => 'Goals_ColumnConversions', self::METRIC_EVOLUTION_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC . '_evolution', - self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC), + self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC), // TODO: need to test this... self::METRIC_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC, self::METRIC_IS_ECOMMERCE_KEY => false, ); @@ -388,7 +388,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_EcommerceOrders', self::METRIC_EVOLUTION_COL_NAME_KEY => self::ECOMMERCE_ORDERS_METRIC . '_evolution', self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC, 0), - self::METRIC_COL_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC, 0), + self::METRIC_COL_NAME_KEY => self::ECOMMERCE_ORDERS_METRIC, self::METRIC_IS_ECOMMERCE_KEY => true, ); @@ -397,7 +397,7 @@ class API extends \Piwik\Plugin\API self::METRIC_TRANSLATION_KEY => 'General_ProductRevenue', self::METRIC_EVOLUTION_COL_NAME_KEY => self::ECOMMERCE_REVENUE_METRIC . '_evolution', self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_REVENUE_METRIC, 0), - self::METRIC_COL_NAME_KEY => Archiver::getRecordName(self::GOAL_REVENUE_METRIC, 0), // TODO: need to test this... + self::METRIC_COL_NAME_KEY => self::ECOMMERCE_REVENUE_METRIC, self::METRIC_IS_ECOMMERCE_KEY => true, ); } diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml index 28edaa1b6d..3752727571 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml @@ -40,9 +40,9 @@ <quantity>3</quantity> <orders>2</orders> <nb_visits>3</nb_visits> - <conversion_rate>66.67%</conversion_rate> <avg_price>1000</avg_price> <avg_quantity>1.5</avg_quantity> + <conversion_rate>66.67%</conversion_rate> </row> <row> <label>Multiple Category 1</label> @@ -50,9 +50,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> + <conversion_rate>100%</conversion_rate> </row> <row> <label>Multiple Category 2</label> @@ -60,9 +60,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> + <conversion_rate>100%</conversion_rate> </row> <row> <label>Multiple Category 4</label> @@ -70,9 +70,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> + <conversion_rate>100%</conversion_rate> </row> <row> <label>Multiple Category 5</label> @@ -80,9 +80,9 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <conversion_rate>100%</conversion_rate> <avg_price>500</avg_price> <avg_quantity>2</avg_quantity> + <conversion_rate>100%</conversion_rate> </row> <row> <label>Product Category not defined</label> @@ -90,16 +90,16 @@ <quantity>7</quantity> <orders>2</orders> <nb_visits>3</nb_visits> - <conversion_rate>66.67%</conversion_rate> <avg_price>55.61</avg_price> <avg_quantity>3.5</avg_quantity> + <conversion_rate>66.67%</conversion_rate> </row> <row> <label>Category TWO LEFT in cart</label> <nb_visits>2</nb_visits> - <conversion_rate>0%</conversion_rate> <avg_price>0</avg_price> <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> <revenue>$ 0</revenue> <quantity>0</quantity> <orders>0</orders> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml index cb341801b4..ea59fc1287 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml @@ -12,11 +12,13 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> + <nb_visits>Visits</nb_visits> + </metrics> + <processedMetrics> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> - </metrics> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsSku&period=day&date=2011-04-05</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsSku&period=day&date=2011-03-07,2011-04-05</imageGraphEvolutionUrl> <uniqueId>Goals_getItemsSku</uniqueId> @@ -26,9 +28,9 @@ <revenue>Product Revenue</revenue> <quantity>Quantity</quantity> <orders>Unique Purchases</orders> + <nb_visits>Visits</nb_visits> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <nb_visits>Visits</nb_visits> <conversion_rate>Product Conversion Rate</conversion_rate> </columns> <reportData> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index ad3cd28109..2cc4b74eb2 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -1,11 +1,11 @@ All Websites dashboard label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,orders,ecommerce_revenue,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders_evolution,ecommerce_revenue_evolution Piwik test,5,16,16,$ 13361.11,5,4,$ 13351.11,100%,100%,100%,100%,100%,100%,100% -Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0,0 +Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0%,0% Visits Summary -nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,bounce_rate,nb_actions_per_visit,avg_time_on_site -1,0,5,16,6,20%,3.2,00:22:49 +nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate +1,0,5,16,6,3.2,00:22:49,20% Visits by Server Time label,nb_visits,nb_actions,revenue,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -230,42 +230,42 @@ Tools,$ 200,2,1,0,100,2,0% Category TWO LEFT in cart,$ 0,0,0,3,0,0,0% Actions - Main metrics -nb_pageviews,nb_uniq_pageviews,nb_downloads,nb_uniq_downloads,nb_outlinks,nb_uniq_outlinks,nb_searches,nb_keywords,avg_time_generation -16,4,0,0,0,0,0,0,0s +nb_pageviews,nb_uniq_pageviews,nb_downloads,nb_uniq_downloads,nb_outlinks,nb_uniq_outlinks,nb_searches,nb_keywords +16,4,0,0,0,0,0,0 Page URLs -label,nb_visits,nb_hits,avg_time_on_page,bounce_rate,exit_rate -/index.htm,4,16,00:13:30,0%,100% +label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate +/index.htm,4,16,0%,00:13:30,100% Entry pages -label,entry_nb_visits,entry_bounce_count,bounce_rate -/index.htm,3,0,0% +label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate +/index.htm,3,0,00:13:30,0%,100% Exit pages -label,nb_visits,exit_nb_visits,exit_rate -/index.htm,4,4,100% +label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate +/index.htm,4,4,0%,00:13:30,100% Page titles -label,nb_visits,nb_hits,avg_time_on_page,bounce_rate,exit_rate - View product left in cart,3,9,00:06:00,0%,100% - Another Product page,1,1,00:06:00,0%,0% - Another Product page with multiple categories,1,1,00:00:00,0%,100% - Another Product page with no category,1,1,00:00:00,0%,0% - incredible title!,1,1,00:06:00,0%,0% - Looking at Electronics & Cameras page again,1,1,00:06:00,0%,0% - Looking at Electronics & Cameras page with a page level custom variable,1,1,00:06:00,0%,0% - Looking at product page,1,1,00:12:00,0%,0% +label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate + View product left in cart,3,9,0%,00:06:00,100% + Another Product page,1,1,0%,00:06:00,0% + Another Product page with multiple categories,1,1,0%,00:00:00,100% + Another Product page with no category,1,1,0%,00:00:00,0% + incredible title!,1,1,0%,00:06:00,0% + Looking at Electronics & Cameras page again,1,1,0%,00:06:00,0% + Looking at Electronics & Cameras page with a page level custom variable,1,1,0%,00:06:00,0% + Looking at product page,1,1,0%,00:12:00,0% Entry page titles -label,entry_nb_visits,entry_bounce_count,bounce_rate - View product left in cart,1,0,0% - incredible title!,1,0,0% - Looking at Electronics & Cameras page with a page level custom variable,1,0,0% +label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate + View product left in cart,1,0,00:06:00,0%,100% + incredible title!,1,0,00:06:00,0%,0% + Looking at Electronics & Cameras page with a page level custom variable,1,0,00:06:00,0%,0% Exit page titles -label,nb_visits,exit_nb_visits,exit_rate - View product left in cart,3,3,100% - Another Product page with multiple categories,1,1,100% +label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate + View product left in cart,3,3,0%,00:06:00,100% + Another Product page with multiple categories,1,1,0%,00:00:00,100% Outlinks No data available diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index 5116a93633..b662a5585e 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -551,25 +551,25 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Bounce Rate </td> + Actions per Visit </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 20% + 3.2 </td> </tr> <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Actions per Visit </td> + Avg. Visit Duration (in seconds) </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3.2 + 00:22:49 </td> </tr> <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Avg. Visit Duration (in seconds) </td> + Bounce Rate </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:22:49 + 20% </td> </tr> </tbody> @@ -3489,13 +3489,13 @@  Unique Purchases   </th> <th style="padding: 6px 0;"> -  Average Price   +  Visits   </th> <th style="padding: 6px 0;"> -  Average Quantity   +  Average Price   </th> <th style="padding: 6px 0;"> -  Visits   +  Average Quantity   </th> <th style="padding: 6px 0;">  Product Conversion Rate   @@ -3516,10 +3516,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1500 + 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 1500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 @@ -3542,13 +3542,13 @@ 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 255.61 + 4 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1.5 + 255.61 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4 + 1.5 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 50% @@ -3568,13 +3568,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 6 + 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 6 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3594,13 +3594,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3620,13 +3620,13 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3659,13 +3659,13 @@  Unique Purchases   </th> <th style="padding: 6px 0;"> -  Average Price   +  Visits   </th> <th style="padding: 6px 0;"> -  Average Quantity   +  Average Price   </th> <th style="padding: 6px 0;"> -  Visits   +  Average Quantity   </th> <th style="padding: 6px 0;">  Product Conversion Rate   @@ -3686,13 +3686,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1500 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 1500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3712,13 +3712,13 @@ 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 255.61 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1.5 + 255.61 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 1.5 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3738,13 +3738,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 6 + 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 6 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3764,13 +3764,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3790,13 +3790,13 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1332 + 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 1332 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3816,13 +3816,13 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3855,13 +3855,13 @@  Unique Purchases   </th> <th style="padding: 6px 0;"> -  Average Price   +  Visits   </th> <th style="padding: 6px 0;"> -  Average Quantity   +  Average Price   </th> <th style="padding: 6px 0;"> -  Visits   +  Average Quantity   </th> <th style="padding: 6px 0;">  Product Conversion Rate   @@ -3882,13 +3882,13 @@ 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1000 + 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1.5 + 1000 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3 + 1.5 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 66.67% @@ -3908,13 +3908,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3934,13 +3934,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3960,13 +3960,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3986,13 +3986,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -4012,13 +4012,13 @@ 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 55.61 + 4 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3.5 + 55.61 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4 + 3.5 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 50% @@ -4038,13 +4038,13 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4064,13 +4064,13 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3 + 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4161,14 +4161,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - </tr> - - <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Avg. generation time </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0s - </td> </tr> </tbody> </table> @@ -4194,10 +4186,10 @@  Unique Pageviews   </th> <th style="padding: 6px 0;"> -  Bounce Rate   +  Avg. time on page   </th> <th style="padding: 6px 0;"> -  Avg. time on page   +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -4217,10 +4209,10 @@ 4 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:13:30 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:13:30 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -4248,9 +4240,15 @@ </th> <th style="padding: 6px 0;">  Bounces   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   + </th> + <th style="padding: 6px 0;"> +  Exit rate   </th> </thead> <tbody> @@ -4266,9 +4264,15 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:13:30 + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 100% + </td> </tr> </tbody> </table> @@ -4292,6 +4296,12 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   + </th> + <th style="padding: 6px 0;"> +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -4310,6 +4320,12 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 4 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:13:30 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -4338,10 +4354,10 @@  Unique Pageviews   </th> <th style="padding: 6px 0;"> -  Bounce Rate   +  Avg. time on page   </th> <th style="padding: 6px 0;"> -  Avg. time on page   +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -4359,10 +4375,10 @@ 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:06:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -4379,10 +4395,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:06:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4399,10 +4415,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -4419,10 +4435,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4439,10 +4455,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:06:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4459,10 +4475,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:06:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4479,10 +4495,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:06:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4499,10 +4515,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:12:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:12:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4530,9 +4546,15 @@ </th> <th style="padding: 6px 0;">  Bounces   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   + </th> + <th style="padding: 6px 0;"> +  Exit rate   </th> </thead> <tbody> @@ -4546,9 +4568,15 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:06:00 + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 100% + </td> </tr> <tr style="background-color: rgb(249,250,250)"> @@ -4560,6 +4588,12 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:06:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> @@ -4574,6 +4608,12 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:06:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> @@ -4600,6 +4640,12 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   + </th> + <th style="padding: 6px 0;"> +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -4616,6 +4662,12 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 3 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:06:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -4630,6 +4682,12 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -6482,7 +6540,7 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Bounce Rate for Returning Visits </td> + ColumnBounceRateForReturningVisits </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 25% </td> @@ -6490,7 +6548,7 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Avg. Actions per Returning Visit </td> + ColumnAvgActionsPerReturningVisit </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 3 </td> @@ -6498,7 +6556,7 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Avg. Duration of a Returning Visit (in sec) </td> + ColumnAverageVisitDurationForReturningVisitors </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 00:25:32 </td> -- cgit v1.2.3 From ccfc07ee093025d85cfc7f1a39ce57021dc7554a Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 22:12:47 -0800 Subject: Fixing most of the tests. --- .../ReportTotalsCalculator.php | 47 +++--- core/API/DataTablePostProcessor.php | 9 +- plugins/Actions/API.php | 16 +- .../Reports/GetPageTitlesFollowingSiteSearch.php | 10 ++ plugins/CoreHome/Metrics/EvolutionMetric.php | 2 +- plugins/MultiSites/API.php | 9 +- plugins/VisitFrequency/Metrics/ReturningMetric.php | 6 +- plugins/VisitorInterest/Metrics/VisitsPercent.php | 2 +- tests/PHPUnit/System/ArchiveWebTest.php | 2 +- ...torsTwoWebsitesDifferentDaysConversionsTest.php | 2 +- ...st_FlattenReports__Actions.getPageUrls_week.xml | 11 ++ ..._expandedSubtable__Actions.getPageUrls_week.xml | 5 + ...expandedWithDepth__Actions.getPageUrls_week.xml | 12 +- ...rPatternRecursive__Actions.getPageUrls_week.xml | 3 + ...rts_withAggregate__Actions.getPageUrls_week.xml | 23 +++ .../test_ImportLogs__Actions.getPageUrls_day.xml | 11 ++ .../test_ImportLogs__Actions.get_month.xml | 1 - ...nterest.getNumberOfVisitsByVisitCount_range.xml | 8 +- ...thEnhancedAndLast7__MultiSites.getAll_month.xml | 28 ++++ ...test_LabelFilter_0__Actions.getPageUrls_day.xml | 1 + ...st_LabelFilter_dir__Actions.getPageUrls_day.xml | 1 + ...elFilter_dir_range__Actions.getPageUrls_day.xml | 1 + ...lephpfoobarfoo2bar__Actions.getPageUrls_day.xml | 1 + ...tor_selectBranch__Actions.getPageTitles_day.xml | 1 + ...r_selectTerminal__Actions.getPageTitles_day.xml | 1 + ...tor_selectTerminal__Actions.getPageUrls_day.xml | 1 + ...lFilter_thisiscool__Actions.getPageUrls_day.xml | 1 + ..._titlesRecursive__Actions.getPageTitles_day.xml | 1 + ...belFilter_titles__Actions.getPageTitles_day.xml | 1 + ...ProcessedMetric__API.getProcessedReport_day.xml | 17 ++- ..._OneVisitorTwoVisits__MultiSites.getOne_day.xml | 4 +- ...okieSupport__Actions.getEntryPageTitles_day.xml | 3 + ...CookieSupport__Actions.getEntryPageUrls_day.xml | 3 + ...ookieSupport__Actions.getExitPageTitles_day.xml | 3 + ...hCookieSupport__Actions.getExitPageUrls_day.xml | 3 + ...withCookieSupport__Actions.getPageTitle_day.xml | 1 + ...ctions.getPageTitlesFollowingSiteSearch_day.xml | 1 + ...ithCookieSupport__Actions.getPageTitles_day.xml | 5 + ...s_withCookieSupport__Actions.getPageUrl_day.xml | 1 + ..._Actions.getPageUrlsFollowingSiteSearch_day.xml | 1 + ..._withCookieSupport__Actions.getPageUrls_day.xml | 5 + ...ngUrlsTruncated__UserSettings.getPlugin_day.xml | 2 +- ...on_entryPageTitles__API.getRowEvolution_day.xml | 43 ++++++ ...on_pageTitlesMulti__API.getRowEvolution_day.xml | 2 +- ...n_pageTitlesMulti__API.getRowEvolution_week.xml | 2 +- ...olution_pageTitles__API.getRowEvolution_day.xml | 26 ++-- ...lution_pageTitles__API.getRowEvolution_week.xml | 16 +- ...olution_pageUrls__API.getRowEvolution_range.xml | 8 +- ...firstSite_lastN__API.getProcessedReport_day.xml | 15 ++ ...rstSite_lastN__API.getProcessedReport_month.xml | 15 ++ ...firstSite_lastN__API.getProcessedReport_day.xml | 25 ++-- ...rstSite_lastN__API.getProcessedReport_month.xml | 25 ++-- ...firstSite_lastN__API.getProcessedReport_day.xml | 15 ++ ...rstSite_lastN__API.getProcessedReport_month.xml | 15 ++ ...firstSite_lastN__API.getProcessedReport_day.xml | 25 ++-- ...rstSite_lastN__API.getProcessedReport_month.xml | 25 ++-- ...firstSite_lastN__API.getProcessedReport_day.xml | 22 ++- ...rstSite_lastN__API.getProcessedReport_month.xml | 20 ++- ...firstSite_lastN__API.getProcessedReport_day.xml | 14 +- ...rstSite_lastN__API.getProcessedReport_month.xml | 12 +- ...firstSite_lastN__API.getProcessedReport_day.xml | 8 +- ...rstSite_lastN__API.getProcessedReport_month.xml | 7 +- .../test_SiteSearch_AllSites__Actions.get_day.xml | 4 - ...test_SiteSearch_AllSites__Actions.get_month.xml | 3 - ...SiteSearch_NotLastNPeriods__Actions.get_day.xml | 1 - ...teSearch_NotLastNPeriods__Actions.get_month.xml | 1 - ...esTest_dayAfterVisit__VisitsSummary.get_day.xml | 2 +- ...ezonesTest_withVisit__VisitsSummary.get_day.xml | 2 +- ...firstSite_lastN__API.getProcessedReport_day.xml | 38 ++--- ...firstSite_lastN__API.getProcessedReport_day.xml | 50 ++++--- ...sabled_disabledAfter__VisitsSummary.get_day.xml | 2 +- ...bled_disabledAfter__VisitsSummary.get_month.xml | 4 +- ...abled_disabledAfter__VisitsSummary.get_week.xml | 2 +- ...abled_disabledAfter__VisitsSummary.get_year.xml | 4 +- ...Before_isDateRange__VisitsSummary.get_range.xml | 4 +- ...Before_isDateRange__VisitsSummary.get_range.xml | 4 +- ...vingDisabled_enabled__VisitsSummary.get_day.xml | 2 +- ...ngDisabled_enabled__VisitsSummary.get_month.xml | 4 +- ...ingDisabled_enabled__VisitsSummary.get_week.xml | 2 +- ...ingDisabled_enabled__VisitsSummary.get_year.xml | 4 +- ...ions_NotLastNPeriods__VisitsSummary.get_day.xml | 2 +- ...ns_NotLastNPeriods__VisitsSummary.get_month.xml | 4 +- ...Days_NotLastNPeriods__VisitsSummary.get_day.xml | 2 +- ...ys_NotLastNPeriods__VisitsSummary.get_month.xml | 4 +- ...firstSite_lastN__API.getProcessedReport_day.xml | 18 +-- ...firstSite_lastN__API.getProcessedReport_day.xml | 11 +- ...tes_differentDays__Actions.getPageTitle_day.xml | 1 + ...s_differentDays__Actions.getPageTitle_month.xml | 1 + ...es_differentDays__Actions.getPageTitle_week.xml | 1 + ...es_differentDays__Actions.getPageTitle_year.xml | 1 + ...es_differentDays__Actions.getPageTitles_day.xml | 34 +++++ ..._differentDays__Actions.getPageTitles_month.xml | 10 ++ ...s_differentDays__Actions.getPageTitles_week.xml | 16 ++ ...s_differentDays__Actions.getPageTitles_year.xml | 10 ++ ...sites_differentDays__Actions.getPageUrl_day.xml | 1 + ...tes_differentDays__Actions.getPageUrl_month.xml | 1 + ...ites_differentDays__Actions.getPageUrl_week.xml | 1 + ...ites_differentDays__Actions.getPageUrl_year.xml | 1 + ...ites_differentDays__Actions.getPageUrls_day.xml | 20 +++ ...es_differentDays__Actions.getPageUrls_month.xml | 6 + ...tes_differentDays__Actions.getPageUrls_week.xml | 10 ++ ...tes_differentDays__Actions.getPageUrls_year.xml | 6 + ...sites_differentDays__VisitFrequency.get_day.xml | 10 +- ...tes_differentDays__VisitFrequency.get_month.xml | 2 +- ...ites_differentDays__VisitFrequency.get_week.xml | 4 +- ...ites_differentDays__VisitFrequency.get_year.xml | 2 +- ...bsites_differentDays__VisitsSummary.get_day.xml | 16 +- ...ites_differentDays__VisitsSummary.get_month.xml | 4 +- ...sites_differentDays__VisitsSummary.get_week.xml | 10 +- ...sites_differentDays__VisitsSummary.get_year.xml | 4 +- ...ntDays_idSiteOne___Actions.getPageTitle_day.xml | 5 + ...Days_idSiteOne___Actions.getPageTitle_month.xml | 1 + ...tDays_idSiteOne___Actions.getPageTitle_week.xml | 2 + ...tDays_idSiteOne___Actions.getPageTitle_year.xml | 1 + ...tDays_idSiteOne___Actions.getPageTitles_day.xml | 32 ++++ ...ays_idSiteOne___Actions.getPageTitles_month.xml | 8 + ...Days_idSiteOne___Actions.getPageTitles_week.xml | 14 ++ ...Days_idSiteOne___Actions.getPageTitles_year.xml | 8 + ...rentDays_idSiteOne___Actions.getPageUrl_day.xml | 6 + ...ntDays_idSiteOne___Actions.getPageUrl_month.xml | 1 + ...entDays_idSiteOne___Actions.getPageUrl_week.xml | 3 + ...entDays_idSiteOne___Actions.getPageUrl_year.xml | 1 + ...entDays_idSiteOne___Actions.getPageUrls_day.xml | 18 +++ ...tDays_idSiteOne___Actions.getPageUrls_month.xml | 4 + ...ntDays_idSiteOne___Actions.getPageUrls_week.xml | 8 + ...ntDays_idSiteOne___Actions.getPageUrls_year.xml | 4 + ...rentDays_idSiteOne___VisitFrequency.get_day.xml | 10 +- ...ntDays_idSiteOne___VisitFrequency.get_month.xml | 2 +- ...entDays_idSiteOne___VisitFrequency.get_week.xml | 4 +- ...entDays_idSiteOne___VisitFrequency.get_year.xml | 2 +- ...erentDays_idSiteOne___VisitsSummary.get_day.xml | 14 +- ...entDays_idSiteOne___VisitsSummary.get_month.xml | 2 +- ...rentDays_idSiteOne___VisitsSummary.get_week.xml | 8 +- ...rentDays_idSiteOne___VisitsSummary.get_year.xml | 2 +- ...eduledReports.generateReport_month.original.csv | 56 +++---- ...duledReports.generateReport_month.original.html | 162 +++++++++++++++++---- ...est_UserId_VisitorId__VisitsSummary.get_day.xml | 4 +- ...t_UserId_VisitorId__VisitsSummary.get_month.xml | 2 +- ...st_UserId_VisitorId__VisitsSummary.get_week.xml | 4 +- ...st_UserId_VisitorId__VisitsSummary.get_year.xml | 2 +- ...itorId_segmentUserId__VisitsSummary.get_day.xml | 2 +- ...eportsShouldAppear__VisitsSummary.get_month.xml | 4 +- ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 2 +- ...eportsShouldAppear__VisitsSummary.get_month.xml | 4 +- ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 2 +- .../expected/test_noVisit__Actions.get_day.xml | 1 - ...eRange_IndexedByDate__MultiSites.getAll_day.xml | 4 +- ...eConversionsPerVisit__VisitsSummary.get_day.xml | 2 +- ...insStrangeCharacters__VisitsSummary.get_day.xml | 2 +- ...entPageTitleContains__VisitsSummary.get_day.xml | 2 +- ...entPageTitleExcludes__VisitsSummary.get_day.xml | 2 +- ...gmentPageUrlContains__VisitsSummary.get_day.xml | 2 +- ...gmentPageUrlExcludes__VisitsSummary.get_day.xml | 2 +- ...sWithCustomVariables__VisitsSummary.get_day.xml | 2 +- ...WithCustomVariables__VisitsSummary.get_week.xml | 2 +- ...tMatchALL_noGoalData__VisitsSummary.get_day.xml | 4 +- ...MatchALL_noGoalData__VisitsSummary.get_week.xml | 4 +- ...mentMatchVisitorType__VisitsSummary.get_day.xml | 2 +- ...entMatchVisitorType__VisitsSummary.get_week.xml | 2 +- 159 files changed, 1002 insertions(+), 387 deletions(-) diff --git a/core/API/DataTableManipulator/ReportTotalsCalculator.php b/core/API/DataTableManipulator/ReportTotalsCalculator.php index 1cbfeeb362..5dc468a2ff 100644 --- a/core/API/DataTableManipulator/ReportTotalsCalculator.php +++ b/core/API/DataTableManipulator/ReportTotalsCalculator.php @@ -73,12 +73,13 @@ class ReportTotalsCalculator extends DataTableManipulator $metricsToCalculate = Metrics::getMetricIdsToProcessReportTotal(); foreach ($metricsToCalculate as $metricId) { - if (!$this->hasDataTableMetric($firstLevelTable, $metricId)) { + $realMetricName = $this->hasDataTableMetric($firstLevelTable, $metricId); + if (empty($realMetricName)) { continue; } foreach ($firstLevelTable->getRows() as $row) { - $totalValues = $this->sumColumnValueToTotal($row, $metricId, $totalValues); + $totalValues = $this->sumColumnValueToTotal($row, $metricId, $realMetricName, $totalValues); } } @@ -95,34 +96,20 @@ class ReportTotalsCalculator extends DataTableManipulator return false; } - if (false === $this->getColumn($firstRow, $metricId)) { - return false; - } - - return true; - } - - /** - * Returns column from a given row. - * Will work with 2 types of datatable - * - raw datatables coming from the archive DB, which columns are int indexed - * - datatables processed resulting of API calls, which columns have human readable english names - * - * @param Row|array $row - * @param int $columnIdRaw see consts in Metrics:: - * @return mixed Value of column, false if not found - */ - private function getColumn($row, $columnIdRaw) - { - $columnIdReadable = Metrics::getReadableColumnName($columnIdRaw); + $readableColumnName = Metrics::getReadableColumnName($metricId); + $columnAlternatives = array( + $metricId, + $readableColumnName, + // TODO: this and below is a hack to get report totals to work correctly w/ MultiSites.getAll. can be corrected + // when all metrics are described by Metadata classes & internal naming quirks are handled by core system. + 'Goal_' . $readableColumnName, + 'Actions_' . $readableColumnName + ); - if ($row instanceof Row) { - $raw = $row->getColumn($columnIdRaw); - if ($raw !== false) { - return $raw; + foreach ($columnAlternatives as $column) { + if ($firstRow->getColumn($column) !== false) { + return $column; } - - return $row->getColumn($columnIdReadable); } return false; @@ -170,9 +157,9 @@ class ReportTotalsCalculator extends DataTableManipulator return $table; } - private function sumColumnValueToTotal(Row $row, $metricId, $totalValues) + private function sumColumnValueToTotal(Row $row, $metricId, $realMetricId, $totalValues) { - $value = $this->getColumn($row, $metricId); + $value = $row->getColumn($realMetricId); if (false === $value) { diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 187847baa9..6b7347b206 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -79,7 +79,7 @@ class DataTablePostProcessor $dataTable = $this->applyTotalsCalculator($dataTable); $dataTable = $this->applyGenericFilters($label, $dataTable); - $dataTable->filter(array($this, 'computeProcessedMetrics')); + $this->applyComputeProcessedMetrics($dataTable); // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); @@ -101,6 +101,8 @@ class DataTablePostProcessor { $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $this->request); if (!empty($pivotBy)) { + $this->applyComputeProcessedMetrics($dataTable); + $reportId = $this->apiModule . '.' . $this->apiMethod; $pivotByColumn = Common::getRequestVar('pivotByColumn', false, 'string', $this->request); $pivotByColumnLimit = Common::getRequestVar('pivotByColumnLimit', false, 'int', $this->request); @@ -353,4 +355,9 @@ class DataTablePostProcessor } return $result; } + + private function applyComputeProcessedMetrics(DataTableInterface $dataTable) + { + $dataTable->filter(array($this, 'computeProcessedMetrics')); + } } \ No newline at end of file diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index cdb34b9961..dc43950b3c 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -498,13 +498,15 @@ class API extends \Piwik\Plugin\API return Archive::getDataTableFromArchive($name, $idSite, $period, $date, $segment, $expanded, $idSubtable, $skipAggregationOfSubTables, $depth); } - private function addPageprocessedMetrics(DataTable $dataTable) + private function addPageProcessedMetrics(DataTable\DataTableInterface $dataTable) { - $extraProcessedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); - $extraProcessedMetrics[] = new AverageTimeOnPage(); - $extraProcessedMetrics[] = new BounceRate(); - $extraProcessedMetrics[] = new ExitRate(); - $extraProcessedMetrics[] = new AveragePageGenerationTime(); - $dataTable->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); + $dataTable->filter(function (DataTable $table) { + $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); + $extraProcessedMetrics[] = new AverageTimeOnPage(); + $extraProcessedMetrics[] = new BounceRate(); + $extraProcessedMetrics[] = new ExitRate(); + $extraProcessedMetrics[] = new AveragePageGenerationTime(); + $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); + }); } } \ No newline at end of file diff --git a/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php b/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php index 51177e7878..63620c51bb 100644 --- a/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php +++ b/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php @@ -11,6 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\DestinationPage; +use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Metrics\ExitRate; class GetPageTitlesFollowingSiteSearch extends SiteSearchBase { @@ -21,6 +25,12 @@ class GetPageTitlesFollowingSiteSearch extends SiteSearchBase $this->name = Piwik::translate('Actions_WidgetPageTitlesFollowingSearch'); $this->documentation = Piwik::translate('Actions_SiteSearchFollowingPagesDoc') . '<br/>' . Piwik::translate('General_UsePlusMinusIconsDocumentation'); $this->metrics = array('nb_hits_following_search', 'nb_hits'); + $this->processedMetrics = array( + new AverageTimeOnPage(), + new BounceRate(), + new ExitRate(), + new AveragePageGenerationTime() + ); $this->order = 19; $this->widgetTitle = 'Actions_WidgetPageTitlesFollowingSearch'; } diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index c96b3490fd..37ce8b77d4 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -82,7 +82,7 @@ class EvolutionMetric extends ProcessedMetric } else if ($divisor == 0) { return 1; } else { - return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision); + return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision + 2); } } diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 067461f38e..add6e34820 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -15,7 +15,6 @@ use Piwik\Common; use Piwik\DataTable; use Piwik\Period\Range; use Piwik\Piwik; -use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; use Piwik\Plugins\Goals\Archiver; use Piwik\Plugins\SitesManager\API as APISitesManager; use Piwik\Plugins\SitesManager\Model as ModelSitesManager; @@ -264,15 +263,15 @@ class API extends \Piwik\Plugin\API // set the label of each row to the site name if ($multipleWebsitesRequested) { - $dataTable->filter('ColumnCallbackReplace', array('label', '\Piwik\Site::getNameFor')); + $dataTable->queueFilter('ColumnCallbackReplace', array('label', '\Piwik\Site::getNameFor')); } else { - $dataTable->filter('ColumnDelete', array('label')); + $dataTable->queueFilter('ColumnDelete', array('label')); } Site::clearCache(); // replace record names with user friendly metric names - $dataTable->filter('ReplaceColumnNames', array($columnNameRewrites)); + $dataTable->queueFilter('ReplaceColumnNames', array($columnNameRewrites)); // Ensures data set sorted, for Metadata output $dataTable->filter('Sort', array(self::NB_VISITS_METRIC, 'desc', $naturalSort = false)); @@ -336,7 +335,7 @@ class API extends \Piwik\Plugin\API : "Piwik\\Plugins\\CoreHome\\Metrics\\EvolutionMetric"; $extraProcessedMetrics[] = new $evolutionMetricClass( - $metricSettings[self::METRIC_COL_NAME_KEY], + $metricSettings[self::METRIC_RECORD_NAME_KEY], $pastData, $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], $quotientPrecision = 1 diff --git a/plugins/VisitFrequency/Metrics/ReturningMetric.php b/plugins/VisitFrequency/Metrics/ReturningMetric.php index 8f99c057a1..d285b562eb 100644 --- a/plugins/VisitFrequency/Metrics/ReturningMetric.php +++ b/plugins/VisitFrequency/Metrics/ReturningMetric.php @@ -17,9 +17,9 @@ use Piwik\Plugin\ProcessedMetric; class ReturningMetric extends ProcessedMetric { private static $translations = array( - 'avg_time_on_site_returning' => 'ColumnAverageVisitDurationForReturningVisitors', - 'nb_actions_per_visit_returning' => 'ColumnAvgActionsPerReturningVisit', - 'bounce_rate_returning' => 'ColumnBounceRateForReturningVisits', + 'avg_time_on_site_returning' => 'VisitFrequency_ColumnAverageVisitDurationForReturningVisitors', + 'nb_actions_per_visit_returning' => 'VisitFrequency_ColumnAvgActionsPerReturningVisit', + 'bounce_rate_returning' => 'VisitFrequency_ColumnBounceRateForReturningVisits', ); /** diff --git a/plugins/VisitorInterest/Metrics/VisitsPercent.php b/plugins/VisitorInterest/Metrics/VisitsPercent.php index 8770f7051b..2b787f9c77 100644 --- a/plugins/VisitorInterest/Metrics/VisitsPercent.php +++ b/plugins/VisitorInterest/Metrics/VisitsPercent.php @@ -45,7 +45,7 @@ class VisitsPercent extends ProcessedMetric { $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); } public function format($value) diff --git a/tests/PHPUnit/System/ArchiveWebTest.php b/tests/PHPUnit/System/ArchiveWebTest.php index 953affe8fa..defddb58ae 100644 --- a/tests/PHPUnit/System/ArchiveWebTest.php +++ b/tests/PHPUnit/System/ArchiveWebTest.php @@ -38,7 +38,7 @@ class ArchiveWebTest extends SystemTestCase $url = $host . 'tests/PHPUnit/proxy/archive.php?token_auth=' . $token; $output = Http::sendHttpRequest($url, 600); -echo "OUTPUT: ".$output."\n"; + // ignore random build issues if (empty($output) || strpos($output, \Piwik\CronArchive::NO_ERROR) === false) { $message = "This test has failed. Because it sometimes randomly fails, we skip the test, and ignore this failure.\n"; diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php index cc7b96e425..3930f833ff 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php @@ -125,7 +125,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase $idSite1 = self::$fixture->idSite1; $archive = Archive::build($idSite1, 'range', $dateTimeRange); - $result = $archive->getDataTableFromNumeric($columns); + $result = $archive->getNumeric($columns); $this->assertEquals( array( 'nb_visits' => 4, diff --git a/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml index 2e48a2f945..c185c48558 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml @@ -5,6 +5,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.3</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.2</max_time_generation> @@ -25,6 +26,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -40,6 +42,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -57,6 +60,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -77,6 +81,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.2</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.4</min_time_generation> <max_time_generation>0.8</max_time_generation> @@ -92,6 +97,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -109,6 +115,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -129,6 +136,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -144,6 +152,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.7</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.9</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -161,6 +170,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -187,6 +197,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> + <avg_time_generation>0</avg_time_generation> <url>http://example.org/sub/dir/dir1/page1.html</url> </row> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml index a40bfb0dea..bb593c5814 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml @@ -5,6 +5,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.3</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.2</max_time_generation> @@ -61,6 +64,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -76,6 +80,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml index 326bf6903d..c614800949 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml @@ -5,6 +5,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -43,6 +45,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -61,6 +64,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -81,6 +85,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -99,6 +104,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -119,6 +125,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -136,6 +143,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -153,9 +161,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>2</entry_nb_actions> <entry_sum_visit_length>1</entry_sum_visit_length> @@ -163,7 +168,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml index 6acf67f60c..399f25951b 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml @@ -5,6 +5,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -25,6 +26,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.2</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.4</min_time_generation> <max_time_generation>0.8</max_time_generation> @@ -40,6 +42,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml index fb09d47fce..9cd3139fcc 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml @@ -5,6 +5,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -24,6 +25,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -43,6 +45,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -62,6 +65,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.3</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.2</max_time_generation> @@ -83,6 +87,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -99,6 +104,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -117,6 +123,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -136,6 +143,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -155,6 +163,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -174,6 +183,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -195,6 +205,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.2</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.4</min_time_generation> <max_time_generation>0.8</max_time_generation> @@ -211,6 +222,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -229,6 +241,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -248,6 +261,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -267,6 +281,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -286,6 +301,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -307,6 +323,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -323,6 +340,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.7</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.9</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -341,6 +359,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -359,6 +378,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -384,6 +404,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> + <avg_time_generation>0</avg_time_generation> <is_aggregate>1</is_aggregate> </row> <row> @@ -398,6 +419,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> + <avg_time_generation>0</avg_time_generation> <is_aggregate>1</is_aggregate> </row> <row> @@ -414,6 +436,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> + <avg_time_generation>0</avg_time_generation> <url>http://example.org/sub/dir/dir1/page1.html</url> <is_aggregate>0</is_aggregate> </row> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml index 94423ac9d9..622ee74c28 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml @@ -5,6 +5,7 @@ <nb_visits>2</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -22,6 +23,7 @@ <nb_visits>2</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -39,6 +41,7 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -53,6 +56,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -69,6 +73,7 @@ <nb_visits>1</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -87,6 +92,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>3</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -112,6 +118,7 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -125,6 +132,7 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -139,6 +147,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -157,6 +166,7 @@ <nb_visits>1</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -172,6 +182,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>3</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_month.xml index 1f9e1351ba..c8388c1f4d 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_month.xml @@ -8,5 +8,4 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml index d7672ae30c..a1ec37b5bf 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml @@ -3,7 +3,7 @@ <row> <label>1 visit</label> <nb_visits>33</nb_visits> - <nb_visits_percentage>83%</nb_visits_percentage> + <nb_visits_percentage>82.5%</nb_visits_percentage> </row> <row> <label>2 visits</label> @@ -18,7 +18,7 @@ <row> <label>4 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>3%</nb_visits_percentage> + <nb_visits_percentage>2.5%</nb_visits_percentage> </row> <row> <label>5 visits</label> @@ -33,7 +33,7 @@ <row> <label>7 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>3%</nb_visits_percentage> + <nb_visits_percentage>2.5%</nb_visits_percentage> </row> <row> <label>8 visits</label> @@ -58,7 +58,7 @@ <row> <label>51-100 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>3%</nb_visits_percentage> + <nb_visits_percentage>2.5%</nb_visits_percentage> </row> <row> <label>101-200 visits</label> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml index 0fb183d46f..5b999ec18b 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml @@ -13,6 +13,8 @@ <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>100%</revenue_evolution> <nb_conversions_evolution>100%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -29,6 +31,8 @@ <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -47,6 +51,8 @@ <pageviews_evolution>-61.5%</pageviews_evolution> <revenue_evolution>-96%</revenue_evolution> <nb_conversions_evolution>-96%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -63,6 +69,8 @@ <pageviews_evolution>-100%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -81,6 +89,8 @@ <pageviews_evolution>-100%</pageviews_evolution> <revenue_evolution>-100%</revenue_evolution> <nb_conversions_evolution>-100%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -97,6 +107,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -115,6 +127,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -131,6 +145,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -149,6 +165,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -165,6 +183,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -183,6 +203,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -199,6 +221,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -217,6 +241,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -233,6 +259,8 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> + <orders_evolution>0%</orders_evolution> + <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml index 88bdbcf6cd..a2960b4c6d 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.635</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.635</min_time_generation> <max_time_generation>0.635</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml index 3634faa18a..abc6fa2698 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml @@ -5,6 +5,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.842</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml index b648ce6807..d45c7f95d0 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.842</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml index b557287b32..10f380368a 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml index 04dac45ecd..e52d7bcb8c 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>36</sum_time_spent> + <sum_time_generation>0.233</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.233</min_time_generation> <max_time_generation>0.233</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml index 1517efab30..f87067a882 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.333</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml index 2a3958ceba..c09647b683 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.333</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml index 4cec8aa9aa..cd19ebdea0 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.523</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.523</min_time_generation> <max_time_generation>0.523</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml index 718edc60ac..ae50d5ff77 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>324</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml index afffc60a48..de4ab0c169 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>4</nb_hits> <sum_time_spent>1116</sum_time_spent> + <sum_time_generation>1.879</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>1.233</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml index ea574a289f..670c31b22e 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml @@ -12,17 +12,20 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=day&date=2010-01-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=day&date=2009-12-05,2010-01-03</imageGraphEvolutionUrl> @@ -32,8 +35,8 @@ <label>Page URL</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> </columns> <reportData> @@ -41,16 +44,16 @@ <label>space</label> <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>grue</label> <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> </row> </reportData> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml index 73ac235db9..b76e6ee906 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__MultiSites.getOne_day.xml @@ -2,10 +2,10 @@ <result> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> - <nb_pageviews>4</nb_pageviews> - <revenue>43</revenue> <visits_evolution>100%</visits_evolution> <actions_evolution>100%</actions_evolution> <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>100%</revenue_evolution> + <nb_pageviews>4</nb_pageviews> + <revenue>43</revenue> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml index 9493eb4991..9d53d86634 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -24,6 +25,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml index 5e51da8014..cca989456e 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -25,6 +26,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -44,6 +46,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml index 64b810c76b..317ce3ecc5 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -24,6 +25,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -48,6 +50,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml index ef8f599623..a22586bc87 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml @@ -7,6 +7,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -42,6 +44,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml index 629847ae61..5f687c3a3f 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml index da8ea736e7..9767e1027b 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml @@ -7,6 +7,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml index cd205048c8..86e417f60a 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml @@ -5,6 +5,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -24,6 +25,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -67,6 +70,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> @@ -83,6 +87,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>792</sum_time_spent> + <sum_time_generation>0.224</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml index 46a13d42c3..29b2c94b41 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml @@ -7,6 +7,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml index 46a13d42c3..29b2c94b41 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml @@ -7,6 +7,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml index ad64d61bfe..ba1081f290 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.224</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> @@ -22,6 +23,7 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> + <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> @@ -39,6 +41,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -58,6 +61,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -77,6 +81,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml index 1058fa4e08..aa46939be4 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml @@ -15,6 +15,6 @@ <row> <label>Autres</label> <nb_visits>7</nb_visits> - <nb_visits_percentage /> + <nb_visits_percentage>100%</nb_visits_percentage> </row> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml b/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml index e73ba39d1d..26e135654f 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml @@ -7,7 +7,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>2.8</avg_time_generation> </row> </result> <result date="2010-02-08" /> @@ -16,7 +19,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>2.5</avg_time_generation> </row> </result> <result date="2010-02-11" /> @@ -25,7 +31,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>2.2</avg_time_generation> </row> </result> <result date="2010-02-14" /> @@ -34,7 +43,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>1.9</avg_time_generation> </row> </result> <result date="2010-02-17" /> @@ -43,7 +55,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>1.6</avg_time_generation> </row> </result> <result date="2010-02-20" /> @@ -52,7 +67,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>1.3</avg_time_generation> </row> </result> <result date="2010-02-23" /> @@ -61,7 +79,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>1</avg_time_generation> </row> </result> <result date="2010-02-26" /> @@ -70,7 +91,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>0.7</avg_time_generation> </row> </result> <result date="2010-03-01" /> @@ -79,7 +103,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>0.4</avg_time_generation> </row> </result> <result date="2010-03-04" /> @@ -88,7 +115,10 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> + <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <exit_rate>100%</exit_rate> + <avg_time_generation>0.1</avg_time_generation> </row> </result> </reportData> @@ -104,11 +134,24 @@ <min>0</min> <max>1</max> </entry_bounce_count> + <avg_time_on_page> + <name>Avg. time on page</name> + </avg_time_on_page> <bounce_rate> <name>Bounce Rate</name> <min>0</min> <max>100</max> </bounce_rate> + <exit_rate> + <name>Exit rate</name> + <min>0</min> + <max>100</max> + </exit_rate> + <avg_time_generation> + <name>Avg. generation time</name> + <min>0</min> + <max>2.8</max> + </avg_time_generation> </metrics> <dimension>Entry Page title</dimension> </metadata> diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_day.xml b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_day.xml index 67f2b8e444..649d127ab5 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_day.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_day.xml @@ -194,8 +194,8 @@ <columns> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </columns> diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_week.xml b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_week.xml index 49ee397bd0..6c91eca8d8 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_week.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitlesMulti__API.getRowEvolution_week.xml @@ -52,8 +52,8 @@ <columns> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </columns> diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_day.xml b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_day.xml index 00281d68e1..5b049977a4 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_day.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_day.xml @@ -7,8 +7,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>2.8</avg_time_generation> </row> @@ -19,8 +19,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>2.5</avg_time_generation> </row> @@ -31,8 +31,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>2.2</avg_time_generation> </row> @@ -43,8 +43,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>1.9</avg_time_generation> </row> @@ -55,8 +55,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>1.6</avg_time_generation> </row> @@ -67,8 +67,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>1.3</avg_time_generation> </row> @@ -79,8 +79,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>1</avg_time_generation> </row> @@ -91,8 +91,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.7</avg_time_generation> </row> @@ -103,8 +103,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.4</avg_time_generation> </row> @@ -115,8 +115,8 @@ <row> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.1</avg_time_generation> </row> @@ -134,14 +134,14 @@ <min>0</min> <max>1</max> </nb_visits> + <avg_time_on_page> + <name>Avg. time on page</name> + </avg_time_on_page> <bounce_rate> <name>Bounce Rate</name> <min>0</min> <max>100</max> </bounce_rate> - <avg_time_on_page> - <name>Avg. time on page</name> - </avg_time_on_page> <exit_rate> <name>Exit rate</name> <min>0</min> diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_week.xml b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_week.xml index ffd938a2fb..fcb7a55ef8 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_week.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_pageTitles__API.getRowEvolution_week.xml @@ -6,8 +6,8 @@ <row> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>2.95</avg_time_generation> </row> @@ -16,8 +16,8 @@ <row> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>2.35</avg_time_generation> </row> @@ -26,8 +26,8 @@ <row> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>1.75</avg_time_generation> </row> @@ -36,8 +36,8 @@ <row> <nb_visits>3</nb_visits> <nb_hits>3</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>1</avg_time_generation> </row> @@ -46,8 +46,8 @@ <row> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.25</avg_time_generation> </row> @@ -67,15 +67,15 @@ <max>3</max> <change>0%</change> </nb_visits> + <avg_time_on_page> + <name>Avg. time on page</name> + </avg_time_on_page> <bounce_rate> <name>Bounce Rate</name> <min>100</min> <max>100</max> <change>0%</change> </bounce_rate> - <avg_time_on_page> - <name>Avg. time on page</name> - </avg_time_on_page> <exit_rate> <name>Exit rate</name> <min>100</min> diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_pageUrls__API.getRowEvolution_range.xml b/tests/PHPUnit/System/expected/test_RowEvolution_pageUrls__API.getRowEvolution_range.xml index c58ead4c78..2aeb0c3679 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_pageUrls__API.getRowEvolution_range.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_pageUrls__API.getRowEvolution_range.xml @@ -8,8 +8,8 @@ <row> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>0</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.45</avg_time_generation> </row> @@ -30,14 +30,14 @@ <min>0</min> <max>2</max> </nb_visits> + <avg_time_on_page> + <name>Avg. time on page</name> + </avg_time_on_page> <bounce_rate> <name>Bounce Rate</name> <min>0</min> <max>100</max> </bounce_rate> - <avg_time_on_page> - <name>Avg. time on page</name> - </avg_time_on_page> <exit_rate> <name>Exit rate</name> <min>0</min> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml index e1254c611b..4449850486 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml @@ -17,6 +17,12 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_getPageTitlesFollowingSiteSearch</uniqueId> @@ -25,6 +31,9 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -32,11 +41,17 @@ <label> Im just a page</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:00:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> <row> <label> This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:03:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="Monday 4 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml index 358b09c180..ca8b39bd80 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml @@ -17,6 +17,12 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_getPageTitlesFollowingSiteSearch</uniqueId> @@ -25,6 +31,9 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="2010, January"> @@ -32,11 +41,17 @@ <label> Im just a page</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:00:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> <row> <label> This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:03:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="2010, February" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml index c1f7037343..0ac93d5428 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml @@ -12,19 +12,20 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -34,10 +35,9 @@ <label>Page Name</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -45,28 +45,25 @@ <label> Im just a page</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label> Pageview, not search</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label> This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:03:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:03:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> </result> <result prettyDate="Monday 4 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_month.xml index 33516984c8..99cb37e592 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_month.xml @@ -12,19 +12,20 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> @@ -34,10 +35,9 @@ <label>Page Name</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <result prettyDate="2010, January"> @@ -45,28 +45,25 @@ <label> Im just a page</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label> Pageview, not search</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label> This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:03:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:03:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> </result> <result prettyDate="2010, February" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml index a139b8c186..48724d7450 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml @@ -17,6 +17,12 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_getPageUrlsFollowingSiteSearch</uniqueId> @@ -25,6 +31,9 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -32,11 +41,17 @@ <label>/index.htm</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:00:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> <row> <label>/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:03:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="Monday 4 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml index ddbfc27323..e7e1601a47 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml @@ -17,6 +17,12 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_getPageUrlsFollowingSiteSearch</uniqueId> @@ -25,6 +31,9 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="2010, January"> @@ -32,11 +41,17 @@ <label>/index.htm</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:00:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> <row> <label>/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> + <avg_time_on_page>00:03:36</avg_time_on_page> + <bounce_rate>0%</bounce_rate> + <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="2010, February" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml index 3778066188..0e98c5b577 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml @@ -12,19 +12,20 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -34,10 +35,9 @@ <label>Page URL</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -45,28 +45,25 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label>/index.htm?gkwd=SHOULD be a PageView, NOT a search</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label>/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:03:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:03:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> </result> <result prettyDate="Monday 4 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_month.xml index c4d5795571..ac1a2430de 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_month.xml @@ -12,19 +12,20 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> @@ -34,10 +35,9 @@ <label>Page URL</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <result prettyDate="2010, January"> @@ -45,28 +45,25 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label>/index.htm?gkwd=SHOULD be a PageView, NOT a search</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> <row> <label>/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:03:36</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:03:36</avg_time_on_page> <exit_rate>0%</exit_rate> - <avg_time_generation>0s</avg_time_generation> </row> </result> <result prettyDate="2010, February" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml index 84b4b19ea1..28f1e071e8 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml @@ -19,6 +19,12 @@ <nb_pages_per_search>Visitors will search on your website, and sometimes click "next" to view more results. This is the average number of search results pages viewed for this keyword.</nb_pages_per_search> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_getSiteSearchKeywords</uniqueId> @@ -27,7 +33,9 @@ <label>Keyword</label> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>% Search Exits</exit_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -35,18 +43,24 @@ <label>Search 1</label> <nb_visits>2</nb_visits> <nb_pages_per_search>3</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:03:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>Search 2</label> <nb_visits>2</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>50%</exit_rate> </row> <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> @@ -55,18 +69,24 @@ <label>Final tüte Keyword Searched for now</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> </row> <row> <label>Keyword - Tracking API</label> <nb_visits>1</nb_visits> <nb_pages_per_search>2</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:04:12</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml index 133ef2f538..f1937ac0f2 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml @@ -19,6 +19,12 @@ <nb_pages_per_search>Visitors will search on your website, and sometimes click "next" to view more results. This is the average number of search results pages viewed for this keyword.</nb_pages_per_search> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_getSiteSearchKeywords</uniqueId> @@ -27,7 +33,9 @@ <label>Keyword</label> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>% Search Exits</exit_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> </columns> <reportData> <result prettyDate="2010, January"> @@ -35,30 +43,40 @@ <label>No Result Keyword!</label> <nb_visits>2</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:02:24</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>Search 1</label> <nb_visits>2</nb_visits> <nb_pages_per_search>3</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:03:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>Search 2</label> <nb_visits>2</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>50%</exit_rate> </row> <row> <label>Final tüte Keyword Searched for now</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> </row> <row> <label>Keyword - Tracking API</label> <nb_visits>1</nb_visits> <nb_pages_per_search>2</nb_pages_per_search> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml index e52d6cd8f3..feb9ea7bb7 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml @@ -17,6 +17,12 @@ <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_getSiteSearchNoResultKeywords</uniqueId> @@ -24,13 +30,17 @@ <columns> <label>Keyword with No Search Result</label> <nb_visits>Searches</nb_visits> - <exit_rate>% Search Exits</exit_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> @@ -38,6 +48,8 @@ <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:04:12</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml index 63ba94eaf9..5c02112041 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml @@ -17,6 +17,12 @@ <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_getSiteSearchNoResultKeywords</uniqueId> @@ -24,13 +30,17 @@ <columns> <label>Keyword with No Search Result</label> <nb_visits>Searches</nb_visits> - <exit_rate>% Search Exits</exit_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> </columns> <reportData> <result prettyDate="2010, January"> <row> <label>No Result Keyword!</label> <nb_visits>2</nb_visits> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:02:24</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_day.xml index 77af413fc5..9a97a11562 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_day.xml @@ -16,7 +16,6 @@ <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> <nb_searches>Searches</nb_searches> <nb_keywords>Unique Keywords</nb_keywords> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_pageviews>The number of times this page was visited.</nb_pageviews> @@ -26,8 +25,10 @@ <nb_outlinks>The number of times this link was clicked.</nb_outlinks> <nb_uniq_outlinks>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_outlinks> <nb_searches>The number of visits that searched for this keyword on your website's search engine.</nb_searches> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_get</uniqueId> @@ -41,7 +42,6 @@ <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> <nb_searches>Searches</nb_searches> <nb_keywords>Unique Keywords</nb_keywords> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -53,7 +53,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>5</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0s</avg_time_generation> </result> <result prettyDate="Monday 4 January 2010"> <nb_pageviews>0</nb_pageviews> @@ -64,7 +63,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>3</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0s</avg_time_generation> </result> <result prettyDate="Tuesday 5 January 2010" /> <result prettyDate="Wednesday 6 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_month.xml index 1b0f9d2bec..c62212321d 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.get_firstSite_lastN__API.getProcessedReport_month.xml @@ -16,7 +16,6 @@ <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> <nb_searches>Searches</nb_searches> <nb_keywords>Unique Keywords</nb_keywords> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_pageviews>The number of times this page was visited.</nb_pageviews> @@ -26,8 +25,10 @@ <nb_outlinks>The number of times this link was clicked.</nb_outlinks> <nb_uniq_outlinks>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_outlinks> <nb_searches>The number of visits that searched for this keyword on your website's search engine.</nb_searches> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=month&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=get&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_get</uniqueId> @@ -41,7 +42,6 @@ <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> <nb_searches>Searches</nb_searches> <nb_keywords>Unique Keywords</nb_keywords> - <avg_time_generation>Avg. generation time</avg_time_generation> </columns> <reportData> <result prettyDate="2010, January"> @@ -53,7 +53,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>8</nb_searches> <nb_keywords>5</nb_keywords> - <avg_time_generation>0s</avg_time_generation> </result> <result prettyDate="2010, February" /> <result prettyDate="2010, March" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_day.xml index 13c2a7e8ac..17aad549b7 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_day.xml @@ -10,7 +10,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>5</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-01-04"> <nb_pageviews>0</nb_pageviews> @@ -21,7 +20,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>3</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-01-05" /> <result date="2010-01-06" /> @@ -39,7 +37,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>3</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-01-04" /> <result date="2010-01-05" /> @@ -58,7 +55,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-01-04" /> <result date="2010-01-05" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_month.xml index d078913108..9f2910f086 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_AllSites__Actions.get_month.xml @@ -10,7 +10,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>8</nb_searches> <nb_keywords>5</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-02" /> <result date="2010-03" /> @@ -29,7 +28,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>3</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-02" /> <result date="2010-03" /> @@ -48,7 +46,6 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_day.xml index f125336842..a5e5d16d73 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_day.xml @@ -8,5 +8,4 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>5</nb_searches> <nb_keywords>3</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_month.xml index 9d598b649a..f1ac621851 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_NotLastNPeriods__Actions.get_month.xml @@ -8,5 +8,4 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>8</nb_searches> <nb_keywords>5</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml index f8181af56d..32b66284be 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>0</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml index e58092a648..b0e66b9280 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml index 7d8be22272..6d2cd7c44f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml @@ -12,19 +12,21 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageTitles</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitles&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -34,8 +36,8 @@ <label>Page Name</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </columns> @@ -45,8 +47,8 @@ <label> first page view</label> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>50%</exit_rate> <avg_time_generation>0.14s</avg_time_generation> </row> @@ -56,8 +58,8 @@ <label>Page Name not defined</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.22s</avg_time_generation> </row> @@ -67,8 +69,8 @@ <label>second visitor</label> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:07:30</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:07:30</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.25s</avg_time_generation> </row> @@ -76,8 +78,8 @@ <label>Checkout</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.45s</avg_time_generation> </row> @@ -87,8 +89,8 @@ <label>second visitor</label> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:07:30</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:07:30</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.25s</avg_time_generation> </row> @@ -96,8 +98,8 @@ <label>Checkout</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.45s</avg_time_generation> </row> @@ -107,8 +109,8 @@ <label>second visitor</label> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:07:30</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:07:30</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.25s</avg_time_generation> </row> @@ -116,8 +118,8 @@ <label>Checkout</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.45s</avg_time_generation> </row> @@ -127,8 +129,8 @@ <label>second visitor</label> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:07:30</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:07:30</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.25s</avg_time_generation> </row> @@ -136,8 +138,8 @@ <label>Checkout</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.45s</avg_time_generation> </row> @@ -147,8 +149,8 @@ <label>second visitor</label> <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:07:30</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:07:30</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.25s</avg_time_generation> </row> @@ -156,8 +158,8 @@ <label>Checkout</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.45s</avg_time_generation> </row> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml index dfccc81659..1ce5abef77 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml @@ -12,19 +12,21 @@ <metrics> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> </metrics> <metricsDocumentation> <nb_hits>The number of times this page was visited.</nb_hits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <actionToLoadSubTables>getPageUrls</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrls&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -34,8 +36,8 @@ <label>Page URL</label> <nb_hits>Pageviews</nb_hits> <nb_visits>Unique Pageviews</nb_visits> - <bounce_rate>Bounce Rate</bounce_rate> <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </columns> @@ -45,8 +47,8 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.12s</avg_time_generation> </row> @@ -54,8 +56,8 @@ <label>/products</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>100%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.15s</avg_time_generation> </row> @@ -65,8 +67,8 @@ <label>Page URL not defined</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.22s</avg_time_generation> </row> @@ -76,8 +78,8 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.32s</avg_time_generation> </row> @@ -85,8 +87,8 @@ <label>/thankyou</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.31s</avg_time_generation> </row> @@ -94,8 +96,8 @@ <label>Page URL not defined</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0s</avg_time_generation> </row> @@ -105,8 +107,8 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.32s</avg_time_generation> </row> @@ -114,8 +116,8 @@ <label>/thankyou</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.31s</avg_time_generation> </row> @@ -123,8 +125,8 @@ <label>Page URL not defined</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0s</avg_time_generation> </row> @@ -134,8 +136,8 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.32s</avg_time_generation> </row> @@ -143,8 +145,8 @@ <label>/thankyou</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.31s</avg_time_generation> </row> @@ -152,8 +154,8 @@ <label>Page URL not defined</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0s</avg_time_generation> </row> @@ -163,8 +165,8 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.32s</avg_time_generation> </row> @@ -172,8 +174,8 @@ <label>/thankyou</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.31s</avg_time_generation> </row> @@ -181,8 +183,8 @@ <label>Page URL not defined</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0s</avg_time_generation> </row> @@ -192,8 +194,8 @@ <label>/index.htm</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0.32s</avg_time_generation> </row> @@ -201,8 +203,8 @@ <label>/thankyou</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:06:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> <exit_rate>100%</exit_rate> <avg_time_generation>0.31s</avg_time_generation> </row> @@ -210,8 +212,8 @@ <label>Page URL not defined</label> <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> - <avg_time_on_page>00:00:00</avg_time_on_page> <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>0%</exit_rate> <avg_time_generation>0s</avg_time_generation> </row> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml index 8a211396aa..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml index 72f3317640..50c77f2755 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -22,8 +22,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml index 8a211396aa..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml index 02158803ff..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml @@ -7,9 +7,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_visits>1</nb_visits> @@ -18,8 +18,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml index 02158803ff..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -7,9 +7,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_visits>1</nb_visits> @@ -18,8 +18,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml index 02158803ff..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -7,9 +7,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_visits>1</nb_visits> @@ -18,8 +18,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml index 8a211396aa..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml index 72f3317640..50c77f2755 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -22,8 +22,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml index 8a211396aa..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml index 02158803ff..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml @@ -7,9 +7,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_visits>1</nb_visits> @@ -18,8 +18,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml index 8a211396aa..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml index 72f3317640..50c77f2755 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>758</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -22,8 +22,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>2</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml index 56f6a84ee5..296741c7a0 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml index a3916d0861..9aa711753b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>757</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result idSite="2"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -22,8 +22,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml index aef48b81de..f82986a135 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml @@ -10,8 +10,6 @@ <metrics> <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> - <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> - <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> <nb_users_returning>Returning Users</nb_users_returning> @@ -19,6 +17,8 @@ <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> </metrics> <processedMetrics> + <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> + <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> <bounce_rate_returning>Bounce Rate for Returning Visits</bounce_rate_returning> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitFrequency&apiAction=get&period=day&date=2010-01-03,2010-01-09</imageGraphUrl> @@ -28,13 +28,13 @@ <columns> <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> - <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> - <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> <nb_users_returning>Returning Users</nb_users_returning> <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> + <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> + <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> <bounce_rate_returning>Bounce Rate for Returning Visits</bounce_rate_returning> </columns> <reportData> @@ -48,9 +48,9 @@ <nb_visits_converted_returning>0</nb_visits_converted_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>00:15:01</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result prettyDate="Wednesday 6 January 2010"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -60,9 +60,9 @@ <nb_visits_converted_returning>0</nb_visits_converted_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>00:15:01</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result prettyDate="Thursday 7 January 2010"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -72,9 +72,9 @@ <nb_visits_converted_returning>0</nb_visits_converted_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>00:15:01</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result prettyDate="Friday 8 January 2010"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -84,9 +84,9 @@ <nb_visits_converted_returning>0</nb_visits_converted_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>00:15:01</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result prettyDate="Saturday 9 January 2010"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -96,9 +96,9 @@ <nb_visits_converted_returning>0</nb_visits_converted_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>00:15:01</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> </reportData> <reportMetadata> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml index 7b47edc048..8c6861a211 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml @@ -12,8 +12,6 @@ <nb_visits>Visits</nb_visits> <nb_users>Users</nb_users> <nb_actions>Actions</nb_actions> - <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> - <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> <max_actions>Maximum actions in one visit</max_actions> </metrics> <metricsDocumentation> @@ -21,11 +19,14 @@ <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> <nb_users>The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId').</nb_users> <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> <nb_actions_per_visit>The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> <avg_time_on_site>The average duration of a visit.</avg_time_on_site> </metricsDocumentation> <processedMetrics> <bounce_rate>Bounce Rate</bounce_rate> + <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> + <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=VisitsSummary&apiAction=get&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -36,10 +37,10 @@ <nb_visits>Visits</nb_visits> <nb_users>Users</nb_users> <nb_actions>Actions</nb_actions> - <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> - <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> <max_actions>Maximum actions in one visit</max_actions> <bounce_rate>Bounce Rate</bounce_rate> + <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> + <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -50,7 +51,7 @@ <max_actions>1</max_actions> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>00:00:00</avg_time_on_site> - <bounce_rate>1%</bounce_rate> + <bounce_rate>100%</bounce_rate> </result> <result prettyDate="Monday 4 January 2010"> <nb_uniq_visitors>1</nb_uniq_visitors> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml index 31cace930f..e439efc2c2 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml @@ -7,6 +7,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml index 8e94360fea..2f93d22104 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml @@ -6,6 +6,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml index 5138d96b47..2b73a564fd 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml @@ -6,6 +6,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml index 8e94360fea..2f93d22104 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml @@ -6,6 +6,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml index 41b3ee1ab8..f4d398cab1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml @@ -8,6 +8,7 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -31,6 +32,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -46,6 +48,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -63,6 +66,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -81,6 +85,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -100,6 +105,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -117,6 +123,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -132,6 +139,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -151,6 +159,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -168,6 +177,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -186,6 +196,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -205,6 +216,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -222,6 +234,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -237,6 +250,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -256,6 +270,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -273,6 +288,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -291,6 +307,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -310,6 +327,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -327,6 +345,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -342,6 +361,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -361,6 +381,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -378,6 +399,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -396,6 +418,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -415,6 +438,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -432,6 +456,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -447,6 +472,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -466,6 +492,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -483,6 +510,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -501,6 +529,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -520,6 +549,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -537,6 +567,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -552,6 +583,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -575,6 +607,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -589,6 +622,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml index d803ad11f9..1313fc9463 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml @@ -7,6 +7,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -24,6 +25,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -60,6 +63,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> + <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -78,6 +82,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -92,6 +97,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -110,6 +116,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -131,6 +138,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -155,6 +163,7 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -169,6 +178,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml index d04244796f..b0ec6a430b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml @@ -7,6 +7,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -30,6 +31,7 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> + <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -47,6 +49,7 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> + <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -64,6 +67,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -83,6 +87,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>3240</sum_time_spent> + <sum_time_generation>1.038</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -101,6 +106,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -115,6 +121,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -133,6 +140,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -149,6 +157,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> + <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -166,6 +175,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> + <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -183,6 +193,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -202,6 +213,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>1080</sum_time_spent> + <sum_time_generation>0.346</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -220,6 +232,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -234,6 +247,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -261,6 +275,7 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -275,6 +290,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml index 8622de5d82..879183fa6f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml @@ -7,6 +7,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -24,6 +25,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -60,6 +63,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> + <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -78,6 +82,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -92,6 +97,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -110,6 +116,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -131,6 +138,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -155,6 +163,7 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -169,6 +178,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml index baf847ce36..a11045ca1d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml @@ -7,6 +7,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml index 00bb5030af..1e93da69c3 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml @@ -6,6 +6,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml index a8fdd76865..6cdaacc101 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml @@ -6,6 +6,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml index 00bb5030af..1e93da69c3 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml @@ -6,6 +6,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml index eda852deae..962ea5a5ed 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml @@ -8,6 +8,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -23,6 +24,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -64,6 +67,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -84,6 +88,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -101,6 +106,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -118,6 +124,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -138,6 +145,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -155,6 +163,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -172,6 +181,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -192,6 +202,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -209,6 +220,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -226,6 +238,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -246,6 +259,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -263,6 +277,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -280,6 +295,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -300,6 +316,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -317,6 +334,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -337,6 +355,7 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -359,6 +378,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml index faa058da6b..5bfdd23d08 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml @@ -7,6 +7,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -27,6 +28,7 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -42,6 +44,7 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -91,6 +95,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -113,6 +118,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml index 89ffb01c30..9b9d49c696 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml @@ -7,6 +7,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -22,6 +23,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -46,6 +48,7 @@ <nb_visits>7</nb_visits> <nb_hits>13</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -61,6 +64,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -81,6 +85,7 @@ <nb_visits>6</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>3.75</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -100,6 +105,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -120,6 +126,7 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>1.25</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -137,6 +144,7 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -161,6 +169,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -183,6 +192,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml index 4bccd4e8bc..b5d07b4909 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml @@ -7,6 +7,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -27,6 +28,7 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -42,6 +44,7 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -91,6 +95,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -113,6 +118,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml index 2160d449a7..1132f1191d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml @@ -12,9 +12,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-06"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -25,9 +25,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-07"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -38,9 +38,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-08"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -51,9 +51,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-09"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -64,9 +64,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> </result> <result idSite="2"> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml index bfad12c494..f6da2a541d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml @@ -10,9 +10,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml index 60aa74b8fa..d64e929e8a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml @@ -11,9 +11,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>5406</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="From 2010-01-11 to 2010-01-17"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -24,9 +24,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>1802</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="From 2010-01-18 to 2010-01-24" /> <result date="From 2010-01-25 to 2010-01-31" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml index 2ce3bd4dac..dd6204a199 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml @@ -8,9 +8,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2011" /> <result date="2012" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml index 8f92b68e56..c0f0001ebf 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result date="2010-01-04"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -23,9 +23,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>361</sum_visit_length> <max_actions>2</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>361</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-05"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -36,9 +36,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-06"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -49,9 +49,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-07"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -62,9 +62,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-08"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -75,9 +75,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-09"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -88,9 +88,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </result> <result idSite="2"> @@ -104,9 +104,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-05" /> <result date="2010-01-06" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml index 90a542d961..d60436c3c9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml @@ -10,9 +10,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>757</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result date="2010-02" /> <result date="2010-03" /> @@ -31,9 +31,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml index 0833ac441c..81c0d186d9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result date="From 2010-01-04 to 2010-01-10"> <nb_uniq_visitors>2</nb_uniq_visitors> @@ -23,9 +23,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> - <nb_actions_per_visit>4.6</nb_actions_per_visit> - <avg_time_on_site>824</avg_time_on_site> <bounce_rate>0%</bounce_rate> + <nb_actions_per_visit>4.57</nb_actions_per_visit> + <avg_time_on_site>824</avg_time_on_site> </result> <result date="From 2010-01-11 to 2010-01-17"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -36,9 +36,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1802</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="From 2010-01-18 to 2010-01-24" /> <result date="From 2010-01-25 to 2010-01-31" /> @@ -56,9 +56,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="From 2010-01-11 to 2010-01-17" /> <result date="From 2010-01-18 to 2010-01-24" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml index 6860b3f0e2..301adee7ee 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml @@ -8,9 +8,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>757</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result date="2011" /> <result date="2012" /> @@ -27,9 +27,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2011" /> <result date="2012" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml index eaed13c9ae..1fbe375a07 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml @@ -9,6 +9,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -27,6 +28,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -45,6 +47,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -63,6 +66,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -81,6 +85,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml index 4e3e4c0a67..f97dc7a298 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml @@ -6,6 +6,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml index fe4e40c5bc..9f2f51813f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml @@ -7,6 +7,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -25,6 +26,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml index aa7f84dbc7..f513cb14de 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml @@ -6,6 +6,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml index 9f120e0ee0..353e114bf4 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml @@ -7,6 +7,7 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -30,6 +31,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -45,6 +47,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -62,6 +65,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -80,6 +84,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -99,6 +104,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -116,6 +122,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -131,6 +138,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -150,6 +158,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -167,6 +176,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -185,6 +195,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -204,6 +215,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -221,6 +233,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -236,6 +249,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -255,6 +269,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -272,6 +287,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -290,6 +306,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -309,6 +326,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -326,6 +344,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -341,6 +360,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -360,6 +380,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -377,6 +398,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -395,6 +417,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -414,6 +437,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -431,6 +455,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -446,6 +471,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -465,6 +491,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -482,6 +509,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> + <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -500,6 +528,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -519,6 +548,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -536,6 +566,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -551,6 +582,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml index 7b53ef8a32..afb8bc369d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml @@ -6,6 +6,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -40,6 +42,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> + <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -77,6 +81,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -91,6 +96,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -109,6 +115,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -130,6 +137,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml index c8f777c165..25cc49d700 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml @@ -6,6 +6,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -29,6 +30,7 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> + <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -46,6 +48,7 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> + <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -63,6 +66,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -82,6 +86,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>3240</sum_time_spent> + <sum_time_generation>1.038</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -100,6 +105,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -114,6 +120,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -132,6 +139,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -148,6 +156,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> + <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -165,6 +174,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> + <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -182,6 +192,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -201,6 +212,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>1080</sum_time_spent> + <sum_time_generation>0.346</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -219,6 +231,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -233,6 +246,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml index 0d8b62b451..1f6a784e30 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml @@ -6,6 +6,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> + <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -40,6 +42,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> + <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -77,6 +81,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -91,6 +96,7 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -109,6 +115,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -130,6 +137,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml index b5ee40f53b..faee51d121 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml @@ -7,6 +7,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -25,6 +26,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -47,6 +49,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -69,6 +72,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -91,6 +95,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -113,6 +118,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml index b12b6dbe6a..8981b83563 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml @@ -6,6 +6,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml index 3227ff9c6a..f687ca699e 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml @@ -6,6 +6,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -45,6 +47,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml index 071c0d3fa2..d73d8b0e51 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml @@ -6,6 +6,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml index efb03f5be4..ac0857d9e8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml @@ -7,6 +7,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -22,6 +23,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -46,6 +48,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -63,6 +66,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -83,6 +87,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -100,6 +105,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -117,6 +123,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -137,6 +144,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -154,6 +162,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -171,6 +180,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -191,6 +201,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -208,6 +219,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -225,6 +237,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -245,6 +258,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -262,6 +276,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -279,6 +294,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -299,6 +315,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> + <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -316,6 +333,7 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml index 56e3fc8c35..7343f7101a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml @@ -6,6 +6,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -26,6 +27,7 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -58,6 +61,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml index 7d086860eb..4829bf6607 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml @@ -6,6 +6,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -21,6 +22,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -45,6 +47,7 @@ <nb_visits>7</nb_visits> <nb_hits>13</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -60,6 +63,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -80,6 +84,7 @@ <nb_visits>6</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>2160</sum_time_spent> + <sum_time_generation>3.75</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -99,6 +104,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -119,6 +125,7 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> + <sum_time_generation>1.25</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -136,6 +143,7 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml index 284466a853..a59b068fe3 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml @@ -6,6 +6,7 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -26,6 +27,7 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> + <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -58,6 +61,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml index 0546a0636e..f760097ff0 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml @@ -11,9 +11,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-06"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -24,9 +24,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-07"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -37,9 +37,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-08"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -50,9 +50,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-01-09"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -63,8 +63,8 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml index f9b578782e..ddce4b63c9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml @@ -9,9 +9,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml index 6a88dc55a0..d44fe0f184 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml @@ -10,9 +10,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>5406</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="From 2010-01-11 to 2010-01-17"> <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> @@ -23,9 +23,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>1802</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="From 2010-01-18 to 2010-01-24" /> <result date="From 2010-01-25 to 2010-01-31" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml index 8cc27fb8c9..a7e7659d80 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml @@ -7,9 +7,9 @@ <bounce_count_returning>0</bounce_count_returning> <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> + <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> <avg_time_on_site_returning>901</avg_time_on_site_returning> - <bounce_rate_returning>0%</bounce_rate_returning> </result> <result date="2011" /> <result date="2012" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml index aa2c716059..057ccb1b63 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result date="2010-01-04"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -22,9 +22,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>361</sum_visit_length> <max_actions>2</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>361</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-05"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -35,9 +35,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-06"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -48,9 +48,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-07"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -61,9 +61,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-08"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -74,9 +74,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-09"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -87,8 +87,8 @@ <bounce_count>0</bounce_count> <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml index 8f7c31dd1b..30c69614b1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>757</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml index 0031a3b1f4..e4f6810c8f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml @@ -9,9 +9,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>0</avg_time_on_site> - <bounce_rate>100%</bounce_rate> </result> <result date="From 2010-01-04 to 2010-01-10"> <nb_uniq_visitors>2</nb_uniq_visitors> @@ -22,9 +22,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> - <nb_actions_per_visit>4.6</nb_actions_per_visit> - <avg_time_on_site>824</avg_time_on_site> <bounce_rate>0%</bounce_rate> + <nb_actions_per_visit>4.57</nb_actions_per_visit> + <avg_time_on_site>824</avg_time_on_site> </result> <result date="From 2010-01-11 to 2010-01-17"> <nb_uniq_visitors>1</nb_uniq_visitors> @@ -35,9 +35,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1802</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>901</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="From 2010-01-18 to 2010-01-24" /> <result date="From 2010-01-25 to 2010-01-31" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml index c475696fb8..10e5329cb6 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml @@ -7,9 +7,9 @@ <bounce_count>1</bounce_count> <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>757</avg_time_on_site> - <bounce_rate>10%</bounce_rate> </result> <result date="2011" /> <result date="2012" /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index c447355464..1a281cce48 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -1,11 +1,11 @@ All Websites dashboard -label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders,orders_evolution,ecommerce_revenue,ecommerce_revenue_evolution -Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 -Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 +label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders_evolution,ecommerce_revenue_evolution,orders,ecommerce_revenue +Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0%,0%,0,$ 0 +Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0%,0%,0,$ 0 Visits Summary nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate -2,0,10,43,5,4.3,00:12:37,0.1% +2,0,10,43,5,4.3,00:12:37,10% Visits by Server Time label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue @@ -143,38 +143,38 @@ nb_pageviews,nb_uniq_pageviews,nb_downloads,nb_uniq_downloads,nb_outlinks,nb_uni 43,27,0,0,0,0,0,0,0.3s Page URLs -label,nb_visits,nb_hits,avg_time_on_page,bounce_rate,exit_rate,avg_time_generation -/index.htm,9,9,00:05:20,0%,0%,0.3s -Page URL not defined,9,17,00:00:00,0%,0%,0.22s -/thankyou,8,16,00:06:00,0%,100%,0.31s -/products,1,1,00:00:00,100%,100%,0.15s +label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation +/index.htm,9,9,0%,00:05:20,0%,0.3s +Page URL not defined,9,17,0%,00:00:00,0%,0.22s +/thankyou,8,16,0%,00:06:00,100%,0.31s +/products,1,1,100%,00:00:00,100%,0.15s Entry pages -label,entry_nb_visits,entry_bounce_count,bounce_rate -/index.htm,8,0,0% -/products,1,1,100% +label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate,avg_time_generation +/index.htm,8,0,00:05:20,0%,0%,0.3s +/products,1,1,00:00:00,100%,100%,0.15s Exit pages -label,nb_visits,exit_nb_visits,exit_rate -/thankyou,8,8,100% -/products,1,1,100% +label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation +/thankyou,8,8,0%,00:06:00,100%,0.31s +/products,1,1,100%,00:00:00,100%,0.15s Page titles -label,nb_visits,nb_hits,avg_time_on_page,bounce_rate,exit_rate,avg_time_generation -second visitor,16,16,00:07:30,0%,0%,0.25s -Checkout,8,8,00:00:00,0%,100%,0.45s - first page view,2,2,00:00:00,100%,50%,0.14s -Page Name not defined,1,1,00:00:00,0%,0%,0.22s +label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation +second visitor,16,16,0%,00:07:30,0%,0.25s +Checkout,8,8,0%,00:00:00,100%,0.45s + first page view,2,2,100%,00:00:00,50%,0.14s +Page Name not defined,1,1,0%,00:00:00,0%,0.22s Entry page titles -label,entry_nb_visits,entry_bounce_count,bounce_rate -second visitor,8,0,0% - first page view,1,1,100% +label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate,avg_time_generation +second visitor,8,0,00:07:30,0%,0%,0.25s + first page view,1,1,00:00:00,100%,50%,0.14s Exit page titles -label,nb_visits,exit_nb_visits,exit_rate -Checkout,8,8,100% - first page view,2,1,50% +label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation +Checkout,8,8,0%,00:00:00,100%,0.45s + first page view,2,1,100%,00:00:00,50%,0.14s Outlinks No data available @@ -333,8 +333,8 @@ New visits,2 365+ days,0 Returning Visits -nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,nb_actions_per_visit_returning,avg_time_on_site_returning,bounce_rate_returning -1,0,8,40,0,7208,5,5,00:15:01,0% +nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning +1,0,8,40,0,7208,5,0%,5,00:15:01 Provider label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 016101e368..4842a2b75e 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -509,7 +509,7 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Bounce Rate </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0.1% + 10% </td> </tr> </tbody> @@ -3113,10 +3113,10 @@  Unique Pageviews   </th> <th style="padding: 6px 0;"> -  Bounce Rate   +  Avg. time on page   </th> <th style="padding: 6px 0;"> -  Avg. time on page   +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -3139,10 +3139,10 @@ 9 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:05:20 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:05:20 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3164,10 +3164,10 @@ 9 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3189,10 +3189,10 @@ 8 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:06:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3214,10 +3214,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 100% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3248,9 +3248,18 @@ </th> <th style="padding: 6px 0;">  Bounces   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   + </th> + <th style="padding: 6px 0;"> +  Exit rate   + </th> + <th style="padding: 6px 0;"> +  Avg. generation time   </th> </thead> <tbody> @@ -3266,9 +3275,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:05:20 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.3s + </td> </tr> <tr style="background-color: rgb(249,250,250)"> @@ -3282,9 +3300,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 100% + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.15s + </td> </tr> </tbody> </table> @@ -3308,9 +3335,18 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   + </th> + <th style="padding: 6px 0;"> +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   + </th> + <th style="padding: 6px 0;"> +  Avg. generation time   </th> </thead> <tbody> @@ -3326,9 +3362,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 8 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:06:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.31s + </td> </tr> <tr style="background-color: rgb(249,250,250)"> @@ -3342,9 +3387,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 100% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.15s + </td> </tr> </tbody> </table> @@ -3370,10 +3424,10 @@  Unique Pageviews   </th> <th style="padding: 6px 0;"> -  Bounce Rate   +  Avg. time on page   </th> <th style="padding: 6px 0;"> -  Avg. time on page   +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -3394,10 +3448,10 @@ 16 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:07:30 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:07:30 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3417,10 +3471,10 @@ 8 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% @@ -3440,10 +3494,10 @@ 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 100% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 50% @@ -3463,10 +3517,10 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:00:00 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 0% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3497,9 +3551,18 @@ </th> <th style="padding: 6px 0;">  Bounces   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   + </th> + <th style="padding: 6px 0;"> +  Exit rate   + </th> + <th style="padding: 6px 0;"> +  Avg. generation time   </th> </thead> <tbody> @@ -3513,9 +3576,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:07:30 + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.25s + </td> </tr> <tr style="background-color: rgb(249,250,250)"> @@ -3527,9 +3599,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 50% + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.14s + </td> </tr> </tbody> </table> @@ -3553,9 +3634,18 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   + </th> + <th style="padding: 6px 0;"> +  Avg. time on page   + </th> + <th style="padding: 6px 0;"> +  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   + </th> + <th style="padding: 6px 0;"> +  Avg. generation time   </th> </thead> <tbody> @@ -3569,9 +3659,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 8 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.45s + </td> </tr> <tr style="background-color: rgb(249,250,250)"> @@ -3583,9 +3682,18 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 100% + </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 50% </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0.14s + </td> </tr> </tbody> </table> @@ -4940,25 +5048,25 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Avg. Actions per Returning Visit </td> + Bounce Rate for Returning Visits </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 5 + 0% </td> </tr> <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Avg. Duration of a Returning Visit (in sec) </td> + Avg. Actions per Returning Visit </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:15:01 + 5 </td> </tr> <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Bounce Rate for Returning Visits </td> + Avg. Duration of a Returning Visit (in sec) </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 00:15:01 </td> </tr> </tbody> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index a38438cdf5..78c7fece6b 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>3</bounce_count> <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> - <nb_actions_per_visit>1.7</nb_actions_per_visit> - <avg_time_on_site>331</avg_time_on_site> <bounce_rate>50%</bounce_rate> + <nb_actions_per_visit>1.67</nb_actions_per_visit> + <avg_time_on_site>331</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index 6e60147856..6bc01c80ac 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ <bounce_count>5</bounce_count> <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>62.5%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> <avg_time_on_site>248</avg_time_on_site> - <bounce_rate>63%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index a38438cdf5..78c7fece6b 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ <bounce_count>3</bounce_count> <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> - <nb_actions_per_visit>1.7</nb_actions_per_visit> - <avg_time_on_site>331</avg_time_on_site> <bounce_rate>50%</bounce_rate> + <nb_actions_per_visit>1.67</nb_actions_per_visit> + <avg_time_on_site>331</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index e282c141e9..dba6ef57d1 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -6,7 +6,7 @@ <bounce_count>5</bounce_count> <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>62.5%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> <avg_time_on_site>248</avg_time_on_site> - <bounce_rate>63%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml index 9ce463bc58..969fd130e8 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>1</bounce_count> <sum_visit_length>1081</sum_visit_length> <max_actions>2</max_actions> + <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> <avg_time_on_site>541</avg_time_on_site> - <bounce_rate>50%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml index 5a29eaa6d0..2f7ce19aa5 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>4</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-02" /> <result date="2010-03"> @@ -23,9 +23,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-04" /> <result date="2010-05" /> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index aade7b46a8..d84e6c4f35 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -11,9 +11,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-04" /> <result date="2010-05" /> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml index cb5658098f..ed3e2b6ade 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -9,9 +9,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>361</sum_visit_length> <max_actions>5</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> <avg_time_on_site>361</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2009-11" /> <result date="2009-12" /> @@ -24,9 +24,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index b8f8397cce..d046dca549 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -12,9 +12,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> <avg_time_on_site>1</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-02" /> <result date="2010-03" /> diff --git a/tests/PHPUnit/System/expected/test_noVisit__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__Actions.get_day.xml index 6eb4818cba..6006b449a7 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__Actions.get_day.xml @@ -8,5 +8,4 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <avg_time_generation>0</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_IndexedByDate__MultiSites.getAll_day.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_IndexedByDate__MultiSites.getAll_day.xml index 75e0ce7728..3d6283b321 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_IndexedByDate__MultiSites.getAll_day.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_IndexedByDate__MultiSites.getAll_day.xml @@ -3,13 +3,13 @@ <row> <nb_visits>2</nb_visits> <nb_actions>3</nb_actions> + <nb_pageviews>3</nb_pageviews> + <revenue>0</revenue> <label>Site AAAAAA</label> <visits_evolution>0%</visits_evolution> <actions_evolution>0%</actions_evolution> <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> - <nb_pageviews>3</nb_pageviews> - <revenue>0</revenue> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> diff --git a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml index 4c75ff4e34..7168091d51 100644 --- a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>0</bounce_count> <sum_visit_length>363</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> <avg_time_on_site>182</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml index d49a524fb4..9cdfb2d5b7 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>0</bounce_count> <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>364</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml index d49a524fb4..9cdfb2d5b7 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>0</bounce_count> <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>364</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml index 0dd3a1e7d8..06b9efca77 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>1</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>363</avg_time_on_site> - <bounce_rate>50%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml index d49a524fb4..9cdfb2d5b7 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>0</bounce_count> <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>364</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml index 0dd3a1e7d8..06b9efca77 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml @@ -8,7 +8,7 @@ <bounce_count>1</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>363</avg_time_on_site> - <bounce_rate>50%</bounce_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml index c07bc42ab2..332390c3aa 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ <bounce_count>2</bounce_count> <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> + <bounce_rate>66.67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>241</avg_time_on_site> - <bounce_rate>67%</bounce_rate> </result> <result date="2010-01-04" /> <result date="2010-01-05" /> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml index 326e9a2685..b59e7a9f7e 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ <bounce_count>2</bounce_count> <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> + <bounce_rate>66.67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>241</avg_time_on_site> - <bounce_rate>67%</bounce_rate> </result> <result date="From 2010-01-04 to 2010-01-10" /> <result date="From 2010-01-11 to 2010-01-17" /> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml index d6c3ce4082..9cd5dcf54b 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ <bounce_count>2</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> - <nb_actions_per_visit>1.7</nb_actions_per_visit> + <bounce_rate>66.67%</bounce_rate> + <nb_actions_per_visit>1.67</nb_actions_per_visit> <avg_time_on_site>242</avg_time_on_site> - <bounce_rate>67%</bounce_rate> </result> <result date="2010-01-04" /> <result date="2010-01-05" /> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml index 1bf3799ef6..238bc50c67 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ <bounce_count>2</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> - <nb_actions_per_visit>1.7</nb_actions_per_visit> + <bounce_rate>66.67%</bounce_rate> + <nb_actions_per_visit>1.67</nb_actions_per_visit> <avg_time_on_site>242</avg_time_on_site> - <bounce_rate>67%</bounce_rate> </result> <result date="From 2010-01-04 to 2010-01-10" /> <result date="From 2010-01-11 to 2010-01-17" /> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml index bcca65deb4..de4eac0560 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml @@ -10,9 +10,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>364</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="2010-01-04" /> <result date="2010-01-05" /> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml index e529d2b356..b23508240f 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml @@ -10,9 +10,9 @@ <bounce_count>0</bounce_count> <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> + <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> <avg_time_on_site>364</avg_time_on_site> - <bounce_rate>0%</bounce_rate> </result> <result date="From 2010-01-04 to 2010-01-10" /> <result date="From 2010-01-11 to 2010-01-17" /> -- cgit v1.2.3 From f39494265b92d43841788b93abdb133620b06b19 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 8 Nov 2014 23:44:46 -0800 Subject: Fixing more tests. --- core/DataTable/Filter/CalculateEvolutionFilter.php | 3 +++ plugins/Contents/Reports/GetContentNames.php | 3 ++- plugins/Contents/Reports/GetContentPieces.php | 3 ++- .../test_Contents__Actions.getPageUrls_day.xml | 1 + .../test_Contents__Actions.getPageUrls_month.xml | 1 + plugins/CoreHome/Metrics/EvolutionMetric.php | 5 +++- .../tests/System/expected/test___API.get_day.xml | 9 ++++--- plugins/Insights/DataTable/Filter/Insight.php | 4 ++- plugins/Insights/tests/Integration/ApiTest.php | 3 ++- ...getAction_lastN__API.getProcessedReport_day.xml | 4 +-- ...tCategory_lastN__API.getProcessedReport_day.xml | 4 +-- ...s.getName_lastN__API.getProcessedReport_day.xml | 4 +-- ...eduledReports.generateReport_month.original.pdf | Bin 510894 -> 509472 bytes ...etReportMetadata__API.getReportMetadata_day.xml | 27 ++++++++++++++------- ...eduledReports.generateReport_week.original.html | 6 ++--- 15 files changed, 50 insertions(+), 27 deletions(-) diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index 525257f689..4e4c93ca92 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -30,6 +30,9 @@ use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; */ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage { + /** + * @var EvolutionMetric + */ protected $evolutionMetric; /** diff --git a/plugins/Contents/Reports/GetContentNames.php b/plugins/Contents/Reports/GetContentNames.php index 1a946f3a21..82672dbcad 100644 --- a/plugins/Contents/Reports/GetContentNames.php +++ b/plugins/Contents/Reports/GetContentNames.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\Contents\Reports; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugins\Contents\Columns\ContentName; +use Piwik\Plugins\Contents\Metrics\InteractionRate; use Piwik\View; /** @@ -33,6 +34,6 @@ class GetContentNames extends Base $this->widgetTitle = 'Contents_ContentName'; $this->metrics = array('nb_impressions', 'nb_interactions'); - $this->processedMetrics = array('interaction_rate'); + $this->processedMetrics = array(new InteractionRate()); } } diff --git a/plugins/Contents/Reports/GetContentPieces.php b/plugins/Contents/Reports/GetContentPieces.php index 4601430ee1..b977b21630 100644 --- a/plugins/Contents/Reports/GetContentPieces.php +++ b/plugins/Contents/Reports/GetContentPieces.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\Contents\Reports; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugins\Contents\Columns\ContentPiece; +use Piwik\Plugins\Contents\Metrics\InteractionRate; use Piwik\View; /** @@ -34,6 +35,6 @@ class GetContentPieces extends Base $this->widgetTitle = 'Contents_ContentPiece'; $this->metrics = array('nb_impressions', 'nb_interactions'); - $this->processedMetrics = array('interaction_rate'); + $this->processedMetrics = array(new InteractionRate()); } } diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml index fde347f2b5..e284dab998 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml @@ -6,6 +6,7 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml index 3dc775d40a..7b8a261169 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml @@ -5,6 +5,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>540</sum_time_spent> + <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index 37ce8b77d4..dae23aca17 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -101,7 +101,10 @@ class EvolutionMetric extends ProcessedMetric return $this->wrapped instanceof Metric ? $this->wrapped->getName() : $this->wrapped; } - protected function getPastRowFromCurrent(Row $row) + /** + * public for Insights use. + */ + public function getPastRowFromCurrent(Row $row) { return $this->pastData->getRowFromLabel($row->getColumn('label')); } diff --git a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml index c04d73d2c7..79d37b3acd 100644 --- a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml +++ b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml @@ -5,9 +5,8 @@ <nb_users>0</nb_users> <nb_actions>4</nb_actions> <max_actions>2</max_actions> - <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>2</nb_actions_per_visit> - <avg_time_on_site>632</avg_time_on_site> + <bounce_count>0</bounce_count> + <sum_visit_length>1264</sum_visit_length> <nb_visits_returning>0</nb_visits_returning> <nb_actions_returning>0</nb_actions_returning> <nb_uniq_visitors_returning>0</nb_uniq_visitors_returning> @@ -30,5 +29,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>1</nb_searches> <nb_keywords>1</nb_keywords> - <avg_time_generation>0</avg_time_generation> + <bounce_rate>0%</bounce_rate> + <nb_actions_per_visit>2</nb_actions_per_visit> + <avg_time_on_site>632</avg_time_on_site> </result> \ No newline at end of file diff --git a/plugins/Insights/DataTable/Filter/Insight.php b/plugins/Insights/DataTable/Filter/Insight.php index 3c4677a5ee..6959509a7d 100644 --- a/plugins/Insights/DataTable/Filter/Insight.php +++ b/plugins/Insights/DataTable/Filter/Insight.php @@ -16,6 +16,7 @@ class Insight extends DataTable\Filter\CalculateEvolutionFilter private $considerNew; private $considerDisappeared; private $currentDataTable; + private $pastDataTable; public function __construct($table, $currentDataTable, $pastDataTable, $columnToRead, $considerMovers, $considerNew, $considerDisappeared) @@ -26,6 +27,7 @@ class Insight extends DataTable\Filter\CalculateEvolutionFilter $this->considerMovers = $considerMovers; $this->considerNew = $considerNew; $this->considerDisappeared = $considerDisappeared; + $this->pastDataTable = $pastDataTable; } public function filter($table) @@ -62,7 +64,7 @@ class Insight extends DataTable\Filter\CalculateEvolutionFilter private function addRowIfNewOrMover(DataTable $table, DataTable\Row $row) { - $pastRow = $this->getPastRowFromCurrent($row); + $pastRow = $this->evolutionMetric->getPastRowFromCurrent($row); if (!$pastRow && !$this->considerNew) { return; diff --git a/plugins/Insights/tests/Integration/ApiTest.php b/plugins/Insights/tests/Integration/ApiTest.php index dfa76dcde1..81ce0b34cf 100644 --- a/plugins/Insights/tests/Integration/ApiTest.php +++ b/plugins/Insights/tests/Integration/ApiTest.php @@ -80,7 +80,8 @@ class ApiTest extends SystemTestCase 'minDisappearedPercent' => 2, 'lastTotalValue' => 59, 'evolutionTotal' => -15.3, - 'evolutionDifference' => -9 + 'evolutionDifference' => -9, + 'processed_metrics_computed' => true ); $this->assertInternalType('array', $metadata['report']); diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml index 465e801623..18509953c4 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml @@ -24,7 +24,7 @@ <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> <processedMetrics> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </processedMetrics> <actionToLoadSubTables>getNameFromActionId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> @@ -38,7 +38,7 @@ <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml index bc8b959e76..dbf61d55a0 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml @@ -24,7 +24,7 @@ <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> <processedMetrics> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </processedMetrics> <actionToLoadSubTables>getActionFromCategoryId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> @@ -38,7 +38,7 @@ <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml index bc03ebf5bc..15678442b5 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml @@ -24,7 +24,7 @@ <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> <processedMetrics> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </processedMetrics> <actionToLoadSubTables>getActionFromNameId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> @@ -38,7 +38,7 @@ <min_event_value>Minimum value</min_event_value> <max_event_value>Maximum value</max_event_value> <nb_events_with_value>Events with a value</nb_events_with_value> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf index 047dd073fd..9c54f6ea2f 100644 Binary files a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf and b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf differ diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index f18c424620..456ac0aa7b 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -670,12 +670,11 @@ <quantity>Quantity</quantity> <orders>Unique Purchases</orders> <nb_visits>Visits</nb_visits> - <conversion_rate>Product Conversion Rate</conversion_rate> </metrics> <processedMetrics> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <conversion_rate>Conversion Rate</conversion_rate> + <conversion_rate>Product Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsSku&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsSku&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -692,12 +691,11 @@ <quantity>Quantity</quantity> <orders>Unique Purchases</orders> <nb_visits>Visits</nb_visits> - <conversion_rate>Product Conversion Rate</conversion_rate> </metrics> <processedMetrics> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <conversion_rate>Conversion Rate</conversion_rate> + <conversion_rate>Product Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsName&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsName&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -714,12 +712,11 @@ <quantity>Quantity</quantity> <orders>Unique Purchases</orders> <nb_visits>Visits</nb_visits> - <conversion_rate>Product Conversion Rate</conversion_rate> </metrics> <processedMetrics> <avg_price>Average Price</avg_price> <avg_quantity>Average Quantity</avg_quantity> - <conversion_rate>Conversion Rate</conversion_rate> + <conversion_rate>Product Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsCategory&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=getItemsCategory&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1035,7 +1032,7 @@ <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> <processedMetrics> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </processedMetrics> <actionToLoadSubTables>getActionFromCategoryId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=day&date=2009-01-04</imageGraphUrl> @@ -1064,7 +1061,7 @@ <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> <processedMetrics> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </processedMetrics> <actionToLoadSubTables>getNameFromActionId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=day&date=2009-01-04</imageGraphUrl> @@ -1093,7 +1090,7 @@ <avg_event_value>The average of all values for this event</avg_event_value> </metricsDocumentation> <processedMetrics> - <avg_event_value>Average value</avg_event_value> + <avg_event_value>The average of all values for this event</avg_event_value> </processedMetrics> <actionToLoadSubTables>getActionFromNameId</actionToLoadSubTables> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=day&date=2009-01-04</imageGraphUrl> @@ -1188,6 +1185,12 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Actions_getPageUrlsFollowingSiteSearch</uniqueId> @@ -1207,6 +1210,12 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> + <processedMetrics> + <avg_time_on_page>Avg. time on page</avg_time_on_page> + <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>Exit rate</exit_rate> + <avg_time_generation>Avg. generation time</avg_time_generation> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Actions_getPageTitlesFollowingSiteSearch</uniqueId> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index b662a5585e..8ea1ea2752 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -6540,7 +6540,7 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - ColumnBounceRateForReturningVisits </td> + Bounce Rate for Returning Visits </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 25% </td> @@ -6548,7 +6548,7 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - ColumnAvgActionsPerReturningVisit </td> + Avg. Actions per Returning Visit </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 3 </td> @@ -6556,7 +6556,7 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - ColumnAverageVisitDurationForReturningVisitors </td> + Avg. Duration of a Returning Visit (in sec) </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 00:25:32 </td> -- cgit v1.2.3 From 8f2ee806cf6c75097670878a32a229e8694c8953 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 13:02:05 -0800 Subject: Filling out missing documentation and removing simpler TODOs. --- core/API/DataTableManipulator.php | 8 --- .../Filter/AddColumnsProcessedMetricsGoal.php | 17 ----- core/DataTable/Filter/ColumnCallbackAddColumn.php | 3 + .../Filter/ColumnCallbackAddColumnPercentage.php | 3 + .../Filter/ColumnCallbackAddColumnQuotient.php | 5 +- core/DataTable/Filter/ColumnCallbackReplace.php | 3 + core/Plugin/Metric.php | 27 ++++++++ core/Plugin/Report.php | 6 +- plugins/API/API.php | 19 ----- plugins/API/Reports/Get.php | 2 +- plugins/Actions/API.php | 4 -- .../Actions/Metrics/AveragePageGenerationTime.php | 24 +++---- plugins/Actions/Metrics/AverageTimeOnPage.php | 7 +- plugins/Actions/Metrics/BounceRate.php | 7 +- plugins/Actions/Metrics/ExitRate.php | 9 ++- plugins/Contents/Metrics/InteractionRate.php | 7 +- plugins/CoreHome/Metrics/ActionsPerVisit.php | 6 +- plugins/CoreHome/Metrics/AverageTimeOnSite.php | 8 ++- plugins/CoreHome/Metrics/BounceRate.php | 9 ++- plugins/CoreHome/Metrics/ConversionRate.php | 6 +- plugins/CoreHome/Metrics/EvolutionMetric.php | 17 ++++- plugins/CoreHome/Metrics/VisitsPercent.php | 76 ++++++++++++++++++++ plugins/Events/Metrics/AverageEventValue.php | 9 ++- plugins/Goals/Metrics/AverageOrderPerVisit.php | 0 plugins/Goals/Metrics/AverageOrderRevenue.php | 8 ++- plugins/Goals/Metrics/AveragePrice.php | 7 +- plugins/Goals/Metrics/AverageQuantity.php | 7 +- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 6 +- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 10 ++- plugins/Goals/Metrics/GoalSpecific/Conversions.php | 6 +- plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 6 +- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 5 +- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 9 ++- .../Goals/Metrics/GoalSpecificProcessedMetric.php | 20 ++++-- plugins/Goals/Metrics/ProductConversionRate.php | 7 +- plugins/Goals/Metrics/RevenuePerVisit.php | 6 +- plugins/MultiSites/Metrics/RevenueEvolution.php | 4 +- plugins/UserSettings/API.php | 5 +- plugins/VisitFrequency/Metrics/ReturningMetric.php | 6 +- plugins/VisitorInterest/Metrics/VisitsPercent.php | 80 ---------------------- .../Reports/GetNumberOfVisitsByVisitCount.php | 2 +- tests/PHPUnit/System/ImportLogsTest.php | 2 +- 42 files changed, 270 insertions(+), 208 deletions(-) create mode 100644 plugins/CoreHome/Metrics/VisitsPercent.php delete mode 100644 plugins/Goals/Metrics/AverageOrderPerVisit.php delete mode 100644 plugins/VisitorInterest/Metrics/VisitsPercent.php diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php index 41c731afd5..8ab46fb6a5 100644 --- a/core/API/DataTableManipulator.php +++ b/core/API/DataTableManipulator.php @@ -183,14 +183,6 @@ abstract class DataTableManipulator $response = new ResponseBuilder($format = 'original', $request); $response->disableSendHeader(); $dataTable = $response->getResponse($dataTable, $apiModule, $method); - - /*TODO: remove - if (Common::getRequestVar('disable_queued_filters', 0, 'int', $request) == 0) { - if (method_exists($dataTable, 'applyQueuedFilters')) { - //$dataTable->applyQueuedFilters(); - } - }*/ - return $dataTable; } } diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index eee1b90983..808429005d 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -139,23 +139,6 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics } $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); - - /* TODO: remove this? - $expectedColumns = array_keys($this->expectedColumns); - $rows = $table->getRows(); - foreach ($rows as $row) { - foreach ($expectedColumns as $name) { - if (!$row->hasColumn($name)) { - if (strpos($name, 'conversion_rate') !== false) { - $row->addColumn($name, function () { - return '0%'; - }); - } else { - $row->addColumn($name, 0); - } - } - } - }*/ } private function getGoalsInTable(DataTable $table) diff --git a/core/DataTable/Filter/ColumnCallbackAddColumn.php b/core/DataTable/Filter/ColumnCallbackAddColumn.php index 27746c4f28..b9646c917b 100755 --- a/core/DataTable/Filter/ColumnCallbackAddColumn.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumn.php @@ -12,6 +12,8 @@ use Piwik\DataTable; use Piwik\DataTable\BaseFilter; /** + * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** + * * Adds a new column to every row of a {@link DataTable} based on the result of callback. * * **Basic usage example** @@ -23,6 +25,7 @@ use Piwik\DataTable\BaseFilter; * $dataTable->filter('ColumnCallbackAddColumn', array(array('nb_visits', 'sum_time_spent'), 'avg_time_on_site', $callback)); * * @api + * @deprecated since v2.9.0 */ class ColumnCallbackAddColumn extends BaseFilter { diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php index 056c129440..4b17e2811b 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php @@ -11,6 +11,8 @@ namespace Piwik\DataTable\Filter; use Piwik\Piwik; /** + * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** + * * Calculates a percentage value for each row of a {@link DataTable} and adds the result * to each row. * @@ -22,6 +24,7 @@ use Piwik\Piwik; * $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('nb_visits', 'nb_visits_percentage', $nbVisits, 1)); * * @api + * @deprecated since v2.9.0 */ class ColumnCallbackAddColumnPercentage extends ColumnCallbackAddColumnQuotient { diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php index c905fc8081..5c78bf1f79 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php @@ -13,6 +13,8 @@ use Piwik\DataTable; use Piwik\DataTable\Row; /** + * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** + * * Calculates the quotient of two columns and adds the result as a new column * for each row of a DataTable. * @@ -23,9 +25,8 @@ use Piwik\DataTable\Row; * * $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', array('bounce_rate', 'bounce_count', 'nb_visits', $precision = 2)); * - * TODO: deprecate filters meant for processed metrics? shouldn't remove, but could deprecate. - * * @api + * @deprecated since v2.9.0 */ class ColumnCallbackAddColumnQuotient extends BaseFilter { diff --git a/core/DataTable/Filter/ColumnCallbackReplace.php b/core/DataTable/Filter/ColumnCallbackReplace.php index ca53405d7e..1a11765eba 100644 --- a/core/DataTable/Filter/ColumnCallbackReplace.php +++ b/core/DataTable/Filter/ColumnCallbackReplace.php @@ -13,6 +13,8 @@ use Piwik\DataTable; use Piwik\DataTable\Row; /** + * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** + * * Replaces one or more column values in each row of a DataTable with the results * of a callback. * @@ -29,6 +31,7 @@ use Piwik\DataTable\Row; * // label, url and truncate_length are columns in $dataTable * $dataTable->filter('ColumnCallbackReplace', array('label', 'url'), $truncateString, null, array('truncate_length')); * + * @deprecated since v2.9.0 */ class ColumnCallbackReplace extends BaseFilter { diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 8b2c9f7020..06068df7e5 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugin; +use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; @@ -113,4 +114,30 @@ abstract class Metric return $value; } + + /** + * Helper method that will determine the actual column name for a metric in a + * {@link Piwik\DataTable} and return every column value for this name. + * + * @param DataTable $table + * @param string $columnName + * @param int[]|null $mappingNameToId A custom mapping of metric names to special index values. By + * default {@link Metrics::getMappingFromNameToId()} is used. + * @return array + */ + public static function getMetricValues(DataTable $table, $columnName, $mappingNameToId = null) + { + if (empty($mappingIdToName)) { + $mappingNameToId = Metrics::getMappingFromNameToId(); + } + + $firstRow = $table->getFirstRow(); + if (!empty($firstRow) + && $firstRow->getColumn($columnName) === false + ) { + $columnName = $mappingNameToId[$columnName]; + } + + return $table->getColumn($columnName); + } } \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 2d8f03bd73..e099354447 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -119,7 +119,7 @@ class Report * platform default processed metrics, see {@link Metrics::getDefaultProcessedMetrics()}. Set it to boolean `false` * if your report does not support any processed metrics at all. Otherwise an array of metric names. * Eg `array('avg_time_on_site', 'nb_actions_per_visit', ...)` - * @var array|false + * @var array * @api */ protected $processedMetrics = array('nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'); @@ -393,7 +393,7 @@ class Report foreach ($restrictToColumns as $column) { if (isset($processedMetricsById[$column])) { $metrics = array_merge($metrics, $processedMetricsById[$column]->getDependenctMetrics()); - } else if (isset($metricsSet[$column])) { // TODO: this may cause regression w/ #2531, check? + } else if (isset($metricsSet[$column])) { $metrics[] = $column; } } @@ -815,7 +815,7 @@ class Report */ public function getProcessedMetricsById() { - $processedMetrics = $this->processedMetrics ?: array(); // TODO: shouldn't allow processedMetrics to be non-array + $processedMetrics = $this->processedMetrics ?: array(); $result = array(); foreach ($processedMetrics as $processedMetric) { diff --git a/plugins/API/API.php b/plugins/API/API.php index 5af04194ae..891062cbb0 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -403,25 +403,6 @@ class API extends \Piwik\Plugin\API $params['columns'] = implode(',', $columns); $dataTable = Proxy::getInstance()->call($className, 'get', $params); - // make sure the table has all columns - /* TODO: keep removed? - $array = ($dataTable instanceof DataTable\Map ? $dataTable->getDataTables() : array($dataTable)); - foreach ($array as $table) { - // we don't support idSites=all&date=DATE1,DATE2 - if ($table instanceof DataTable) { - $firstRow = $table->getFirstRow(); - if (!$firstRow) { - $firstRow = new Row; - $table->addRow($firstRow); - } - foreach ($columns as $column) { - if ($firstRow->getColumn($column) === false) { - $firstRow->setColumn($column, 0); - } - } - } - }*/ - // merge reports if ($mergedDataTable === false) { $mergedDataTable = $dataTable; diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php index 8f3c409ecd..f19ee1af72 100644 --- a/plugins/API/Reports/Get.php +++ b/plugins/API/Reports/Get.php @@ -15,7 +15,7 @@ use Piwik\Plugin\Report; class Get extends Report { /** - * TODO + * List of Plugin.Get reports that are merged in this one. * * @var Report[] */ diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index dc43950b3c..7fcde2f144 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -66,10 +66,6 @@ class API extends \Piwik\Plugin\API $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); - // TODO: either replace w/ temporary metrics, or just include them in the results and let people remove them if - // they want. - $dataTable->queueFilter('ColumnDelete', array(array('sum_time_generation', 'nb_hits_with_time_generation'))); - return $dataTable; } diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index e59dad01dd..fbb924ef7a 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -13,10 +13,14 @@ use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; -use Piwik\Plugins\Actions\Archiver; /** - * TODO + * The average amount of time it takes to generate a page. Calculated as + * + * sum_time_generation / nb_hits_with_time_generation + * + * The above metrics are calculated during archiving. This metric is calculated before + * serving a report. */ class AveragePageGenerationTime extends ProcessedMetric { @@ -45,19 +49,9 @@ class AveragePageGenerationTime extends ProcessedMetric public function beforeCompute($report, DataTable $table) { - $columnName = Metrics::INDEX_PAGE_SUM_TIME_GENERATION; - - // TODO: code redundancy w/ another metric (VisitsPercent i think?) - $firstRow = $table->getFirstRow(); - if (!empty($firstRow) - && $firstRow->getColumn($columnName) === false - ) { - $columnName = 'sum_time_generation'; - } - - $hasTimeGeneration = array_sum($table->getColumn($columnName)) > 0; + $hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0; - if (!$hasTimeGeneration) { // TODO: ideally this logic shouldn't exist... + if (!$hasTimeGeneration) { // No generation time: remove it from the API output and add it to empty_columns metadata, so that // the columns can also be removed from the view $table->filter('ColumnDelete', array(array( @@ -72,7 +66,7 @@ class AveragePageGenerationTime extends ProcessedMetric ))); if ($table instanceof DataTable) { - $emptyColumns = $table->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); // TODO: this metadata feels like a hack, should investigate removing it in a new issue + $emptyColumns = $table->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); if (!is_array($emptyColumns)) { $emptyColumns = array(); } diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php index cc67b0e6ee..f8cedee092 100644 --- a/plugins/Actions/Metrics/AverageTimeOnPage.php +++ b/plugins/Actions/Metrics/AverageTimeOnPage.php @@ -12,8 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO - * // Average time on page = total time on page / number visits on that page + * The average amount of time spent on a page. Calculated as: + * + * sum_time_spent / nb_visits + * + * sum_time_spent and nb_visits are calculated by Archiver classes. */ class AverageTimeOnPage extends ProcessedMetric { diff --git a/plugins/Actions/Metrics/BounceRate.php b/plugins/Actions/Metrics/BounceRate.php index 7ced1b2cb4..aedb6177bf 100644 --- a/plugins/Actions/Metrics/BounceRate.php +++ b/plugins/Actions/Metrics/BounceRate.php @@ -12,8 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO -// Bounce rate = single page visits on this page / visits started on this page + * The bounce rate for individual pages. Calculated as: + * + * entry_bounce_count (single page visits on this page) / entry_nb_visits (all visits that started on this page) + * + * entry_bounce_count & entry_nb_visits are calculated by the Actions archiver. */ class BounceRate extends ProcessedMetric { diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php index ab9d305ddb..279ba83410 100644 --- a/plugins/Actions/Metrics/ExitRate.php +++ b/plugins/Actions/Metrics/ExitRate.php @@ -12,8 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO -// % Exit = Number of visits that finished on this page / visits on this page + * Percent of visits that finished on this page. Calculated as: + * + * exit_nb_visits / nb_visits + * + * exit_nb_visits & nb_visits are calculated by the Actions archiver. */ class ExitRate extends ProcessedMetric { @@ -35,7 +38,7 @@ class ExitRate extends ProcessedMetric return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); } - public function format($value) // TODO: should create ratio & percent processed metric base types + public function format($value) { return ($value * 100) . '%'; } diff --git a/plugins/Contents/Metrics/InteractionRate.php b/plugins/Contents/Metrics/InteractionRate.php index 6e577e0e98..aba2376324 100644 --- a/plugins/Contents/Metrics/InteractionRate.php +++ b/plugins/Contents/Metrics/InteractionRate.php @@ -13,8 +13,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO -// Content interaction rate = interactions / impressions + * The content interaction rate. Calculated as: + * + * nb_interactions / nb_impressions + * + * nb_interactions & nb_impressions are calculated by the Contents archiver. */ class InteractionRate extends ProcessedMetric { diff --git a/plugins/CoreHome/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Metrics/ActionsPerVisit.php index 63969c0831..15ab16313f 100644 --- a/plugins/CoreHome/Metrics/ActionsPerVisit.php +++ b/plugins/CoreHome/Metrics/ActionsPerVisit.php @@ -13,7 +13,11 @@ use Piwik\Plugin\ProcessedMetric; use Piwik\Translate; /** - * TODO + * The average number of actions per visit. Calculated as: + * + * nb_actions / nb_visits + * + * nb_actions & nb_visits are calculated during archiving. */ class ActionsPerVisit extends ProcessedMetric { diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php index 3ac723faba..bd5df53a31 100644 --- a/plugins/CoreHome/Metrics/AverageTimeOnSite.php +++ b/plugins/CoreHome/Metrics/AverageTimeOnSite.php @@ -12,7 +12,13 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * The average number of seconds spent on the site per visit. Calculated as: + * + * sum_visit_length / nb_visits + * + * sum_visit_length & nb_visits are calculated during archiving. + * + * @api */ class AverageTimeOnSite extends ProcessedMetric { diff --git a/plugins/CoreHome/Metrics/BounceRate.php b/plugins/CoreHome/Metrics/BounceRate.php index ac5bb31748..db59362268 100644 --- a/plugins/CoreHome/Metrics/BounceRate.php +++ b/plugins/CoreHome/Metrics/BounceRate.php @@ -12,7 +12,12 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * The percentage of visits that leave the site without visiting another page. Calculated + * as: + * + * bounce_count / nb_visits + * + * bounce_count & nb_visits are calculated by an Archiver. */ class BounceRate extends ProcessedMetric { @@ -41,6 +46,6 @@ class BounceRate extends ProcessedMetric $bounceCount = $this->getMetric($row, 'bounce_count'); $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 4); + return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 2); } } \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/ConversionRate.php b/plugins/CoreHome/Metrics/ConversionRate.php index 129f7dbdd4..80c77917a1 100644 --- a/plugins/CoreHome/Metrics/ConversionRate.php +++ b/plugins/CoreHome/Metrics/ConversionRate.php @@ -12,7 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * The percent of visits that result in a conversion. Calculated as: + * + * nb_visits_converted / nb_visits + * + * nb_visits_converted & nb_visits are calculated by the archiving process. */ class ConversionRate extends ProcessedMetric { diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index dae23aca17..1a4e60f1e8 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -15,7 +15,12 @@ use Piwik\Plugin\Metric; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * Calculates evolution values for any other metric. An evolution is the percent change from a + * point in the past to the present. They are computed as: + * + * (current value - value in past) / value in past + * + * @api */ class EvolutionMetric extends ProcessedMetric { @@ -40,9 +45,15 @@ class EvolutionMetric extends ProcessedMetric private $pastData; /** - * TODO + * Constructor. + * + * @param string|Metric $wrapped The metric used to calculate the evolution. + * @param DataTable $pastData The data in the past to use when calculating evolutions. + * @param string|false $evolutionMetricName The name of the evolution processed metric. Defaults to + * $wrapped's name with `'_evolution'` appended. + * @param int $quotientPrecision The percent's quotient precision. */ - public function __construct($wrapped, $pastData, $evolutionMetricName = false, $quotientPrecision = 0) + public function __construct($wrapped, DataTable $pastData, $evolutionMetricName = false, $quotientPrecision = 0) { $this->wrapped = $wrapped; $this->pastData = $pastData; diff --git a/plugins/CoreHome/Metrics/VisitsPercent.php b/plugins/CoreHome/Metrics/VisitsPercent.php new file mode 100644 index 0000000000..6e1c67170b --- /dev/null +++ b/plugins/CoreHome/Metrics/VisitsPercent.php @@ -0,0 +1,76 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\CoreHome\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; + +/** + * Percent of visits in the whole table. Calculated as: + * + * nb_visits / sum(all nb_visits in table) + * + * nb_visits is calculated by core archiving process. + */ +class VisitsPercent extends ProcessedMetric +{ + private $cachedTotalVisits = null; + private $forceTotalVisits = null; + + /** + * Constructor. + * + * @param int|null $totalVisits The forced value of total visits to use. + */ + public function __construct($totalVisits = null) + { + $this->forceTotalVisits = $totalVisits; + } + + public function getName() + { + return 'nb_visits_percentage'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnPercentageVisits'); + } + + public function compute(Row $row) + { + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); + } + + public function format($value) + { + return ($value * 100) . '%'; + } + + public function getDependenctMetrics() + { + return array('nb_visits'); + } + + public function beforeCompute($report, DataTable $table) + { + if ($this->forceTotalVisits === null) { + $this->cachedTotalVisits = array_sum($this->getMetricValues($table, 'nb_visits')); + } else { + $this->cachedTotalVisits = $this->forceTotalVisits; + } + + return true; // always compute + } +} \ No newline at end of file diff --git a/plugins/Events/Metrics/AverageEventValue.php b/plugins/Events/Metrics/AverageEventValue.php index 8a29094822..a15714591a 100644 --- a/plugins/Events/Metrics/AverageEventValue.php +++ b/plugins/Events/Metrics/AverageEventValue.php @@ -5,7 +5,6 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ - namespace Piwik\Plugins\Events\Metrics; use Piwik\DataTable\Row; @@ -13,7 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * The average value for a triggered event. Calculated as: + * + * sum_event_value / nb_events_with_value + * + * sum_event_value and nb_events_with_value are calculated by the Event archiver. */ class AverageEventValue extends ProcessedMetric { @@ -32,7 +35,7 @@ class AverageEventValue extends ProcessedMetric $sumEventValue = $this->getMetric($row, 'sum_event_value'); $eventsWithValue = $this->getMetric($row, 'nb_events_with_value'); - return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); // TODO: used to use shouldSkipRows = true + return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); } public function getDependenctMetrics() diff --git a/plugins/Goals/Metrics/AverageOrderPerVisit.php b/plugins/Goals/Metrics/AverageOrderPerVisit.php deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php index 2c43a98be2..94ba8c36ed 100644 --- a/plugins/Goals/Metrics/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/AverageOrderRevenue.php @@ -12,7 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * The average value for each order. Calculated as: + * + * revenue / nb_conversions + * + * revenue & nb_conversions are calculated by the Goals archiver. */ class AverageOrderRevenue extends ProcessedMetric { @@ -31,7 +35,7 @@ class AverageOrderRevenue extends ProcessedMetric public function getTranslatedName() { - return Piwik::translate(''); // TODO: no translated name? + return Piwik::translate('General_AverageOrderValue'); } public function getDependenctMetrics() diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php index 613a1227ac..300f2ebb55 100644 --- a/plugins/Goals/Metrics/AveragePrice.php +++ b/plugins/Goals/Metrics/AveragePrice.php @@ -14,8 +14,11 @@ use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; /** - * TODO -// Average price = sum product revenue / quantity + * The average price for each ecommerce order or abandoned cart. Calculated as: + * + * price / (orders or abandoned_carts) + * + * price, orders and abandoned_carts are calculated by the Goals archiver. */ class AveragePrice extends ProcessedMetric { diff --git a/plugins/Goals/Metrics/AverageQuantity.php b/plugins/Goals/Metrics/AverageQuantity.php index 0ff8fee069..cc99a399a9 100644 --- a/plugins/Goals/Metrics/AverageQuantity.php +++ b/plugins/Goals/Metrics/AverageQuantity.php @@ -13,8 +13,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO -// Average quantity = sum product quantity / abandoned carts + * The average amount of products in each order or abandoned cart. Calculated as: + * + * quantity / (orders or abandoned_carts) + * + * quantity, orders and abandoned_carts are calculated by the Goals archiver. */ class AverageQuantity extends ProcessedMetric { diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php index fef4fc5533..839f992d96 100644 --- a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -14,7 +14,9 @@ use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; /** - * TODO + * The average order revenue for a specific goal. Calculated as: + * + * goals' revenue / goal's nb_conversions */ class AverageOrderRevenue extends GoalSpecificProcessedMetric { @@ -37,7 +39,7 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric { $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - $goalMetrics = $row->getColumn($row, 'goals'); + $goalMetrics = $this->getGoalMetrics($row); $goalRevenue = $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index 5d1332773b..d1f4aa6e97 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -8,13 +8,17 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; -use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; /** - * TODO + * The conversion rate for a specific goal. Calculated as: + * + * goal's nb_conversions / nb_visits + * + * The goal's nb_conversions is calculated by the Goal archiver and nb_visits + * by the core archiving process. */ class ConversionRate extends GoalSpecificProcessedMetric { @@ -40,7 +44,7 @@ class ConversionRate extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getMetric($row, 'goals'); + $goalMetrics = $this->getGoalMetrics($row); $nbVisits = $this->getMetric($row, 'nb_visits'); $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php index 3f795aa745..05c4d16fa0 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Conversions.php +++ b/plugins/Goals/Metrics/GoalSpecific/Conversions.php @@ -8,11 +8,11 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; -use Piwik\Metrics; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** - * TODO + * The conversions for a specific goal. Returns the conversions for a single goal which + * is then treated as a new column. */ class Conversions extends GoalSpecificProcessedMetric { @@ -33,7 +33,7 @@ class Conversions extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getMetric($row, 'goals'); + $goalMetrics = $this->getGoalMetrics($row); return (int) $this->getMetric($goalMetrics, 'nb_conversions'); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php index 9981dcfaba..f3b8edb5e9 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php +++ b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php @@ -8,11 +8,11 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; -use Piwik\Metrics; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** - * TODO + * The number of ecommerce order items for conversions of a goal. Returns the 'items' + * goal specific metric. */ class ItemsCount extends GoalSpecificProcessedMetric { @@ -33,7 +33,7 @@ class ItemsCount extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getMetric($row, 'goals'); + $goalMetrics = $this->getGoalMetrics($row); return (int) $this->getMetric($goalMetrics, 'items'); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php index 4b6001ab48..2e71c1ff48 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -8,11 +8,10 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; -use Piwik\Metrics; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** - * TODO + * Revenue for a specific goal. */ class Revenue extends GoalSpecificProcessedMetric { @@ -33,7 +32,7 @@ class Revenue extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getMetric($row, 'goals'); + $goalMetrics = $this->getGoalMetrics($row); return (float) $this->getMetric($goalMetrics, 'revenue'); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php index 67ec9be1bc..98b5469a91 100644 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -8,13 +8,16 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; -use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; /** - * TODO + * Revenue per visit for a specific goal. Calculated as: + * + * goal's revenue / (nb_visits or goal's nb_conversions depending on what is present in data) + * + * Goal revenue & nb_conversion are calculated by the Goals archiver. */ class RevenuePerVisit extends GoalSpecificProcessedMetric { @@ -35,7 +38,7 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric public function compute(Row $row) { - $goalMetrics = $this->getMetric($row, 'goals'); + $goalMetrics = $this->getGoalMetrics($row); $nbVisits = $this->getMetric($row, 'nb_visits'); $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); diff --git a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php index e75cec74fa..247250ee37 100644 --- a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php +++ b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php @@ -8,23 +8,25 @@ namespace Piwik\Plugins\Goals\Metrics; use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; -use Piwik\Tracker\GoalManager; /** - * TODO + * Base class for processed metrics that are calculated using metrics that are + * specific to certain goals. */ abstract class GoalSpecificProcessedMetric extends ProcessedMetric { /** - * TODO + * The ID of the goal to calculate metrics for. + * + * @var int */ protected $idGoal; /** - * TODO + * Constructor. + * + * @param int $idGoal The ID of the goal to calculate metrics for. */ public function __construct($idGoal) { @@ -35,4 +37,10 @@ abstract class GoalSpecificProcessedMetric extends ProcessedMetric { return 'goal_' . $this->idGoal; } + + protected function getGoalMetrics(Row $row) + { + $allGoalMetrics = $this->getMetric($row, 'goals'); + return @$allGoalMetrics[$this->idGoal] ?: array(); + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php index 5915b431c1..3279c1c986 100644 --- a/plugins/Goals/Metrics/ProductConversionRate.php +++ b/plugins/Goals/Metrics/ProductConversionRate.php @@ -14,8 +14,11 @@ use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; /** - * TODO -// Product conversion rate = orders / visits + * The conversion rate for ecommerce orders. Calculated as: + * + * (orders or abandoned_carts) / nb_visits + * + * orders and abandoned_carts are calculated by the Goals archiver. */ class ProductConversionRate extends ProcessedMetric { diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php index 0a70421006..fb3d5ec8be 100644 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -14,7 +14,11 @@ use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; /** - * TODO + * The amount of revenue per visit (or per conversion if there are no visits). Calculated as: + * + * sum(revenue for all goals) / (nb_visits or nb_conversions if no visits) + * + * Goal revenue and nb_visits & nb_conversions are calculated by the archiving process. */ class RevenuePerVisit extends ProcessedMetric { diff --git a/plugins/MultiSites/Metrics/RevenueEvolution.php b/plugins/MultiSites/Metrics/RevenueEvolution.php index b9a90ff5ec..f2a5e62a19 100644 --- a/plugins/MultiSites/Metrics/RevenueEvolution.php +++ b/plugins/MultiSites/Metrics/RevenueEvolution.php @@ -13,7 +13,9 @@ use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; use Piwik\Site; /** - * TODO + * Revenue evolution. This is a special processed metric for MultiSites API methods. It will + * only be calculated for sites that have ecommerce enabled. The site is determined by the label + * of each row. */ class RevenueEvolution extends EvolutionMetric { diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index 307f958d2a..57eafdcd2f 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -13,8 +13,7 @@ use Piwik\DataTable; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\DevicesDetection\Archiver AS DDArchiver; -use Piwik\Plugins\UserSettings\Metrics\PluginsVisitsPercent; -use Piwik\Plugins\VisitorInterest\Metrics\VisitsPercent; +use Piwik\Plugins\CoreHome\Metrics\VisitsPercent; /** * @see plugins/UserSettings/functions.php @@ -210,7 +209,7 @@ class API extends \Piwik\Plugin\API $visitsSum = $visitsSumTotal - $ieVisits; $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); - $extraProcessedMetrics[] = new VisitsPercent($visitsSum); // TODO: move to CoreHome/Metrics + $extraProcessedMetrics[] = new VisitsPercent($visitsSum); $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics); } diff --git a/plugins/VisitFrequency/Metrics/ReturningMetric.php b/plugins/VisitFrequency/Metrics/ReturningMetric.php index d285b562eb..e9469cdf91 100644 --- a/plugins/VisitFrequency/Metrics/ReturningMetric.php +++ b/plugins/VisitFrequency/Metrics/ReturningMetric.php @@ -12,7 +12,11 @@ use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; /** - * TODO + * Processed metric for VisitFrequency.get API method which just copies VisitsSummary.get + * metrics as differently named metrics. + * + * This metric must be supplied in order to ensure correct formatting for processed + * metrics that are copied from VisitsSummary.get. */ class ReturningMetric extends ProcessedMetric { diff --git a/plugins/VisitorInterest/Metrics/VisitsPercent.php b/plugins/VisitorInterest/Metrics/VisitsPercent.php deleted file mode 100644 index 2b787f9c77..0000000000 --- a/plugins/VisitorInterest/Metrics/VisitsPercent.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\VisitorInterest\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Plugin\Report; - -/** - * TODO - */ -class VisitsPercent extends ProcessedMetric -{ - private $cachedTotalVisits = null; - private $forceTotalVisits = null; - - /** - * TODO - */ - public function __construct($totalVisits = null) - { - $this->forceTotalVisits = $totalVisits; - } - - public function getName() - { - return 'nb_visits_percentage'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnPercentageVisits'); - } - - public function compute(Row $row) - { - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); - } - - public function format($value) - { - return ($value * 100) . '%'; - } - - public function getDependenctMetrics() - { - return array('nb_visits'); - } - - public function beforeCompute($report, DataTable $table) - { - if ($this->forceTotalVisits === null) { - $columnName = 'nb_visits'; - - $firstRow = $table->getFirstRow(); - if (!empty($firstRow) - && $firstRow->getColumn($columnName) === false - ) { - $columnName = Metrics::INDEX_NB_VISITS; - } - - $this->cachedTotalVisits = array_sum($table->getColumn($columnName)); - } else { - $this->cachedTotalVisits = $this->forceTotalVisits; - } - - return true; // always compute - } -} \ No newline at end of file diff --git a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php index 0c42eafab0..981c8b3e68 100644 --- a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php +++ b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php @@ -12,7 +12,7 @@ use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\VisitorInterest\Columns\VisitsbyVisitNumber; -use Piwik\Plugins\VisitorInterest\Metrics\VisitsPercent; +use Piwik\Plugins\CoreHome\Metrics\VisitsPercent; class GetNumberOfVisitsByVisitCount extends Base { diff --git a/tests/PHPUnit/System/ImportLogsTest.php b/tests/PHPUnit/System/ImportLogsTest.php index 82c2082a88..44c6b7b0b9 100755 --- a/tests/PHPUnit/System/ImportLogsTest.php +++ b/tests/PHPUnit/System/ImportLogsTest.php @@ -61,7 +61,7 @@ class ImportLogsTest extends SystemTestCase // Mysqli rounds latitude/longitude $apiMethods = array('Live.getLastVisitsDetails'); } - $apiMethods[] = 'Actions.get'; + $apiMethods[] = 'Actions'; $apiMethods[] = 'VisitorInterest'; $apiMethods[] = 'VisitFrequency'; $apis[] = array($apiMethods, array( -- cgit v1.2.3 From c2a08b346bc168b8a319a193b1adcc69340a3b5f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 16:23:04 -0800 Subject: Applying some review TODO. --- core/Plugin/ProcessedMetric.php | 2 +- core/Plugin/Report.php | 15 ++++++++++++-- plugins/API/Reports/Get.php | 24 ++++++++++++++++------ .../Actions/Metrics/AveragePageGenerationTime.php | 2 +- plugins/Actions/Metrics/AverageTimeOnPage.php | 2 +- plugins/Actions/Metrics/BounceRate.php | 2 +- plugins/Actions/Metrics/ExitRate.php | 2 +- plugins/Actions/Reports/GetEntryPageTitles.php | 12 +++++++++++ plugins/Actions/Reports/GetEntryPageUrls.php | 12 +++++++++++ plugins/Actions/Reports/GetExitPageTitles.php | 12 +++++++++++ plugins/Actions/Reports/GetExitPageUrls.php | 12 +++++++++++ plugins/Contents/Metrics/InteractionRate.php | 2 +- plugins/CoreHome/Metrics/ActionsPerVisit.php | 4 ++-- plugins/CoreHome/Metrics/AverageTimeOnSite.php | 2 +- plugins/CoreHome/Metrics/BounceRate.php | 2 +- plugins/CoreHome/Metrics/ConversionRate.php | 2 +- plugins/CoreHome/Metrics/EvolutionMetric.php | 2 +- plugins/CoreHome/Metrics/VisitsPercent.php | 4 ++-- plugins/Events/Metrics/AverageEventValue.php | 2 +- plugins/Goals/Metrics/AverageOrderRevenue.php | 2 +- plugins/Goals/Metrics/AveragePrice.php | 2 +- plugins/Goals/Metrics/AverageQuantity.php | 2 +- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 2 +- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 2 +- plugins/Goals/Metrics/GoalSpecific/Conversions.php | 2 +- plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 2 +- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 2 +- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 2 +- plugins/Goals/Metrics/ProductConversionRate.php | 2 +- plugins/Goals/Metrics/RevenuePerVisit.php | 2 +- plugins/Goals/Reports/Get.php | 4 +--- .../Goals/Reports/GetEcommerceAbandonedCart.php | 2 +- plugins/Goals/Reports/GetEcommerceOrder.php | 6 ++---- plugins/UserSettings/Reports/GetPlugin.php | 2 +- plugins/VisitFrequency/Metrics/ReturningMetric.php | 2 +- 35 files changed, 111 insertions(+), 44 deletions(-) diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index 1d1e1eaae4..db638dfb0f 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -39,7 +39,7 @@ abstract class ProcessedMetric extends Metric * * @return string[] */ - abstract public function getDependenctMetrics(); + abstract public function getDependentMetrics(); /** * Executed before computing all processed metrics for a report. Implementers can return `false` diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index e099354447..329308c7cd 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -392,7 +392,7 @@ class Report $metrics = array(); foreach ($restrictToColumns as $column) { if (isset($processedMetricsById[$column])) { - $metrics = array_merge($metrics, $processedMetricsById[$column]->getDependenctMetrics()); + $metrics = array_merge($metrics, $processedMetricsById[$column]->getDependentMetrics()); } else if (isset($metricsSet[$column])) { $metrics[] = $column; } @@ -725,7 +725,7 @@ class Report */ public static function getAllReports() { - $reports = PluginManager::getInstance()->findMultipleComponents('Reports', '\\Piwik\\Plugin\\Report'); + $reports = self::getAllReportClasses(); $cache = new LanguageAwareStaticCache('Reports' . implode('', $reports)); if (!$cache->has()) { @@ -743,6 +743,17 @@ class Report return $cache->get(); } + /** + * Returns class names of all Report metadata classes. + * + * @return string[] + * @api + */ + public static function getAllReportClasses() + { + return PluginManager::getInstance()->findMultipleComponents('Reports', '\\Piwik\\Plugin\\Report'); + } + /** * API metadata are sorted by category/name, * with a little tweak to replicate the standard Piwik category ordering diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php index f19ee1af72..d8e7dbbba8 100644 --- a/plugins/API/Reports/Get.php +++ b/plugins/API/Reports/Get.php @@ -9,7 +9,6 @@ namespace Piwik\Plugins\API\Reports; use Piwik\Piwik; -use Piwik\Plugin\Manager; use Piwik\Plugin\Report; class Get extends Report @@ -49,7 +48,7 @@ class Get extends Report $this->metrics = array_merge($this->metrics, $report->metrics); } - $this->order = 1; + $this->order = 6; } public function getMetrics() @@ -61,19 +60,32 @@ class Get extends Report return $metrics; } + public function getProcessedMetrics() + { + $processedMetrics = array(); + foreach ($this->reportsToMerge as $report) { + $processedMetrics = array_merge($processedMetrics, $report->getProcessedMetrics()); + } + return $processedMetrics; + } + /** * @return Report[] */ private function getReportsToMerge() { $result = array(); - foreach (Manager::getInstance()->getLoadedPluginsName() as $moduleName) { - if ($moduleName == 'API') { + foreach (Report::getAllReportClasses() as $reportClass) { + if ($reportClass == 'Piwik\\Plugins\\API\\Reports\\Get') { continue; } - $report = Report::factory($moduleName, 'get'); - if (empty($report)) { + /** @var Report $report */ + $report = new $reportClass(); + + if ($report->getModule() == 'API' + || $report->getAction() != 'get' + ) { continue; } diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index fbb924ef7a..32f5c1a9e9 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -34,7 +34,7 @@ class AveragePageGenerationTime extends ProcessedMetric return Piwik::translate('General_ColumnAverageGenerationTime'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('sum_time_generation', 'nb_hits_with_time_generation'); } diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php index f8cedee092..96c2e4f682 100644 --- a/plugins/Actions/Metrics/AverageTimeOnPage.php +++ b/plugins/Actions/Metrics/AverageTimeOnPage.php @@ -38,7 +38,7 @@ class AverageTimeOnPage extends ProcessedMetric return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('sum_time_spent', 'nb_visits'); } diff --git a/plugins/Actions/Metrics/BounceRate.php b/plugins/Actions/Metrics/BounceRate.php index aedb6177bf..72e2cc08af 100644 --- a/plugins/Actions/Metrics/BounceRate.php +++ b/plugins/Actions/Metrics/BounceRate.php @@ -43,7 +43,7 @@ class BounceRate extends ProcessedMetric return ($value * 100) . '%'; // TODO: how does this affect the float/locale bug? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('entry_bounce_count', 'entry_nb_visits'); } diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php index 279ba83410..89f50a7867 100644 --- a/plugins/Actions/Metrics/ExitRate.php +++ b/plugins/Actions/Metrics/ExitRate.php @@ -43,7 +43,7 @@ class ExitRate extends ProcessedMetric return ($value * 100) . '%'; } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('exit_nb_visits', 'nb_visits'); } diff --git a/plugins/Actions/Reports/GetEntryPageTitles.php b/plugins/Actions/Reports/GetEntryPageTitles.php index f1332f2266..f00ac12fd2 100644 --- a/plugins/Actions/Reports/GetEntryPageTitles.php +++ b/plugins/Actions/Reports/GetEntryPageTitles.php @@ -39,6 +39,18 @@ class GetEntryPageTitles extends Base $this->widgetTitle = 'Actions_WidgetEntryPageTitles'; } + public function getProcessedMetrics() + { + $result = parent::getProcessedMetrics(); + + // these metrics are not displayed in the API.getProcessedReport version of this report, + // so they are removed here. + unset($result['avg_time_on_page']); + unset($result['exit_rate']); + + return $result; + } + protected function getMetricsDocumentation() { $metrics = parent::getMetricsDocumentation(); diff --git a/plugins/Actions/Reports/GetEntryPageUrls.php b/plugins/Actions/Reports/GetEntryPageUrls.php index d0c42891fe..d37232e21d 100644 --- a/plugins/Actions/Reports/GetEntryPageUrls.php +++ b/plugins/Actions/Reports/GetEntryPageUrls.php @@ -44,6 +44,18 @@ class GetEntryPageUrls extends Base $this->widgetTitle = 'Actions_WidgetPagesEntry'; } + public function getProcessedMetrics() + { + $result = parent::getProcessedMetrics(); + + // these metrics are not displayed in the API.getProcessedReport version of this report, + // so they are removed here. + unset($result['avg_time_on_page']); + unset($result['exit_rate']); + + return $result; + } + protected function getMetricsDocumentation() { $metrics = parent::getMetricsDocumentation(); diff --git a/plugins/Actions/Reports/GetExitPageTitles.php b/plugins/Actions/Reports/GetExitPageTitles.php index 996b418843..1247fc3d4c 100644 --- a/plugins/Actions/Reports/GetExitPageTitles.php +++ b/plugins/Actions/Reports/GetExitPageTitles.php @@ -41,6 +41,18 @@ class GetExitPageTitles extends Base $this->widgetTitle = 'Actions_WidgetExitPageTitles'; } + public function getProcessedMetrics() + { + $result = parent::getProcessedMetrics(); + + // these metrics are not displayed in the API.getProcessedReport version of this report, + // so they are removed here. + unset($result['bounce_rate']); + unset($result['avg_time_on_page']); + + return $result; + } + public function getMetrics() { $metrics = parent::getMetrics(); diff --git a/plugins/Actions/Reports/GetExitPageUrls.php b/plugins/Actions/Reports/GetExitPageUrls.php index 781ca05f3a..b6bccaa1f1 100644 --- a/plugins/Actions/Reports/GetExitPageUrls.php +++ b/plugins/Actions/Reports/GetExitPageUrls.php @@ -44,6 +44,18 @@ class GetExitPageUrls extends Base $this->widgetTitle = 'Actions_WidgetPagesExit'; } + public function getProcessedMetrics() + { + $result = parent::getProcessedMetrics(); + + // these metrics are not displayed in the API.getProcessedReport version of this report, + // so they are removed here. + unset($result['bounce_rate']); + unset($result['avg_time_on_page']); + + return $result; + } + public function getMetrics() { $metrics = parent::getMetrics(); diff --git a/plugins/Contents/Metrics/InteractionRate.php b/plugins/Contents/Metrics/InteractionRate.php index aba2376324..8d8500cf8a 100644 --- a/plugins/Contents/Metrics/InteractionRate.php +++ b/plugins/Contents/Metrics/InteractionRate.php @@ -44,7 +44,7 @@ class InteractionRate extends ProcessedMetric return ($value * 100) . '%'; } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('nb_interactions', 'nb_impressions'); } diff --git a/plugins/CoreHome/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Metrics/ActionsPerVisit.php index 15ab16313f..658bf6f20c 100644 --- a/plugins/CoreHome/Metrics/ActionsPerVisit.php +++ b/plugins/CoreHome/Metrics/ActionsPerVisit.php @@ -31,7 +31,7 @@ class ActionsPerVisit extends ProcessedMetric $actions = $this->getMetric($row, 'nb_actions'); $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($actions, $visits, $precision = 2); + return Piwik::getQuotientSafe($actions, $visits, $precision = 1); } public function getTranslatedName() @@ -39,7 +39,7 @@ class ActionsPerVisit extends ProcessedMetric return Piwik::translate('General_ColumnActionsPerVisit'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('nb_actions', 'nb_visits'); } diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php index bd5df53a31..5b0acd652c 100644 --- a/plugins/CoreHome/Metrics/AverageTimeOnSite.php +++ b/plugins/CoreHome/Metrics/AverageTimeOnSite.php @@ -40,7 +40,7 @@ class AverageTimeOnSite extends ProcessedMetric return Piwik::translate('General_ColumnAvgTimeOnSite'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('sum_visit_length', 'nb_visits'); } diff --git a/plugins/CoreHome/Metrics/BounceRate.php b/plugins/CoreHome/Metrics/BounceRate.php index db59362268..3e45061589 100644 --- a/plugins/CoreHome/Metrics/BounceRate.php +++ b/plugins/CoreHome/Metrics/BounceRate.php @@ -31,7 +31,7 @@ class BounceRate extends ProcessedMetric return Piwik::translate('General_ColumnBounceRate'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('bounce_count', 'nb_visits'); } diff --git a/plugins/CoreHome/Metrics/ConversionRate.php b/plugins/CoreHome/Metrics/ConversionRate.php index 80c77917a1..6a1e08bf5e 100644 --- a/plugins/CoreHome/Metrics/ConversionRate.php +++ b/plugins/CoreHome/Metrics/ConversionRate.php @@ -30,7 +30,7 @@ class ConversionRate extends ProcessedMetric return Piwik::translate('General_ColumnConversionRate'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('nb_visits_converted', 'nb_visits'); } diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index 1a4e60f1e8..398dfa091a 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -102,7 +102,7 @@ class EvolutionMetric extends ProcessedMetric return ($value * 100) . '%'; } - public function getDependenctMetrics() + public function getDependentMetrics() { return array($this->getWrappedName()); } diff --git a/plugins/CoreHome/Metrics/VisitsPercent.php b/plugins/CoreHome/Metrics/VisitsPercent.php index 6e1c67170b..619091fb49 100644 --- a/plugins/CoreHome/Metrics/VisitsPercent.php +++ b/plugins/CoreHome/Metrics/VisitsPercent.php @@ -50,7 +50,7 @@ class VisitsPercent extends ProcessedMetric { $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); } public function format($value) @@ -58,7 +58,7 @@ class VisitsPercent extends ProcessedMetric return ($value * 100) . '%'; } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('nb_visits'); } diff --git a/plugins/Events/Metrics/AverageEventValue.php b/plugins/Events/Metrics/AverageEventValue.php index a15714591a..df2f932ba8 100644 --- a/plugins/Events/Metrics/AverageEventValue.php +++ b/plugins/Events/Metrics/AverageEventValue.php @@ -38,7 +38,7 @@ class AverageEventValue extends ProcessedMetric return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('sum_event_value', 'nb_events_with_value'); } diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php index 94ba8c36ed..9d1a106801 100644 --- a/plugins/Goals/Metrics/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/AverageOrderRevenue.php @@ -38,7 +38,7 @@ class AverageOrderRevenue extends ProcessedMetric return Piwik::translate('General_AverageOrderValue'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('revenue', 'nb_conversions'); } diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php index 300f2ebb55..1eeba7b170 100644 --- a/plugins/Goals/Metrics/AveragePrice.php +++ b/plugins/Goals/Metrics/AveragePrice.php @@ -41,7 +41,7 @@ class AveragePrice extends ProcessedMetric return Piwik::getQuotientSafe($price, $orders === false ? $abandonedCarts : $orders, GoalManager::REVENUE_PRECISION); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('price', 'orders', 'abandoned_carts'); } diff --git a/plugins/Goals/Metrics/AverageQuantity.php b/plugins/Goals/Metrics/AverageQuantity.php index cc99a399a9..75fbc1c302 100644 --- a/plugins/Goals/Metrics/AverageQuantity.php +++ b/plugins/Goals/Metrics/AverageQuantity.php @@ -40,7 +40,7 @@ class AverageQuantity extends ProcessedMetric return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('quantity', 'orders', 'abandoned_carts'); } diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php index 839f992d96..e107cf7227 100644 --- a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -30,7 +30,7 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric return self::getName(); // TODO??? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('goals'); } diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index d1f4aa6e97..93ce90c3da 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -32,7 +32,7 @@ class ConversionRate extends GoalSpecificProcessedMetric return self::getName(); // TODO??? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('goals'); } diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php index 05c4d16fa0..eb8c09e3f0 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Conversions.php +++ b/plugins/Goals/Metrics/GoalSpecific/Conversions.php @@ -26,7 +26,7 @@ class Conversions extends GoalSpecificProcessedMetric return self::getName(); // TODO??? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('goals'); } diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php index f3b8edb5e9..0bafcd6e43 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php +++ b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php @@ -26,7 +26,7 @@ class ItemsCount extends GoalSpecificProcessedMetric return self::getName(); // TODO??? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('goals'); } diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php index 2e71c1ff48..e3089c20f6 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -25,7 +25,7 @@ class Revenue extends GoalSpecificProcessedMetric return self::getName(); // TODO??? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('goals'); } diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php index 98b5469a91..338ab01748 100644 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -31,7 +31,7 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric return self::getName(); // TODO??? } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('goals', 'nb_visits'); } diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php index 3279c1c986..f11e9d9085 100644 --- a/plugins/Goals/Metrics/ProductConversionRate.php +++ b/plugins/Goals/Metrics/ProductConversionRate.php @@ -46,7 +46,7 @@ class ProductConversionRate extends ProcessedMetric return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION + 2); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('orders', 'abandoned_carts', 'nb_visits'); } diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php index fb3d5ec8be..a35402cd84 100644 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -32,7 +32,7 @@ class RevenuePerVisit extends ProcessedMetric return Piwik::translate('General_ColumnValuePerVisit'); } - public function getDependenctMetrics() + public function getDependentMetrics() { return array('revenue', 'nb_visits', 'nb_conversions','goals'); } diff --git a/plugins/Goals/Reports/Get.php b/plugins/Goals/Reports/Get.php index cd790fec49..1d16d0c5bc 100644 --- a/plugins/Goals/Reports/Get.php +++ b/plugins/Goals/Reports/Get.php @@ -8,9 +8,7 @@ */ namespace Piwik\Plugins\Goals\Reports; -use Piwik\Common; use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\AverageOrderRevenue; class Get extends BaseGoal { @@ -19,7 +17,7 @@ class Get extends BaseGoal parent::init(); $this->name = Piwik::translate('Goals_Goals'); - $this->processedMetrics = array(); + $this->processedMetrics = array('avg_order_revenue'); $this->documentation = ''; // TODO $this->order = 1; $this->orderGoal = 50; diff --git a/plugins/Goals/Reports/GetEcommerceAbandonedCart.php b/plugins/Goals/Reports/GetEcommerceAbandonedCart.php index 97c1e7e26c..608ab60007 100644 --- a/plugins/Goals/Reports/GetEcommerceAbandonedCart.php +++ b/plugins/Goals/Reports/GetEcommerceAbandonedCart.php @@ -19,7 +19,7 @@ class GetEcommerceAbandonedCart extends BaseEcommerce $this->name = Piwik::translate('General_AbandonedCarts'); $this->processedMetrics = false; $this->order = 15; - $this->metrics = array('nb_conversions', 'conversion_rate', 'revenue', 'items'); + $this->metrics = array('nb_conversions', 'revenue', 'items'); $this->parameters = array('idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART); } diff --git a/plugins/Goals/Reports/GetEcommerceOrder.php b/plugins/Goals/Reports/GetEcommerceOrder.php index 74a7a8841c..2dc9d01c05 100644 --- a/plugins/Goals/Reports/GetEcommerceOrder.php +++ b/plugins/Goals/Reports/GetEcommerceOrder.php @@ -17,7 +17,7 @@ class GetEcommerceOrder extends BaseEcommerce parent::init(); $this->action = 'get'; $this->name = Piwik::translate('General_EcommerceOrders'); - $this->processedMetrics = false; + $this->processedMetrics = array('avg_order_revenue'); $this->order = 10; $this->metrics = array( 'nb_conversions', @@ -27,9 +27,7 @@ class GetEcommerceOrder extends BaseEcommerce 'revenue_subtotal', 'revenue_tax', 'revenue_shipping', - 'revenue_discount', - 'items', - 'avg_order_revenue' + 'revenue_discount' ); $this->parameters = array('idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER); diff --git a/plugins/UserSettings/Reports/GetPlugin.php b/plugins/UserSettings/Reports/GetPlugin.php index 9b3890f1b3..49916f82f2 100644 --- a/plugins/UserSettings/Reports/GetPlugin.php +++ b/plugins/UserSettings/Reports/GetPlugin.php @@ -20,7 +20,7 @@ class GetPlugin extends Base $this->dimension = new Plugin(); $this->name = Piwik::translate('UserSettings_WidgetPlugins'); $this->documentation = Piwik::translate('UserSettings_WidgetPluginsDocumentation', '<br />'); - $this->metrics = array('nb_visits', 'nb_visits_percentage'); + $this->metrics = array('nb_visits'); $this->constantRowsCount = true; $this->processedMetrics = array(); $this->order = 4; diff --git a/plugins/VisitFrequency/Metrics/ReturningMetric.php b/plugins/VisitFrequency/Metrics/ReturningMetric.php index e9469cdf91..8a3f95b06c 100644 --- a/plugins/VisitFrequency/Metrics/ReturningMetric.php +++ b/plugins/VisitFrequency/Metrics/ReturningMetric.php @@ -56,7 +56,7 @@ class ReturningMetric extends ProcessedMetric return 0; // (metric is not computed, it is copied from segmented report) } - public function getDependenctMetrics() + public function getDependentMetrics() { return array(); } -- cgit v1.2.3 From 4086eb9fe28c9d9773af6165757683fb06b97924 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 16:40:04 -0800 Subject: Un-deprecate filters. Can be figured out later. --- core/DataTable/Filter/CalculateEvolutionFilter.php | 2 -- core/DataTable/Filter/ColumnCallbackAddColumn.php | 1 - core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php | 1 - core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php | 1 - core/DataTable/Filter/ColumnCallbackReplace.php | 2 +- 5 files changed, 1 insertion(+), 6 deletions(-) diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index 4e4c93ca92..6ca7e551de 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -26,7 +26,6 @@ use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; * ((currentValue - pastValue) / pastValue) * 100 * * @api - * @deprecated since 2.9.0 */ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage { @@ -74,7 +73,6 @@ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage * @param bool $appendPercentSign Whether to append a '%' sign to the end of the number or not. * * @return string The evolution percent, eg `'15%'`. - * @deprecated since 2.9.0 */ public static function calculate($currentValue, $pastValue, $quotientPrecision = 0, $appendPercentSign = true) { diff --git a/core/DataTable/Filter/ColumnCallbackAddColumn.php b/core/DataTable/Filter/ColumnCallbackAddColumn.php index b9646c917b..56c291ae3a 100755 --- a/core/DataTable/Filter/ColumnCallbackAddColumn.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumn.php @@ -25,7 +25,6 @@ use Piwik\DataTable\BaseFilter; * $dataTable->filter('ColumnCallbackAddColumn', array(array('nb_visits', 'sum_time_spent'), 'avg_time_on_site', $callback)); * * @api - * @deprecated since v2.9.0 */ class ColumnCallbackAddColumn extends BaseFilter { diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php index 4b17e2811b..ac9171973e 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php @@ -24,7 +24,6 @@ use Piwik\Piwik; * $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('nb_visits', 'nb_visits_percentage', $nbVisits, 1)); * * @api - * @deprecated since v2.9.0 */ class ColumnCallbackAddColumnPercentage extends ColumnCallbackAddColumnQuotient { diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php index 5c78bf1f79..615d126c6a 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php @@ -26,7 +26,6 @@ use Piwik\DataTable\Row; * $dataTable->queueFilter('ColumnCallbackAddColumnQuotient', array('bounce_rate', 'bounce_count', 'nb_visits', $precision = 2)); * * @api - * @deprecated since v2.9.0 */ class ColumnCallbackAddColumnQuotient extends BaseFilter { diff --git a/core/DataTable/Filter/ColumnCallbackReplace.php b/core/DataTable/Filter/ColumnCallbackReplace.php index 1a11765eba..56616dfc68 100644 --- a/core/DataTable/Filter/ColumnCallbackReplace.php +++ b/core/DataTable/Filter/ColumnCallbackReplace.php @@ -31,7 +31,7 @@ use Piwik\DataTable\Row; * // label, url and truncate_length are columns in $dataTable * $dataTable->filter('ColumnCallbackReplace', array('label', 'url'), $truncateString, null, array('truncate_length')); * - * @deprecated since v2.9.0 + * @api */ class ColumnCallbackReplace extends BaseFilter { -- cgit v1.2.3 From 89c163f34ffdbba98a0e0d8f71c64650a01cbd50 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 17:45:52 -0800 Subject: Fixing tests and regressions. --- core/API/DataTablePostProcessor.php | 5 +- .../Goals/Reports/GetEcommerceAbandonedCart.php | 4 +- plugins/Goals/Reports/GetEcommerceOrder.php | 3 +- plugins/UserSettings/Reports/GetPlugin.php | 2 +- ...CronTest_noOptions__VisitsSummary.get_month.xml | 4 +- ...PITest_browserCode__VisitsSummary.get_range.xml | 4 +- ...est_browserVersion__VisitsSummary.get_range.xml | 4 +- ...ustomVariableName1__VisitsSummary.get_range.xml | 4 +- ...ustomVariableName5__VisitsSummary.get_range.xml | 4 +- ...stomVariableValue1__VisitsSummary.get_range.xml | 4 +- ...stomVariableValue5__VisitsSummary.get_range.xml | 4 +- ...aysSinceFirstVisit__VisitsSummary.get_range.xml | 2 +- ...LastEcommerceOrder__VisitsSummary.get_range.xml | 2 +- ...daysSinceLastVisit__VisitsSummary.get_range.xml | 2 +- ...APITest_deviceType__VisitsSummary.get_range.xml | 4 +- ...stAPITest_latitude__VisitsSummary.get_range.xml | 2 +- ...peratingSystemCode__VisitsSummary.get_range.xml | 4 +- ...estAPITest_pageUrl__VisitsSummary.get_range.xml | 2 +- ...ITest_referrerType__VisitsSummary.get_range.xml | 2 +- ...APITest_regionCode__VisitsSummary.get_range.xml | 2 +- ...APITest_resolution__VisitsSummary.get_range.xml | 4 +- ...stAPITest_searches__VisitsSummary.get_range.xml | 4 +- ...sitConvertedGoalId__VisitsSummary.get_range.xml | 4 +- ...est_visitConverted__VisitsSummary.get_range.xml | 4 +- ...APITest_visitCount__VisitsSummary.get_range.xml | 4 +- ...sitEcommerceStatus__VisitsSummary.get_range.xml | 4 +- ...estAPITest_visitIp__VisitsSummary.get_range.xml | 4 +- ...est_visitLocalHour__VisitsSummary.get_range.xml | 4 +- ...PITest_visitorType__VisitsSummary.get_range.xml | 4 +- .../test_CustomEvents__Actions.get_day.xml | 2 + .../test_CustomEvents__Actions.get_month.xml | 2 + ...mportLogs__Actions.getEntryPageTitles_range.xml | 25 ++-- ..._ImportLogs__Actions.getEntryPageUrls_range.xml | 125 +++++++------------ ...ImportLogs__Actions.getExitPageTitles_range.xml | 27 +++-- ...t_ImportLogs__Actions.getExitPageUrls_range.xml | 130 +++++++------------- ...est_ImportLogs__Actions.getPageTitles_range.xml | 34 +++--- .../test_ImportLogs__Actions.getPageUrls_range.xml | 134 +++++++-------------- .../test_ImportLogs__Actions.get_range.xml | 2 + ...st_ImportLogs__UserSettings.getPlugin_month.xml | 14 +-- ...nterest.getNumberOfVisitsByVisitCount_range.xml | 8 +- .../test_ImportLogs__VisitsSummary.get_month.xml | 4 +- .../test_OneVisitorTwoVisits__Actions.get_day.xml | 2 + ...test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 1658 -> 1682 bytes ...woVisits_withCookieSupport__Actions.get_day.xml | 2 + ...etReportMetadata__API.getReportMetadata_day.xml | 34 ++++-- .../test_csvExport_xp0__VisitsSummary.get_day.csv | Bin 386 -> 378 bytes ..._xp1_inner0_trans-en__VisitsSummary.get_day.csv | Bin 474 -> 466 bytes ..._xp1_inner1_trans-de__VisitsSummary.get_day.csv | Bin 596 -> 588 bytes ....Get_NormalGoal__API.getProcessedReport_day.xml | 5 + ...Goals.Get_Order__API.getProcessedReport_day.xml | 4 +- ...mmerceOrderWithItems__VisitsSummary.get_day.xml | 2 +- ...aAndNormalAPI__API.getProcessedReport_range.xml | 4 +- ...tadataAndNormalAPI__VisitsSummary.get_range.xml | 4 +- 53 files changed, 285 insertions(+), 379 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 6b7347b206..ddff42fd05 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -156,7 +156,8 @@ class DataTablePostProcessor $self = $this; $report = $this->report; $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self) { - if ($genericFilter->areProcessedMetricsNeededFor($this->getProcessedMetricsFor($table, $this->report))) { + $processedMetrics = $this->getProcessedMetricsFor($table, $report); + if ($genericFilter->areProcessedMetricsNeededFor($processedMetrics)) { $self->computeProcessedMetrics($table); } }); @@ -235,7 +236,7 @@ class DataTablePostProcessor if ($applyFormatting) { $dataTable->filter(array($this, 'formatProcessedMetrics')); } else { - $dataTable->queueFilter(array($this, 'formatProcessedMetrics')); // TODO: queuing does not always work. + $dataTable->queueFilter(array($this, 'formatProcessedMetrics')); } return $dataTable; } diff --git a/plugins/Goals/Reports/GetEcommerceAbandonedCart.php b/plugins/Goals/Reports/GetEcommerceAbandonedCart.php index 608ab60007..279de4b940 100644 --- a/plugins/Goals/Reports/GetEcommerceAbandonedCart.php +++ b/plugins/Goals/Reports/GetEcommerceAbandonedCart.php @@ -17,9 +17,9 @@ class GetEcommerceAbandonedCart extends BaseEcommerce parent::init(); $this->action = 'get'; $this->name = Piwik::translate('General_AbandonedCarts'); - $this->processedMetrics = false; + $this->processedMetrics = array('avg_order_revenue'); $this->order = 15; - $this->metrics = array('nb_conversions', 'revenue', 'items'); + $this->metrics = array('nb_conversions', 'conversion_rate', 'revenue', 'items'); $this->parameters = array('idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART); } diff --git a/plugins/Goals/Reports/GetEcommerceOrder.php b/plugins/Goals/Reports/GetEcommerceOrder.php index 2dc9d01c05..95c42ba568 100644 --- a/plugins/Goals/Reports/GetEcommerceOrder.php +++ b/plugins/Goals/Reports/GetEcommerceOrder.php @@ -33,7 +33,8 @@ class GetEcommerceOrder extends BaseEcommerce $this->parameters = array('idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER); } - public function getMetrics() { + public function getMetrics() + { $metrics = parent::getMetrics(); $metrics['nb_conversions'] = Piwik::translate('General_EcommerceOrders'); diff --git a/plugins/UserSettings/Reports/GetPlugin.php b/plugins/UserSettings/Reports/GetPlugin.php index 49916f82f2..e9512c4256 100644 --- a/plugins/UserSettings/Reports/GetPlugin.php +++ b/plugins/UserSettings/Reports/GetPlugin.php @@ -22,7 +22,7 @@ class GetPlugin extends Base $this->documentation = Piwik::translate('UserSettings_WidgetPluginsDocumentation', '<br />'); $this->metrics = array('nb_visits'); $this->constantRowsCount = true; - $this->processedMetrics = array(); + $this->processedMetrics = array('nb_visits_percentage'); $this->order = 4; $this->widgetTitle = 'UserSettings_WidgetPlugins'; } diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml index b53ae63861..527a5d7177 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml @@ -9,8 +9,8 @@ <bounce_count>25</bounce_count> <sum_visit_length>305</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>92.59%</bounce_rate> - <nb_actions_per_visit>1.11</nb_actions_per_visit> + <bounce_rate>93%</bounce_rate> + <nb_actions_per_visit>1.1</nb_actions_per_visit> <avg_time_on_site>11</avg_time_on_site> </result> <result idSite="2"> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml index 4db8c2a21e..e2373a1ef1 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>14</bounce_count> <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.85%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>52%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>607</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml index 4db8c2a21e..e2373a1ef1 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>14</bounce_count> <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.85%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>52%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>607</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml index 13090033ff..47eec1002c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>17</bounce_count> <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>56.67%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <bounce_rate>57%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>546</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml index 13090033ff..47eec1002c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>17</bounce_count> <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>56.67%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <bounce_rate>57%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>546</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml index 32c6776190..d4214faba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>4</bounce_count> <sum_visit_length>3783</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>57.14%</bounce_rate> - <nb_actions_per_visit>1.43</nb_actions_per_visit> + <bounce_rate>57%</bounce_rate> + <nb_actions_per_visit>1.4</nb_actions_per_visit> <avg_time_on_site>540</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml index 32c6776190..d4214faba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>4</bounce_count> <sum_visit_length>3783</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>57.14%</bounce_rate> - <nb_actions_per_visit>1.43</nb_actions_per_visit> + <bounce_rate>57%</bounce_rate> + <nb_actions_per_visit>1.4</nb_actions_per_visit> <avg_time_on_site>540</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml index e2fe92a586..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>2.53</nb_actions_per_visit> + <nb_actions_per_visit>2.5</nb_actions_per_visit> <avg_time_on_site>1261</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml index e2fe92a586..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>2.53</nb_actions_per_visit> + <nb_actions_per_visit>2.5</nb_actions_per_visit> <avg_time_on_site>1261</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml index e2fe92a586..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>2.53</nb_actions_per_visit> + <nb_actions_per_visit>2.5</nb_actions_per_visit> <avg_time_on_site>1261</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml index 1e255527a8..5d07770e4e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>15</bounce_count> <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>53.57%</bounce_rate> - <nb_actions_per_visit>1.71</nb_actions_per_visit> + <bounce_rate>54%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>585</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml index 1f2e217a7f..e023a89081 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>3783</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>631</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml index 1e255527a8..5d07770e4e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>15</bounce_count> <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>53.57%</bounce_rate> - <nb_actions_per_visit>1.71</nb_actions_per_visit> + <bounce_rate>54%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>585</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml index e2fe92a586..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>2.53</nb_actions_per_visit> + <nb_actions_per_visit>2.5</nb_actions_per_visit> <avg_time_on_site>1261</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml index 9baa2eaa8c..ce18f5b1dc 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.76</nb_actions_per_visit> + <nb_actions_per_visit>1.8</nb_actions_per_visit> <avg_time_on_site>631</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml index 1f2e217a7f..e023a89081 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml @@ -7,6 +7,6 @@ <sum_visit_length>3783</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>631</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml index cc9ba86681..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>18</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.43%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>51%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>612</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml index 40ae762770..410df64fa3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>18</bounce_count> <sum_visit_length>10088</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>69.23%</bounce_rate> - <nb_actions_per_visit>1.31</nb_actions_per_visit> + <bounce_rate>69%</bounce_rate> + <nb_actions_per_visit>1.3</nb_actions_per_visit> <avg_time_on_site>388</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml index cc9ba86681..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>18</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.43%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>51%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>612</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml index cc9ba86681..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>18</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.43%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>51%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>612</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml index 4eebacc953..ce025f0a46 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>13</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>43.33%</bounce_rate> - <nb_actions_per_visit>1.87</nb_actions_per_visit> + <bounce_rate>43%</bounce_rate> + <nb_actions_per_visit>1.9</nb_actions_per_visit> <avg_time_on_site>715</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml index cc9ba86681..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>18</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.43%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>51%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>612</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml index 8ee61b940f..352cc69e4a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>2</bounce_count> <sum_visit_length>1261</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>66.67%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <bounce_rate>67%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>420</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml index cc9ba86681..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>18</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>51.43%</bounce_rate> - <nb_actions_per_visit>1.74</nb_actions_per_visit> + <bounce_rate>51%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>612</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml index 4eebacc953..ce025f0a46 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>13</bounce_count> <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>43.33%</bounce_rate> - <nb_actions_per_visit>1.87</nb_actions_per_visit> + <bounce_rate>43%</bounce_rate> + <nb_actions_per_visit>1.9</nb_actions_per_visit> <avg_time_on_site>715</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml index 65ae232e68..a98b80de47 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <sum_time_generation>2</sum_time_generation> + <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.5</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml index 65ae232e68..a98b80de47 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <sum_time_generation>2</sum_time_generation> + <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.5</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml index d8014b0c28..8c8e1e8faa 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml @@ -5,6 +5,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>34</sum_time_spent> + <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -26,6 +27,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -47,6 +49,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -64,9 +67,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>2</entry_nb_actions> <entry_sum_visit_length>182</entry_sum_visit_length> @@ -76,7 +76,6 @@ <avg_time_on_page>180</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -85,6 +84,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -103,9 +103,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -117,7 +114,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -126,6 +122,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -144,9 +141,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -158,7 +152,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -167,6 +160,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -186,6 +180,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -204,6 +199,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -227,6 +223,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -248,6 +245,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -269,6 +267,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -290,6 +289,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -311,6 +311,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml index b8b7233c2e..b827986ffa 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml @@ -5,6 +5,7 @@ <nb_visits>9</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.724</sum_time_generation> <nb_hits_with_time_generation>7</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>6</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -83,6 +87,7 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -101,6 +106,7 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -127,6 +133,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -145,6 +152,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -163,9 +171,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -174,16 +179,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -195,7 +196,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/blog/2012/08/survey-your-opinion-matters/</url> </row> </subtable> @@ -207,6 +207,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -225,6 +226,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -243,6 +245,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -271,6 +274,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -289,6 +293,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -307,6 +312,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -325,6 +331,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -355,6 +362,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>34</sum_time_spent> + <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -377,6 +385,7 @@ <nb_visits>6</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.02</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -395,6 +404,7 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -413,6 +423,7 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -437,6 +448,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -459,6 +471,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -477,6 +490,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -501,6 +515,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -519,9 +534,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -533,7 +545,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/docs/manage-users/</url> </row> </subtable> @@ -545,6 +556,7 @@ <nb_visits>5</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -563,6 +575,7 @@ <nb_visits>3</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -585,6 +598,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -603,9 +617,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -617,7 +628,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/faq/how-to/</url> </row> </subtable> @@ -627,6 +637,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -645,9 +656,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -659,7 +667,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/faq/how-to-install/</url> </row> </subtable> @@ -671,6 +678,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>7</sum_time_spent> + <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -689,9 +697,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -700,16 +705,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -721,7 +722,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/download/counter/</url> </row> </subtable> @@ -733,6 +733,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -751,6 +752,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -775,6 +777,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -797,6 +800,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -819,6 +823,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -839,6 +844,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -861,6 +867,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -883,6 +890,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -900,9 +908,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>2</entry_nb_actions> <entry_sum_visit_length>81</entry_sum_visit_length> @@ -912,7 +917,6 @@ <avg_time_on_page>79</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.org/changelog/</url> </row> </subtable> @@ -922,6 +926,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -940,9 +945,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -954,7 +956,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/hosting/</url> </row> </subtable> @@ -964,6 +965,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -982,9 +984,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -996,7 +995,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/intranet-analytics/</url> </row> </subtable> @@ -1006,6 +1004,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1024,9 +1023,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1038,7 +1034,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/newsletter/</url> </row> </subtable> @@ -1048,6 +1043,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1066,9 +1062,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1077,16 +1070,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>not</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1095,16 +1084,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>the</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1113,16 +1098,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>page</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1131,16 +1112,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>i</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1149,16 +1126,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>am</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1167,16 +1140,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>looking</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1185,16 +1154,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>for</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1203,16 +1168,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1224,7 +1185,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/this/is/not/the/page/i/am/looking/for/</url> </row> </subtable> @@ -1250,6 +1210,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1268,9 +1229,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1282,7 +1240,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/translations/</url> </row> </subtable> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml index fbb87d260d..c88487324b 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml @@ -5,6 +5,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>34</sum_time_spent> + <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -26,6 +27,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -47,6 +49,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -61,16 +64,12 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <exit_nb_visits>1</exit_nb_visits> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors> <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -79,6 +78,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -97,9 +97,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -111,7 +108,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -120,6 +116,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -138,9 +135,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -152,7 +146,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -161,6 +154,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -177,6 +171,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -195,6 +190,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -218,6 +214,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>7</sum_time_spent> + <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -234,6 +231,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -255,6 +253,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -276,6 +275,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -297,6 +297,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -318,6 +319,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -339,6 +341,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml index ebf0fdffcf..f70eecbb16 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml @@ -5,6 +5,7 @@ <nb_visits>9</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.724</sum_time_generation> <nb_hits_with_time_generation>7</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>6</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -83,6 +87,7 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -101,6 +106,7 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -127,6 +133,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -145,6 +152,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -163,9 +171,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -174,16 +179,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -195,7 +196,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/blog/2012/08/survey-your-opinion-matters/</url> </row> </subtable> @@ -207,6 +207,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -225,6 +226,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -243,6 +245,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -271,6 +274,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -289,6 +293,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -307,6 +312,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -325,6 +331,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -355,6 +362,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>34</sum_time_spent> + <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -377,6 +385,7 @@ <nb_visits>6</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.02</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -395,6 +404,7 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -413,6 +423,7 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -437,6 +448,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -459,6 +471,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -477,6 +490,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -501,6 +515,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -519,9 +534,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -533,7 +545,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/docs/manage-users/</url> </row> </subtable> @@ -545,6 +556,7 @@ <nb_visits>5</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -563,6 +575,7 @@ <nb_visits>3</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -585,6 +598,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -603,9 +617,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -617,7 +628,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/faq/how-to/</url> </row> </subtable> @@ -627,6 +637,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -645,9 +656,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -659,7 +667,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/faq/how-to-install/</url> </row> </subtable> @@ -671,6 +678,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>7</sum_time_spent> + <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -689,9 +697,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -700,16 +705,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -721,7 +722,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/download/counter/</url> </row> </subtable> @@ -733,6 +733,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -751,6 +752,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -775,6 +777,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -797,6 +800,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -819,6 +823,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -841,6 +846,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -858,6 +864,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -880,6 +887,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -894,16 +902,12 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <exit_nb_visits>1</exit_nb_visits> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors> <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.org/contact/</url> </row> </subtable> @@ -913,6 +917,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -931,9 +936,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -945,7 +947,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/hosting/</url> </row> </subtable> @@ -955,6 +956,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -973,9 +975,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -987,7 +986,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/intranet-analytics/</url> </row> </subtable> @@ -997,6 +995,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1015,9 +1014,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1029,7 +1025,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/newsletter/</url> </row> </subtable> @@ -1039,6 +1034,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1057,9 +1053,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1068,16 +1061,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>not</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1086,16 +1075,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>the</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1104,16 +1089,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>page</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1122,16 +1103,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>i</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1140,16 +1117,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>am</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1158,16 +1131,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>looking</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1176,16 +1145,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>for</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1194,16 +1159,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1215,7 +1176,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/this/is/not/the/page/i/am/looking/for/</url> </row> </subtable> @@ -1241,6 +1201,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1259,9 +1220,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1273,7 +1231,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/translations/</url> </row> </subtable> @@ -1283,6 +1240,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1297,16 +1255,12 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <exit_nb_visits>1</exit_nb_visits> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors> <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.org/what-is-piwisk/</url> </row> </subtable> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml index 6285169aa5..123bf616e7 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml @@ -5,6 +5,7 @@ <nb_visits>21</nb_visits> <nb_hits>30</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>3.865</sum_time_generation> <nb_hits_with_time_generation>10</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -19,6 +20,7 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>34</sum_time_spent> + <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -40,6 +42,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -61,6 +64,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -78,9 +82,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>2</entry_nb_actions> <entry_sum_visit_length>182</entry_sum_visit_length> @@ -90,7 +91,6 @@ <avg_time_on_page>180</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -99,6 +99,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -113,16 +114,12 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <exit_nb_visits>1</exit_nb_visits> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors> <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -131,6 +128,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -149,9 +147,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -163,7 +158,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -172,6 +166,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -190,9 +185,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -204,7 +196,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> </row> </subtable> </row> @@ -213,6 +204,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -232,6 +224,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -248,6 +241,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -266,6 +260,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -289,6 +284,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>7</sum_time_spent> + <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -305,6 +301,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -326,6 +323,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -347,6 +345,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -368,6 +367,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -389,6 +389,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -410,6 +411,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml index 4ce246f6cf..505f899146 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml @@ -5,6 +5,7 @@ <nb_visits>9</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.724</sum_time_generation> <nb_hits_with_time_generation>7</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -23,6 +24,7 @@ <nb_visits>6</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>170</sum_time_spent> + <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -41,6 +43,7 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -59,6 +62,7 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> + <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -83,6 +87,7 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -101,6 +106,7 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> + <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -127,6 +133,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -145,6 +152,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -163,9 +171,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -174,16 +179,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -195,7 +196,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/blog/2012/08/survey-your-opinion-matters/</url> </row> </subtable> @@ -207,6 +207,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -225,6 +226,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -243,6 +245,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -271,6 +274,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -289,6 +293,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -307,6 +312,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -325,6 +331,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -355,6 +362,7 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>34</sum_time_spent> + <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -377,6 +385,7 @@ <nb_visits>6</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>1.02</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -395,6 +404,7 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -413,6 +423,7 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -437,6 +448,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -459,6 +471,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -477,6 +490,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -501,6 +515,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -519,9 +534,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -533,7 +545,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/docs/manage-users/</url> </row> </subtable> @@ -545,6 +556,7 @@ <nb_visits>5</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -563,6 +575,7 @@ <nb_visits>3</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>52</sum_time_spent> + <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -585,6 +598,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -603,9 +617,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -617,7 +628,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/faq/how-to/</url> </row> </subtable> @@ -627,6 +637,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -645,9 +656,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -659,7 +667,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/faq/how-to-install/</url> </row> </subtable> @@ -671,6 +678,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>7</sum_time_spent> + <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -689,6 +697,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>7</sum_time_spent> + <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -704,6 +713,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -722,9 +732,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -736,7 +743,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/download/counter/</url> </row> </subtable> @@ -748,6 +754,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -766,6 +773,7 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -790,6 +798,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -812,6 +821,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -834,6 +844,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -854,6 +865,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -876,6 +888,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -893,6 +906,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -915,6 +929,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -932,9 +947,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>2</entry_nb_actions> <entry_sum_visit_length>81</entry_sum_visit_length> @@ -944,7 +956,6 @@ <avg_time_on_page>79</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.org/changelog/</url> </row> </subtable> @@ -954,6 +965,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -968,16 +980,12 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <exit_nb_visits>1</exit_nb_visits> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors> <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.org/contact/</url> </row> </subtable> @@ -987,6 +995,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1005,9 +1014,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1019,7 +1025,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/hosting/</url> </row> </subtable> @@ -1029,6 +1034,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1047,9 +1053,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1061,7 +1064,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/intranet-analytics/</url> </row> </subtable> @@ -1071,6 +1073,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1089,9 +1092,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1103,7 +1103,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/newsletter/</url> </row> </subtable> @@ -1113,6 +1112,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1131,9 +1131,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1142,16 +1139,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>not</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1160,16 +1153,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>the</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1178,16 +1167,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>page</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1196,16 +1181,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>i</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1214,16 +1195,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>am</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1232,16 +1209,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>looking</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1250,16 +1223,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>for</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation>0</max_time_generation> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1268,16 +1237,12 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <subtable> <row> <label>/index</label> <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1289,7 +1254,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/this/is/not/the/page/i/am/looking/for/</url> </row> </subtable> @@ -1315,6 +1279,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1333,9 +1298,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <entry_nb_visits>1</entry_nb_visits> <entry_nb_actions>1</entry_nb_actions> <entry_sum_visit_length>0</entry_sum_visit_length> @@ -1347,7 +1309,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.net/translations/</url> </row> </subtable> @@ -1357,6 +1318,7 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> + <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1371,16 +1333,12 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <nb_hits_with_time_generation>0</nb_hits_with_time_generation> - <min_time_generation /> - <max_time_generation /> <exit_nb_visits>1</exit_nb_visits> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors> <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://piwik.org/what-is-piwisk/</url> </row> </subtable> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml index a87ec05ee3..54b28f8871 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>1</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <sum_time_generation>5.72</sum_time_generation> + <nb_hits_with_time_generation>19</nb_hits_with_time_generation> <avg_time_generation>0.301</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml index 7079af5413..d1f2bda02f 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml @@ -3,43 +3,43 @@ <row> <label>Cookie</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>9.5%</nb_visits_percentage> + <nb_visits_percentage>10%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/cookie.gif</logo> </row> <row> <label>Flash</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>9.5%</nb_visits_percentage> + <nb_visits_percentage>10%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/flash.gif</logo> </row> <row> <label>Java</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>9.5%</nb_visits_percentage> + <nb_visits_percentage>10%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/java.gif</logo> </row> <row> <label>Director</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/director.gif</logo> </row> <row> <label>Gears</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/gears.gif</logo> </row> <row> <label>Pdf</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/pdf.gif</logo> </row> <row> <label>Windowsmedia</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/windowsmedia.gif</logo> </row> <row> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml index a1ec37b5bf..d7672ae30c 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml @@ -3,7 +3,7 @@ <row> <label>1 visit</label> <nb_visits>33</nb_visits> - <nb_visits_percentage>82.5%</nb_visits_percentage> + <nb_visits_percentage>83%</nb_visits_percentage> </row> <row> <label>2 visits</label> @@ -18,7 +18,7 @@ <row> <label>4 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>2.5%</nb_visits_percentage> + <nb_visits_percentage>3%</nb_visits_percentage> </row> <row> <label>5 visits</label> @@ -33,7 +33,7 @@ <row> <label>7 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>2.5%</nb_visits_percentage> + <nb_visits_percentage>3%</nb_visits_percentage> </row> <row> <label>8 visits</label> @@ -58,7 +58,7 @@ <row> <label>51-100 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>2.5%</nb_visits_percentage> + <nb_visits_percentage>3%</nb_visits_percentage> </row> <row> <label>101-200 visits</label> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml index 19b70949f1..327d564f47 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ <bounce_count>25</bounce_count> <sum_visit_length>305</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>92.59%</bounce_rate> - <nb_actions_per_visit>1.11</nb_actions_per_visit> + <bounce_rate>93%</bounce_rate> + <nb_actions_per_visit>1.1</nb_actions_per_visit> <avg_time_on_site>11</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml index e04ea4296d..84ad08455d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>2</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <sum_time_generation>0.62</sum_time_generation> + <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.155</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index 4fecaeba84..95ce6d8b14 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml index 0eea12ac0b..e0100fe3a7 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>2</nb_uniq_outlinks> <nb_searches>1</nb_searches> <nb_keywords>1</nb_keywords> + <sum_time_generation>0.62</sum_time_generation> + <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.155</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 456ac0aa7b..af5e6a1ade 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -51,12 +51,13 @@ </metricsDocumentation> <processedMetrics> <avg_time_generation>Avg. generation time</avg_time_generation> + <avg_order_revenue>Average Order Value</avg_order_revenue> <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> <bounce_rate_returning>Bounce Rate for Returning Visits</bounce_rate_returning> <bounce_rate>Bounce Rate</bounce_rate> <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> - <avg_time_on_site>Avg. Time on Website</avg_time_on_site> + <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -341,11 +342,13 @@ <documentation>This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content.</documentation> <metrics> <nb_visits>Visits</nb_visits> - <nb_visits_percentage>% Visits</nb_visits_percentage> </metrics> <metricsDocumentation> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> </metricsDocumentation> + <processedMetrics> + <nb_visits_percentage>% Visits</nb_visits_percentage> + </processedMetrics> <constantRowsCount>1</constantRowsCount> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=UserSettings&apiAction=getPlugin&period=day&date=2009-01-04</imageGraphUrl> <uniqueId>UserSettings_getPlugin</uniqueId> @@ -565,11 +568,13 @@ <revenue_shipping>Shipping</revenue_shipping> <revenue_discount>Discount</revenue_discount> <items>Purchased Products</items> - <avg_order_revenue>Average Order Value</avg_order_revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceOrder&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceOrder&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--ecommerceOrder</uniqueId> @@ -623,6 +628,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceAbandonedCart&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceAbandonedCart&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--ecommerceAbandonedCart</uniqueId> @@ -804,9 +812,7 @@ <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </processedMetrics> <actionToLoadSubTables>getEntryPageUrls</actionToLoadSubTables> @@ -834,8 +840,6 @@ <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </processedMetrics> @@ -894,9 +898,7 @@ <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </processedMetrics> <actionToLoadSubTables>getEntryPageTitles</actionToLoadSubTables> @@ -924,8 +926,6 @@ <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> <exit_rate>Exit rate</exit_rate> <avg_time_generation>Avg. generation time</avg_time_generation> </processedMetrics> @@ -1472,6 +1472,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_get</uniqueId> @@ -1533,6 +1536,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--1</uniqueId> @@ -1586,6 +1592,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=2&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=2&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--2</uniqueId> @@ -1639,6 +1648,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=3&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=3&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--3</uniqueId> diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv index 063947e09b..26adb45055 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv index 2ad19ac5f5..58e88ae47a 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv index 993b297d22..7315bde871 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml index 358467f45e..a1494e0f0f 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml @@ -19,6 +19,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2011-03-07,2011-04-05</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2011-03-07,2011-04-05</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--1</uniqueId> @@ -28,12 +31,14 @@ <nb_visits_converted>Visits with Conversions</nb_visits_converted> <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> + <avg_order_revenue>Average Order Value</avg_order_revenue> </columns> <reportData> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> <conversion_rate>33.33%</conversion_rate> <revenue>$ 10</revenue> + <avg_order_revenue>$ 0</avg_order_revenue> </reportData> <reportMetadata /> <reportTotal> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml index 795e631e81..d280a3f8e3 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml @@ -20,11 +20,13 @@ <revenue_shipping>Shipping</revenue_shipping> <revenue_discount>Discount</revenue_discount> <items>Purchased Products</items> - <avg_order_revenue>Average Order Value</avg_order_revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceOrder&period=day&date=2011-03-07,2011-04-05</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceOrder&period=day&date=2011-03-07,2011-04-05</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--ecommerceOrder</uniqueId> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml index bd9117bce7..115904be39 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml @@ -9,6 +9,6 @@ <sum_visit_length>5403</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>4.33</nb_actions_per_visit> + <nb_actions_per_visit>4.3</nb_actions_per_visit> <avg_time_on_site>1801</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml index 9efeb67c66..077a490219 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml @@ -49,9 +49,9 @@ <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> <revenue>$ 1000</revenue> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>00:04:02</avg_time_on_site> - <bounce_rate>66.67%</bounce_rate> + <bounce_rate>67%</bounce_rate> </row> </reportData> <reportMetadata> diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml index 846caa395f..4a5151e912 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml @@ -6,7 +6,7 @@ <bounce_count>2</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>66.67%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <bounce_rate>67%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>242</avg_time_on_site> </result> \ No newline at end of file -- cgit v1.2.3 From 35d22218de45728c644481ae7a4576ec62a4aada Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 18:04:44 -0800 Subject: Fixing more tests. --- ...estsCampaignTracking__VisitsSummary.get_day.xml | 2 +- ...on_entryPageTitles__API.getRowEvolution_day.xml | 28 ------- ...rstSite_lastN__API.getProcessedReport_month.xml | 4 +- ...sites_differentDays__VisitsSummary.get_week.xml | 2 +- ...rentDays_idSiteOne___VisitsSummary.get_week.xml | 2 +- ...eduledReports.generateReport_month.original.csv | 32 ++++---- ...duledReports.generateReport_month.original.html | 88 +++------------------ ...est_UserId_VisitorId__VisitsSummary.get_day.xml | 2 +- ...t_UserId_VisitorId__VisitsSummary.get_month.xml | 2 +- ...st_UserId_VisitorId__VisitsSummary.get_week.xml | 2 +- ...st_UserId_VisitorId__VisitsSummary.get_year.xml | 2 +- ...t_AbandonedCart__API.getProcessedReport_day.xml | 5 ++ ...tReturningCustomers__VisitsSummary.get_week.xml | 2 +- ...heduledReports.generateReport_week.original.csv | 36 ++++----- ...eduledReports.generateReport_week.original.html | 92 ++++++---------------- ...sWithCustomVariables__VisitsSummary.get_day.xml | 2 +- ...WithCustomVariables__VisitsSummary.get_week.xml | 2 +- ...tMatchALL_noGoalData__VisitsSummary.get_day.xml | 4 +- ...MatchALL_noGoalData__VisitsSummary.get_week.xml | 4 +- 19 files changed, 92 insertions(+), 221 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml index 7cc1ec61c8..78c6610886 100644 --- a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml @@ -9,6 +9,6 @@ <sum_visit_length>1084</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> - <nb_actions_per_visit>0.88</nb_actions_per_visit> + <nb_actions_per_visit>0.9</nb_actions_per_visit> <avg_time_on_site>136</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml b/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml index 26e135654f..71e2b84f9a 100644 --- a/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml +++ b/tests/PHPUnit/System/expected/test_RowEvolution_entryPageTitles__API.getRowEvolution_day.xml @@ -7,9 +7,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>2.8</avg_time_generation> </row> </result> @@ -19,9 +17,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>2.5</avg_time_generation> </row> </result> @@ -31,9 +27,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>2.2</avg_time_generation> </row> </result> @@ -43,9 +37,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>1.9</avg_time_generation> </row> </result> @@ -55,9 +47,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>1.6</avg_time_generation> </row> </result> @@ -67,9 +57,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>1.3</avg_time_generation> </row> </result> @@ -79,9 +67,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>1</avg_time_generation> </row> </result> @@ -91,9 +77,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>0.7</avg_time_generation> </row> </result> @@ -103,9 +87,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>0.4</avg_time_generation> </row> </result> @@ -115,9 +97,7 @@ <row> <entry_nb_visits>1</entry_nb_visits> <entry_bounce_count>1</entry_bounce_count> - <avg_time_on_page>0</avg_time_on_page> <bounce_rate>100%</bounce_rate> - <exit_rate>100%</exit_rate> <avg_time_generation>0.1</avg_time_generation> </row> </result> @@ -134,19 +114,11 @@ <min>0</min> <max>1</max> </entry_bounce_count> - <avg_time_on_page> - <name>Avg. time on page</name> - </avg_time_on_page> <bounce_rate> <name>Bounce Rate</name> <min>0</min> <max>100</max> </bounce_rate> - <exit_rate> - <name>Exit rate</name> - <min>0</min> - <max>100</max> - </exit_rate> <avg_time_generation> <name>Avg. generation time</name> <min>0</min> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml index d2c8572231..bc50ef604a 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml @@ -51,7 +51,7 @@ <label>_pk_scount</label> <nb_visits>7</nb_visits> <nb_actions>9</nb_actions> - <nb_actions_per_visit>1.29</nb_actions_per_visit> + <nb_actions_per_visit>1.3</nb_actions_per_visit> <avg_time_on_site>00:00:00</avg_time_on_site> <bounce_rate>0%</bounce_rate> <revenue>$ 0</revenue> @@ -60,7 +60,7 @@ <label>_pk_scat</label> <nb_visits>4</nb_visits> <nb_actions>5</nb_actions> - <nb_actions_per_visit>1.25</nb_actions_per_visit> + <nb_actions_per_visit>1.3</nb_actions_per_visit> <avg_time_on_site>00:00:00</avg_time_on_site> <bounce_rate>0%</bounce_rate> <revenue>$ 0</revenue> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml index 81c0d186d9..f754acd177 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml @@ -24,7 +24,7 @@ <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>4.57</nb_actions_per_visit> + <nb_actions_per_visit>4.6</nb_actions_per_visit> <avg_time_on_site>824</avg_time_on_site> </result> <result date="From 2010-01-11 to 2010-01-17"> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml index e4f6810c8f..bb7f2a5509 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml @@ -23,7 +23,7 @@ <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> - <nb_actions_per_visit>4.57</nb_actions_per_visit> + <nb_actions_per_visit>4.6</nb_actions_per_visit> <avg_time_on_site>824</avg_time_on_site> </result> <result date="From 2010-01-11 to 2010-01-17"> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index 1a281cce48..a3e7fe499b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -73,7 +73,7 @@ Sunday,2,6,0%,3,00:07:31,50% Screen Resolution label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -800x300,9,41,0%,4.56,00:13:21,11.11% +800x300,9,41,0%,4.6,00:13:21,11% 1024x768,1,2,0%,2,00:06:01,0% Visitor Browser @@ -103,7 +103,7 @@ Windowsmedia,0,0% Normal / Widescreen label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -Dual,9,41,0%,4.56,00:13:21,11.11% +Dual,9,41,0%,4.6,00:13:21,11% Normal,1,2,0%,2,00:06:01,0% Operating System @@ -150,14 +150,14 @@ Page URL not defined,9,17,0%,00:00:00,0%,0.22s /products,1,1,100%,00:00:00,100%,0.15s Entry pages -label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate,avg_time_generation -/index.htm,8,0,00:05:20,0%,0%,0.3s -/products,1,1,00:00:00,100%,100%,0.15s +label,entry_nb_visits,entry_bounce_count,bounce_rate,avg_time_generation +/index.htm,8,0,0%,0.3s +/products,1,1,100%,0.15s Exit pages -label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation -/thankyou,8,8,0%,00:06:00,100%,0.31s -/products,1,1,100%,00:00:00,100%,0.15s +label,nb_visits,exit_nb_visits,exit_rate,avg_time_generation +/thankyou,8,8,100%,0.31s +/products,1,1,100%,0.15s Page titles label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation @@ -167,14 +167,14 @@ Checkout,8,8,0%,00:00:00,100%,0.45s Page Name not defined,1,1,0%,00:00:00,0%,0.22s Entry page titles -label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate,avg_time_generation -second visitor,8,0,00:07:30,0%,0%,0.25s - first page view,1,1,00:00:00,100%,50%,0.14s +label,entry_nb_visits,entry_bounce_count,bounce_rate,avg_time_generation +second visitor,8,0,0%,0.25s + first page view,1,1,100%,0.14s Exit page titles -label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation -Checkout,8,8,0%,00:00:00,100%,0.45s - first page view,2,1,100%,00:00:00,50%,0.14s +label,nb_visits,exit_nb_visits,exit_rate,avg_time_generation +Checkout,8,8,100%,0.45s + first page view,2,1,50%,0.14s Outlinks No data available @@ -241,8 +241,8 @@ Social Networks No data available Goals -nb_conversions,nb_visits_converted,conversion_rate,revenue -0,0,0%,$ 0 +nb_conversions,nb_visits_converted,conversion_rate,revenue,avg_order_revenue +0,0,0%,$ 0,$ 0 Visits to Conversion No data available diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 4842a2b75e..9304d6a626 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -1936,13 +1936,13 @@ 41 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4.56 + 4.6 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 00:13:21 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 11.11% + 11% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -2400,13 +2400,13 @@ 41 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4.56 + 4.6 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 00:13:21 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 11.11% + 11% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -3248,15 +3248,9 @@ </th> <th style="padding: 6px 0;">  Bounces   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   - </th> - <th style="padding: 6px 0;"> -  Exit rate   </th> <th style="padding: 6px 0;">  Avg. generation time   @@ -3275,12 +3269,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:05:20 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> @@ -3300,12 +3288,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -3335,12 +3317,6 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   - </th> - <th style="padding: 6px 0;"> -  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -3362,12 +3338,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 8 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -3387,12 +3357,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -3551,15 +3515,9 @@ </th> <th style="padding: 6px 0;">  Bounces   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   - </th> - <th style="padding: 6px 0;"> -  Exit rate   </th> <th style="padding: 6px 0;">  Avg. generation time   @@ -3576,12 +3534,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:07:30 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> @@ -3599,15 +3551,9 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 50% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0.14s </td> @@ -3634,12 +3580,6 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   - </th> - <th style="padding: 6px 0;"> -  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -3659,12 +3599,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 8 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -3682,12 +3616,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 50% </td> @@ -4132,6 +4060,14 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> $ 0 </td> + </tr> + + <tr style=""> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + Average Order Value </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + $ 0 + </td> </tr> </tbody> </table> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index 78c7fece6b..ca85e8dede 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -9,6 +9,6 @@ <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>331</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index 6bc01c80ac..7731535795 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -8,7 +8,7 @@ <bounce_count>5</bounce_count> <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>62.5%</bounce_rate> + <bounce_rate>63%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> <avg_time_on_site>248</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index 78c7fece6b..ca85e8dede 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -9,6 +9,6 @@ <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>331</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index dba6ef57d1..84850ee827 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -6,7 +6,7 @@ <bounce_count>5</bounce_count> <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>62.5%</bounce_rate> + <bounce_rate>63%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> <avg_time_on_site>248</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml index 65e862ccc6..77c4d9cfc9 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml @@ -19,6 +19,9 @@ <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> + <processedMetrics> + <avg_order_revenue>Average Order Value</avg_order_revenue> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceAbandonedCart&period=day&date=2011-03-07,2011-04-05</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=ecommerceAbandonedCart&period=day&date=2011-03-07,2011-04-05</imageGraphEvolutionUrl> <uniqueId>Goals_get_idGoal--ecommerceAbandonedCart</uniqueId> @@ -28,12 +31,14 @@ <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue left in cart</revenue> <items>Products left in cart</items> + <avg_order_revenue>Average Order Value</avg_order_revenue> </columns> <reportData> <nb_conversions>2</nb_conversions> <conversion_rate>66.67%</conversion_rate> <revenue>$ 5020.22</revenue> <items>8</items> + <avg_order_revenue>$ 0</avg_order_revenue> </reportData> <reportMetadata /> <reportTotal> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml index fc0095a9b6..02458f0645 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml @@ -8,7 +8,7 @@ <bounce_count>1</bounce_count> <sum_visit_length>2165</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>33.33%</bounce_rate> + <bounce_rate>33%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>722</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index 2cc4b74eb2..fe483e691d 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -64,7 +64,7 @@ label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site Visits by Day of Week label,nb_visits,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate,nb_actions Monday,0,0%,0,00:00:00,0%,0 -Tuesday,3,66.67%,4.33,00:30:01,0%,13 +Tuesday,3,66.67%,4.3,00:30:01,0%,13 Wednesday,2,100%,1.5,00:12:02,50%,3 Thursday,0,0%,0,00:00:00,0%,0 Friday,0,0%,0,00:00:00,0%,0 @@ -165,8 +165,8 @@ label,nb_conversions 365+ days,0 Abandoned Carts -nb_conversions,conversion_rate,revenue,items -3,60%,$ 7530.33,12 +nb_conversions,conversion_rate,revenue,items,avg_order_revenue +3,60%,$ 7530.33,12,$ 0 Abandoned Carts - Visits to Conversion label,nb_conversions @@ -238,12 +238,12 @@ label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate /index.htm,4,16,0%,00:13:30,100% Entry pages -label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate -/index.htm,3,0,00:13:30,0%,100% +label,entry_nb_visits,entry_bounce_count,bounce_rate +/index.htm,3,0,0% Exit pages -label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate -/index.htm,4,4,0%,00:13:30,100% +label,nb_visits,exit_nb_visits,exit_rate +/index.htm,4,4,100% Page titles label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate @@ -257,15 +257,15 @@ label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate Looking at product page,1,1,0%,00:12:00,0% Entry page titles -label,entry_nb_visits,entry_bounce_count,avg_time_on_page,bounce_rate,exit_rate - View product left in cart,1,0,00:06:00,0%,100% - incredible title!,1,0,00:06:00,0%,0% - Looking at Electronics & Cameras page with a page level custom variable,1,0,00:06:00,0%,0% +label,entry_nb_visits,entry_bounce_count,bounce_rate + View product left in cart,1,0,0% + incredible title!,1,0,0% + Looking at Electronics & Cameras page with a page level custom variable,1,0,0% Exit page titles -label,nb_visits,exit_nb_visits,bounce_rate,avg_time_on_page,exit_rate - View product left in cart,3,3,0%,00:06:00,100% - Another Product page with multiple categories,1,1,0%,00:00:00,100% +label,nb_visits,exit_nb_visits,exit_rate + View product left in cart,3,3,100% + Another Product page with multiple categories,1,1,100% Outlinks No data available @@ -326,8 +326,8 @@ Social Networks No data available Goals -nb_conversions,nb_visits_converted,conversion_rate,revenue -5,4,80%,$ 13361.11 +nb_conversions,nb_visits_converted,conversion_rate,revenue,avg_order_revenue +5,4,80%,$ 13361.11,$ 0 Visits to Conversion label,nb_conversions,revenue @@ -363,8 +363,8 @@ label,nb_conversions,revenue 365+ days,0,$ 0 Goal title match triggered ONCE -nb_conversions,nb_visits_converted,conversion_rate,revenue -1,1,20%,$ 10 +nb_conversions,nb_visits_converted,conversion_rate,revenue,avg_order_revenue +1,1,20%,$ 10,$ 0 title match triggered ONCE - Visits to Conversion label,nb_conversions diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index 8ea1ea2752..aa496b9878 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -1821,7 +1821,7 @@ 13 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4.33 + 4.3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 00:30:01 @@ -3201,6 +3201,14 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 12 </td> + </tr> + + <tr style=""> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + Average Order Value </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + $ 0 + </td> </tr> </tbody> </table> @@ -4240,15 +4248,9 @@ </th> <th style="padding: 6px 0;">  Bounces   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   - </th> - <th style="padding: 6px 0;"> -  Exit rate   </th> </thead> <tbody> @@ -4264,15 +4266,9 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:13:30 - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% - </td> </tr> </tbody> </table> @@ -4296,12 +4292,6 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   - </th> - <th style="padding: 6px 0;"> -  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -4320,12 +4310,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 4 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:13:30 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -4546,15 +4530,9 @@ </th> <th style="padding: 6px 0;">  Bounces   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   </th> <th style="padding: 6px 0;">  Bounce Rate   - </th> - <th style="padding: 6px 0;"> -  Exit rate   </th> </thead> <tbody> @@ -4568,15 +4546,9 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% - </td> </tr> <tr style="background-color: rgb(249,250,250)"> @@ -4588,12 +4560,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> @@ -4608,12 +4574,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> @@ -4640,12 +4600,6 @@ </th> <th style="padding: 6px 0;">  Unique Pageviews   - </th> - <th style="padding: 6px 0;"> -  Avg. time on page   - </th> - <th style="padding: 6px 0;"> -  Bounce Rate   </th> <th style="padding: 6px 0;">  Exit rate   @@ -4662,12 +4616,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 3 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -4682,12 +4630,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 100% </td> @@ -4895,6 +4837,14 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> $ 13361.11 </td> + </tr> + + <tr style=""> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + Average Order Value </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + $ 0 + </td> </tr> </tbody> </table> @@ -5296,6 +5246,14 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> $ 10 </td> + </tr> + + <tr style=""> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + Average Order Value </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + $ 0 + </td> </tr> </tbody> </table> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml index 332390c3aa..ab7f9f9a18 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml @@ -10,7 +10,7 @@ <bounce_count>2</bounce_count> <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> - <bounce_rate>66.67%</bounce_rate> + <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>241</avg_time_on_site> </result> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml index b59e7a9f7e..b5e37b20aa 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml @@ -10,7 +10,7 @@ <bounce_count>2</bounce_count> <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> - <bounce_rate>66.67%</bounce_rate> + <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>241</avg_time_on_site> </result> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml index 9cd5dcf54b..283758c4ec 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml @@ -10,8 +10,8 @@ <bounce_count>2</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>66.67%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <bounce_rate>67%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>242</avg_time_on_site> </result> <result date="2010-01-04" /> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml index 238bc50c67..4dab22a018 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml @@ -10,8 +10,8 @@ <bounce_count>2</bounce_count> <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> - <bounce_rate>66.67%</bounce_rate> - <nb_actions_per_visit>1.67</nb_actions_per_visit> + <bounce_rate>67%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> <avg_time_on_site>242</avg_time_on_site> </result> <result date="From 2010-01-04 to 2010-01-10" /> -- cgit v1.2.3 From dc5d258fbecb07c0536e9f118e1efac6c0b072fa Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 18:49:36 -0800 Subject: Fixing UI regression and adding avg_order_value to abandoned carts report. --- core/API/DataTablePostProcessor.php | 6 ------ plugins/Actions/API.php | 6 +++--- plugins/Goals/API.php | 13 ++++++++----- plugins/VisitsSummary/API.php | 5 +++-- .../test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 1682 -> 1754 bytes 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index ddff42fd05..3e6deae6b3 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -195,12 +195,6 @@ class DataTablePostProcessor // after queued filters are run so processed metrics can be removed, too) $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request); $showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request); - if (empty($showColumns)) { - // if 'columns' is used, we remove all temporary metrics by showing only the columns specified in - // 'columns' - $showColumns = Common::getRequestVar('columns', '', 'string', $this->request); - } - if (!empty($hideColumns) || !empty($showColumns) ) { diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index 7fcde2f144..4b730c0c07 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -57,15 +57,15 @@ class API extends \Piwik\Plugin\API Piwik::checkUserHasViewAccess($idSite); $archive = Archive::build($idSite, $period, $date, $segment); - $columns = Piwik::getArrayFromApiParameter($columns); - $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $columns); + $requestedColumns = Piwik::getArrayFromApiParameter($columns); + $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $requestedColumns); $inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns); $dataTable = $archive->getDataTableFromNumeric($inDbColumnNames); + $dataTable->deleteColumns(array_diff($requestedColumns, $columns)); $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); - return $dataTable; } diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index b807a024ce..22bfcb5788 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -333,8 +333,8 @@ class API extends \Piwik\Plugin\API $allMetrics = Goals::getGoalColumns($idGoal); - $columns = Piwik::getArrayFromApiParameter($columns); - $columnsToGet = Report::factory("Goals", "get")->getMetricsRequiredForReport($allMetrics, $columns); + $requestedColumns = Piwik::getArrayFromApiParameter($columns); + $columnsToGet = Report::factory("Goals", "get")->getMetricsRequiredForReport($allMetrics, $requestedColumns); $inDbMetricNames = array_map(function ($value) use ($idGoal) { return Archiver::getRecordName($value, $idGoal); }, $columnsToGet); $dataTable = $archive->getDataTableFromNumeric($inDbMetricNames); @@ -342,12 +342,15 @@ class API extends \Piwik\Plugin\API $newNameMapping = array_combine($inDbMetricNames, $columnsToGet); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); + $dataTable->deleteColumns(array_diff($requestedColumns, $columnsToGet)); + // TODO: this should be in Goals/Get.php but it depends on idGoal parameter which isn't always in _GET (ie, // it's not in ProcessedReport.php). more refactoring must be done to report class before this can be // corrected. - if ((in_array('avg_order_revenue', $columns) - || empty($columns)) - && $idGoal === GoalManager::IDGOAL_ORDER + if ((in_array('avg_order_revenue', $requestedColumns) + || empty($requestedColumns)) + && ($idGoal === GoalManager::IDGOAL_ORDER + || $idGoal === GoalManager::IDGOAL_CART) ) { $dataTable->filter(function (DataTable $table) { $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 81fd49f8df..0530fd7ae3 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -28,12 +28,13 @@ class API extends \Piwik\Plugin\API Piwik::checkUserHasViewAccess($idSite); $archive = Archive::build($idSite, $period, $date, $segment); - $columns = Piwik::getArrayFromApiParameter($columns); + $requestedColumns = Piwik::getArrayFromApiParameter($columns); $report = Report::factory("VisitsSummary", "get"); - $columns = $report->getMetricsRequiredForReport($this->getCoreColumns($period), $columns); + $columns = $report->getMetricsRequiredForReport($this->getCoreColumns($period), $requestedColumns); $dataTable = $archive->getDataTableFromNumeric($columns); + $dataTable->deleteColumns(array_diff($requestedColumns, $columns)); return $dataTable; } diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index 95ce6d8b14..9ca1f08519 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ -- cgit v1.2.3 From 983535f3d749e1b95b3a4b22305c2627902c1de7 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 10 Nov 2014 23:24:27 -0800 Subject: Fixing goals UI tests. --- core/API/DataTablePostProcessor.php | 40 ++++++++++------------ core/Plugin/Metric.php | 7 ++-- core/Plugin/Visualization.php | 17 ++++----- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 5 ++- plugins/Goals/Metrics/GoalSpecific/Conversions.php | 5 ++- plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 5 ++- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 5 ++- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 7 ++-- plugins/Goals/Metrics/RevenuePerVisit.php | 2 +- plugins/Goals/Reports/BaseEcommerceItem.php | 9 +++-- .../test_apiGetReportMetadata__API.get_day.xml | 1 + 11 files changed, 62 insertions(+), 41 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 3e6deae6b3..fd761dad15 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -72,21 +72,17 @@ class DataTablePostProcessor */ public function process(DataTableInterface $dataTable, $applyFormatting = true) { - $label = self::getLabelFromRequest($this->request); - $dataTable = $this->applyPivotByFilter($dataTable); $dataTable = $this->applyFlattener($dataTable); $dataTable = $this->applyTotalsCalculator($dataTable); - $dataTable = $this->applyGenericFilters($label, $dataTable); - - $this->applyComputeProcessedMetrics($dataTable); + $dataTable = $this->applyGenericFilters($dataTable); // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); $dataTable = $this->applyQueuedFilters($dataTable); $dataTable = $this->applyRequestedColumnDeletion($dataTable); - $dataTable = $this->applyLabelFilter($label, $dataTable); + $dataTable = $this->applyLabelFilter($dataTable); $dataTable = $this->applyProcessedMetricsFormatting($dataTable, $applyFormatting); @@ -97,7 +93,7 @@ class DataTablePostProcessor * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyPivotByFilter(DataTableInterface $dataTable) + public function applyPivotByFilter(DataTableInterface $dataTable) { $pivotBy = Common::getRequestVar('pivotBy', false, 'string', $this->request); if (!empty($pivotBy)) { @@ -117,7 +113,7 @@ class DataTablePostProcessor * @param DataTableInterface $dataTable * @return DataTable|DataTableInterface|DataTable\Map */ - private function applyFlattener($dataTable) + public function applyFlattener($dataTable) { if (Common::getRequestVar('flat', '0', 'string', $this->request) == '1') { $flattener = new Flattener($this->apiModule, $this->apiMethod, $this->request); @@ -133,7 +129,7 @@ class DataTablePostProcessor * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyTotalsCalculator($dataTable) + public function applyTotalsCalculator($dataTable) { if (1 == Common::getRequestVar('totals', '1', 'integer', $this->request)) { $reportTotalsCalculator = new ReportTotalsCalculator($this->apiModule, $this->apiMethod, $this->request); @@ -143,14 +139,15 @@ class DataTablePostProcessor } /** - * @param string $label * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyGenericFilters($label, $dataTable) + public function applyGenericFilters($dataTable) { // if the flag disable_generic_filters is defined we skip the generic filters if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { + $label = self::getLabelFromRequest($this->request); + $genericFilter = new DataTableGenericFilter($this->request); $self = $this; @@ -176,7 +173,7 @@ class DataTablePostProcessor * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyQueuedFilters($dataTable) + public function applyQueuedFilters($dataTable) { // if the flag disable_queued_filters is defined we skip the filters that were queued if (Common::getRequestVar('disable_queued_filters', 0, 'int', $this->request) == 0) { @@ -189,7 +186,7 @@ class DataTablePostProcessor * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyRequestedColumnDeletion($dataTable) + public function applyRequestedColumnDeletion($dataTable) { // use the ColumnDelete filter if hideColumns/showColumns is provided (must be done // after queued filters are run so processed metrics can be removed, too) @@ -205,12 +202,13 @@ class DataTablePostProcessor } /** - * @param string $label * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyLabelFilter($label, $dataTable) + public function applyLabelFilter($dataTable) { + $label = self::getLabelFromRequest($this->request); + // apply label filter: only return rows matching the label parameter (more than one if more than one label) if (!empty($label)) { $addLabelIndex = Common::getRequestVar('labelFilterAddLabelIndex', 0, 'int', $this->request) == 1; @@ -225,7 +223,7 @@ class DataTablePostProcessor * @param DataTableInterface $dataTable * @return DataTableInterface */ - private function applyProcessedMetricsFormatting($dataTable, $applyFormatting) + public function applyProcessedMetricsFormatting($dataTable, $applyFormatting) { if ($applyFormatting) { $dataTable->filter(array($this, 'formatProcessedMetrics')); @@ -271,13 +269,13 @@ class DataTablePostProcessor return; } - $dataTable->setMetadata(self::PROCESSED_METRICS_COMPUTED_FLAG, true); - $processedMetrics = $this->getProcessedMetricsFor($dataTable, $this->report); if (empty($processedMetrics)) { return; } + $dataTable->setMetadata(self::PROCESSED_METRICS_COMPUTED_FLAG, true); + foreach ($processedMetrics as $name => $processedMetric) { if (!$processedMetric->beforeCompute($this->report, $dataTable)) { continue; @@ -305,13 +303,13 @@ class DataTablePostProcessor return; } - $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); - $processedMetrics = $this->getProcessedMetricsFor($dataTable, $this->report); if (empty($processedMetrics)) { return; } + $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); + foreach ($dataTable->getRows() as $row) { foreach ($processedMetrics as $name => $processedMetric) { $columnValue = $row->getColumn($name); @@ -351,7 +349,7 @@ class DataTablePostProcessor return $result; } - private function applyComputeProcessedMetrics(DataTableInterface $dataTable) + public function applyComputeProcessedMetrics(DataTableInterface $dataTable) { $dataTable->filter(array($this, 'computeProcessedMetrics')); } diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 06068df7e5..9200c0a607 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -91,7 +91,7 @@ abstract class Metric */ public static function getMetric($row, $columnName, $mappingNameToId = null) { - if (empty($mappingIdToName)) { + if (empty($mappingNameToId)) { $mappingNameToId = Metrics::getMappingFromNameToId(); } @@ -104,10 +104,11 @@ abstract class Metric } } else { $value = @$row[$columnName]; - if ($value === false + if ($value === null && isset($mappingNameToId[$columnName]) ) { - $value = $row[$mappingNameToId[$columnName]]; + $columnName = $mappingNameToId[$columnName]; + $value = @$row[$columnName]; } return $value; } diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index e7e79c62e2..cb92727d55 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -9,6 +9,7 @@ namespace Piwik\Plugin; +use Piwik\API\DataTablePostProcessor; use Piwik\Common; use Piwik\DataTable; use Piwik\Date; @@ -163,7 +164,7 @@ class Visualization extends ViewDataTable $this->beforeLoadDataTable(); - $this->loadDataTableFromAPI(array('disable_generic_filters' => 1)); + $this->loadDataTableFromAPI(array('disable_generic_filters' => 1, 'disable_queued_filters' => 1)); $this->postDataTableLoadedFromAPI(); $requestPropertiesAfterLoadDataTable = $this->requestConfig->getProperties(); @@ -308,6 +309,8 @@ class Visualization extends ViewDataTable private function applyFilters() { + $postProcessor = $this->makeDataTablePostProcessor(); + list($priorityFilters, $otherFilters) = $this->config->getFiltersToRun(); // First, filters that delete rows @@ -323,9 +326,11 @@ class Visualization extends ViewDataTable } if (!$this->requestConfig->areGenericFiltersDisabled()) { - $this->applyGenericFilters(); + $this->dataTable = $postProcessor->applyGenericFilters($this->dataTable); } + $postProcessor->applyComputeProcessedMetrics($this->dataTable); + $this->afterGenericFiltersAreAppliedToLoadedDataTable(); // queue other filters so they can be applied later if queued filters are disabled @@ -567,10 +572,7 @@ class Visualization extends ViewDataTable // eg $this->config->showFooterColumns = true; } - /** - * Second, generic filters (Sort, Limit, Replace Column Names, etc.) - */ - private function applyGenericFilters() + private function makeDataTablePostProcessor() { $requestArray = $this->request->getRequestArray(); $request = \Piwik\API\Request::getRequestArrayFromString($requestArray); @@ -580,8 +582,7 @@ class Visualization extends ViewDataTable $request['filter_sort_order'] = ''; } - $genericFilter = new \Piwik\API\DataTableGenericFilter($request); - $genericFilter->filter($this->dataTable); + return new DataTablePostProcessor($this->requestConfig->getApiModuleToRequest(), $this->requestConfig->getApiMethodToRequest(), $request); } private function logMessageIfRequestPropertiesHaveChanged(array $requestPropertiesBefore) diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index 93ce90c3da..48e3a4a4c1 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -44,10 +45,12 @@ class ConversionRate extends GoalSpecificProcessedMetric public function compute(Row $row) { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + $goalMetrics = $this->getGoalMetrics($row); $nbVisits = $this->getMetric($row, 'nb_visits'); - $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION + 2); } diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php index eb8c09e3f0..a9545cf3c9 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Conversions.php +++ b/plugins/Goals/Metrics/GoalSpecific/Conversions.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** @@ -33,7 +34,9 @@ class Conversions extends GoalSpecificProcessedMetric public function compute(Row $row) { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + $goalMetrics = $this->getGoalMetrics($row); - return (int) $this->getMetric($goalMetrics, 'nb_conversions'); + return (int) $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php index 0bafcd6e43..c6d93497b3 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php +++ b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** @@ -33,7 +34,9 @@ class ItemsCount extends GoalSpecificProcessedMetric public function compute(Row $row) { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + $goalMetrics = $this->getGoalMetrics($row); - return (int) $this->getMetric($goalMetrics, 'items'); + return (int) $this->getMetric($goalMetrics, 'items', $mappingFromNameToIdGoal); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php index e3089c20f6..876a53494c 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** @@ -32,7 +33,9 @@ class Revenue extends GoalSpecificProcessedMetric public function compute(Row $row) { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + $goalMetrics = $this->getGoalMetrics($row); - return (float) $this->getMetric($goalMetrics, 'revenue'); + return (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php index 338ab01748..814649b007 100644 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -38,12 +39,14 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric public function compute(Row $row) { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + $goalMetrics = $this->getGoalMetrics($row); $nbVisits = $this->getMetric($row, 'nb_visits'); - $conversions = $this->getMetric($goalMetrics, 'nb_conversions'); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); - $goalRevenue = (float) $this->getMetric($goalMetrics, 'revenue'); + $goalRevenue = (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); } diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php index a35402cd84..3e2367fed9 100644 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -40,7 +40,7 @@ class RevenuePerVisit extends ProcessedMetric public function compute(Row $row) { $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - $goals = $this->getMetric($row, 'goals'); + $goals = $this->getMetric($row, 'goals') ?: array(); $revenue = 0; foreach ($goals as $goalId => $goalMetrics) { diff --git a/plugins/Goals/Reports/BaseEcommerceItem.php b/plugins/Goals/Reports/BaseEcommerceItem.php index 5181d6fcc3..ca9ab605c7 100644 --- a/plugins/Goals/Reports/BaseEcommerceItem.php +++ b/plugins/Goals/Reports/BaseEcommerceItem.php @@ -80,7 +80,9 @@ abstract class BaseEcommerceItem extends BaseEcommerce // set columns/translations which differ based on viewDataTable TODO: shouldn't have to do this check... // amount of reports should be dynamic, but metadata should be static - $columns = $this->getMetrics(); + $columns = array_merge($this->getMetrics(), $this->getProcessedMetrics()); + $columnsOrdered = array('label', 'revenue', 'quantity', 'orders', 'avg_price', 'avg_quantity', + 'nb_visits', 'conversion_rate'); $abandonedCart = $this->isAbandonedCart(); if ($abandonedCart) { @@ -92,12 +94,15 @@ abstract class BaseEcommerceItem extends BaseEcommerce unset($columns['conversion_rate']); $view->requestConfig->request_parameters_to_modify['abandonedCarts'] = '1'; + + $columnsOrdered = array('label', 'revenue', 'quantity', 'avg_price', 'avg_quantity', 'nb_visits', + 'abandoned_carts'); } $translations = array_merge(array('label' => $this->name), $columns); $view->config->addTranslations($translations); - $view->config->columns_to_display = array_keys($translations); + $view->config->columns_to_display = $columnsOrdered; $view->config->custom_parameters['viewDataTable'] = $abandonedCart ? Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART : Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER; diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml index 59ad705757..06d17abbd9 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml @@ -14,6 +14,7 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_converted_returning>0</nb_visits_converted_returning> <max_actions_returning>0</max_actions_returning> + <bounce_count_returning>0</bounce_count_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> <avg_time_on_site_returning>0</avg_time_on_site_returning> -- cgit v1.2.3 From a02aa984c0aa4f4756faff0c102135b06b3f99e6 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 00:22:28 -0800 Subject: Fix another UI test. --- core/API/DataTablePostProcessor.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index fd761dad15..cec46fdc8e 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -77,6 +77,8 @@ class DataTablePostProcessor $dataTable = $this->applyTotalsCalculator($dataTable); $dataTable = $this->applyGenericFilters($dataTable); + $this->applyComputeProcessedMetrics($dataTable); + // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); -- cgit v1.2.3 From 4895eb2f92c59a57fc79f3023f76799e7b51d649 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 01:27:29 -0800 Subject: Make sure API.get does not return extra parameters when columns parameter is supplied. --- plugins/API/API.php | 5 +++++ ...test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml | 1 + ...est_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml | 1 + ..._Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml | 2 +- ..._report_in_csv__ScheduledReports.generateReport_week.original.csv | 2 +- ...l_tables_only__ScheduledReports.generateReport_week.original.html | 2 +- 6 files changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/API/API.php b/plugins/API/API.php index 891062cbb0..f522a9add2 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -410,6 +410,11 @@ class API extends \Piwik\Plugin\API $this->mergeDataTables($mergedDataTable, $dataTable); } } + + if (!empty($columnsMap)) { + $mergedDataTable->queueFilter('ColumnDelete', array(false, array_keys($columnsMap))); + } + return $mergedDataTable; } diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml index 343be649b7..6e377c1d41 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml @@ -5,4 +5,5 @@ <conversion_rate>66.67</conversion_rate> <revenue>5020.22</revenue> <items>8</items> + <avg_order_revenue>2510.11</avg_order_revenue> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml index a2d20e0f55..f745e2b50a 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml @@ -5,4 +5,5 @@ <conversion_rate>60</conversion_rate> <revenue>7530.33</revenue> <items>12</items> + <avg_order_revenue>2510.11</avg_order_revenue> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml index 77c4d9cfc9..56e26922bd 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml @@ -38,7 +38,7 @@ <conversion_rate>66.67%</conversion_rate> <revenue>$ 5020.22</revenue> <items>8</items> - <avg_order_revenue>$ 0</avg_order_revenue> + <avg_order_revenue>$ 2510.11</avg_order_revenue> </reportData> <reportMetadata /> <reportTotal> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index fe483e691d..a9d0428a72 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -166,7 +166,7 @@ label,nb_conversions Abandoned Carts nb_conversions,conversion_rate,revenue,items,avg_order_revenue -3,60%,$ 7530.33,12,$ 0 +3,60%,$ 7530.33,12,$ 2510.11 Abandoned Carts - Visits to Conversion label,nb_conversions diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index aa496b9878..c2452282d2 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -3207,7 +3207,7 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Average Order Value </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 0 + $ 2510.11 </td> </tr> </tbody> -- cgit v1.2.3 From 257ef458327f9dd4622be9a36d2e5bdf0c75f9af Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 01:37:59 -0800 Subject: Debugging travis UI tests failure. --- tests/travis/travis.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/travis/travis.sh b/tests/travis/travis.sh index 95a22d300d..43766bd04e 100755 --- a/tests/travis/travis.sh +++ b/tests/travis/travis.sh @@ -56,7 +56,7 @@ then then phantomjs ../lib/screenshot-testing/run-tests.js --assume-artifacts --persist-fixture-data --screenshot-repo=$TRAVIS_REPO_SLUG --plugin=$PLUGIN_NAME else - phantomjs ../lib/screenshot-testing/run-tests.js --store-in-ui-tests-repo --persist-fixture-data --assume-artifacts + phantomjs ../lib/screenshot-testing/run-tests.js --store-in-ui-tests-repo --persist-fixture-data --assume-artifacts ActionsDataTable fi elif [ "$TEST_SUITE" = "AllTests" ] then -- cgit v1.2.3 From 0ae4125505a4ba36ac96065adccb95e3ab46c92a Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 01:44:23 -0800 Subject: Fix PHP 5.3 error. --- core/API/DataTablePostProcessor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index cec46fdc8e..f825a133d0 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -155,7 +155,7 @@ class DataTablePostProcessor $self = $this; $report = $this->report; $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self) { - $processedMetrics = $this->getProcessedMetricsFor($table, $report); + $processedMetrics = $self->getProcessedMetricsFor($table, $report); if ($genericFilter->areProcessedMetricsNeededFor($processedMetrics)) { $self->computeProcessedMetrics($table); } @@ -332,7 +332,7 @@ class DataTablePostProcessor * @param Report $report * @return ProcessedMetric[] */ - private function getProcessedMetricsFor(DataTable $dataTable, $report) + public function getProcessedMetricsFor(DataTable $dataTable, $report) { $processedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); -- cgit v1.2.3 From 3c6796f46cb84f2086ae44556aaec01e715ee59f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 01:52:48 -0800 Subject: Remove travis debugging change. --- tests/travis/travis.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/travis/travis.sh b/tests/travis/travis.sh index 43766bd04e..95a22d300d 100755 --- a/tests/travis/travis.sh +++ b/tests/travis/travis.sh @@ -56,7 +56,7 @@ then then phantomjs ../lib/screenshot-testing/run-tests.js --assume-artifacts --persist-fixture-data --screenshot-repo=$TRAVIS_REPO_SLUG --plugin=$PLUGIN_NAME else - phantomjs ../lib/screenshot-testing/run-tests.js --store-in-ui-tests-repo --persist-fixture-data --assume-artifacts ActionsDataTable + phantomjs ../lib/screenshot-testing/run-tests.js --store-in-ui-tests-repo --persist-fixture-data --assume-artifacts fi elif [ "$TEST_SUITE" = "AllTests" ] then -- cgit v1.2.3 From 41684e0be37e568e6edc3b0de6fa7d6f3f589843 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 14:58:06 -0800 Subject: Make sure processed metrics are formatted when requesting data from within Piwik in Overlay. --- plugins/Overlay/Controller.php | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index ea540c6e14..331be0a1f7 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -73,6 +73,7 @@ class Controller extends \Piwik\Plugin\Controller . '&period=' . urlencode($period) . '&label=' . urlencode($label) . '&format=original' + . '&force_format_processed_metrics=1' ); $dataTable = $request->process(); -- cgit v1.2.3 From b66a36ddf926def12f26fbc984cc67f101e8546f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 17:18:46 -0800 Subject: Fixing Overlay UI tests. --- core/API/DataTableManipulator.php | 1 + 1 file changed, 1 insertion(+) diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php index 8ab46fb6a5..fa9692f6bc 100644 --- a/core/API/DataTableManipulator.php +++ b/core/API/DataTableManipulator.php @@ -173,6 +173,7 @@ abstract class DataTableManipulator $request['serialize'] = 0; $request['expanded'] = 0; $request['format'] = 'original'; + $request['force_format_processed_metrics'] = 0; // don't want to run recursive filters on the subtables as they are loaded, // otherwise the result will be empty in places (or everywhere). instead we -- cgit v1.2.3 From 4fd080617e0242dd2fb45c0f7ae09e66e21107c0 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 19:19:36 -0800 Subject: Fix notice in UI tests. --- plugins/API/API.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/API/API.php b/plugins/API/API.php index f522a9add2..e40aaec20e 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -411,7 +411,9 @@ class API extends \Piwik\Plugin\API } } - if (!empty($columnsMap)) { + if (!empty($columnsMap) + && !empty($mergedDataTable) + ) { $mergedDataTable->queueFilter('ColumnDelete', array(false, array_keys($columnsMap))); } -- cgit v1.2.3 From d07d24c59780587c58727a5295951a2dfcb8fc58 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 11 Nov 2014 20:28:12 -0800 Subject: Fixing ViewDataTableTest UI test. --- core/DataTable/Filter/ExcludeLowPopulation.php | 2 ++ core/Plugin/Metric.php | 22 ++++++++++++++++++++-- core/Plugin/Visualization.php | 2 +- .../Goals/Metrics/GoalSpecificProcessedMetric.php | 11 ++++++++++- 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/core/DataTable/Filter/ExcludeLowPopulation.php b/core/DataTable/Filter/ExcludeLowPopulation.php index ee135b59d6..cf54c5c7eb 100644 --- a/core/DataTable/Filter/ExcludeLowPopulation.php +++ b/core/DataTable/Filter/ExcludeLowPopulation.php @@ -10,6 +10,7 @@ namespace Piwik\DataTable\Filter; use Piwik\DataTable; use Piwik\DataTable\BaseFilter; +use Piwik\Plugin\Metric; /** * Deletes all rows for which a specific column has a value that is lower than @@ -59,6 +60,7 @@ class ExcludeLowPopulation extends BaseFilter public function __construct($table, $columnToFilter, $minimumValue, $minimumPercentageThreshold = false) { parent::__construct($table); + $this->columnToFilter = $columnToFilter; if ($minimumValue == 0) { diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 9200c0a607..6fe5fd4b22 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -132,13 +132,31 @@ abstract class Metric $mappingNameToId = Metrics::getMappingFromNameToId(); } + $columnName = self::getActualMetricColumn($table, $columnName, $mappingNameToId); + return $table->getColumn($columnName); + } + + /** + * Helper method that determines the actual column for a metric in a {@link Piwik\DataTable}. + * + * @param DataTable $table + * @param string $columnName + * @param int[]|null $mappingNameToId A custom mapping of metric names to special index values. By + * default {@link Metrics::getMappingFromNameToId()} is used. + * @return string + */ + public static function getActualMetricColumn(DataTable $table, $columnName, $mappingNameToId = null) + { + if (empty($mappingIdToName)) { + $mappingNameToId = Metrics::getMappingFromNameToId(); + } + $firstRow = $table->getFirstRow(); if (!empty($firstRow) && $firstRow->getColumn($columnName) === false ) { $columnName = $mappingNameToId[$columnName]; } - - return $table->getColumn($columnName); + return $columnName; } } \ No newline at end of file diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index 7401eed9a7..0ea725e9f2 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -164,7 +164,7 @@ class Visualization extends ViewDataTable $this->beforeLoadDataTable(); - $this->loadDataTableFromAPI(array('disable_generic_filters' => 1, 'disable_queued_filters' => 1)); + $this->loadDataTableFromAPI(array('disable_generic_filters' => 1)); $this->postDataTableLoadedFromAPI(); $requestPropertiesAfterLoadDataTable = $this->requestConfig->getProperties(); diff --git a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php index 247250ee37..2ac4d98147 100644 --- a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php +++ b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php @@ -41,6 +41,15 @@ abstract class GoalSpecificProcessedMetric extends ProcessedMetric protected function getGoalMetrics(Row $row) { $allGoalMetrics = $this->getMetric($row, 'goals'); - return @$allGoalMetrics[$this->idGoal] ?: array(); + if (isset($allGoalMetrics[$this->idGoal])) { + return $allGoalMetrics[$this->idGoal]; + } else { + $alternateKey = 'idgoal=' . $this->idGoal; + if (isset($allGoalMetrics[$alternateKey])) { + return $allGoalMetrics[$alternateKey]; + } else { + return array(); + } + } } } \ No newline at end of file -- cgit v1.2.3 From e596b71231113941b43809e0adc9af608e797645 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Thu, 13 Nov 2014 01:45:05 -0800 Subject: Move goal translations and metric docs to metric classes from Goals visualization. Allow these values as defaults for translations in visualizations, and fix a bug in GoalsTable where sort was improperly applied if no data was in the data table. Also include in-memory caching for Goals.getGoals API method. --- core/API/DataTablePostProcessor.php | 45 ++----- core/DataTable.php | 19 ++- .../Filter/AddColumnsProcessedMetricsGoal.php | 27 ++-- core/Plugin/ProcessedMetric.php | 16 ++- core/Plugin/Report.php | 27 +++- core/Plugin/Visualization.php | 25 ++++ plugins/Goals/API.php | 37 +++--- plugins/Goals/Metrics/AverageOrderRevenue.php | 15 +++ plugins/Goals/Metrics/AveragePrice.php | 15 +++ .../Metrics/GoalSpecific/AverageOrderRevenue.php | 20 ++- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 7 +- plugins/Goals/Metrics/GoalSpecific/Conversions.php | 3 +- plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 8 +- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 21 ++- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 24 +++- .../Goals/Metrics/GoalSpecificProcessedMetric.php | 42 +++++- plugins/Goals/Metrics/RevenuePerVisit.php | 16 +++ plugins/Goals/Reports/BaseEcommerceItem.php | 2 +- plugins/Goals/Visualizations/Goals.php | 148 +++++++-------------- 19 files changed, 341 insertions(+), 176 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index f825a133d0..1cb8212cee 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -15,7 +15,6 @@ use Piwik\Common; use Piwik\DataTable; use Piwik\DataTable\DataTableInterface; use Piwik\DataTable\Filter\PivotByDimension; -use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; /** @@ -155,7 +154,7 @@ class DataTablePostProcessor $self = $this; $report = $this->report; $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self) { - $processedMetrics = $self->getProcessedMetricsFor($table, $report); + $processedMetrics = Report::getProcessedMetricsFor($table, $report); if ($genericFilter->areProcessedMetricsNeededFor($processedMetrics)) { $self->computeProcessedMetrics($table); } @@ -222,15 +221,15 @@ class DataTablePostProcessor } /** + * TODO: remove applyFormatting parameter + * * @param DataTableInterface $dataTable * @return DataTableInterface */ - public function applyProcessedMetricsFormatting($dataTable, $applyFormatting) + public function applyProcessedMetricsFormatting($dataTable, $applyFormatting = true) { if ($applyFormatting) { $dataTable->filter(array($this, 'formatProcessedMetrics')); - } else { - $dataTable->queueFilter(array($this, 'formatProcessedMetrics')); } return $dataTable; } @@ -271,7 +270,7 @@ class DataTablePostProcessor return; } - $processedMetrics = $this->getProcessedMetricsFor($dataTable, $this->report); + $processedMetrics = Report::getProcessedMetricsFor($dataTable, $this->report); if (empty($processedMetrics)) { return; } @@ -305,15 +304,19 @@ class DataTablePostProcessor return; } - $processedMetrics = $this->getProcessedMetricsFor($dataTable, $this->report); + $processedMetrics = Report::getProcessedMetricsFor($dataTable, $this->report); if (empty($processedMetrics)) { return; } $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); - foreach ($dataTable->getRows() as $row) { - foreach ($processedMetrics as $name => $processedMetric) { + foreach ($processedMetrics as $name => $processedMetric) { + if (!$processedMetric->beforeFormat($this->report, $dataTable)) { + continue; + } + + foreach ($dataTable->getRows() as $row) { $columnValue = $row->getColumn($name); if ($columnValue !== false) { $row->setColumn($name, $processedMetric->format($columnValue)); @@ -327,30 +330,6 @@ class DataTablePostProcessor } } - /** - * @param DataTable $dataTable - * @param Report $report - * @return ProcessedMetric[] - */ - public function getProcessedMetricsFor(DataTable $dataTable, $report) - { - $processedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); - - if (!empty($report)) { - $processedMetrics = array_merge($processedMetrics, $report->getProcessedMetricsById()); - } - - $result = array(); - foreach ($processedMetrics as $metric) { - if (!($metric instanceof ProcessedMetric)) { - continue; - } - - $result[$metric->getName()] = $metric; - } - return $result; - } - public function applyComputeProcessedMetrics(DataTableInterface $dataTable) { $dataTable->filter(array($this, 'computeProcessedMetrics')); diff --git a/core/DataTable.php b/core/DataTable.php index 16839631e5..bdb7ef4f99 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -1679,4 +1679,21 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess { $this->deleteRow($offset); } -} + + /** + * Returns the ID of the site a table is related to based on the 'site' metadata entry, + * or null if there is none. + * + * @param DataTable $table + * @return int|null + */ + public static function getSiteIdFromMetadata(DataTable $table) + { + $site = $table->getMetadata('site'); + if (empty($site)) { + return null; + } else { + return $site->getId(); + } + } +} \ No newline at end of file diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 808429005d..51d7698bd2 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -73,8 +73,6 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics */ const GOALS_FULL_TABLE = 0; - private $expectedColumns = array(); - /** * Constructor. * @@ -85,13 +83,14 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics * If self::GOALS_OVERVIEW, only the main goal metrics will be added. * If an int > 0, then will process only metrics for this specific Goal. */ - public function __construct($table, $enable = true, $processOnlyIdGoal) + public function __construct($table, $enable = true, $processOnlyIdGoal, $goalsToProcess = null) { $this->processOnlyIdGoal = $processOnlyIdGoal; $this->isEcommerce = $this->processOnlyIdGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER || $this->processOnlyIdGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART; parent::__construct($table); // Ensure that all rows with no visit but conversions will be displayed $this->deleteRowsWithNoVisit = false; + $this->goalsToProcess = $goalsToProcess; } /** @@ -105,9 +104,15 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics // Add standard processed metrics parent::filter($table); - $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); - $goals = $this->getGoalsInTable($table); + if (!empty($this->goalsToProcess)) { + $goals = array_unique(array_merge($goals, $this->goalsToProcess)); + sort($goals); + } + + $idSite = DataTable::getSiteIdFromMetadata($table); + + $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); $extraProcessedMetrics[] = new RevenuePerVisit(); if ($this->processOnlyIdGoal != self::GOALS_MINIMAL_REPORT) { @@ -119,7 +124,7 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics continue; } - $extraProcessedMetrics[] = new ConversionRate($idGoal); // PerGoal\ConversionRate + $extraProcessedMetrics[] = new ConversionRate($idSite, $idGoal); // PerGoal\ConversionRate // When the table is displayed by clicking on the flag icon, we only display the columns // Visits, Conversions, Per goal conversion rate, Revenue @@ -127,13 +132,13 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics continue; } - $extraProcessedMetrics[] = new Conversions($idGoal); // PerGoal\Conversions or GoalSpecific\ - $extraProcessedMetrics[] = new GoalSpecificRevenuePerVisit($idGoal); // PerGoal\Revenue - $extraProcessedMetrics[] = new Revenue($idGoal); // PerGoal\Revenue + $extraProcessedMetrics[] = new Conversions($idSite, $idGoal); // PerGoal\Conversions or GoalSpecific\ + $extraProcessedMetrics[] = new GoalSpecificRevenuePerVisit($idSite, $idGoal); // PerGoal\Revenue + $extraProcessedMetrics[] = new Revenue($idSite, $idGoal); // PerGoal\Revenue if ($this->isEcommerce) { - $extraProcessedMetrics[] = new AverageOrderRevenue($idGoal); - $extraProcessedMetrics[] = new ItemsCount($idGoal); + $extraProcessedMetrics[] = new AverageOrderRevenue($idSite, $idGoal); + $extraProcessedMetrics[] = new ItemsCount($idSite, $idGoal); } } } diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index db638dfb0f..e4ddc378a1 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -19,7 +19,7 @@ use Piwik\DataTable\Row; abstract class ProcessedMetric extends Metric { /** - * The sub-namespace name in a plugin where Report components are stored. + * The sub-namespace name in a plugin where ProcessedMetrics are stored. */ const COMPONENT_SUBNAMESPACE = 'Metrics'; @@ -54,4 +54,18 @@ abstract class ProcessedMetric extends Metric { return true; } + + /** + * Executed before formatting all processed metrics for a report. Implementers can return `false` + * to skip formatting this metric and can use this method to access information needed for + * formatting (for example, the site ID). + * + * @param Report $report + * @param DataTable $table + * @return bool Return `true` to format the metric for the table, `false` to skip formatting. + */ + public function beforeFormat($report, DataTable $table) + { + return true; + } } \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 329308c7cd..cf23ae6776 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -836,4 +836,29 @@ class Report } return $result; } -} + + + /** + * @param DataTable $dataTable + * @param Report $report + * @return ProcessedMetric[] + */ + public static function getProcessedMetricsFor(DataTable $dataTable, Report $report = null) + { + $processedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); + + if (!empty($report)) { + $processedMetrics = array_merge($processedMetrics, $report->getProcessedMetricsById()); + } + + $result = array(); + foreach ($processedMetrics as $metric) { + if (!($metric instanceof ProcessedMetric)) { + continue; + } + + $result[$metric->getName()] = $metric; + } + return $result; + } +} \ No newline at end of file diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index 0ea725e9f2..74cd2950fd 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -170,6 +170,7 @@ class Visualization extends ViewDataTable $requestPropertiesAfterLoadDataTable = $this->requestConfig->getProperties(); $this->applyFilters(); + $this->addVisualizationInfoFromMetricMetadata(); $this->afterAllFiltersAreApplied(); $this->beforeRender(); @@ -307,6 +308,28 @@ class Visualization extends ViewDataTable } } + private function addVisualizationInfoFromMetricMetadata() + { + $report = Report::factory($this->requestConfig->getApiModuleToRequest(), $this->requestConfig->getApiMethodToRequest()); + $dataTable = $this->dataTable instanceof DataTable\Map ? $this->dataTable->getFirstRow() : $this->dataTable; + + $processedMetrics = Report::getProcessedMetricsFor($dataTable, $report); + + // TODO: instead of iterating & calling translate everywhere, maybe we can get all translated names in one place. + // may be difficult, though, since translated metrics are specific to the report. + foreach ($processedMetrics as $metric) { + $name = $metric->getName(); + + if (empty($this->config->translations[$name])) { + $this->config->translations[$name] = $metric->getTranslatedName(); + } + + if (empty($this->config->metrics_documentation[$name])) { + $this->config->metrics_documentation[$name] = $metric->getDocumentation(); + } + } + } + private function applyFilters() { $postProcessor = $this->makeDataTablePostProcessor(); @@ -343,6 +366,8 @@ class Visualization extends ViewDataTable if (!$this->requestConfig->areQueuedFiltersDisabled()) { $this->dataTable->applyQueuedFilters(); } + + $postProcessor->applyProcessedMetricsFormatting($this->dataTable); } private function removeEmptyColumnsFromDisplay() diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index abe6f1d452..fab2ae42f1 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -10,6 +10,7 @@ namespace Piwik\Plugins\Goals; use Exception; use Piwik\Archive; +use Piwik\Cache\PluginAwareStaticCache; use Piwik\Common; use Piwik\DataTable; use Piwik\Db; @@ -53,29 +54,31 @@ class API extends \Piwik\Plugin\API */ public function getGoals($idSite) { - //TODO calls to this function could be cached as static - // would help UI at least, since some UI requests would call this 2-3 times.. - $idSite = Site::getIdSitesFromIdSitesString($idSite); + $cache = new PluginAwareStaticCache("Goals.getGoals.$idSite"); + if (!$cache->has()) { + $idSite = Site::getIdSitesFromIdSitesString($idSite); - if (empty($idSite)) { - return array(); - } + if (empty($idSite)) { + return array(); + } - Piwik::checkUserHasViewAccess($idSite); + Piwik::checkUserHasViewAccess($idSite); - $goals = $this->getModel()->getActiveGoals($idSite); + $goals = $this->getModel()->getActiveGoals($idSite); - $cleanedGoals = array(); - foreach ($goals as &$goal) { - if ($goal['match_attribute'] == 'manually') { - unset($goal['pattern']); - unset($goal['pattern_type']); - unset($goal['case_sensitive']); + $cleanedGoals = array(); + foreach ($goals as &$goal) { + if ($goal['match_attribute'] == 'manually') { + unset($goal['pattern']); + unset($goal['pattern_type']); + unset($goal['case_sensitive']); + } + $cleanedGoals[$goal['idgoal']] = $goal; } - $cleanedGoals[$goal['idgoal']] = $goal; - } - return $cleanedGoals; + $cache->set($cleanedGoals); + } + return $cache->get(); } /** diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php index 9d1a106801..76237b6ff5 100644 --- a/plugins/Goals/Metrics/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/AverageOrderRevenue.php @@ -7,7 +7,9 @@ */ namespace Piwik\Plugins\Goals\Metrics; +use Piwik\DataTable; use Piwik\DataTable\Row; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -20,6 +22,8 @@ use Piwik\Plugin\ProcessedMetric; */ class AverageOrderRevenue extends ProcessedMetric { + private $idSite; + public function getName() { return 'avg_order_revenue'; @@ -42,4 +46,15 @@ class AverageOrderRevenue extends ProcessedMetric { return array('revenue', 'nb_conversions'); } + + public function format($value) + { + return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $this->idSite, $isHtml = false); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php index 1eeba7b170..b22cca297b 100644 --- a/plugins/Goals/Metrics/AveragePrice.php +++ b/plugins/Goals/Metrics/AveragePrice.php @@ -8,7 +8,9 @@ namespace Piwik\Plugins\Goals\Metrics; +use Piwik\DataTable; use Piwik\DataTable\Row; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; @@ -22,6 +24,8 @@ use Piwik\Tracker\GoalManager; */ class AveragePrice extends ProcessedMetric { + private $idSite; + public function getName() { return 'avg_price'; @@ -45,4 +49,15 @@ class AveragePrice extends ProcessedMetric { return array('price', 'orders', 'abandoned_carts'); } + + public function format($value) + { + return MetricsFormatter::getPrettyMoney(sprintf("%.2f", $value), $this->idSite, $isHtml = false); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php index e107cf7227..144d8861bf 100644 --- a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -7,8 +7,10 @@ */ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; +use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -27,7 +29,12 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric public function getTranslatedName() { - return self::getName(); // TODO??? + return Piwik::translate('General_AverageOrderValue'); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs()); } public function getDependentMetrics() @@ -46,4 +53,15 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); } + + public function format($value) + { + return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $this->idSite, $isHtml = false); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index 48e3a4a4c1..0019fb0e06 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -30,7 +30,12 @@ class ConversionRate extends GoalSpecificProcessedMetric public function getTranslatedName() { - return self::getName(); // TODO??? + return Piwik::translate('Goals_ConversionRate', $this->getGoalName()); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnConversionRateDocumentation', $this->getGoalNameForDocs()); } public function getDependentMetrics() diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php index a9545cf3c9..01bf22cfb4 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Conversions.php +++ b/plugins/Goals/Metrics/GoalSpecific/Conversions.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** @@ -24,7 +25,7 @@ class Conversions extends GoalSpecificProcessedMetric public function getTranslatedName() { - return self::getName(); // TODO??? + return Piwik::translate('Goals_Conversions', $this->getGoalNameForDocs()); } public function getDependentMetrics() diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php index c6d93497b3..8fcf50097f 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php +++ b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** @@ -24,7 +25,12 @@ class ItemsCount extends GoalSpecificProcessedMetric public function getTranslatedName() { - return self::getName(); // TODO??? + return Piwik::translate('General_PurchasedProducts'); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnPurchasedProductsDocumentation', $this->getGoalNameForDocs()); } public function getDependentMetrics() diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php index 876a53494c..5dcffb3236 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -7,8 +7,11 @@ */ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; +use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\MetricsFormatter; +use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; /** @@ -23,7 +26,12 @@ class Revenue extends GoalSpecificProcessedMetric public function getTranslatedName() { - return self::getName(); // TODO??? + return Piwik::translate('%s ' . Piwik::translate('General_ColumnRevenue'), $this->getGoalName()); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnRevenueDocumentation', $this->getGoalNameForDocs()); } public function getDependentMetrics() @@ -38,4 +46,15 @@ class Revenue extends GoalSpecificProcessedMetric $goalMetrics = $this->getGoalMetrics($row); return (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); } + + public function format($value) + { + return MetricsFormatter::getPrettyMoney(sprintf("%.2f", $value), $this->idSite, $isHtml = false); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php index 814649b007..ce18172794 100644 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -7,8 +7,10 @@ */ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; +use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -29,7 +31,16 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric public function getTranslatedName() { - return self::getName(); // TODO??? + return $this->getGoalName() . ' ' . Piwik::translate('General_ColumnValuePerVisit'); + } + + public function getDocumentation() + { + if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { + return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs()); + } else { + return Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', Piwik::translate('Goals_EcommerceAndGoalsMenu')); + } } public function getDependentMetrics() @@ -50,4 +61,15 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); } + + public function format($value) + { + return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $this->idSite, $isHtml = false); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php index 2ac4d98147..b8d7a9c2a4 100644 --- a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php +++ b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php @@ -7,8 +7,12 @@ */ namespace Piwik\Plugins\Goals\Metrics; +use Piwik\Common; use Piwik\DataTable\Row; +use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugins\Goals\API as GoalsAPI; +use Piwik\Tracker\GoalManager; /** * Base class for processed metrics that are calculated using metrics that are @@ -23,17 +27,27 @@ abstract class GoalSpecificProcessedMetric extends ProcessedMetric */ protected $idGoal; + /** + * The ID of the site the goal belongs to. + * + * @var int + */ + protected $idSite; + /** * Constructor. * + * @param int|null $idSite The ID of the site the goal belongs to. If supplied, affects the formatting + * and translated name of the metric. * @param int $idGoal The ID of the goal to calculate metrics for. */ - public function __construct($idGoal) + public function __construct($idSite, $idGoal) { + $this->idSite = $idSite; $this->idGoal = $idGoal; } - protected function getColumnPrefix() + protected function getColumnPrefix() // TODO: should cache this information somehow { return 'goal_' . $this->idGoal; } @@ -52,4 +66,28 @@ abstract class GoalSpecificProcessedMetric extends ProcessedMetric } } } + + protected function getGoalName() + { + if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { + return Piwik::translate('Goals_EcommerceOrder'); + } + + if (isset($this->idSite)) { + $allGoals = GoalsAPI::getInstance()->getGoals($this->idSite); + $goalName = @$allGoals[$this->idGoal]['name']; + return Common::sanitizeInputValue($goalName); + } else { + return ""; + } + } + + protected function getGoalNameForDocs() + { + $goalName = $this->getGoalName(); + if ($goalName == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { + $goalName = '"' . $goalName . '"'; + } + return $goalName; + } } \ No newline at end of file diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php index 3e2367fed9..a307ef566a 100644 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -7,8 +7,10 @@ */ namespace Piwik\Plugins\Goals\Metrics; +use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; @@ -22,6 +24,8 @@ use Piwik\Tracker\GoalManager; */ class RevenuePerVisit extends ProcessedMetric { + private $idSite; + public function getName() { return 'revenue_per_visit'; @@ -65,4 +69,16 @@ class RevenuePerVisit extends ProcessedMetric // even though it will actually be in this edge case "Revenue per conversion" return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); } + + public function format($value) + { + // TODO: is the sprintf necessary? + return MetricsFormatter::getPrettyMoney(sprintf("%.2f", $value), $this->idSite, $isHtml = false); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } } \ No newline at end of file diff --git a/plugins/Goals/Reports/BaseEcommerceItem.php b/plugins/Goals/Reports/BaseEcommerceItem.php index ca9ab605c7..5da30d154d 100644 --- a/plugins/Goals/Reports/BaseEcommerceItem.php +++ b/plugins/Goals/Reports/BaseEcommerceItem.php @@ -68,7 +68,7 @@ abstract class BaseEcommerceItem extends BaseEcommerce $view->config->show_exclude_low_population = false; $view->config->show_table_all_columns = false; - $moneyColumns = array('revenue', 'avg_price'); + $moneyColumns = array('revenue'); $formatter = '\Piwik\MetricsFormatter::getPrettyMoney'; $view->config->filters[] = array('ColumnCallbackReplace', array($moneyColumns, $formatter, array($idSite))); diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php index 9808621b14..71f531ae2d 100644 --- a/plugins/Goals/Visualizations/Goals.php +++ b/plugins/Goals/Visualizations/Goals.php @@ -45,13 +45,6 @@ class Goals extends HtmlTable $this->config->datatable_css_class = 'dataTableVizGoals'; $this->config->show_exclude_low_population = true; - $this->config->translations += array( - 'nb_conversions' => Piwik::translate('Goals_ColumnConversions'), - 'conversion_rate' => Piwik::translate('General_ColumnConversionRate'), - 'revenue' => Piwik::translate('General_ColumnRevenue'), - 'revenue_per_visit' => Piwik::translate('General_ColumnValuePerVisit'), - ); - $this->config->metrics_documentation['nb_visits'] = Piwik::translate('Goals_ColumnVisits'); if (1 == Common::getRequestVar('documentationForGoalsPage', 0, 'int')) { @@ -69,50 +62,27 @@ class Goals extends HtmlTable $idSite = Common::getRequestVar('idSite', null, 'int'); $idGoal = Common::getRequestVar('idGoal', AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW, 'string'); + $goalsToProcess = null; if (Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER == $idGoal) { $this->setPropertiesForEcommerceView(); + + $goalsToProcess = array($idGoal); } else if (AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE == $idGoal) { $this->setPropertiesForGoals($idSite, 'all'); + + $goalsToProcess = $this->getAllGoalIds($idSite); } else if (AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW == $idGoal) { $this->setPropertiesForGoalsOverview($idSite); + + $goalsToProcess = $this->getAllGoalIds($idSite); } else { $this->setPropertiesForGoals($idSite, array($idGoal)); - } - - // add goals columns - $this->config->filters[] = array('AddColumnsProcessedMetricsGoal', array($ignore = true, $idGoal), $priority = true); - - // prettify columns - $setRatePercent = function ($rate, $thang = false) { - return $rate == 0 ? "0%" : $rate; - }; - foreach ($this->config->columns_to_display as $columnName) { - if (false !== strpos($columnName, 'conversion_rate')) { - $this->config->filters[] = array('ColumnCallbackReplace', array($columnName, $setRatePercent)); - } - } - - $formatPercent = function ($value) use ($idSite) { - return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $idSite); - }; - - foreach ($this->config->columns_to_display as $columnName) { - if ($this->isRevenueColumn($columnName)) { - $this->config->filters[] = array('ColumnCallbackReplace', array($columnName, $formatPercent)); - } + $goalsToProcess = array($idGoal); } - // this ensures that the value is set to zero for all rows where the value was not set (no conversion) - $identityFunction = function ($value) { - return $value; - }; - - foreach ($this->config->columns_to_display as $columnName) { - if (!$this->isRevenueColumn($columnName)) { - $this->config->filters[] = array('ColumnCallbackReplace', array($columnName, $identityFunction)); - } - } + // add goals columns + $this->config->filters[] = array('AddColumnsProcessedMetricsGoal', array($enable = true, $idGoal, $goalsToProcess), $priority = true); } private function setPropertiesForEcommerceView() @@ -126,23 +96,14 @@ class Goals extends HtmlTable 'goal_ecommerceOrder_revenue_per_visit' ); - $this->config->translations += array( - 'goal_ecommerceOrder_conversion_rate' => Piwik::translate('Goals_ConversionRate', Piwik::translate('Goals_EcommerceOrder')), + $this->config->translations = array_merge($this->config->translations, array( 'goal_ecommerceOrder_nb_conversions' => Piwik::translate('General_EcommerceOrders'), 'goal_ecommerceOrder_revenue' => Piwik::translate('General_TotalRevenue'), - 'goal_ecommerceOrder_revenue_per_visit' => Piwik::translate('General_ColumnValuePerVisit'), - 'goal_ecommerceOrder_avg_order_revenue' => Piwik::translate('General_AverageOrderValue'), - 'goal_ecommerceOrder_items' => Piwik::translate('General_PurchasedProducts') - ); + 'goal_ecommerceOrder_revenue_per_visit' => Piwik::translate('General_ColumnValuePerVisit') + )); $goalName = Piwik::translate('General_EcommerceOrders'); $this->config->metrics_documentation += array( - 'goal_ecommerceOrder_conversion_rate' => Piwik::translate('Goals_ColumnConversionRateDocumentation', $goalName), - 'goal_ecommerceOrder_nb_conversions' => Piwik::translate('Goals_ColumnConversionsDocumentation', $goalName), - 'goal_ecommerceOrder_revenue' => Piwik::translate('Goals_ColumnRevenueDocumentation', $goalName), - 'goal_ecommerceOrder_revenue_per_visit' => Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $goalName), - 'goal_ecommerceOrder_avg_order_revenue' => Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $goalName), - 'goal_ecommerceOrder_items' => Piwik::translate('Goals_ColumnPurchasedProductsDocumentation', $goalName), 'revenue_per_visit' => Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', $goalName) ); } @@ -156,16 +117,10 @@ class Goals extends HtmlTable foreach ($allGoals as $goal) { $column = "goal_{$goal['idgoal']}_conversion_rate"; - $documentation = Piwik::translate('Goals_ColumnConversionRateDocumentation', $goal['quoted_name'] ? : $goal['name']); - $this->config->columns_to_display[] = $column; - $this->config->translations[$column] = Piwik::translate('Goals_ConversionRate', $goal['name']); - $this->config->metrics_documentation[$column] = $documentation; } $this->config->columns_to_display[] = 'revenue_per_visit'; - $this->config->metrics_documentation['revenue_per_visit'] = - Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', Piwik::translate('Goals_EcommerceAndGoalsMenu')); } private function setPropertiesForGoals($idSite, $idGoals) @@ -197,62 +152,49 @@ class Goals extends HtmlTable } } - // set translations & metric docs for goal specific metrics - foreach ($idGoals as $idGoal) { - $goalName = $allGoals[$idGoal]['name']; - $quotedGoalName = $allGoals[$idGoal]['quoted_name'] ? : $goalName; - - $this->config->translations += array( - 'goal_' . $idGoal . '_nb_conversions' => Piwik::translate('Goals_Conversions', $goalName), - 'goal_' . $idGoal . '_conversion_rate' => Piwik::translate('Goals_ConversionRate', $goalName), - 'goal_' . $idGoal . '_revenue' => - Piwik::translate('%s ' . Piwik::translate('General_ColumnRevenue'), $goalName), - 'goal_' . $idGoal . '_revenue_per_visit' => - Piwik::translate('%s ' . Piwik::translate('General_ColumnValuePerVisit'), $goalName), - ); - - $this->config->metrics_documentation += array( - 'goal_' . $idGoal . '_nb_conversions' => Piwik::translate('Goals_ColumnConversionsDocumentation', $quotedGoalName), - 'goal_' . $idGoal . '_conversion_rate' => Piwik::translate('Goals_ColumnConversionRateDocumentation', $quotedGoalName), - 'goal_' . $idGoal . '_revenue' => Piwik::translate('Goals_ColumnRevenueDocumentation', $quotedGoalName), - 'goal_' . $idGoal . '_revenue_per_visit' => - Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', Piwik::translate('Goals_EcommerceAndGoalsMenu')), - ); - } - $this->config->columns_to_display[] = 'revenue_per_visit'; } - private function getGoals($idSite) + private $goalsForCurrentSite = null; + + private function getGoals($idSite) // TODO: cache the result in private variable { - // get all goals to display info for - $allGoals = array(); - - // add the ecommerce goal if ecommerce is enabled for the site - if (Site::isEcommerceEnabledFor($idSite)) { - $ecommerceGoal = array( - 'idgoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER, - 'name' => Piwik::translate('Goals_EcommerceOrder'), - 'quoted_name' => false - ); - $allGoals[$ecommerceGoal['idgoal']] = $ecommerceGoal; - } + if ($this->goalsForCurrentSite === null) + { + // get all goals to display info for + $allGoals = array(); + + // add the ecommerce goal if ecommerce is enabled for the site + if (Site::isEcommerceEnabledFor($idSite)) { + $ecommerceGoal = array( + 'idgoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER, + 'name' => Piwik::translate('Goals_EcommerceOrder'), + 'quoted_name' => false + ); + $allGoals[$ecommerceGoal['idgoal']] = $ecommerceGoal; + } - // add the site's goals (and escape all goal names) - $siteGoals = APIGoals::getInstance()->getGoals($idSite); + // add the site's goals (and escape all goal names) + $siteGoals = APIGoals::getInstance()->getGoals($idSite); - foreach ($siteGoals as &$goal) { - $goal['name'] = Common::sanitizeInputValue($goal['name']); + foreach ($siteGoals as &$goal) { + $goal['name'] = Common::sanitizeInputValue($goal['name']); - $goal['quoted_name'] = '"' . $goal['name'] . '"'; - $allGoals[$goal['idgoal']] = $goal; + $goal['quoted_name'] = '"' . $goal['name'] . '"'; + $allGoals[$goal['idgoal']] = $goal; + } + + $this->goalsForCurrentSite = $allGoals; } - return $allGoals; + return $this->goalsForCurrentSite; } - private function isRevenueColumn($name) + private function getAllGoalIds($idSite) { - return strpos($name, '_revenue') !== false || $name == 'revenue_per_visit'; + $allGoals = $this->getGoals($idSite); + return array_map(function ($data) { + return $data['idgoal']; + }, $allGoals); } } -- cgit v1.2.3 From f57473c98324fa6026c4e7776f30c104d81d0989 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Thu, 13 Nov 2014 16:19:51 -0800 Subject: Add formatting to actions metrics and remove more use of filters & explicit translation/documentation values for Visualizations. --- plugins/Actions/Metrics/AveragePageGenerationTime.php | 7 +++++++ plugins/Actions/Metrics/AverageTimeOnPage.php | 6 ++++++ plugins/Actions/Reports/Base.php | 19 ++----------------- plugins/CoreHome/Metrics/VisitsPercent.php | 2 +- plugins/Goals/Visualizations/Goals.php | 7 ++----- 5 files changed, 18 insertions(+), 23 deletions(-) diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 32f5c1a9e9..0babe85007 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -10,6 +10,7 @@ namespace Piwik\Plugins\Actions\Metrics; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; @@ -47,6 +48,12 @@ class AveragePageGenerationTime extends ProcessedMetric return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } + public function format($value) + { + // TODO: isHtml needs to be true for this & for revenue columns. perhaps we can make MetricsFormatter an object. + return $value ? MetricsFormatter::getPrettyTimeFromSeconds($value, $displayAsSentence = true, $isHtml = false) : "-"; + } + public function beforeCompute($report, DataTable $table) { $hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0; diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php index 96c2e4f682..30bfdb78cf 100644 --- a/plugins/Actions/Metrics/AverageTimeOnPage.php +++ b/plugins/Actions/Metrics/AverageTimeOnPage.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Actions\Metrics; use Piwik\DataTable\Row; +use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -38,6 +39,11 @@ class AverageTimeOnPage extends ProcessedMetric return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); } + public function format($value) + { + return MetricsFormatter::getPrettyTimeFromSeconds($value); + } + public function getDependentMetrics() { return array('sum_time_spent', 'nb_visits'); diff --git a/plugins/Actions/Reports/Base.php b/plugins/Actions/Reports/Base.php index fb1158e6a9..9685ea5cf3 100644 --- a/plugins/Actions/Reports/Base.php +++ b/plugins/Actions/Reports/Base.php @@ -58,23 +58,9 @@ abstract class Base extends \Piwik\Plugin\Report { $view->config->addTranslations(array( 'nb_hits' => Piwik::translate('General_ColumnPageviews'), - 'nb_visits' => Piwik::translate('General_ColumnUniquePageviews'), - 'avg_time_on_page' => Piwik::translate('General_ColumnAverageTimeOnPage'), - 'bounce_rate' => Piwik::translate('General_ColumnBounceRate'), - 'exit_rate' => Piwik::translate('General_ColumnExitRate'), - 'avg_time_generation' => Piwik::translate('General_ColumnAverageGenerationTime'), + 'nb_visits' => Piwik::translate('General_ColumnUniquePageviews') )); - // prettify avg_time_on_page column - $getPrettyTimeFromSeconds = '\Piwik\MetricsFormatter::getPrettyTimeFromSeconds'; - $view->config->filters[] = array('ColumnCallbackReplace', array('avg_time_on_page', $getPrettyTimeFromSeconds)); - - // prettify avg_time_generation column - $avgTimeCallback = function ($time) { - return $time ? MetricsFormatter::getPrettyTimeFromSeconds($time, true, true, false) : "-"; - }; - $view->config->filters[] = array('ColumnCallbackReplace', array('avg_time_generation', $avgTimeCallback)); - // add avg_generation_time tooltip $tooltipCallback = function ($hits, $min, $max) { if (!$hits) { @@ -115,5 +101,4 @@ abstract class Base extends \Piwik\Plugin\Report }; } } - -} +} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/VisitsPercent.php b/plugins/CoreHome/Metrics/VisitsPercent.php index 619091fb49..24350c5cae 100644 --- a/plugins/CoreHome/Metrics/VisitsPercent.php +++ b/plugins/CoreHome/Metrics/VisitsPercent.php @@ -50,7 +50,7 @@ class VisitsPercent extends ProcessedMetric { $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); } public function format($value) diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php index 71f531ae2d..45b235f761 100644 --- a/plugins/Goals/Visualizations/Goals.php +++ b/plugins/Goals/Visualizations/Goals.php @@ -4,14 +4,12 @@ * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * */ namespace Piwik\Plugins\Goals\Visualizations; use Piwik\Common; use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; -use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; use Piwik\Plugins\Goals\API as APIGoals; @@ -103,9 +101,8 @@ class Goals extends HtmlTable )); $goalName = Piwik::translate('General_EcommerceOrders'); - $this->config->metrics_documentation += array( - 'revenue_per_visit' => Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', $goalName) - ); + $this->config->metrics_documentation['revenue_per_visit'] = + Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', $goalName); } private function setPropertiesForGoalsOverview($idSite) -- cgit v1.2.3 From 545d316d4dad434edfe5048807bfbe686f856259 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Thu, 13 Nov 2014 18:22:49 -0800 Subject: Make MetricsFormatter a class with instance methods and move Html related functionality to derived class. Use FOrmatter in Metric::format calls so Metrics do not have to be aware of context of formatting, and so Metric::format methods will have less code redundancy. --- core/API/DataTablePostProcessor.php | 23 +- core/CronArchive.php | 14 +- core/Metrics.php | 3 +- core/Metrics/Formatter.php | 234 +++++++++++++++++++ core/Metrics/Formatter/Html.php | 43 ++++ core/MetricsFormatter.php | 254 --------------------- core/Plugin/Metric.php | 5 +- core/Plugin/Visualization.php | 10 +- core/Timer.php | 6 +- core/Twig.php | 15 +- plugins/API/ProcessedReport.php | 40 +++- .../Actions/Metrics/AveragePageGenerationTime.php | 7 +- plugins/Actions/Metrics/AverageTimeOnPage.php | 6 +- plugins/Actions/Metrics/BounceRate.php | 5 +- plugins/Actions/Metrics/ExitRate.php | 5 +- plugins/Actions/Reports/Base.php | 10 +- plugins/Contents/Metrics/InteractionRate.php | 5 +- plugins/CoreAdminHome/Controller.php | 2 +- plugins/CoreHome/Metrics/AverageTimeOnSite.php | 6 + plugins/CoreHome/Metrics/BounceRate.php | 5 +- plugins/CoreHome/Metrics/ConversionRate.php | 5 +- plugins/CoreHome/Metrics/EvolutionMetric.php | 7 +- plugins/CoreHome/Metrics/VisitsPercent.php | 5 +- plugins/CoreHome/Visitor.php | 6 +- .../Visualizations/HtmlTable/AllColumns.php | 12 +- plugins/DBStats/Controller.php | 9 +- plugins/DBStats/Reports/Base.php | 8 +- plugins/Goals/Metrics/AverageOrderRevenue.php | 6 +- plugins/Goals/Metrics/AveragePrice.php | 6 +- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 6 +- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 5 +- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 6 +- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 6 +- plugins/Goals/Metrics/ProductConversionRate.php | 5 +- plugins/Goals/Metrics/RevenuePerVisit.php | 7 +- plugins/Goals/Reports/BaseEcommerceItem.php | 3 +- plugins/Live/API.php | 5 +- plugins/Live/Reports/GetSimpleLastVisitCount.php | 13 +- plugins/Live/Visitor.php | 7 +- plugins/Overlay/Controller.php | 5 +- plugins/PrivacyManager/Controller.php | 13 +- plugins/SEO/RankChecker.php | 6 +- plugins/SitesManager/API.php | 7 +- plugins/UsersManager/Controller.php | 6 +- plugins/VisitFrequency/Metrics/ReturningMetric.php | 5 +- plugins/VisitsSummary/API.php | 9 +- 46 files changed, 495 insertions(+), 381 deletions(-) create mode 100644 core/Metrics/Formatter.php create mode 100644 core/Metrics/Formatter/Html.php delete mode 100644 core/MetricsFormatter.php diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 1cb8212cee..6449dc87c4 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -15,6 +15,7 @@ use Piwik\Common; use Piwik\DataTable; use Piwik\DataTable\DataTableInterface; use Piwik\DataTable\Filter\PivotByDimension; +use Piwik\Metrics\Formatter; use Piwik\Plugin\Report; /** @@ -85,7 +86,9 @@ class DataTablePostProcessor $dataTable = $this->applyRequestedColumnDeletion($dataTable); $dataTable = $this->applyLabelFilter($dataTable); - $dataTable = $this->applyProcessedMetricsFormatting($dataTable, $applyFormatting); + if ($applyFormatting) { + $dataTable = $this->applyProcessedMetricsFormatting($dataTable); + } return $dataTable; } @@ -224,13 +227,17 @@ class DataTablePostProcessor * TODO: remove applyFormatting parameter * * @param DataTableInterface $dataTable + * @param Formatter|null $formatter * @return DataTableInterface */ - public function applyProcessedMetricsFormatting($dataTable, $applyFormatting = true) + public function applyProcessedMetricsFormatting($dataTable, Formatter $formatter = null) { - if ($applyFormatting) { - $dataTable->filter(array($this, 'formatProcessedMetrics')); + if ($formatter === null) + { + $formatter = new Formatter(); } + + $dataTable->filter(array($this, 'formatProcessedMetrics'), array($formatter)); return $dataTable; } @@ -288,7 +295,7 @@ class DataTablePostProcessor $subtable = $row->getSubtable(); if (!empty($subtable)) { - $this->computeProcessedMetrics($subtable, $this->report); + $this->computeProcessedMetrics($subtable); } } } @@ -298,7 +305,7 @@ class DataTablePostProcessor /** * public for use as callback. */ - public function formatProcessedMetrics(DataTable $dataTable) + public function formatProcessedMetrics(DataTable $dataTable, Formatter $formatter) { if ($dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG)) { return; @@ -319,12 +326,12 @@ class DataTablePostProcessor foreach ($dataTable->getRows() as $row) { $columnValue = $row->getColumn($name); if ($columnValue !== false) { - $row->setColumn($name, $processedMetric->format($columnValue)); + $row->setColumn($name, $processedMetric->format($columnValue, $formatter)); } $subtable = $row->getSubtable(); if (!empty($subtable)) { - $this->formatProcessedMetrics($subtable, $this->report); + $this->formatProcessedMetrics($subtable, $formatter); } } } diff --git a/core/CronArchive.php b/core/CronArchive.php index e7a470bd32..89848e4c3c 100644 --- a/core/CronArchive.php +++ b/core/CronArchive.php @@ -12,6 +12,7 @@ use Exception; use Piwik\ArchiveProcessor\Rules; use Piwik\CronArchive\FixedSiteIds; use Piwik\CronArchive\SharedSiteIds; +use Piwik\Metrics\Formatter; use Piwik\Period\Factory as PeriodFactory; use Piwik\DataAccess\InvalidatedReports; use Piwik\Plugins\SitesManager\API as APISitesManager; @@ -187,6 +188,8 @@ class CronArchive private $processed = 0; private $archivedPeriodsArchivesWebsite = 0; + private $formatter; + /** * Returns the option name of the option that stores the time core:archive was last executed. * @@ -209,6 +212,8 @@ class CronArchive */ public function __construct($piwikUrl = false) { + $this->formatter = new Formatter(); + $this->initLog(); $this->initPiwikHost($piwikUrl); $this->initCore(); @@ -489,7 +494,7 @@ class CronArchive if ($skipDayArchive) { $this->log("Skipped website id $idSite, already done " - . \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($elapsedSinceLastArchiving, true, $isHtml = false) + . $this->formatter->getPrettyTimeFromSeconds($elapsedSinceLastArchiving, true) . " ago, " . $timerWebsite->__toString()); $this->skippedDayArchivesWebsites++; $this->skipped++; @@ -503,7 +508,7 @@ class CronArchive if (!$shouldArchivePeriods) { $this->log("Skipped website id $idSite periods processing, already done " - . \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($elapsedSinceLastArchiving, true, $isHtml = false) + . $this->formatter->getPrettyTimeFromSeconds($elapsedSinceLastArchiving, true) . " ago, " . $timerWebsite->__toString()); $this->skippedDayArchivesWebsites++; $this->skipped++; @@ -1040,7 +1045,7 @@ class CronArchive { $sitesIdWithVisits = APISitesManager::getInstance()->getSitesIdWithVisits(time() - $this->shouldArchiveOnlySitesWithTrafficSince); $websiteIds = !empty($sitesIdWithVisits) ? ", IDs: " . implode(", ", $sitesIdWithVisits) : ""; - $prettySeconds = \Piwik\MetricsFormatter::getPrettyTimeFromSeconds( $this->shouldArchiveOnlySitesWithTrafficSince, true, false); + $prettySeconds = $this->formatter->getPrettyTimeFromSeconds( $this->shouldArchiveOnlySitesWithTrafficSince, true); $this->log("- Will process " . count($sitesIdWithVisits) . " websites with new visits since " . $prettySeconds . " " @@ -1148,7 +1153,8 @@ class CronArchive // Try and not request older data we know is already archived if ($this->lastSuccessRunTimestamp !== false) { $dateLast = time() - $this->lastSuccessRunTimestamp; - $this->log("- Archiving was last executed without error " . \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($dateLast, true, $isHtml = false) . " ago"); + $this->log("- Archiving was last executed without error " + . $this->formatter->getPrettyTimeFromSeconds($dateLast, true) . " ago"); } } diff --git a/core/Metrics.php b/core/Metrics.php index 4614cf2d0d..009fa36151 100644 --- a/core/Metrics.php +++ b/core/Metrics.php @@ -10,6 +10,7 @@ namespace Piwik; use Piwik\Cache\LanguageAwareStaticCache; use Piwik\Cache\PluginAwareStaticCache; +use Piwik\Metrics\Formatter; require_once PIWIK_INCLUDE_PATH . "/core/Piwik.php"; @@ -234,7 +235,7 @@ class Metrics { $nameToUnit = array( '_rate' => '%', - 'revenue' => MetricsFormatter::getCurrencySymbol($idSite), + 'revenue' => Formatter::getCurrencySymbol($idSite), '_time_' => 's' ); diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php new file mode 100644 index 0000000000..de8803b85e --- /dev/null +++ b/core/Metrics/Formatter.php @@ -0,0 +1,234 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Metrics; + +use Piwik\Common; +use Piwik\Piwik; +use Piwik\Site; +use Piwik\Tracker\GoalManager; + +/** + * Contains methods to format metric values. Passed to the {@link \Piwik\Plugin\Metric::format()} + * method when formatting Metrics. + * + * @api + * + * TODO: backwards compatibility, re-introduce MetricsFormatter as deprecated and make it use Formatter internally. + * do after tests passing. + */ +class Formatter +{ + /** + * Returns a prettified string representation of a number. The result will have + * thousands separators and a decimal point specific to the current locale, eg, + * `'1,000,000.05'` or `'1.000.000,05'`. + * + * @param number $value + * @return string + */ + public function getPrettyNumber($value) + { + static $decimalPoint = null; + static $thousandsSeparator = null; + + if ($decimalPoint === null) { + $locale = localeconv(); + + $decimalPoint = $locale['decimal_point']; + $thousandsSeparator = $locale['thousands_sep']; + } + + return number_format($value, 0, $decimalPoint, $thousandsSeparator); + } + + /** + * Returns a prettified time value (in seconds). + * + * @param int $numberOfSeconds The number of seconds. + * @param bool $displayTimeAsSentence If set to true, will output `"5min 17s"`, if false `"00:05:17"`. + * @param bool $isHtml If true, replaces all spaces with `' '`. + * @param bool $round Whether to round to the nearest second or not. + * @return string + */ + public function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = true, $round = false) + { + $numberOfSeconds = $round ? (int)$numberOfSeconds : (float)$numberOfSeconds; + + $isNegative = false; + if ($numberOfSeconds < 0) { + $numberOfSeconds = -1 * $numberOfSeconds; + $isNegative = true; + } + + // Display 01:45:17 time format + if ($displayTimeAsSentence === false) { + $hours = floor($numberOfSeconds / 3600); + $minutes = floor(($reminder = ($numberOfSeconds - $hours * 3600)) / 60); + $seconds = floor($reminder - $minutes * 60); + $time = sprintf("%02s", $hours) . ':' . sprintf("%02s", $minutes) . ':' . sprintf("%02s", $seconds); + $centiSeconds = ($numberOfSeconds * 100) % 100; + if ($centiSeconds) { + $time .= '.' . sprintf("%02s", $centiSeconds); + } + if ($isNegative) { + $time = '-' . $time; + } + return $time; + } + $secondsInYear = 86400 * 365.25; + + $years = floor($numberOfSeconds / $secondsInYear); + $minusYears = $numberOfSeconds - $years * $secondsInYear; + $days = floor($minusYears / 86400); + + $minusDays = $numberOfSeconds - $days * 86400; + $hours = floor($minusDays / 3600); + + $minusDaysAndHours = $minusDays - $hours * 3600; + $minutes = floor($minusDaysAndHours / 60); + + $seconds = $minusDaysAndHours - $minutes * 60; + $precision = ($seconds > 0 && $seconds < 0.01 ? 3 : 2); + $seconds = round($seconds, $precision); + + if ($years > 0) { + $return = sprintf(Piwik::translate('General_YearsDays'), $years, $days); + } elseif ($days > 0) { + $return = sprintf(Piwik::translate('General_DaysHours'), $days, $hours); + } elseif ($hours > 0) { + $return = sprintf(Piwik::translate('General_HoursMinutes'), $hours, $minutes); + } elseif ($minutes > 0) { + $return = sprintf(Piwik::translate('General_MinutesSeconds'), $minutes, $seconds); + } else { + $return = sprintf(Piwik::translate('General_Seconds'), $seconds); + } + + if ($isNegative) { + $return = '-' . $return; + } + + return $return; + } + + /** + * Returns a prettified memory size value. + * + * @param number $size The size in bytes. + * @param string $unit The specific unit to use, if any. If null, the unit is determined by $size. + * @param int $precision The precision to use when rounding. + * @return string eg, `'128 M'` or `'256 K'`. + */ + public function getPrettySizeFromBytes($size, $unit = null, $precision = 1) + { + if ($size == 0) { + return '0 M'; + } + + $units = array('B', 'K', 'M', 'G', 'T'); + + $currentUnit = null; + foreach ($units as $currentUnit) { + if ($size >= 1024 && $unit != $currentUnit) { + $size = $size / 1024; + } else { + break; + } + } + + return round($size, $precision) . " " . $currentUnit; + } + + /** + * Returns a pretty formated monetary value using the currency associated with a site. + * + * @param int|string $value The monetary value to format. + * @param int $idSite The ID of the site whose currency will be used. + * @param bool $isHtml If true, replaces all spaces with `' '`. + * @return string + */ + public function getPrettyMoney($value, $idSite) + { + $currencyBefore = self::getCurrencySymbol($idSite); + + $space = ' '; + + $currencyAfter = ''; + // (maybe more currencies prefer this notation?) + $currencySymbolToAppend = array('€', 'kr', 'zł'); + + // manually put the currency symbol after the amount + if (in_array($currencyBefore, $currencySymbolToAppend)) { + $currencyAfter = $space . $currencyBefore; + $currencyBefore = ''; + } + + // if the input is a number (it could be a string or INPUT form), + // and if this number is not an int, we round to precision 2 + if (is_numeric($value)) { + if ($value == round($value)) { + // 0.0 => 0 + $value = round($value); + } else { + $precision = GoalManager::REVENUE_PRECISION; + $value = sprintf("%01." . $precision . "f", $value); + } + } + + $prettyMoney = $currencyBefore . $space . $value . $currencyAfter; + return $prettyMoney; + } + + /** + * Returns a percent string from a quotient value. Forces the use of a '.' + * decimal place. + * + * @param float $value + * @return string + */ + public function getPrettyPercentFromQuotient($value) + { + $result = ($value * 100) . '%'; + return Common::forceDotAsSeparatorForDecimalPoint($result); + } + + /** + * Returns the currency symbol for a site. + * + * @param int $idSite The ID of the site to return the currency symbol for. + * @return string eg, `'$'`. + */ + public static function getCurrencySymbol($idSite) + { + $symbols = self::getCurrencyList(); + $currency = Site::getCurrencyFor($idSite); + + if (isset($symbols[$currency])) { + return $symbols[$currency][0]; + } + + return ''; + } + + /** + * Returns the list of all known currency symbols. + * + * @return array An array mapping currency codes to their respective currency symbols + * and a description, eg, `array('USD' => array('$', 'US dollar'))`. + */ + public static function getCurrencyList() + { + static $currenciesList = null; + + if (is_null($currenciesList)) { + require_once PIWIK_INCLUDE_PATH . '/core/DataFiles/Currencies.php'; + $currenciesList = $GLOBALS['Piwik_CurrencyList']; + } + + return $currenciesList; + } +} \ No newline at end of file diff --git a/core/Metrics/Formatter/Html.php b/core/Metrics/Formatter/Html.php new file mode 100644 index 0000000000..c4f9e05664 --- /dev/null +++ b/core/Metrics/Formatter/Html.php @@ -0,0 +1,43 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Metrics\Formatter; + +use Piwik\Metrics\Formatter; + +/** + * Metrics formatter that formats for HTML output. Uses non-breaking spaces in formatted values + * so text will stay unbroken in HTML views. + */ +class Html extends Formatter +{ + public function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = true, $round = false) + { + $result = parent::getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence, $round); + $result = $this->replaceSpaceWithNonBreakingSpace($result); + return $result; + } + + public function getPrettySizeFromBytes($size, $unit = null, $precision = 1) + { + $result = parent::getPrettySizeFromBytes($size, $unit, $precision); + $result = $this->replaceSpaceWithNonBreakingSpace($result); + return $result; + } + + public function getPrettyMoney($value, $idSite) + { + $result = parent::getPrettyMoney($value, $idSite); + $result = $this->replaceSpaceWithNonBreakingSpace($result); + return $result; + } + + private function replaceSpaceWithNonBreakingSpace($value) + { + return str_replace(' ', ' ', $value); + } +} \ No newline at end of file diff --git a/core/MetricsFormatter.php b/core/MetricsFormatter.php deleted file mode 100644 index 8554663525..0000000000 --- a/core/MetricsFormatter.php +++ /dev/null @@ -1,254 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * - */ -namespace Piwik; - -use Piwik\Tracker\GoalManager; - -/** - * Contains helper function that format numerical values in different ways. - * - * @api - */ -class MetricsFormatter -{ - /** - * Returns a prettified string representation of a number. The result will have - * thousands separators and a decimal point specific to the current locale, eg, - * `'1,000,000.05'` or `'1.000.000,05'`. - * - * @param number $value - * @return string - */ - public static function getPrettyNumber($value) - { - static $decimalPoint = null; - static $thousandsSeparator = null; - - if ($decimalPoint === null) { - $locale = localeconv(); - - $decimalPoint = $locale['decimal_point']; - $thousandsSeparator = $locale['thousands_sep']; - } - - return number_format($value, 0, $decimalPoint, $thousandsSeparator); - } - - /** - * Returns a prettified time value (in seconds). - * - * @param int $numberOfSeconds The number of seconds. - * @param bool $displayTimeAsSentence If set to true, will output `"5min 17s"`, if false `"00:05:17"`. - * @param bool $isHtml If true, replaces all spaces with `' '`. - * @param bool $round Whether to round to the nearest second or not. - * @return string - */ - public static function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = true, $isHtml = true, $round = false) - { - $numberOfSeconds = $round ? (int)$numberOfSeconds : (float)$numberOfSeconds; - - $isNegative = false; - if ($numberOfSeconds < 0) { - $numberOfSeconds = -1 * $numberOfSeconds; - $isNegative = true; - } - - // Display 01:45:17 time format - if ($displayTimeAsSentence === false) { - $hours = floor($numberOfSeconds / 3600); - $minutes = floor(($reminder = ($numberOfSeconds - $hours * 3600)) / 60); - $seconds = floor($reminder - $minutes * 60); - $time = sprintf("%02s", $hours) . ':' . sprintf("%02s", $minutes) . ':' . sprintf("%02s", $seconds); - $centiSeconds = ($numberOfSeconds * 100) % 100; - if ($centiSeconds) { - $time .= '.' . sprintf("%02s", $centiSeconds); - } - if ($isNegative) { - $time = '-' . $time; - } - return $time; - } - $secondsInYear = 86400 * 365.25; - - $years = floor($numberOfSeconds / $secondsInYear); - $minusYears = $numberOfSeconds - $years * $secondsInYear; - $days = floor($minusYears / 86400); - - $minusDays = $numberOfSeconds - $days * 86400; - $hours = floor($minusDays / 3600); - - $minusDaysAndHours = $minusDays - $hours * 3600; - $minutes = floor($minusDaysAndHours / 60); - - $seconds = $minusDaysAndHours - $minutes * 60; - $precision = ($seconds > 0 && $seconds < 0.01 ? 3 : 2); - $seconds = round($seconds, $precision); - - if ($years > 0) { - $return = sprintf(Piwik::translate('General_YearsDays'), $years, $days); - } elseif ($days > 0) { - $return = sprintf(Piwik::translate('General_DaysHours'), $days, $hours); - } elseif ($hours > 0) { - $return = sprintf(Piwik::translate('General_HoursMinutes'), $hours, $minutes); - } elseif ($minutes > 0) { - $return = sprintf(Piwik::translate('General_MinutesSeconds'), $minutes, $seconds); - } else { - $return = sprintf(Piwik::translate('General_Seconds'), $seconds); - } - - if ($isNegative) { - $return = '-' . $return; - } - - if ($isHtml) { - return str_replace(' ', ' ', $return); - } - - return $return; - } - - /** - * Returns a prettified memory size value. - * - * @param number $size The size in bytes. - * @param string $unit The specific unit to use, if any. If null, the unit is determined by $size. - * @param int $precision The precision to use when rounding. - * @return string eg, `'128 M'` or `'256 K'`. - */ - public static function getPrettySizeFromBytes($size, $unit = null, $precision = 1) - { - if ($size == 0) { - return '0 M'; - } - - $units = array('B', 'K', 'M', 'G', 'T'); - foreach ($units as $currentUnit) { - if ($size >= 1024 && $unit != $currentUnit) { - $size = $size / 1024; - } else { - break; - } - } - - return round($size, $precision) . " " . $currentUnit; - } - - /** - * Returns a pretty formated monetary value using the currency associated with a site. - * - * @param int|string $value The monetary value to format. - * @param int $idSite The ID of the site whose currency will be used. - * @param bool $isHtml If true, replaces all spaces with `' '`. - * @return string - */ - public static function getPrettyMoney($value, $idSite, $isHtml = true) - { - $currencyBefore = MetricsFormatter::getCurrencySymbol($idSite); - - $space = ' '; - if ($isHtml) { - $space = ' '; - } - - $currencyAfter = ''; - // (maybe more currencies prefer this notation?) - $currencySymbolToAppend = array('€', 'kr', 'zł'); - - // manually put the currency symbol after the amount - if (in_array($currencyBefore, $currencySymbolToAppend)) { - $currencyAfter = $space . $currencyBefore; - $currencyBefore = ''; - } - - // if the input is a number (it could be a string or INPUT form), - // and if this number is not an int, we round to precision 2 - if (is_numeric($value)) { - if ($value == round($value)) { - // 0.0 => 0 - $value = round($value); - } else { - $precision = GoalManager::REVENUE_PRECISION; - $value = sprintf("%01." . $precision . "f", $value); - } - } - - $prettyMoney = $currencyBefore . $space . $value . $currencyAfter; - return $prettyMoney; - } - - /** - * Prettifies a metric value based on the column name. - * - * @param int $idSite The ID of the site the metric is for (used if the column value is an amount of money). - * @param string $columnName The metric name. - * @param mixed $value The metric value. - * @param bool $isHtml If true, replaces all spaces with `' '`. - * @return string - */ - public static function getPrettyValue($idSite, $columnName, $value, $isHtml) - { - // Display time in human readable - if (strpos($columnName, 'time') !== false) { - // Little hack: Display 15s rather than 00:00:15, only for "(avg|min|max)_generation_time" - $timeAsSentence = (substr($columnName, -16) == '_time_generation'); - return self::getPrettyTimeFromSeconds($value, $timeAsSentence); - } - - // Add revenue symbol to revenues - if (strpos($columnName, 'revenue') !== false && strpos($columnName, 'evolution') === false) { - return self::getPrettyMoney($value, $idSite, $isHtml); - } - - // Add % symbol to rates - if (strpos($columnName, '_rate') !== false) { - if (strpos($value, "%") === false) { - return $value . "%"; - } - } - - return $value; - } - - /** - * Returns the currency symbol for a site. - * - * @param int $idSite The ID of the site to return the currency symbol for. - * @return string eg, `'$'`. - */ - public static function getCurrencySymbol($idSite) - { - $symbols = MetricsFormatter::getCurrencyList(); - $site = new Site($idSite); - $currency = $site->getCurrency(); - - if (isset($symbols[$currency])) { - return $symbols[$currency][0]; - } - - return ''; - } - - /** - * Returns the list of all known currency symbols. - * - * @return array An array mapping currency codes to their respective currency symbols - * and a description, eg, `array('USD' => array('$', 'US dollar'))`. - */ - public static function getCurrencyList() - { - static $currenciesList = null; - - if (is_null($currenciesList)) { - require_once PIWIK_INCLUDE_PATH . '/core/DataFiles/Currencies.php'; - $currenciesList = $GLOBALS['Piwik_CurrencyList']; - } - - return $currenciesList; - } -} diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 6fe5fd4b22..6a906bee44 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -10,6 +10,7 @@ namespace Piwik\Plugin; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\Metrics\Formatter; /** * Base type of metric metadata classes. @@ -72,9 +73,11 @@ abstract class Metric * * By default, just returns the value. * + * @param mixed $value The metric value. + * @param Formatter $formatter The formatter to use when formatting a value. * @return mixed $value */ - public function format($value) + public function format($value, Formatter $formatter) { return $value; } diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index 74cd2950fd..5674b189c9 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -14,7 +14,7 @@ use Piwik\Common; use Piwik\DataTable; use Piwik\Date; use Piwik\Log; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter\Html as HtmlFormatter; use Piwik\NoAccessException; use Piwik\Option; use Piwik\Period; @@ -144,6 +144,7 @@ class Visualization extends ViewDataTable private $templateVars = array(); private $reportLastUpdatedMessage = null; private $metadata = null; + protected $metricsFormatter = null; final public function __construct($controllerAction, $apiMethodToRequestDataTable, $params = array()) { @@ -153,6 +154,8 @@ class Visualization extends ViewDataTable throw new \Exception('You have not defined a constant named TEMPLATE_FILE in your visualization class.'); } + $this->metricsFormatter = new HtmlFormatter(); + parent::__construct($controllerAction, $apiMethodToRequestDataTable, $params); } @@ -367,7 +370,7 @@ class Visualization extends ViewDataTable $this->dataTable->applyQueuedFilters(); } - $postProcessor->applyProcessedMetricsFormatting($this->dataTable); + $postProcessor->applyProcessedMetricsFormatting($this->dataTable, $this->metricsFormatter); } private function removeEmptyColumnsFromDisplay() @@ -402,9 +405,8 @@ class Visualization extends ViewDataTable $today = mktime(0, 0, 0); if ($date->getTimestamp() > $today) { - $elapsedSeconds = time() - $date->getTimestamp(); - $timeAgo = MetricsFormatter::getPrettyTimeFromSeconds($elapsedSeconds); + $timeAgo = $this->metricsFormatter->getPrettyTimeFromSeconds($elapsedSeconds); return Piwik::translate('CoreHome_ReportGeneratedXAgo', $timeAgo); } diff --git a/core/Timer.php b/core/Timer.php index 82addaa1cd..c7401677bf 100644 --- a/core/Timer.php +++ b/core/Timer.php @@ -7,6 +7,7 @@ * */ namespace Piwik; +use Piwik\Metrics\Formatter; /** * @@ -15,12 +16,15 @@ class Timer { private $timerStart; private $memoryStart; + private $formatter; /** * @return \Piwik\Timer */ public function __construct() { + $this->formatter = new Formatter(); + $this->init(); } @@ -56,7 +60,7 @@ class Timer */ public function getMemoryLeak() { - return "Memory delta: " . MetricsFormatter::getPrettySizeFromBytes($this->getMemoryUsage() - $this->memoryStart); + return "Memory delta: " . $this->formatter->getPrettySizeFromBytes($this->getMemoryUsage() - $this->memoryStart); } /** diff --git a/core/Twig.php b/core/Twig.php index 2e0ef95844..790de9ab3c 100755 --- a/core/Twig.php +++ b/core/Twig.php @@ -10,6 +10,7 @@ namespace Piwik; use Exception; use Piwik\DataTable\Filter\SafeDecodeLabel; +use Piwik\Metrics\Formatter; use Piwik\Period\Range; use Piwik\Translate; use Piwik\View\RenderTokenParser; @@ -35,6 +36,8 @@ class Twig */ private $twig; + private $formatter; + public function __construct() { $loader = $this->getDefaultThemeLoader(); @@ -45,6 +48,8 @@ class Twig $theme = $manager->getThemeEnabled(); $loaders = array(); + $this->formatter = new Formatter(); + //create loader for custom theme to overwrite twig templates if ($theme && $theme->getPluginName() != \Piwik\Plugin\Manager::DEFAULT_THEME) { $customLoader = $this->getCustomThemeLoader($theme); @@ -273,21 +278,23 @@ class Twig protected function addFilter_money() { - $moneyFilter = new Twig_SimpleFilter('money', function ($amount) { + $formatter = $this->formatter; + $moneyFilter = new Twig_SimpleFilter('money', function ($amount) use ($formatter) { if (func_num_args() != 2) { throw new Exception('the money modifier expects one parameter: the idSite.'); } $idSite = func_get_args(); $idSite = $idSite[1]; - return MetricsFormatter::getPrettyMoney($amount, $idSite); + return $formatter->getPrettyMoney($amount, $idSite); }); $this->twig->addFilter($moneyFilter); } protected function addFilter_sumTime() { - $sumtimeFilter = new Twig_SimpleFilter('sumtime', function ($numberOfSeconds) { - return MetricsFormatter::getPrettyTimeFromSeconds($numberOfSeconds); + $formatter = $this->formatter; + $sumtimeFilter = new Twig_SimpleFilter('sumtime', function ($numberOfSeconds) use ($formatter) { + return $formatter->getPrettyTimeFromSeconds($numberOfSeconds); }); $this->twig->addFilter($sumtimeFilter); } diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index dcdf8aa09e..e31c938a18 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -18,7 +18,7 @@ use Piwik\DataTable\Row; use Piwik\DataTable\Simple; use Piwik\Date; use Piwik\Metrics; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Period; use Piwik\Piwik; use Piwik\Plugin\Report; @@ -647,6 +647,8 @@ class ProcessedReport $enhancedDataTable = new Simple(); } + $formatter = new Formatter(); + foreach ($simpleDataTable->getRows() as $row) { $rowMetrics = $row->getColumns(); @@ -673,7 +675,8 @@ class ProcessedReport $idSiteForRow = (int) $row->getMetadata('idsite'); } - $prettyValue = MetricsFormatter::getPrettyValue($idSiteForRow, $columnName, $columnValue, $htmlAllowed = false); + // TODO: should not call this for formatted processed metrics + $prettyValue = $this->getPrettyValue($formatter, $idSiteForRow, $columnName, $columnValue, $htmlAllowed = false); $enhancedRow->addColumn($columnName, $prettyValue); } // For example the Maps Widget requires the raw metrics to do advanced datavis elseif ($returnRawMetrics) { @@ -797,4 +800,35 @@ class ProcessedReport return $entry; }, $v)); } -} + + /** + * Prettifies a metric value based on the column name. + * + * @param int $idSite The ID of the site the metric is for (used if the column value is an amount of money). + * @param string $columnName The metric name. + * @param mixed $value The metric value. + * @param bool $isHtml If true, replaces all spaces with `' '`. + * @return string + */ + public function getPrettyValue(Formatter $formatter, $idSite, $columnName, $value) // TODO: is this method used? if not remove it + { + // Display time in human readable + if (strpos($columnName, 'time') !== false) { + return $formatter->getPrettyTimeFromSeconds($value); + } + + // Add revenue symbol to revenues + if (strpos($columnName, 'revenue') !== false && strpos($columnName, 'evolution') === false) { + return $formatter->getPrettyMoney($value, $idSite); + } + + // Add % symbol to rates + if (strpos($columnName, '_rate') !== false) { + if (strpos($value, "%") === false) { + return $value . "%"; + } + } + + return $value; + } +} \ No newline at end of file diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php index 0babe85007..50b6cc7227 100644 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Metrics/AveragePageGenerationTime.php @@ -10,7 +10,7 @@ namespace Piwik\Plugins\Actions\Metrics; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; @@ -48,10 +48,9 @@ class AveragePageGenerationTime extends ProcessedMetric return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } - public function format($value) + public function format($value, Formatter $formatter) { - // TODO: isHtml needs to be true for this & for revenue columns. perhaps we can make MetricsFormatter an object. - return $value ? MetricsFormatter::getPrettyTimeFromSeconds($value, $displayAsSentence = true, $isHtml = false) : "-"; + return $value ? $formatter->getPrettyTimeFromSeconds($value, $displayAsSentence = true) : "-"; } public function beforeCompute($report, DataTable $table) diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php index 30bfdb78cf..395f1d0a8e 100644 --- a/plugins/Actions/Metrics/AverageTimeOnPage.php +++ b/plugins/Actions/Metrics/AverageTimeOnPage.php @@ -8,7 +8,7 @@ namespace Piwik\Plugins\Actions\Metrics; use Piwik\DataTable\Row; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -39,9 +39,9 @@ class AverageTimeOnPage extends ProcessedMetric return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); } - public function format($value) + public function format($value, Formatter $formatter) { - return MetricsFormatter::getPrettyTimeFromSeconds($value); + return $formatter->getPrettyTimeFromSeconds($value); } public function getDependentMetrics() diff --git a/plugins/Actions/Metrics/BounceRate.php b/plugins/Actions/Metrics/BounceRate.php index 72e2cc08af..f19b701ada 100644 --- a/plugins/Actions/Metrics/BounceRate.php +++ b/plugins/Actions/Metrics/BounceRate.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Actions\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -38,9 +39,9 @@ class BounceRate extends ProcessedMetric return Piwik::getQuotientSafe($entryBounceCount, $entryVisits, $precision = 2); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; // TODO: how does this affect the float/locale bug? + return $formatter->getPrettyPercentFromQuotient($value); } public function getDependentMetrics() diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php index 89f50a7867..2b570b045e 100644 --- a/plugins/Actions/Metrics/ExitRate.php +++ b/plugins/Actions/Metrics/ExitRate.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Actions\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -38,9 +39,9 @@ class ExitRate extends ProcessedMetric return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function getDependentMetrics() diff --git a/plugins/Actions/Reports/Base.php b/plugins/Actions/Reports/Base.php index 9685ea5cf3..84870baba8 100644 --- a/plugins/Actions/Reports/Base.php +++ b/plugins/Actions/Reports/Base.php @@ -9,7 +9,7 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Common; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Actions; @@ -61,8 +61,10 @@ abstract class Base extends \Piwik\Plugin\Report 'nb_visits' => Piwik::translate('General_ColumnUniquePageviews') )); + $formatter = new Formatter(); + // add avg_generation_time tooltip - $tooltipCallback = function ($hits, $min, $max) { + $tooltipCallback = function ($hits, $min, $max) use ($formatter) { if (!$hits) { return false; } @@ -70,8 +72,8 @@ abstract class Base extends \Piwik\Plugin\Report return Piwik::translate("Actions_AvgGenerationTimeTooltip", array( $hits, "<br />", - MetricsFormatter::getPrettyTimeFromSeconds($min), - MetricsFormatter::getPrettyTimeFromSeconds($max) + $formatter->getPrettyTimeFromSeconds($min), + $formatter->getPrettyTimeFromSeconds($max) )); }; $view->config->filters[] = array('ColumnCallbackAddMetadata', diff --git a/plugins/Contents/Metrics/InteractionRate.php b/plugins/Contents/Metrics/InteractionRate.php index 8d8500cf8a..6dfa09eefd 100644 --- a/plugins/Contents/Metrics/InteractionRate.php +++ b/plugins/Contents/Metrics/InteractionRate.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Contents\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -39,9 +40,9 @@ class InteractionRate extends ProcessedMetric return Piwik::getQuotientSafe($interactions, $impressions, $precision = 4); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function getDependentMetrics() diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php index af45ccc327..da59ea9e66 100644 --- a/plugins/CoreAdminHome/Controller.php +++ b/plugins/CoreAdminHome/Controller.php @@ -218,7 +218,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin $view->idSite = Common::getRequestVar('idSite', $defaultIdSite, 'int'); $view->defaultReportSiteName = Site::getNameFor($view->idSite); - $view->defaultSiteRevenue = \Piwik\MetricsFormatter::getCurrencySymbol($view->idSite); + $view->defaultSiteRevenue = \Piwik\Metrics\Formatter::getCurrencySymbol($view->idSite); $view->maxCustomVariables = CustomVariables::getMaxCustomVariables(); $allUrls = APISitesManager::getInstance()->getSiteUrlsFromId($view->idSite); diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php index 5b0acd652c..4a908d1a5f 100644 --- a/plugins/CoreHome/Metrics/AverageTimeOnSite.php +++ b/plugins/CoreHome/Metrics/AverageTimeOnSite.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\CoreHome\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -35,6 +36,11 @@ class AverageTimeOnSite extends ProcessedMetric return Piwik::getQuotientSafe($sumVisitLength, $nbVisits, $precision = 0); } + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyTimeFromSeconds($value); + } + public function getTranslatedName() { return Piwik::translate('General_ColumnAvgTimeOnSite'); diff --git a/plugins/CoreHome/Metrics/BounceRate.php b/plugins/CoreHome/Metrics/BounceRate.php index 3e45061589..d39e405cda 100644 --- a/plugins/CoreHome/Metrics/BounceRate.php +++ b/plugins/CoreHome/Metrics/BounceRate.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\CoreHome\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -36,9 +37,9 @@ class BounceRate extends ProcessedMetric return array('bounce_count', 'nb_visits'); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function compute(Row $row) diff --git a/plugins/CoreHome/Metrics/ConversionRate.php b/plugins/CoreHome/Metrics/ConversionRate.php index 6a1e08bf5e..23bca997a0 100644 --- a/plugins/CoreHome/Metrics/ConversionRate.php +++ b/plugins/CoreHome/Metrics/ConversionRate.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\CoreHome\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -35,9 +36,9 @@ class ConversionRate extends ProcessedMetric return array('nb_visits_converted', 'nb_visits'); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function compute(Row $row) diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php index 29d136816d..8794604509 100644 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ b/plugins/CoreHome/Metrics/EvolutionMetric.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\CoreHome\Metrics; use Piwik\Common; use Piwik\DataTable; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\Metric; use Piwik\Plugin\ProcessedMetric; @@ -98,11 +99,9 @@ class EvolutionMetric extends ProcessedMetric } } - public function format($value) + public function format($value, Formatter $formatter) { - $value = ($value * 100) . '%'; - $value = Common::forceDotAsSeparatorForDecimalPoint($value); // TODO: need to create helper function for this in Piwik and use in all percent classes? - return $value; + return $formatter->getPrettyPercentFromQuotient($value); } public function getDependentMetrics() diff --git a/plugins/CoreHome/Metrics/VisitsPercent.php b/plugins/CoreHome/Metrics/VisitsPercent.php index 24350c5cae..7d268091b1 100644 --- a/plugins/CoreHome/Metrics/VisitsPercent.php +++ b/plugins/CoreHome/Metrics/VisitsPercent.php @@ -10,6 +10,7 @@ namespace Piwik\Plugins\CoreHome\Metrics; use Piwik\DataTable; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; @@ -53,9 +54,9 @@ class VisitsPercent extends ProcessedMetric return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function getDependentMetrics() diff --git a/plugins/CoreHome/Visitor.php b/plugins/CoreHome/Visitor.php index 35b64b3d30..b98ee8ead0 100644 --- a/plugins/CoreHome/Visitor.php +++ b/plugins/CoreHome/Visitor.php @@ -8,15 +8,18 @@ */ namespace Piwik\Plugins\CoreHome; +use Piwik\Metrics\Formatter; use Piwik\Plugins\CoreHome\Columns\VisitGoalBuyer; class Visitor { private $details = array(); + private $metricsFormatter = null; public function __construct($details) { $this->details = $details; + $this->metricsFormatter = new Formatter(); } function getTimestampFirstAction() @@ -96,7 +99,7 @@ class Visitor function getVisitLengthPretty() { - return \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($this->details['visit_total_time']); + return $this->metricsFormatter->getPrettyTimeFromSeconds($this->details['visit_total_time']); } function getUserId() @@ -107,5 +110,4 @@ class Visitor } return null; } - } \ No newline at end of file diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php index 2ccd5a9e01..da9a82ac75 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable/AllColumns.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; +use Piwik\DataTable; use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; use Piwik\View; @@ -36,7 +37,7 @@ class AllColumns extends HtmlTable $properties = $this->config; - $this->dataTable->filter(function ($dataTable) use ($properties) { + $this->dataTable->filter(function (DataTable $dataTable) use ($properties) { $columnsToDisplay = array('label', 'nb_visits'); if (in_array('nb_uniq_visitors', $dataTable->getColumns())) { @@ -60,11 +61,4 @@ class AllColumns extends HtmlTable $properties->columns_to_display = $columnsToDisplay; }); } - - public function afterGenericFiltersAreAppliedToLoadedDataTable() - { - $prettifyTime = array('\Piwik\MetricsFormatter', 'getPrettyTimeFromSeconds'); - - $this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', $prettifyTime)); - } -} +} \ No newline at end of file diff --git a/plugins/DBStats/Controller.php b/plugins/DBStats/Controller.php index de36313264..1e8aad1311 100644 --- a/plugins/DBStats/Controller.php +++ b/plugins/DBStats/Controller.php @@ -8,7 +8,7 @@ */ namespace Piwik\Plugins\DBStats; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugins\DBStats\Reports\GetAdminDataSummary; use Piwik\Plugins\DBStats\Reports\GetDatabaseUsageSummary; @@ -42,9 +42,10 @@ class Controller extends \Piwik\Plugin\ControllerAdmin list($siteCount, $userCount, $totalSpaceUsed) = API::getInstance()->getGeneralInformation(); - $view->siteCount = MetricsFormatter::getPrettyNumber($siteCount); - $view->userCount = MetricsFormatter::getPrettyNumber($userCount); - $view->totalSpaceUsed = MetricsFormatter::getPrettySizeFromBytes($totalSpaceUsed); + $formatter = new Formatter(); + $view->siteCount = $formatter->getPrettyNumber($siteCount); + $view->userCount = $formatter->getPrettyNumber($userCount); + $view->totalSpaceUsed = $formatter->getPrettySizeFromBytes($totalSpaceUsed); return $view->render(); } diff --git a/plugins/DBStats/Reports/Base.php b/plugins/DBStats/Reports/Base.php index a37452a6a3..c32e2d7410 100644 --- a/plugins/DBStats/Reports/Base.php +++ b/plugins/DBStats/Reports/Base.php @@ -8,6 +8,7 @@ */ namespace Piwik\Plugins\DBStats\Reports; +use Piwik\Metrics\Formatter; use Piwik\Option; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; @@ -17,7 +18,6 @@ use Piwik\Plugins\DBStats\DBStats; abstract class Base extends \Piwik\Plugin\Report { - public function isEnabled() { return Piwik::hasUserSuperUserAccess(); @@ -119,7 +119,9 @@ abstract class Base extends \Piwik\Plugin\Report $view->config->selectable_rows = array(); } - $getPrettySize = array('\Piwik\MetricsFormatter', 'getPrettySizeFromBytes'); + $formatter = new Formatter(); + + $getPrettySize = array($formatter, 'getPrettySizeFromBytes'); $params = !isset($fixedMemoryUnit) ? array() : array($fixedMemoryUnit); $view->config->filters[] = function ($dataTable) use ($sizeColumns, $getPrettySize, $params) { @@ -135,7 +137,7 @@ abstract class Base extends \Piwik\Plugin\Report $view->config->filters[] = array('ColumnCallbackReplace', array($sizeColumns, $replaceSpaces)); } - $getPrettyNumber = array('\Piwik\MetricsFormatter', 'getPrettyNumber'); + $getPrettyNumber = array($formatter, 'getPrettyNumber'); $view->config->filters[] = array('ColumnCallbackReplace', array('row_count', $getPrettyNumber)); } diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php index 76237b6ff5..fed8e7779b 100644 --- a/plugins/Goals/Metrics/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/AverageOrderRevenue.php @@ -9,7 +9,7 @@ namespace Piwik\Plugins\Goals\Metrics; use Piwik\DataTable; use Piwik\DataTable\Row; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -47,9 +47,9 @@ class AverageOrderRevenue extends ProcessedMetric return array('revenue', 'nb_conversions'); } - public function format($value) + public function format($value, Formatter $formatter) { - return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $this->idSite, $isHtml = false); + return $formatter->getPrettyMoney($value, $this->idSite); } public function beforeFormat($report, DataTable $table) diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php index b22cca297b..1fb83c18bd 100644 --- a/plugins/Goals/Metrics/AveragePrice.php +++ b/plugins/Goals/Metrics/AveragePrice.php @@ -10,7 +10,7 @@ namespace Piwik\Plugins\Goals\Metrics; use Piwik\DataTable; use Piwik\DataTable\Row; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; @@ -50,9 +50,9 @@ class AveragePrice extends ProcessedMetric return array('price', 'orders', 'abandoned_carts'); } - public function format($value) + public function format($value, Formatter $formatter) { - return MetricsFormatter::getPrettyMoney(sprintf("%.2f", $value), $this->idSite, $isHtml = false); + return $formatter->getPrettyMoney($value, $this->idSite); } public function beforeFormat($report, DataTable $table) diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php index 144d8861bf..b946535580 100644 --- a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -10,7 +10,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -54,9 +54,9 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); } - public function format($value) + public function format($value, Formatter $formatter) { - return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $this->idSite, $isHtml = false); + return $formatter->getPrettyMoney($value, $this->idSite); } public function beforeFormat($report, DataTable $table) diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php index 0019fb0e06..1a1bf80305 100644 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -43,9 +44,9 @@ class ConversionRate extends GoalSpecificProcessedMetric return array('goals'); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function compute(Row $row) diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php index 5dcffb3236..814485309c 100644 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Metrics/GoalSpecific/Revenue.php @@ -10,7 +10,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; @@ -47,9 +47,9 @@ class Revenue extends GoalSpecificProcessedMetric return (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); } - public function format($value) + public function format($value, Formatter $formatter) { - return MetricsFormatter::getPrettyMoney(sprintf("%.2f", $value), $this->idSite, $isHtml = false); + return $formatter->getPrettyMoney($value, $this->idSite); } public function beforeFormat($report, DataTable $table) diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php index ce18172794..3abe443d71 100644 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php @@ -10,7 +10,7 @@ namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; use Piwik\Tracker\GoalManager; @@ -62,9 +62,9 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); } - public function format($value) + public function format($value, Formatter $formatter) { - return MetricsFormatter::getPrettyMoney(sprintf("%.1f", $value), $this->idSite, $isHtml = false); + return $formatter->getPrettyMoney($value, $this->idSite); } public function beforeFormat($report, DataTable $table) diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php index f11e9d9085..09d9a4ba29 100644 --- a/plugins/Goals/Metrics/ProductConversionRate.php +++ b/plugins/Goals/Metrics/ProductConversionRate.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Goals\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; @@ -32,9 +33,9 @@ class ProductConversionRate extends ProcessedMetric return Piwik::translate('General_ProductConversionRate'); } - public function format($value) + public function format($value, Formatter $formatter) { - return ($value * 100) . '%'; + return $formatter->getPrettyPercentFromQuotient($value); } public function compute(Row $row) diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php index a307ef566a..825b6e1033 100644 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Metrics/RevenuePerVisit.php @@ -10,7 +10,7 @@ namespace Piwik\Plugins\Goals\Metrics; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; use Piwik\Tracker\GoalManager; @@ -70,10 +70,9 @@ class RevenuePerVisit extends ProcessedMetric return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); } - public function format($value) + public function format($value, Formatter $formatter) { - // TODO: is the sprintf necessary? - return MetricsFormatter::getPrettyMoney(sprintf("%.2f", $value), $this->idSite, $isHtml = false); + return $formatter->getPrettyMoney($value, $this->idSite); } public function beforeFormat($report, DataTable $table) diff --git a/plugins/Goals/Reports/BaseEcommerceItem.php b/plugins/Goals/Reports/BaseEcommerceItem.php index 5da30d154d..ae6d0e87a8 100644 --- a/plugins/Goals/Reports/BaseEcommerceItem.php +++ b/plugins/Goals/Reports/BaseEcommerceItem.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Goals\Reports; use Piwik\Common; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugin\ViewDataTable; @@ -69,7 +70,7 @@ abstract class BaseEcommerceItem extends BaseEcommerce $view->config->show_table_all_columns = false; $moneyColumns = array('revenue'); - $formatter = '\Piwik\MetricsFormatter::getPrettyMoney'; + $formatter = array(new Formatter(), 'getPrettyMoney'); $view->config->filters[] = array('ColumnCallbackReplace', array($moneyColumns, $formatter, array($idSite))); $view->requestConfig->filter_limit = 10; diff --git a/plugins/Live/API.php b/plugins/Live/API.php index 67f7d46cd4..935762c79d 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -15,7 +15,7 @@ use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Date; use Piwik\Db; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Period\Range; use Piwik\Period; use Piwik\Piwik; @@ -346,7 +346,8 @@ class API extends \Piwik\Plugin\API round($pageGenerationTimeTotal / $result['totalPageViews'], $precision = 2); } - $result['totalVisitDurationPretty'] = MetricsFormatter::getPrettyTimeFromSeconds($result['totalVisitDuration']); + $formatter = new Formatter(); + $result['totalVisitDurationPretty'] = $formatter->getPrettyTimeFromSeconds($result['totalVisitDuration']); // use requested visits for first/last visit info $rows = $visits->getRows(); diff --git a/plugins/Live/Reports/GetSimpleLastVisitCount.php b/plugins/Live/Reports/GetSimpleLastVisitCount.php index 1b44e4ad69..34ba773fa9 100644 --- a/plugins/Live/Reports/GetSimpleLastVisitCount.php +++ b/plugins/Live/Reports/GetSimpleLastVisitCount.php @@ -9,7 +9,7 @@ namespace Piwik\Plugins\Live\Reports; use Piwik\Config; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugins\Live\Controller; @@ -32,11 +32,13 @@ class GetSimpleLastVisitCount extends Base $lastNData = Request::processRequest('Live.getCounters', array('lastMinutes' => $lastMinutes)); + $formatter = new Formatter(); + $view = new View('@Live/getSimpleLastVisitCount'); $view->lastMinutes = $lastMinutes; - $view->visitors = MetricsFormatter::getPrettyNumber($lastNData[0]['visitors']); - $view->visits = MetricsFormatter::getPrettyNumber($lastNData[0]['visits']); - $view->actions = MetricsFormatter::getPrettyNumber($lastNData[0]['actions']); + $view->visitors = $formatter->getPrettyNumber($lastNData[0]['visitors']); + $view->visits = $formatter->getPrettyNumber($lastNData[0]['visits']); + $view->actions = $formatter->getPrettyNumber($lastNData[0]['actions']); $view->refreshAfterXSecs = Config::getInstance()->General['live_widget_refresh_after_seconds']; $view->translations = array( 'one_visitor' => Piwik::translate('Live_NbVisitor'), @@ -51,5 +53,4 @@ class GetSimpleLastVisitCount extends Base return $view->render(); } - -} +} \ No newline at end of file diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php index 27873ec2a1..c7c8a13e6d 100644 --- a/plugins/Live/Visitor.php +++ b/plugins/Live/Visitor.php @@ -13,6 +13,7 @@ use Piwik\DataAccess\LogAggregator; use Piwik\DataTable\Filter\ColumnDelete; use Piwik\Date; use Piwik\Db; +use Piwik\Metrics\Formatter; use Piwik\Network\IPUtils; use Piwik\Piwik; use Piwik\Plugins\CustomVariables\CustomVariables; @@ -282,6 +283,8 @@ class Visitor implements VisitorInterface "; $actionDetails = Db::fetchAll($sql, array($idVisit)); + $formatter = new Formatter(); + foreach ($actionDetails as $actionIdx => &$actionDetail) { $actionDetail =& $actionDetails[$actionIdx]; $customVariablesPage = array(); @@ -327,7 +330,7 @@ class Visitor implements VisitorInterface $actionDetail['eventValue'] = round($actionDetail['custom_float'], self::EVENT_VALUE_PRECISION); } } elseif ($actionDetail['custom_float'] > 0) { - $actionDetail['generationTime'] = \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($actionDetail['custom_float'] / 1000); + $actionDetail['generationTime'] = $formatter->getPrettyTimeFromSeconds($actionDetail['custom_float'] / 1000); } unset($actionDetail['custom_float']); @@ -343,7 +346,7 @@ class Visitor implements VisitorInterface // Set the time spent for this action (which is the timeSpentRef of the next action) if (isset($actionDetails[$actionIdx + 1])) { $actionDetail['timeSpent'] = $actionDetails[$actionIdx + 1]['timeSpentRef']; - $actionDetail['timeSpentPretty'] = \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($actionDetail['timeSpent']); + $actionDetail['timeSpentPretty'] = $formatter->getPrettyTimeFromSeconds($actionDetail['timeSpent']); } unset($actionDetails[$actionIdx]['timeSpentRef']); // not needed after timeSpent is added diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index 331be0a1f7..bbbb2a30c1 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -13,7 +13,6 @@ use Piwik\API\Request; use Piwik\Common; use Piwik\Config; use Piwik\Metrics; -use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugins\Actions\ArchivingHelper; use Piwik\Plugins\SitesManager\API as APISitesManager; @@ -77,6 +76,8 @@ class Controller extends \Piwik\Plugin\Controller ); $dataTable = $request->process(); + $formatter = new Metrics\Formatter(); + $data = array(); if ($dataTable->getRowsCount() > 0) { $row = $dataTable->getFirstRow(); @@ -92,7 +93,7 @@ class Controller extends \Piwik\Plugin\Controller continue; } if ($metric == 'avg_time_on_page') { - $value = MetricsFormatter::getPrettyTimeFromSeconds($value); + $value = $formatter->getPrettyTimeFromSeconds($value); } $data[] = array( 'name' => $translations[$metric], diff --git a/plugins/PrivacyManager/Controller.php b/plugins/PrivacyManager/Controller.php index c950d789ed..2cacd93c30 100644 --- a/plugins/PrivacyManager/Controller.php +++ b/plugins/PrivacyManager/Controller.php @@ -12,7 +12,7 @@ use Piwik\Common; use Piwik\Config as PiwikConfig; use Piwik\Date; use Piwik\Db; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Nonce; use Piwik\Notification; use Piwik\Option; @@ -196,8 +196,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin $totalBytes += $status['Data_length'] + $status['Index_length']; } + $formatter = new Formatter(); $result = array( - 'currentSize' => MetricsFormatter::getPrettySizeFromBytes($totalBytes) + 'currentSize' => $formatter->getPrettySizeFromBytes($totalBytes) ); // if the db size estimate feature is enabled, get the estimate @@ -224,8 +225,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin } } - $result['sizeAfterPurge'] = MetricsFormatter::getPrettySizeFromBytes($totalAfterPurge); - $result['spaceSaved'] = MetricsFormatter::getPrettySizeFromBytes($totalBytes - $totalAfterPurge); + $result['sizeAfterPurge'] = $formatter->getPrettySizeFromBytes($totalAfterPurge); + $result['spaceSaved'] = $formatter->getPrettySizeFromBytes($totalBytes - $totalAfterPurge); } return $result; @@ -287,7 +288,9 @@ class Controller extends \Piwik\Plugin\ControllerAdmin } } - $deleteDataInfos["nextRunPretty"] = MetricsFormatter::getPrettyTimeFromSeconds($deleteDataInfos["nextScheduleTime"] - time()); + $formatter = new Formatter(); + + $deleteDataInfos["nextRunPretty"] = $formatter->getPrettyTimeFromSeconds($deleteDataInfos["nextScheduleTime"] - time()); return $deleteDataInfos; } diff --git a/plugins/SEO/RankChecker.php b/plugins/SEO/RankChecker.php index 88010814a1..fa254070df 100644 --- a/plugins/SEO/RankChecker.php +++ b/plugins/SEO/RankChecker.php @@ -11,7 +11,7 @@ namespace Piwik\Plugins\SEO; use Exception; use Piwik\Http; use Piwik\Log; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; /** * The functions below are derived/adapted from GetRank.org's @@ -25,10 +25,12 @@ class RankChecker { private $url; private $majesticInfo = null; + private $formatter = null; public function __construct($url) { $this->url = self::extractDomainFromUrl($url); + $this->formatter = new Formatter(); } /** @@ -171,7 +173,7 @@ class RankChecker } if ($maxAge) { - return MetricsFormatter::getPrettyTimeFromSeconds(time() - $maxAge); + return $this->formatter->getPrettyTimeFromSeconds(time() - $maxAge); } return false; } diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php index 24bb750f12..b10d321fce 100644 --- a/plugins/SitesManager/API.php +++ b/plugins/SitesManager/API.php @@ -13,8 +13,7 @@ use Piwik\Access; use Piwik\Common; use Piwik\Date; use Piwik\Db; -use Piwik\IP; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Network\IPUtils; use Piwik\Option; use Piwik\Piwik; @@ -1157,7 +1156,7 @@ class API extends \Piwik\Plugin\API */ public function getCurrencyList() { - $currencies = MetricsFormatter::getCurrencyList(); + $currencies = Formatter::getCurrencyList(); return array_map(function ($a) { return $a[1] . " (" . $a[0] . ")"; }, $currencies); @@ -1170,7 +1169,7 @@ class API extends \Piwik\Plugin\API */ public function getCurrencySymbols() { - $currencies = MetricsFormatter::getCurrencyList(); + $currencies = Formatter::getCurrencyList(); return array_map(function ($a) { return $a[0]; }, $currencies); diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php index a0b184ceb9..65f55b9a01 100644 --- a/plugins/UsersManager/Controller.php +++ b/plugins/UsersManager/Controller.php @@ -11,7 +11,7 @@ namespace Piwik\Plugins\UsersManager; use Exception; use Piwik\API\ResponseBuilder; use Piwik\Common; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugins\LanguagesManager\API as APILanguagesManager; use Piwik\Plugins\LanguagesManager\LanguagesManager; @@ -83,6 +83,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin $superUsers = array(); $usersAliasByLogin = array(); + $formatter = new Formatter(); + if (Piwik::isUserHasSomeAdminAccess()) { $view->showLastSeen = true; @@ -92,7 +94,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin $lastSeen = LastSeenTimeLogger::getLastSeenTimeForUser($user['login']); $users[$index]['last_seen'] = $lastSeen == 0 - ? false : MetricsFormatter::getPrettyTimeFromSeconds(time() - $lastSeen); + ? false : $formatter->getPrettyTimeFromSeconds(time() - $lastSeen); } if (Piwik::hasUserSuperUserAccess()) { diff --git a/plugins/VisitFrequency/Metrics/ReturningMetric.php b/plugins/VisitFrequency/Metrics/ReturningMetric.php index 8a3f95b06c..6768523dad 100644 --- a/plugins/VisitFrequency/Metrics/ReturningMetric.php +++ b/plugins/VisitFrequency/Metrics/ReturningMetric.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\VisitFrequency\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -46,9 +47,9 @@ class ReturningMetric extends ProcessedMetric return Piwik::translate(self::$translations[$this->getName()]); } - public function format($value) + public function format($value, Formatter $formatter) { - return $this->wrapped->format($value); + return $this->wrapped->format($value, $formatter); } public function compute(Row $row) diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 0530fd7ae3..8207e23bb6 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -9,8 +9,7 @@ namespace Piwik\Plugins\VisitsSummary; use Piwik\Archive; -use Piwik\Common; -use Piwik\MetricsFormatter; +use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\SettingsPiwik; @@ -119,12 +118,14 @@ class API extends \Piwik\Plugin\API public function getSumVisitsLengthPretty($idSite, $period, $date, $segment = false) { + $formatter = new Formatter(); + $table = $this->getSumVisitsLength($idSite, $period, $date, $segment); if (is_object($table)) { $table->filter('ColumnCallbackReplace', - array('sum_visit_length', '\Piwik\MetricsFormatter::getPrettyTimeFromSeconds')); + array('sum_visit_length', array($formatter, 'getPrettyTimeFromSeconds'))); } else { - $table = MetricsFormatter::getPrettyTimeFromSeconds($table); + $table = $formatter->getPrettyTimeFromSeconds($table); } return $table; } -- cgit v1.2.3 From 05c4b313cf29bec72bb6cd8ed10142b84b39a4c6 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Thu, 13 Nov 2014 20:46:17 -0800 Subject: Move all Metrics to Columns folder. --- .../Filter/AddColumnsProcessedMetrics.php | 8 +- .../Filter/AddColumnsProcessedMetricsGoal.php | 14 +-- core/DataTable/Filter/CalculateEvolutionFilter.php | 4 +- plugins/Actions/API.php | 8 +- .../Columns/Metrics/AveragePageGenerationTime.php | 89 +++++++++++++++ .../Actions/Columns/Metrics/AverageTimeOnPage.php | 51 +++++++++ plugins/Actions/Columns/Metrics/BounceRate.php | 51 +++++++++ plugins/Actions/Columns/Metrics/ExitRate.php | 51 +++++++++ .../Actions/Metrics/AveragePageGenerationTime.php | 89 --------------- plugins/Actions/Metrics/AverageTimeOnPage.php | 51 --------- plugins/Actions/Metrics/BounceRate.php | 51 --------- plugins/Actions/Metrics/ExitRate.php | 51 --------- plugins/Actions/Reports/Get.php | 2 +- plugins/Actions/Reports/GetEntryPageTitles.php | 8 +- plugins/Actions/Reports/GetEntryPageUrls.php | 8 +- plugins/Actions/Reports/GetExitPageTitles.php | 8 +- plugins/Actions/Reports/GetExitPageUrls.php | 8 +- plugins/Actions/Reports/GetPageTitles.php | 8 +- .../Reports/GetPageTitlesFollowingSiteSearch.php | 8 +- plugins/Actions/Reports/GetPageUrls.php | 8 +- plugins/Actions/Reports/GetSiteSearchKeywords.php | 8 +- .../Reports/GetSiteSearchNoResultKeywords.php | 8 +- .../Contents/Columns/Metrics/InteractionRate.php | 52 +++++++++ plugins/Contents/Metrics/InteractionRate.php | 52 --------- plugins/Contents/Reports/GetContentNames.php | 2 +- plugins/Contents/Reports/GetContentPieces.php | 2 +- .../CoreHome/Columns/Metrics/ActionsPerVisit.php | 46 ++++++++ .../CoreHome/Columns/Metrics/AverageTimeOnSite.php | 53 +++++++++ plugins/CoreHome/Columns/Metrics/BounceRate.php | 52 +++++++++ .../CoreHome/Columns/Metrics/ConversionRate.php | 51 +++++++++ .../CoreHome/Columns/Metrics/EvolutionMetric.php | 123 ++++++++++++++++++++ plugins/CoreHome/Columns/Metrics/VisitsPercent.php | 77 +++++++++++++ plugins/CoreHome/Metrics/ActionsPerVisit.php | 46 -------- plugins/CoreHome/Metrics/AverageTimeOnSite.php | 53 --------- plugins/CoreHome/Metrics/BounceRate.php | 52 --------- plugins/CoreHome/Metrics/ConversionRate.php | 51 --------- plugins/CoreHome/Metrics/EvolutionMetric.php | 124 --------------------- plugins/CoreHome/Metrics/VisitsPercent.php | 77 ------------- .../Events/Columns/Metrics/AverageEventValue.php | 45 ++++++++ plugins/Events/Metrics/AverageEventValue.php | 45 -------- plugins/Events/Reports/Base.php | 2 +- plugins/Goals/API.php | 2 +- .../Goals/Columns/Metrics/AverageOrderRevenue.php | 60 ++++++++++ plugins/Goals/Columns/Metrics/AveragePrice.php | 63 +++++++++++ plugins/Goals/Columns/Metrics/AverageQuantity.php | 47 ++++++++ .../Metrics/GoalSpecific/AverageOrderRevenue.php | 67 +++++++++++ .../Metrics/GoalSpecific/ConversionRate.php | 63 +++++++++++ .../Columns/Metrics/GoalSpecific/Conversions.php | 43 +++++++ .../Columns/Metrics/GoalSpecific/ItemsCount.php | 48 ++++++++ .../Goals/Columns/Metrics/GoalSpecific/Revenue.php | 60 ++++++++++ .../Metrics/GoalSpecific/RevenuePerVisit.php | 75 +++++++++++++ .../Metrics/GoalSpecificProcessedMetric.php | 92 +++++++++++++++ .../Columns/Metrics/ProductConversionRate.php | 54 +++++++++ plugins/Goals/Columns/Metrics/RevenuePerVisit.php | 83 ++++++++++++++ plugins/Goals/Metrics/AverageOrderRevenue.php | 60 ---------- plugins/Goals/Metrics/AveragePrice.php | 63 ----------- plugins/Goals/Metrics/AverageQuantity.php | 47 -------- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 67 ----------- .../Goals/Metrics/GoalSpecific/ConversionRate.php | 63 ----------- plugins/Goals/Metrics/GoalSpecific/Conversions.php | 43 ------- plugins/Goals/Metrics/GoalSpecific/ItemsCount.php | 48 -------- plugins/Goals/Metrics/GoalSpecific/Revenue.php | 60 ---------- .../Goals/Metrics/GoalSpecific/RevenuePerVisit.php | 75 ------------- .../Goals/Metrics/GoalSpecificProcessedMetric.php | 93 ---------------- plugins/Goals/Metrics/ProductConversionRate.php | 54 --------- plugins/Goals/Metrics/RevenuePerVisit.php | 83 -------------- plugins/Goals/Reports/BaseEcommerceItem.php | 6 +- .../Columns/Metrics/RevenueEvolution.php | 37 ++++++ plugins/MultiSites/Metrics/RevenueEvolution.php | 37 ------ plugins/UserSettings/API.php | 2 +- .../Columns/Metrics/ReturningMetric.php | 64 +++++++++++ plugins/VisitFrequency/Metrics/ReturningMetric.php | 64 ----------- plugins/VisitFrequency/Reports/Get.php | 8 +- .../Reports/GetNumberOfVisitsByVisitCount.php | 2 +- plugins/VisitsSummary/Reports/Get.php | 6 +- 75 files changed, 1667 insertions(+), 1669 deletions(-) create mode 100644 plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php create mode 100644 plugins/Actions/Columns/Metrics/AverageTimeOnPage.php create mode 100644 plugins/Actions/Columns/Metrics/BounceRate.php create mode 100644 plugins/Actions/Columns/Metrics/ExitRate.php delete mode 100644 plugins/Actions/Metrics/AveragePageGenerationTime.php delete mode 100644 plugins/Actions/Metrics/AverageTimeOnPage.php delete mode 100644 plugins/Actions/Metrics/BounceRate.php delete mode 100644 plugins/Actions/Metrics/ExitRate.php create mode 100644 plugins/Contents/Columns/Metrics/InteractionRate.php delete mode 100644 plugins/Contents/Metrics/InteractionRate.php create mode 100644 plugins/CoreHome/Columns/Metrics/ActionsPerVisit.php create mode 100644 plugins/CoreHome/Columns/Metrics/AverageTimeOnSite.php create mode 100644 plugins/CoreHome/Columns/Metrics/BounceRate.php create mode 100644 plugins/CoreHome/Columns/Metrics/ConversionRate.php create mode 100644 plugins/CoreHome/Columns/Metrics/EvolutionMetric.php create mode 100644 plugins/CoreHome/Columns/Metrics/VisitsPercent.php delete mode 100644 plugins/CoreHome/Metrics/ActionsPerVisit.php delete mode 100644 plugins/CoreHome/Metrics/AverageTimeOnSite.php delete mode 100644 plugins/CoreHome/Metrics/BounceRate.php delete mode 100644 plugins/CoreHome/Metrics/ConversionRate.php delete mode 100644 plugins/CoreHome/Metrics/EvolutionMetric.php delete mode 100644 plugins/CoreHome/Metrics/VisitsPercent.php create mode 100644 plugins/Events/Columns/Metrics/AverageEventValue.php delete mode 100644 plugins/Events/Metrics/AverageEventValue.php create mode 100644 plugins/Goals/Columns/Metrics/AverageOrderRevenue.php create mode 100644 plugins/Goals/Columns/Metrics/AveragePrice.php create mode 100644 plugins/Goals/Columns/Metrics/AverageQuantity.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecific/ConversionRate.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecific/Conversions.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecific/ItemsCount.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php create mode 100644 plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php create mode 100644 plugins/Goals/Columns/Metrics/ProductConversionRate.php create mode 100644 plugins/Goals/Columns/Metrics/RevenuePerVisit.php delete mode 100644 plugins/Goals/Metrics/AverageOrderRevenue.php delete mode 100644 plugins/Goals/Metrics/AveragePrice.php delete mode 100644 plugins/Goals/Metrics/AverageQuantity.php delete mode 100644 plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php delete mode 100644 plugins/Goals/Metrics/GoalSpecific/ConversionRate.php delete mode 100644 plugins/Goals/Metrics/GoalSpecific/Conversions.php delete mode 100644 plugins/Goals/Metrics/GoalSpecific/ItemsCount.php delete mode 100644 plugins/Goals/Metrics/GoalSpecific/Revenue.php delete mode 100644 plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php delete mode 100644 plugins/Goals/Metrics/GoalSpecificProcessedMetric.php delete mode 100644 plugins/Goals/Metrics/ProductConversionRate.php delete mode 100644 plugins/Goals/Metrics/RevenuePerVisit.php create mode 100644 plugins/MultiSites/Columns/Metrics/RevenueEvolution.php delete mode 100644 plugins/MultiSites/Metrics/RevenueEvolution.php create mode 100644 plugins/VisitFrequency/Columns/Metrics/ReturningMetric.php delete mode 100644 plugins/VisitFrequency/Metrics/ReturningMetric.php diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php index e95c351f4e..a3a9bd9776 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php @@ -12,10 +12,10 @@ use Piwik\DataTable\BaseFilter; use Piwik\DataTable\Row; use Piwik\DataTable; use Piwik\Plugin\Metric; -use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; -use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; -use Piwik\Plugins\CoreHome\Metrics\BounceRate; -use Piwik\Plugins\CoreHome\Metrics\ConversionRate; +use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit; +use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite; +use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate; +use Piwik\Plugins\CoreHome\Columns\Metrics\ConversionRate; /** * Adds processed metrics columns to a {@link DataTable} using metrics that already exist. diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 51d7698bd2..16fc2db1bf 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -12,13 +12,13 @@ use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Piwik; use Piwik\Plugin\Metric; -use Piwik\Plugins\Goals\Metrics\GoalSpecific\AverageOrderRevenue; -use Piwik\Plugins\Goals\Metrics\GoalSpecific\ConversionRate; -use Piwik\Plugins\Goals\Metrics\GoalSpecific\Conversions; -use Piwik\Plugins\Goals\Metrics\GoalSpecific\ItemsCount; -use Piwik\Plugins\Goals\Metrics\GoalSpecific\Revenue; -use Piwik\Plugins\Goals\Metrics\GoalSpecific\RevenuePerVisit as GoalSpecificRevenuePerVisit; -use Piwik\Plugins\Goals\Metrics\RevenuePerVisit; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific\AverageOrderRevenue; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific\ConversionRate; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific\Conversions; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific\ItemsCount; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific\Revenue; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific\RevenuePerVisit as GoalSpecificRevenuePerVisit; +use Piwik\Plugins\Goals\Columns\Metrics\RevenuePerVisit; /** * Adds goal related metrics to a {@link DataTable} using metrics that already exist. diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index acde0643c4..719d4fa777 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -10,7 +10,7 @@ namespace Piwik\DataTable\Filter; use Piwik\DataTable; use Piwik\DataTable\Row; -use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; +use Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric; /** * A {@link DataTable} filter that calculates the evolution of a metric and adds @@ -30,7 +30,7 @@ use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage { /** - * @var EvolutionMetric + * @var \Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric */ protected $evolutionMetric; diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index 4b730c0c07..0cf5bd63a8 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -17,10 +17,10 @@ use Piwik\Date; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\Report; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; use Piwik\Plugins\CustomVariables\API as APICustomVariables; use Piwik\Plugins\Actions\Actions\ActionSiteSearch; use Piwik\Tracker\Action; diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php new file mode 100644 index 0000000000..cf8ea3018d --- /dev/null +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -0,0 +1,89 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Actions\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; + +/** + * The average amount of time it takes to generate a page. Calculated as + * + * sum_time_generation / nb_hits_with_time_generation + * + * The above metrics are calculated during archiving. This metric is calculated before + * serving a report. + */ +class AveragePageGenerationTime extends ProcessedMetric +{ + public function getName() + { + return 'avg_time_generation'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnAverageGenerationTime'); + } + + public function getDependentMetrics() + { + return array('sum_time_generation', 'nb_hits_with_time_generation'); + } + + public function compute(Row $row) + { + $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); + $hitsWithTimeGeneration = $this->getMetric($row, 'nb_hits_with_time_generation'); + + return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); + } + + public function format($value, Formatter $formatter) + { + return $value ? $formatter->getPrettyTimeFromSeconds($value, $displayAsSentence = true) : "-"; + } + + public function beforeCompute($report, DataTable $table) + { + $hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0; + + if (!$hasTimeGeneration) { + // No generation time: remove it from the API output and add it to empty_columns metadata, so that + // the columns can also be removed from the view + $table->filter('ColumnDelete', array(array( + Metrics::INDEX_PAGE_SUM_TIME_GENERATION, + Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, + Metrics::INDEX_PAGE_MIN_TIME_GENERATION, + Metrics::INDEX_PAGE_MAX_TIME_GENERATION, + 'sum_time_generation', + 'nb_hits_with_time_generation', + 'min_time_generation', + 'max_time_generation' + ))); + + if ($table instanceof DataTable) { + $emptyColumns = $table->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); + if (!is_array($emptyColumns)) { + $emptyColumns = array(); + } + $emptyColumns[] = 'sum_time_generation'; + $emptyColumns[] = 'avg_time_generation'; + $emptyColumns[] = 'min_time_generation'; + $emptyColumns[] = 'max_time_generation'; + $table->setMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME, $emptyColumns); + } + } + + return $hasTimeGeneration; + } +} \ No newline at end of file diff --git a/plugins/Actions/Columns/Metrics/AverageTimeOnPage.php b/plugins/Actions/Columns/Metrics/AverageTimeOnPage.php new file mode 100644 index 0000000000..480964a52a --- /dev/null +++ b/plugins/Actions/Columns/Metrics/AverageTimeOnPage.php @@ -0,0 +1,51 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Actions\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The average amount of time spent on a page. Calculated as: + * + * sum_time_spent / nb_visits + * + * sum_time_spent and nb_visits are calculated by Archiver classes. + */ +class AverageTimeOnPage extends ProcessedMetric +{ + public function getName() + { + return 'avg_time_on_page'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnAverageTimeOnPage'); + } + + public function compute(Row $row) + { + $sumTimeSpent = $this->getMetric($row, 'sum_time_spent'); + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyTimeFromSeconds($value); + } + + public function getDependentMetrics() + { + return array('sum_time_spent', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Actions/Columns/Metrics/BounceRate.php b/plugins/Actions/Columns/Metrics/BounceRate.php new file mode 100644 index 0000000000..da748b5ea6 --- /dev/null +++ b/plugins/Actions/Columns/Metrics/BounceRate.php @@ -0,0 +1,51 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Actions\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The bounce rate for individual pages. Calculated as: + * + * entry_bounce_count (single page visits on this page) / entry_nb_visits (all visits that started on this page) + * + * entry_bounce_count & entry_nb_visits are calculated by the Actions archiver. + */ +class BounceRate extends ProcessedMetric +{ + public function getName() + { + return 'bounce_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnBounceRate'); + } + + public function compute(Row $row) + { + $entryBounceCount = $this->getMetric($row, 'entry_bounce_count'); + $entryVisits = $this->getMetric($row, 'entry_nb_visits'); + + return Piwik::getQuotientSafe($entryBounceCount, $entryVisits, $precision = 2); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function getDependentMetrics() + { + return array('entry_bounce_count', 'entry_nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Actions/Columns/Metrics/ExitRate.php b/plugins/Actions/Columns/Metrics/ExitRate.php new file mode 100644 index 0000000000..4f78b2482f --- /dev/null +++ b/plugins/Actions/Columns/Metrics/ExitRate.php @@ -0,0 +1,51 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Actions\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * Percent of visits that finished on this page. Calculated as: + * + * exit_nb_visits / nb_visits + * + * exit_nb_visits & nb_visits are calculated by the Actions archiver. + */ +class ExitRate extends ProcessedMetric +{ + public function getName() + { + return 'exit_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnExitRate'); + } + + public function compute(Row $row) + { + $exitVisits = $this->getMetric($row, 'exit_nb_visits'); + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function getDependentMetrics() + { + return array('exit_nb_visits', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Actions/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Metrics/AveragePageGenerationTime.php deleted file mode 100644 index 50b6cc7227..0000000000 --- a/plugins/Actions/Metrics/AveragePageGenerationTime.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Actions\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Plugin\Report; - -/** - * The average amount of time it takes to generate a page. Calculated as - * - * sum_time_generation / nb_hits_with_time_generation - * - * The above metrics are calculated during archiving. This metric is calculated before - * serving a report. - */ -class AveragePageGenerationTime extends ProcessedMetric -{ - public function getName() - { - return 'avg_time_generation'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnAverageGenerationTime'); - } - - public function getDependentMetrics() - { - return array('sum_time_generation', 'nb_hits_with_time_generation'); - } - - public function compute(Row $row) - { - $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); - $hitsWithTimeGeneration = $this->getMetric($row, 'nb_hits_with_time_generation'); - - return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); - } - - public function format($value, Formatter $formatter) - { - return $value ? $formatter->getPrettyTimeFromSeconds($value, $displayAsSentence = true) : "-"; - } - - public function beforeCompute($report, DataTable $table) - { - $hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0; - - if (!$hasTimeGeneration) { - // No generation time: remove it from the API output and add it to empty_columns metadata, so that - // the columns can also be removed from the view - $table->filter('ColumnDelete', array(array( - Metrics::INDEX_PAGE_SUM_TIME_GENERATION, - Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, - Metrics::INDEX_PAGE_MIN_TIME_GENERATION, - Metrics::INDEX_PAGE_MAX_TIME_GENERATION, - 'sum_time_generation', - 'nb_hits_with_time_generation', - 'min_time_generation', - 'max_time_generation' - ))); - - if ($table instanceof DataTable) { - $emptyColumns = $table->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); - if (!is_array($emptyColumns)) { - $emptyColumns = array(); - } - $emptyColumns[] = 'sum_time_generation'; - $emptyColumns[] = 'avg_time_generation'; - $emptyColumns[] = 'min_time_generation'; - $emptyColumns[] = 'max_time_generation'; - $table->setMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME, $emptyColumns); - } - } - - return $hasTimeGeneration; - } -} \ No newline at end of file diff --git a/plugins/Actions/Metrics/AverageTimeOnPage.php b/plugins/Actions/Metrics/AverageTimeOnPage.php deleted file mode 100644 index 395f1d0a8e..0000000000 --- a/plugins/Actions/Metrics/AverageTimeOnPage.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Actions\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The average amount of time spent on a page. Calculated as: - * - * sum_time_spent / nb_visits - * - * sum_time_spent and nb_visits are calculated by Archiver classes. - */ -class AverageTimeOnPage extends ProcessedMetric -{ - public function getName() - { - return 'avg_time_on_page'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnAverageTimeOnPage'); - } - - public function compute(Row $row) - { - $sumTimeSpent = $this->getMetric($row, 'sum_time_spent'); - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyTimeFromSeconds($value); - } - - public function getDependentMetrics() - { - return array('sum_time_spent', 'nb_visits'); - } -} \ No newline at end of file diff --git a/plugins/Actions/Metrics/BounceRate.php b/plugins/Actions/Metrics/BounceRate.php deleted file mode 100644 index f19b701ada..0000000000 --- a/plugins/Actions/Metrics/BounceRate.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Actions\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The bounce rate for individual pages. Calculated as: - * - * entry_bounce_count (single page visits on this page) / entry_nb_visits (all visits that started on this page) - * - * entry_bounce_count & entry_nb_visits are calculated by the Actions archiver. - */ -class BounceRate extends ProcessedMetric -{ - public function getName() - { - return 'bounce_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnBounceRate'); - } - - public function compute(Row $row) - { - $entryBounceCount = $this->getMetric($row, 'entry_bounce_count'); - $entryVisits = $this->getMetric($row, 'entry_nb_visits'); - - return Piwik::getQuotientSafe($entryBounceCount, $entryVisits, $precision = 2); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function getDependentMetrics() - { - return array('entry_bounce_count', 'entry_nb_visits'); - } -} \ No newline at end of file diff --git a/plugins/Actions/Metrics/ExitRate.php b/plugins/Actions/Metrics/ExitRate.php deleted file mode 100644 index 2b570b045e..0000000000 --- a/plugins/Actions/Metrics/ExitRate.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Actions\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * Percent of visits that finished on this page. Calculated as: - * - * exit_nb_visits / nb_visits - * - * exit_nb_visits & nb_visits are calculated by the Actions archiver. - */ -class ExitRate extends ProcessedMetric -{ - public function getName() - { - return 'exit_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnExitRate'); - } - - public function compute(Row $row) - { - $exitVisits = $this->getMetric($row, 'exit_nb_visits'); - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($exitVisits, $visits, $precision = 2); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function getDependentMetrics() - { - return array('exit_nb_visits', 'nb_visits'); - } -} \ No newline at end of file diff --git a/plugins/Actions/Reports/Get.php b/plugins/Actions/Reports/Get.php index da907315cd..cc97e91c6d 100644 --- a/plugins/Actions/Reports/Get.php +++ b/plugins/Actions/Reports/Get.php @@ -9,7 +9,7 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; class Get extends Base { diff --git a/plugins/Actions/Reports/GetEntryPageTitles.php b/plugins/Actions/Reports/GetEntryPageTitles.php index f00ac12fd2..2dbb887c45 100644 --- a/plugins/Actions/Reports/GetEntryPageTitles.php +++ b/plugins/Actions/Reports/GetEntryPageTitles.php @@ -11,10 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\EntryPageTitle; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetEntryPageTitles extends Base { diff --git a/plugins/Actions/Reports/GetEntryPageUrls.php b/plugins/Actions/Reports/GetEntryPageUrls.php index d37232e21d..de6f042b20 100644 --- a/plugins/Actions/Reports/GetEntryPageUrls.php +++ b/plugins/Actions/Reports/GetEntryPageUrls.php @@ -13,10 +13,10 @@ use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\API\Request; use Piwik\Plugins\Actions\Columns\EntryPageUrl; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetEntryPageUrls extends Base { diff --git a/plugins/Actions/Reports/GetExitPageTitles.php b/plugins/Actions/Reports/GetExitPageTitles.php index 1247fc3d4c..2d58a2f911 100644 --- a/plugins/Actions/Reports/GetExitPageTitles.php +++ b/plugins/Actions/Reports/GetExitPageTitles.php @@ -11,10 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\ExitPageTitle; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetExitPageTitles extends Base { diff --git a/plugins/Actions/Reports/GetExitPageUrls.php b/plugins/Actions/Reports/GetExitPageUrls.php index b6bccaa1f1..80ebcc8546 100644 --- a/plugins/Actions/Reports/GetExitPageUrls.php +++ b/plugins/Actions/Reports/GetExitPageUrls.php @@ -13,10 +13,10 @@ use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\API\Request; use Piwik\Plugins\Actions\Columns\ExitPageUrl; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetExitPageUrls extends Base { diff --git a/plugins/Actions/Reports/GetPageTitles.php b/plugins/Actions/Reports/GetPageTitles.php index 010c5cfeac..058d382ee9 100644 --- a/plugins/Actions/Reports/GetPageTitles.php +++ b/plugins/Actions/Reports/GetPageTitles.php @@ -13,10 +13,10 @@ use Piwik\Plugin\ViewDataTable; use Piwik\API\Request; use Piwik\Common; use Piwik\Plugins\Actions\Columns\PageTitle; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetPageTitles extends Base { diff --git a/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php b/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php index 63620c51bb..8e7b85ad5e 100644 --- a/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php +++ b/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php @@ -11,10 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\DestinationPage; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetPageTitlesFollowingSiteSearch extends SiteSearchBase { diff --git a/plugins/Actions/Reports/GetPageUrls.php b/plugins/Actions/Reports/GetPageUrls.php index 664e7218a7..0af899ef0e 100644 --- a/plugins/Actions/Reports/GetPageUrls.php +++ b/plugins/Actions/Reports/GetPageUrls.php @@ -10,11 +10,11 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; use Piwik\Plugins\Actions\Columns\PageUrl; -use Piwik\Plugins\Actions\Metrics\ExitRate; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; class GetPageUrls extends Base { diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php index f3fa86afaf..b78a7ca409 100644 --- a/plugins/Actions/Reports/GetSiteSearchKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php @@ -11,10 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\Keyword; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetSiteSearchKeywords extends SiteSearchBase { diff --git a/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php b/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php index 2c2a8f1c31..5070fcd811 100644 --- a/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php @@ -11,10 +11,10 @@ namespace Piwik\Plugins\Actions\Reports; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Actions\Columns\KeywordwithNoSearchResult; -use Piwik\Plugins\Actions\Metrics\AveragePageGenerationTime; -use Piwik\Plugins\Actions\Metrics\AverageTimeOnPage; -use Piwik\Plugins\Actions\Metrics\BounceRate; -use Piwik\Plugins\Actions\Metrics\ExitRate; +use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime; +use Piwik\Plugins\Actions\Columns\Metrics\AverageTimeOnPage; +use Piwik\Plugins\Actions\Columns\Metrics\BounceRate; +use Piwik\Plugins\Actions\Columns\Metrics\ExitRate; class GetSiteSearchNoResultKeywords extends SiteSearchBase { diff --git a/plugins/Contents/Columns/Metrics/InteractionRate.php b/plugins/Contents/Columns/Metrics/InteractionRate.php new file mode 100644 index 0000000000..64485fe0e6 --- /dev/null +++ b/plugins/Contents/Columns/Metrics/InteractionRate.php @@ -0,0 +1,52 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Contents\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The content interaction rate. Calculated as: + * + * nb_interactions / nb_impressions + * + * nb_interactions & nb_impressions are calculated by the Contents archiver. + */ +class InteractionRate extends ProcessedMetric +{ + public function getName() + { + return 'interaction_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('Contents_InteractionRate'); + } + + public function compute(Row $row) + { + $interactions = $this->getMetric($row, 'nb_interactions'); + $impressions = $this->getMetric($row, 'nb_impressions'); + + return Piwik::getQuotientSafe($interactions, $impressions, $precision = 4); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function getDependentMetrics() + { + return array('nb_interactions', 'nb_impressions'); + } +} \ No newline at end of file diff --git a/plugins/Contents/Metrics/InteractionRate.php b/plugins/Contents/Metrics/InteractionRate.php deleted file mode 100644 index 6dfa09eefd..0000000000 --- a/plugins/Contents/Metrics/InteractionRate.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\Contents\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The content interaction rate. Calculated as: - * - * nb_interactions / nb_impressions - * - * nb_interactions & nb_impressions are calculated by the Contents archiver. - */ -class InteractionRate extends ProcessedMetric -{ - public function getName() - { - return 'interaction_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('Contents_InteractionRate'); - } - - public function compute(Row $row) - { - $interactions = $this->getMetric($row, 'nb_interactions'); - $impressions = $this->getMetric($row, 'nb_impressions'); - - return Piwik::getQuotientSafe($interactions, $impressions, $precision = 4); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function getDependentMetrics() - { - return array('nb_interactions', 'nb_impressions'); - } -} \ No newline at end of file diff --git a/plugins/Contents/Reports/GetContentNames.php b/plugins/Contents/Reports/GetContentNames.php index 82672dbcad..d217af5d71 100644 --- a/plugins/Contents/Reports/GetContentNames.php +++ b/plugins/Contents/Reports/GetContentNames.php @@ -11,7 +11,7 @@ namespace Piwik\Plugins\Contents\Reports; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugins\Contents\Columns\ContentName; -use Piwik\Plugins\Contents\Metrics\InteractionRate; +use Piwik\Plugins\Contents\Columns\Metrics\InteractionRate; use Piwik\View; /** diff --git a/plugins/Contents/Reports/GetContentPieces.php b/plugins/Contents/Reports/GetContentPieces.php index b977b21630..7ab3f1ed1c 100644 --- a/plugins/Contents/Reports/GetContentPieces.php +++ b/plugins/Contents/Reports/GetContentPieces.php @@ -11,7 +11,7 @@ namespace Piwik\Plugins\Contents\Reports; use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugins\Contents\Columns\ContentPiece; -use Piwik\Plugins\Contents\Metrics\InteractionRate; +use Piwik\Plugins\Contents\Columns\Metrics\InteractionRate; use Piwik\View; /** diff --git a/plugins/CoreHome/Columns/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Columns/Metrics/ActionsPerVisit.php new file mode 100644 index 0000000000..0ced958086 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/ActionsPerVisit.php @@ -0,0 +1,46 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Translate; + +/** + * The average number of actions per visit. Calculated as: + * + * nb_actions / nb_visits + * + * nb_actions & nb_visits are calculated during archiving. + */ +class ActionsPerVisit extends ProcessedMetric +{ + public function getName() + { + return 'nb_actions_per_visit'; + } + + public function compute(Row $row) + { + $actions = $this->getMetric($row, 'nb_actions'); + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($actions, $visits, $precision = 1); + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnActionsPerVisit'); + } + + public function getDependentMetrics() + { + return array('nb_actions', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Columns/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Columns/Metrics/AverageTimeOnSite.php new file mode 100644 index 0000000000..e590e19871 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/AverageTimeOnSite.php @@ -0,0 +1,53 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The average number of seconds spent on the site per visit. Calculated as: + * + * sum_visit_length / nb_visits + * + * sum_visit_length & nb_visits are calculated during archiving. + * + * @api + */ +class AverageTimeOnSite extends ProcessedMetric +{ + public function getName() + { + return 'avg_time_on_site'; + } + + public function compute(Row $row) + { + $sumVisitLength = $this->getMetric($row, 'sum_visit_length'); + $nbVisits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($sumVisitLength, $nbVisits, $precision = 0); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyTimeFromSeconds($value); + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnAvgTimeOnSite'); + } + + public function getDependentMetrics() + { + return array('sum_visit_length', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Columns/Metrics/BounceRate.php b/plugins/CoreHome/Columns/Metrics/BounceRate.php new file mode 100644 index 0000000000..65d46fb435 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/BounceRate.php @@ -0,0 +1,52 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The percentage of visits that leave the site without visiting another page. Calculated + * as: + * + * bounce_count / nb_visits + * + * bounce_count & nb_visits are calculated by an Archiver. + */ +class BounceRate extends ProcessedMetric +{ + public function getName() + { + return 'bounce_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnBounceRate'); + } + + public function getDependentMetrics() + { + return array('bounce_count', 'nb_visits'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function compute(Row $row) + { + $bounceCount = $this->getMetric($row, 'bounce_count'); + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 2); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Columns/Metrics/ConversionRate.php b/plugins/CoreHome/Columns/Metrics/ConversionRate.php new file mode 100644 index 0000000000..0865825238 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/ConversionRate.php @@ -0,0 +1,51 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The percent of visits that result in a conversion. Calculated as: + * + * nb_visits_converted / nb_visits + * + * nb_visits_converted & nb_visits are calculated by the archiving process. + */ +class ConversionRate extends ProcessedMetric +{ + public function getName() + { + return 'conversion_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnConversionRate'); + } + + public function getDependentMetrics() + { + return array('nb_visits_converted', 'nb_visits'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function compute(Row $row) + { + $nbVisitsConverted = $this->getMetric($row, 'nb_visits_converted'); + $nbVisits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($nbVisitsConverted, $nbVisits, $precision = 4); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Columns/Metrics/EvolutionMetric.php b/plugins/CoreHome/Columns/Metrics/EvolutionMetric.php new file mode 100644 index 0000000000..537e42a520 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/EvolutionMetric.php @@ -0,0 +1,123 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\Metric; +use Piwik\Plugin\ProcessedMetric; + +/** + * Calculates evolution values for any other metric. An evolution is the percent change from a + * point in the past to the present. They are computed as: + * + * (current value - value in past) / value in past + * + * @api + */ +class EvolutionMetric extends ProcessedMetric +{ + /** + * @var Metric|string + */ + private $wrapped; + + /** + * @var string + */ + private $evolutionMetricName; + + /** + * @var int + */ + private $quotientPrecision; + + /** + * @var DataTable + */ + private $pastData; + + /** + * Constructor. + * + * @param string|Metric $wrapped The metric used to calculate the evolution. + * @param DataTable $pastData The data in the past to use when calculating evolutions. + * @param string|false $evolutionMetricName The name of the evolution processed metric. Defaults to + * $wrapped's name with `'_evolution'` appended. + * @param int $quotientPrecision The percent's quotient precision. + */ + public function __construct($wrapped, DataTable $pastData, $evolutionMetricName = false, $quotientPrecision = 0) + { + $this->wrapped = $wrapped; + $this->pastData = $pastData; + + if (empty($evolutionMetricName)) { + $wrappedName = $this->getWrappedName(); + $evolutionMetricName = $wrappedName . '_evolution'; + } + + $this->evolutionMetricName = $evolutionMetricName; + $this->quotientPrecision = $quotientPrecision; + } + + public function getName() + { + return $this->evolutionMetricName; + } + + public function getTranslatedName() + { + return $this->wrapped instanceof Metric ? $this->wrapped->getTranslatedName() : $this->getName(); + } + + public function compute(Row $row) + { + $columnName = $this->getWrappedName(); + $pastRow = $this->getPastRowFromCurrent($row); + + $currentValue = $this->getMetric($row, $columnName); + $pastValue = $pastRow ? $this->getMetric($pastRow, $columnName) : 0; + + $dividend = $currentValue - $pastValue; + $divisor = $pastValue; + + if ($dividend == 0) { + return 0; + } else if ($divisor == 0) { + return 1; + } else { + return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision + 2); + } + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function getDependentMetrics() + { + return array($this->getWrappedName()); + } + + protected function getWrappedName() + { + return $this->wrapped instanceof Metric ? $this->wrapped->getName() : $this->wrapped; + } + + /** + * public for Insights use. + */ + public function getPastRowFromCurrent(Row $row) + { + return $this->pastData->getRowFromLabel($row->getColumn('label')); + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Columns/Metrics/VisitsPercent.php b/plugins/CoreHome/Columns/Metrics/VisitsPercent.php new file mode 100644 index 0000000000..fe7f688508 --- /dev/null +++ b/plugins/CoreHome/Columns/Metrics/VisitsPercent.php @@ -0,0 +1,77 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\CoreHome\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; + +/** + * Percent of visits in the whole table. Calculated as: + * + * nb_visits / sum(all nb_visits in table) + * + * nb_visits is calculated by core archiving process. + */ +class VisitsPercent extends ProcessedMetric +{ + private $cachedTotalVisits = null; + private $forceTotalVisits = null; + + /** + * Constructor. + * + * @param int|null $totalVisits The forced value of total visits to use. + */ + public function __construct($totalVisits = null) + { + $this->forceTotalVisits = $totalVisits; + } + + public function getName() + { + return 'nb_visits_percentage'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnPercentageVisits'); + } + + public function compute(Row $row) + { + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function getDependentMetrics() + { + return array('nb_visits'); + } + + public function beforeCompute($report, DataTable $table) + { + if ($this->forceTotalVisits === null) { + $this->cachedTotalVisits = array_sum($this->getMetricValues($table, 'nb_visits')); + } else { + $this->cachedTotalVisits = $this->forceTotalVisits; + } + + return true; // always compute + } +} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/ActionsPerVisit.php b/plugins/CoreHome/Metrics/ActionsPerVisit.php deleted file mode 100644 index 658bf6f20c..0000000000 --- a/plugins/CoreHome/Metrics/ActionsPerVisit.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\CoreHome\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Translate; - -/** - * The average number of actions per visit. Calculated as: - * - * nb_actions / nb_visits - * - * nb_actions & nb_visits are calculated during archiving. - */ -class ActionsPerVisit extends ProcessedMetric -{ - public function getName() - { - return 'nb_actions_per_visit'; - } - - public function compute(Row $row) - { - $actions = $this->getMetric($row, 'nb_actions'); - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($actions, $visits, $precision = 1); - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnActionsPerVisit'); - } - - public function getDependentMetrics() - { - return array('nb_actions', 'nb_visits'); - } -} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/AverageTimeOnSite.php b/plugins/CoreHome/Metrics/AverageTimeOnSite.php deleted file mode 100644 index 4a908d1a5f..0000000000 --- a/plugins/CoreHome/Metrics/AverageTimeOnSite.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\CoreHome\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The average number of seconds spent on the site per visit. Calculated as: - * - * sum_visit_length / nb_visits - * - * sum_visit_length & nb_visits are calculated during archiving. - * - * @api - */ -class AverageTimeOnSite extends ProcessedMetric -{ - public function getName() - { - return 'avg_time_on_site'; - } - - public function compute(Row $row) - { - $sumVisitLength = $this->getMetric($row, 'sum_visit_length'); - $nbVisits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($sumVisitLength, $nbVisits, $precision = 0); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyTimeFromSeconds($value); - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnAvgTimeOnSite'); - } - - public function getDependentMetrics() - { - return array('sum_visit_length', 'nb_visits'); - } -} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/BounceRate.php b/plugins/CoreHome/Metrics/BounceRate.php deleted file mode 100644 index d39e405cda..0000000000 --- a/plugins/CoreHome/Metrics/BounceRate.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\CoreHome\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The percentage of visits that leave the site without visiting another page. Calculated - * as: - * - * bounce_count / nb_visits - * - * bounce_count & nb_visits are calculated by an Archiver. - */ -class BounceRate extends ProcessedMetric -{ - public function getName() - { - return 'bounce_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnBounceRate'); - } - - public function getDependentMetrics() - { - return array('bounce_count', 'nb_visits'); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function compute(Row $row) - { - $bounceCount = $this->getMetric($row, 'bounce_count'); - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($bounceCount, $visits, $precision = 2); - } -} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/ConversionRate.php b/plugins/CoreHome/Metrics/ConversionRate.php deleted file mode 100644 index 23bca997a0..0000000000 --- a/plugins/CoreHome/Metrics/ConversionRate.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\CoreHome\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The percent of visits that result in a conversion. Calculated as: - * - * nb_visits_converted / nb_visits - * - * nb_visits_converted & nb_visits are calculated by the archiving process. - */ -class ConversionRate extends ProcessedMetric -{ - public function getName() - { - return 'conversion_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnConversionRate'); - } - - public function getDependentMetrics() - { - return array('nb_visits_converted', 'nb_visits'); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function compute(Row $row) - { - $nbVisitsConverted = $this->getMetric($row, 'nb_visits_converted'); - $nbVisits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($nbVisitsConverted, $nbVisits, $precision = 4); - } -} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/EvolutionMetric.php b/plugins/CoreHome/Metrics/EvolutionMetric.php deleted file mode 100644 index 8794604509..0000000000 --- a/plugins/CoreHome/Metrics/EvolutionMetric.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\CoreHome\Metrics; - -use Piwik\Common; -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\Metric; -use Piwik\Plugin\ProcessedMetric; - -/** - * Calculates evolution values for any other metric. An evolution is the percent change from a - * point in the past to the present. They are computed as: - * - * (current value - value in past) / value in past - * - * @api - */ -class EvolutionMetric extends ProcessedMetric -{ - /** - * @var Metric|string - */ - private $wrapped; - - /** - * @var string - */ - private $evolutionMetricName; - - /** - * @var int - */ - private $quotientPrecision; - - /** - * @var DataTable - */ - private $pastData; - - /** - * Constructor. - * - * @param string|Metric $wrapped The metric used to calculate the evolution. - * @param DataTable $pastData The data in the past to use when calculating evolutions. - * @param string|false $evolutionMetricName The name of the evolution processed metric. Defaults to - * $wrapped's name with `'_evolution'` appended. - * @param int $quotientPrecision The percent's quotient precision. - */ - public function __construct($wrapped, DataTable $pastData, $evolutionMetricName = false, $quotientPrecision = 0) - { - $this->wrapped = $wrapped; - $this->pastData = $pastData; - - if (empty($evolutionMetricName)) { - $wrappedName = $this->getWrappedName(); - $evolutionMetricName = $wrappedName . '_evolution'; - } - - $this->evolutionMetricName = $evolutionMetricName; - $this->quotientPrecision = $quotientPrecision; - } - - public function getName() - { - return $this->evolutionMetricName; - } - - public function getTranslatedName() - { - return $this->wrapped instanceof Metric ? $this->wrapped->getTranslatedName() : $this->getName(); - } - - public function compute(Row $row) - { - $columnName = $this->getWrappedName(); - $pastRow = $this->getPastRowFromCurrent($row); - - $currentValue = $this->getMetric($row, $columnName); - $pastValue = $pastRow ? $this->getMetric($pastRow, $columnName) : 0; - - $dividend = $currentValue - $pastValue; - $divisor = $pastValue; - - if ($dividend == 0) { - return 0; - } else if ($divisor == 0) { - return 1; - } else { - return Piwik::getQuotientSafe($dividend, $divisor, $this->quotientPrecision + 2); - } - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function getDependentMetrics() - { - return array($this->getWrappedName()); - } - - protected function getWrappedName() - { - return $this->wrapped instanceof Metric ? $this->wrapped->getName() : $this->wrapped; - } - - /** - * public for Insights use. - */ - public function getPastRowFromCurrent(Row $row) - { - return $this->pastData->getRowFromLabel($row->getColumn('label')); - } -} \ No newline at end of file diff --git a/plugins/CoreHome/Metrics/VisitsPercent.php b/plugins/CoreHome/Metrics/VisitsPercent.php deleted file mode 100644 index 7d268091b1..0000000000 --- a/plugins/CoreHome/Metrics/VisitsPercent.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\CoreHome\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Plugin\Report; - -/** - * Percent of visits in the whole table. Calculated as: - * - * nb_visits / sum(all nb_visits in table) - * - * nb_visits is calculated by core archiving process. - */ -class VisitsPercent extends ProcessedMetric -{ - private $cachedTotalVisits = null; - private $forceTotalVisits = null; - - /** - * Constructor. - * - * @param int|null $totalVisits The forced value of total visits to use. - */ - public function __construct($totalVisits = null) - { - $this->forceTotalVisits = $totalVisits; - } - - public function getName() - { - return 'nb_visits_percentage'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnPercentageVisits'); - } - - public function compute(Row $row) - { - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function getDependentMetrics() - { - return array('nb_visits'); - } - - public function beforeCompute($report, DataTable $table) - { - if ($this->forceTotalVisits === null) { - $this->cachedTotalVisits = array_sum($this->getMetricValues($table, 'nb_visits')); - } else { - $this->cachedTotalVisits = $this->forceTotalVisits; - } - - return true; // always compute - } -} \ No newline at end of file diff --git a/plugins/Events/Columns/Metrics/AverageEventValue.php b/plugins/Events/Columns/Metrics/AverageEventValue.php new file mode 100644 index 0000000000..7efb513729 --- /dev/null +++ b/plugins/Events/Columns/Metrics/AverageEventValue.php @@ -0,0 +1,45 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Events\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The average value for a triggered event. Calculated as: + * + * sum_event_value / nb_events_with_value + * + * sum_event_value and nb_events_with_value are calculated by the Event archiver. + */ +class AverageEventValue extends ProcessedMetric +{ + public function getName() + { + return 'avg_event_value'; + } + + public function getTranslatedName() + { + return Piwik::translate('Events_AvgValueDocumentation'); + } + + public function compute(Row $row) + { + $sumEventValue = $this->getMetric($row, 'sum_event_value'); + $eventsWithValue = $this->getMetric($row, 'nb_events_with_value'); + + return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); + } + + public function getDependentMetrics() + { + return array('sum_event_value', 'nb_events_with_value'); + } +} \ No newline at end of file diff --git a/plugins/Events/Metrics/AverageEventValue.php b/plugins/Events/Metrics/AverageEventValue.php deleted file mode 100644 index df2f932ba8..0000000000 --- a/plugins/Events/Metrics/AverageEventValue.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Events\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The average value for a triggered event. Calculated as: - * - * sum_event_value / nb_events_with_value - * - * sum_event_value and nb_events_with_value are calculated by the Event archiver. - */ -class AverageEventValue extends ProcessedMetric -{ - public function getName() - { - return 'avg_event_value'; - } - - public function getTranslatedName() - { - return Piwik::translate('Events_AvgValueDocumentation'); - } - - public function compute(Row $row) - { - $sumEventValue = $this->getMetric($row, 'sum_event_value'); - $eventsWithValue = $this->getMetric($row, 'nb_events_with_value'); - - return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2); - } - - public function getDependentMetrics() - { - return array('sum_event_value', 'nb_events_with_value'); - } -} \ No newline at end of file diff --git a/plugins/Events/Reports/Base.php b/plugins/Events/Reports/Base.php index e49c7815fa..4430b31407 100644 --- a/plugins/Events/Reports/Base.php +++ b/plugins/Events/Reports/Base.php @@ -9,7 +9,7 @@ namespace Piwik\Plugins\Events\Reports; use Piwik\Plugins\Events\API; -use Piwik\Plugins\Events\Metrics\AverageEventValue; +use Piwik\Plugins\Events\Columns\Metrics\AverageEventValue; abstract class Base extends \Piwik\Plugin\Report { diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index fab2ae42f1..c2e979b194 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -17,7 +17,7 @@ use Piwik\Db; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\Report; -use Piwik\Plugins\Goals\Metrics\AverageOrderRevenue; +use Piwik\Plugins\Goals\Columns\Metrics\AverageOrderRevenue; use Piwik\Site; use Piwik\Tracker\Cache; use Piwik\Tracker\GoalManager; diff --git a/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php b/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php new file mode 100644 index 0000000000..a25d64c7e9 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php @@ -0,0 +1,60 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The average value for each order. Calculated as: + * + * revenue / nb_conversions + * + * revenue & nb_conversions are calculated by the Goals archiver. + */ +class AverageOrderRevenue extends ProcessedMetric +{ + private $idSite; + + public function getName() + { + return 'avg_order_revenue'; + } + + public function compute(Row $row) + { + $revenue = $this->getMetric($row, 'revenue'); + $conversions = $this->getMetric($row, 'nb_conversions'); + + return Piwik::getQuotientSafe($revenue, $conversions, $precision = 2); + } + + public function getTranslatedName() + { + return Piwik::translate('General_AverageOrderValue'); + } + + public function getDependentMetrics() + { + return array('revenue', 'nb_conversions'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyMoney($value, $this->idSite); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/AveragePrice.php b/plugins/Goals/Columns/Metrics/AveragePrice.php new file mode 100644 index 0000000000..0ca06201e9 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/AveragePrice.php @@ -0,0 +1,63 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Goals\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * The average price for each ecommerce order or abandoned cart. Calculated as: + * + * price / (orders or abandoned_carts) + * + * price, orders and abandoned_carts are calculated by the Goals archiver. + */ +class AveragePrice extends ProcessedMetric +{ + private $idSite; + + public function getName() + { + return 'avg_price'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_AveragePrice'); + } + + public function compute(Row $row) + { + $price = $this->getMetric($row, 'price'); + $orders = $this->getMetric($row, 'orders'); + $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); + + return Piwik::getQuotientSafe($price, $orders === false ? $abandonedCarts : $orders, GoalManager::REVENUE_PRECISION); + } + + public function getDependentMetrics() + { + return array('price', 'orders', 'abandoned_carts'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyMoney($value, $this->idSite); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/AverageQuantity.php b/plugins/Goals/Columns/Metrics/AverageQuantity.php new file mode 100644 index 0000000000..dd5de214fb --- /dev/null +++ b/plugins/Goals/Columns/Metrics/AverageQuantity.php @@ -0,0 +1,47 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Goals\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * The average amount of products in each order or abandoned cart. Calculated as: + * + * quantity / (orders or abandoned_carts) + * + * quantity, orders and abandoned_carts are calculated by the Goals archiver. + */ +class AverageQuantity extends ProcessedMetric +{ + public function getName() + { + return 'avg_quantity'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_AverageQuantity'); + } + + public function compute(Row $row) + { + $quantity = $this->getMetric($row, 'quantity'); + $orders = $this->getMetric($row, 'orders'); + $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); + + return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1); + } + + public function getDependentMetrics() + { + return array('quantity', 'orders', 'abandoned_carts'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php new file mode 100644 index 0000000000..19c23a5eff --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -0,0 +1,67 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * The average order revenue for a specific goal. Calculated as: + * + * goals' revenue / goal's nb_conversions + */ +class AverageOrderRevenue extends GoalSpecificProcessedMetric +{ + public function getName() + { + return $this->getColumnPrefix() . '_avg_order_revenue'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_AverageOrderValue'); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs()); + } + + public function getDependentMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $this->getGoalMetrics($row); + + $goalRevenue = $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); + + return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyMoney($value, $this->idSite); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Columns/Metrics/GoalSpecific/ConversionRate.php new file mode 100644 index 0000000000..2f355c2762 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/ConversionRate.php @@ -0,0 +1,63 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; + +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * The conversion rate for a specific goal. Calculated as: + * + * goal's nb_conversions / nb_visits + * + * The goal's nb_conversions is calculated by the Goal archiver and nb_visits + * by the core archiving process. + */ +class ConversionRate extends GoalSpecificProcessedMetric +{ + public function getName() + { + return $this->getColumnPrefix() . '_conversion_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('Goals_ConversionRate', $this->getGoalName()); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnConversionRateDocumentation', $this->getGoalNameForDocs()); + } + + public function getDependentMetrics() + { + return array('goals'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $this->getGoalMetrics($row); + + $nbVisits = $this->getMetric($row, 'nb_visits'); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); + + return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION + 2); + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Columns/Metrics/GoalSpecific/Conversions.php new file mode 100644 index 0000000000..0a15a94e39 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/Conversions.php @@ -0,0 +1,43 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; + +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Piwik; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric; + +/** + * The conversions for a specific goal. Returns the conversions for a single goal which + * is then treated as a new column. + */ +class Conversions extends GoalSpecificProcessedMetric +{ + public function getName() + { + return $this->getColumnPrefix() . '_nb_conversions'; + } + + public function getTranslatedName() + { + return Piwik::translate('Goals_Conversions', $this->getGoalNameForDocs()); + } + + public function getDependentMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $this->getGoalMetrics($row); + return (int) $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Columns/Metrics/GoalSpecific/ItemsCount.php new file mode 100644 index 0000000000..49b8184742 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/ItemsCount.php @@ -0,0 +1,48 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; + +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Piwik; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric; + +/** + * The number of ecommerce order items for conversions of a goal. Returns the 'items' + * goal specific metric. + */ +class ItemsCount extends GoalSpecificProcessedMetric +{ + public function getName() + { + return $this->getColumnPrefix() . '_items'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_PurchasedProducts'); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnPurchasedProductsDocumentation', $this->getGoalNameForDocs()); + } + + public function getDependentMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $this->getGoalMetrics($row); + return (int) $this->getMetric($goalMetrics, 'items', $mappingFromNameToIdGoal); + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php new file mode 100644 index 0000000000..3d7e419a5d --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php @@ -0,0 +1,60 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric; + +/** + * Revenue for a specific goal. + */ +class Revenue extends GoalSpecificProcessedMetric +{ + public function getName() + { + return $this->getColumnPrefix() . '_revenue'; + } + + public function getTranslatedName() + { + return Piwik::translate('%s ' . Piwik::translate('General_ColumnRevenue'), $this->getGoalName()); + } + + public function getDocumentation() + { + return Piwik::translate('Goals_ColumnRevenueDocumentation', $this->getGoalNameForDocs()); + } + + public function getDependentMetrics() + { + return array('goals'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $this->getGoalMetrics($row); + return (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyMoney($value, $this->idSite); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php new file mode 100644 index 0000000000..5daceeb9c9 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php @@ -0,0 +1,75 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugins\Goals\Columns\Metrics\GoalSpecificProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * Revenue per visit for a specific goal. Calculated as: + * + * goal's revenue / (nb_visits or goal's nb_conversions depending on what is present in data) + * + * Goal revenue & nb_conversion are calculated by the Goals archiver. + */ +class RevenuePerVisit extends GoalSpecificProcessedMetric +{ + public function getName() + { + return $this->getColumnPrefix() . '_revenue_per_visit'; + } + + public function getTranslatedName() + { + return $this->getGoalName() . ' ' . Piwik::translate('General_ColumnValuePerVisit'); + } + + public function getDocumentation() + { + if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { + return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs()); + } else { + return Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', Piwik::translate('Goals_EcommerceAndGoalsMenu')); + } + } + + public function getDependentMetrics() + { + return array('goals', 'nb_visits'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + + $goalMetrics = $this->getGoalMetrics($row); + + $nbVisits = $this->getMetric($row, 'nb_visits'); + $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); + + $goalRevenue = (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + + return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyMoney($value, $this->idSite); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php new file mode 100644 index 0000000000..353018c234 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php @@ -0,0 +1,92 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics; + +use Piwik\Common; +use Piwik\DataTable\Row; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugins\Goals\API as GoalsAPI; + +/** + * Base class for processed metrics that are calculated using metrics that are + * specific to certain goals. + */ +abstract class GoalSpecificProcessedMetric extends ProcessedMetric +{ + /** + * The ID of the goal to calculate metrics for. + * + * @var int + */ + protected $idGoal; + + /** + * The ID of the site the goal belongs to. + * + * @var int + */ + protected $idSite; + + /** + * Constructor. + * + * @param int|null $idSite The ID of the site the goal belongs to. If supplied, affects the formatting + * and translated name of the metric. + * @param int $idGoal The ID of the goal to calculate metrics for. + */ + public function __construct($idSite, $idGoal) + { + $this->idSite = $idSite; + $this->idGoal = $idGoal; + } + + protected function getColumnPrefix() // TODO: should cache this information somehow + { + return 'goal_' . $this->idGoal; + } + + protected function getGoalMetrics(Row $row) + { + $allGoalMetrics = $this->getMetric($row, 'goals'); + if (isset($allGoalMetrics[$this->idGoal])) { + return $allGoalMetrics[$this->idGoal]; + } else { + $alternateKey = 'idgoal=' . $this->idGoal; + if (isset($allGoalMetrics[$alternateKey])) { + return $allGoalMetrics[$alternateKey]; + } else { + return array(); + } + } + } + + protected function getGoalName() + { + if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { + return Piwik::translate('Goals_EcommerceOrder'); + } + + if (isset($this->idSite)) { + $allGoals = GoalsAPI::getInstance()->getGoals($this->idSite); + $goalName = @$allGoals[$this->idGoal]['name']; + return Common::sanitizeInputValue($goalName); + } else { + return ""; + } + } + + protected function getGoalNameForDocs() + { + $goalName = $this->getGoalName(); + if ($goalName == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { + $goalName = '"' . $goalName . '"'; + } + return $goalName; + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/ProductConversionRate.php b/plugins/Goals/Columns/Metrics/ProductConversionRate.php new file mode 100644 index 0000000000..a0cf0b0436 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/ProductConversionRate.php @@ -0,0 +1,54 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\Goals\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * The conversion rate for ecommerce orders. Calculated as: + * + * (orders or abandoned_carts) / nb_visits + * + * orders and abandoned_carts are calculated by the Goals archiver. + */ +class ProductConversionRate extends ProcessedMetric +{ + public function getName() + { + return 'conversion_rate'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ProductConversionRate'); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyPercentFromQuotient($value); + } + + public function compute(Row $row) + { + $orders = $this->getMetric($row, 'orders'); + $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); + $visits = $this->getMetric($row, 'nb_visits'); + + return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION + 2); + } + + public function getDependentMetrics() + { + return array('orders', 'abandoned_carts', 'nb_visits'); + } +} \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/RevenuePerVisit.php b/plugins/Goals/Columns/Metrics/RevenuePerVisit.php new file mode 100644 index 0000000000..b1912fe4e2 --- /dev/null +++ b/plugins/Goals/Columns/Metrics/RevenuePerVisit.php @@ -0,0 +1,83 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\Goals\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Metrics; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Tracker\GoalManager; + +/** + * The amount of revenue per visit (or per conversion if there are no visits). Calculated as: + * + * sum(revenue for all goals) / (nb_visits or nb_conversions if no visits) + * + * Goal revenue and nb_visits & nb_conversions are calculated by the archiving process. + */ +class RevenuePerVisit extends ProcessedMetric +{ + private $idSite; + + public function getName() + { + return 'revenue_per_visit'; + } + + public function getTranslatedName() + { + return Piwik::translate('General_ColumnValuePerVisit'); + } + + public function getDependentMetrics() + { + return array('revenue', 'nb_visits', 'nb_conversions','goals'); + } + + public function compute(Row $row) + { + $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); + $goals = $this->getMetric($row, 'goals') ?: array(); + + $revenue = 0; + foreach ($goals as $goalId => $goalMetrics) { + if ($goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) { + continue; + } + if ($goalId >= GoalManager::IDGOAL_ORDER + || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER + ) { + $revenue += (int) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); + } + } + + if ($revenue == 0) { + $revenue = (int) $this->getMetric($row, 'revenue'); + } + + $nbVisits = (int) $this->getMetric($row, 'nb_visits'); + $conversions = (int) $this->getMetric($row, 'nb_conversions'); + + // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit" + // even though it will actually be in this edge case "Revenue per conversion" + return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); + } + + public function format($value, Formatter $formatter) + { + return $formatter->getPrettyMoney($value, $this->idSite); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTable::getSiteIdFromMetadata($table); + return !empty($this->idSite); // skip formatting if there is no site to get currency info from + } +} \ No newline at end of file diff --git a/plugins/Goals/Metrics/AverageOrderRevenue.php b/plugins/Goals/Metrics/AverageOrderRevenue.php deleted file mode 100644 index fed8e7779b..0000000000 --- a/plugins/Goals/Metrics/AverageOrderRevenue.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The average value for each order. Calculated as: - * - * revenue / nb_conversions - * - * revenue & nb_conversions are calculated by the Goals archiver. - */ -class AverageOrderRevenue extends ProcessedMetric -{ - private $idSite; - - public function getName() - { - return 'avg_order_revenue'; - } - - public function compute(Row $row) - { - $revenue = $this->getMetric($row, 'revenue'); - $conversions = $this->getMetric($row, 'nb_conversions'); - - return Piwik::getQuotientSafe($revenue, $conversions, $precision = 2); - } - - public function getTranslatedName() - { - return Piwik::translate('General_AverageOrderValue'); - } - - public function getDependentMetrics() - { - return array('revenue', 'nb_conversions'); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyMoney($value, $this->idSite); - } - - public function beforeFormat($report, DataTable $table) - { - $this->idSite = DataTable::getSiteIdFromMetadata($table); - return !empty($this->idSite); // skip formatting if there is no site to get currency info from - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/AveragePrice.php b/plugins/Goals/Metrics/AveragePrice.php deleted file mode 100644 index 1fb83c18bd..0000000000 --- a/plugins/Goals/Metrics/AveragePrice.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\Goals\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Tracker\GoalManager; - -/** - * The average price for each ecommerce order or abandoned cart. Calculated as: - * - * price / (orders or abandoned_carts) - * - * price, orders and abandoned_carts are calculated by the Goals archiver. - */ -class AveragePrice extends ProcessedMetric -{ - private $idSite; - - public function getName() - { - return 'avg_price'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_AveragePrice'); - } - - public function compute(Row $row) - { - $price = $this->getMetric($row, 'price'); - $orders = $this->getMetric($row, 'orders'); - $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); - - return Piwik::getQuotientSafe($price, $orders === false ? $abandonedCarts : $orders, GoalManager::REVENUE_PRECISION); - } - - public function getDependentMetrics() - { - return array('price', 'orders', 'abandoned_carts'); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyMoney($value, $this->idSite); - } - - public function beforeFormat($report, DataTable $table) - { - $this->idSite = DataTable::getSiteIdFromMetadata($table); - return !empty($this->idSite); // skip formatting if there is no site to get currency info from - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/AverageQuantity.php b/plugins/Goals/Metrics/AverageQuantity.php deleted file mode 100644 index 75fbc1c302..0000000000 --- a/plugins/Goals/Metrics/AverageQuantity.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\Goals\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * The average amount of products in each order or abandoned cart. Calculated as: - * - * quantity / (orders or abandoned_carts) - * - * quantity, orders and abandoned_carts are calculated by the Goals archiver. - */ -class AverageQuantity extends ProcessedMetric -{ - public function getName() - { - return 'avg_quantity'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_AverageQuantity'); - } - - public function compute(Row $row) - { - $quantity = $this->getMetric($row, 'quantity'); - $orders = $this->getMetric($row, 'orders'); - $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); - - return Piwik::getQuotientSafe($quantity, $orders === false ? $abandonedCarts : $orders, $precision = 1); - } - - public function getDependentMetrics() - { - return array('quantity', 'orders', 'abandoned_carts'); - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php deleted file mode 100644 index b946535580..0000000000 --- a/plugins/Goals/Metrics/GoalSpecific/AverageOrderRevenue.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; -use Piwik\Tracker\GoalManager; - -/** - * The average order revenue for a specific goal. Calculated as: - * - * goals' revenue / goal's nb_conversions - */ -class AverageOrderRevenue extends GoalSpecificProcessedMetric -{ - public function getName() - { - return $this->getColumnPrefix() . '_avg_order_revenue'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_AverageOrderValue'); - } - - public function getDocumentation() - { - return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs()); - } - - public function getDependentMetrics() - { - return array('goals'); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - - $goalMetrics = $this->getGoalMetrics($row); - - $goalRevenue = $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); - $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); - - return Piwik::getQuotientSafe($goalRevenue, $conversions, GoalManager::REVENUE_PRECISION); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyMoney($value, $this->idSite); - } - - public function beforeFormat($report, DataTable $table) - { - $this->idSite = DataTable::getSiteIdFromMetadata($table); - return !empty($this->idSite); // skip formatting if there is no site to get currency info from - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php b/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php deleted file mode 100644 index 1a1bf80305..0000000000 --- a/plugins/Goals/Metrics/GoalSpecific/ConversionRate.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; - -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; -use Piwik\Tracker\GoalManager; - -/** - * The conversion rate for a specific goal. Calculated as: - * - * goal's nb_conversions / nb_visits - * - * The goal's nb_conversions is calculated by the Goal archiver and nb_visits - * by the core archiving process. - */ -class ConversionRate extends GoalSpecificProcessedMetric -{ - public function getName() - { - return $this->getColumnPrefix() . '_conversion_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('Goals_ConversionRate', $this->getGoalName()); - } - - public function getDocumentation() - { - return Piwik::translate('Goals_ColumnConversionRateDocumentation', $this->getGoalNameForDocs()); - } - - public function getDependentMetrics() - { - return array('goals'); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - - $goalMetrics = $this->getGoalMetrics($row); - - $nbVisits = $this->getMetric($row, 'nb_visits'); - $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); - - return Piwik::getQuotientSafe($conversions, $nbVisits, GoalManager::REVENUE_PRECISION + 2); - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Conversions.php b/plugins/Goals/Metrics/GoalSpecific/Conversions.php deleted file mode 100644 index 01bf22cfb4..0000000000 --- a/plugins/Goals/Metrics/GoalSpecific/Conversions.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; - -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; - -/** - * The conversions for a specific goal. Returns the conversions for a single goal which - * is then treated as a new column. - */ -class Conversions extends GoalSpecificProcessedMetric -{ - public function getName() - { - return $this->getColumnPrefix() . '_nb_conversions'; - } - - public function getTranslatedName() - { - return Piwik::translate('Goals_Conversions', $this->getGoalNameForDocs()); - } - - public function getDependentMetrics() - { - return array('goals'); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - - $goalMetrics = $this->getGoalMetrics($row); - return (int) $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php b/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php deleted file mode 100644 index 8fcf50097f..0000000000 --- a/plugins/Goals/Metrics/GoalSpecific/ItemsCount.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; - -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; - -/** - * The number of ecommerce order items for conversions of a goal. Returns the 'items' - * goal specific metric. - */ -class ItemsCount extends GoalSpecificProcessedMetric -{ - public function getName() - { - return $this->getColumnPrefix() . '_items'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_PurchasedProducts'); - } - - public function getDocumentation() - { - return Piwik::translate('Goals_ColumnPurchasedProductsDocumentation', $this->getGoalNameForDocs()); - } - - public function getDependentMetrics() - { - return array('goals'); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - - $goalMetrics = $this->getGoalMetrics($row); - return (int) $this->getMetric($goalMetrics, 'items', $mappingFromNameToIdGoal); - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Metrics/GoalSpecific/Revenue.php deleted file mode 100644 index 814485309c..0000000000 --- a/plugins/Goals/Metrics/GoalSpecific/Revenue.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; - -/** - * Revenue for a specific goal. - */ -class Revenue extends GoalSpecificProcessedMetric -{ - public function getName() - { - return $this->getColumnPrefix() . '_revenue'; - } - - public function getTranslatedName() - { - return Piwik::translate('%s ' . Piwik::translate('General_ColumnRevenue'), $this->getGoalName()); - } - - public function getDocumentation() - { - return Piwik::translate('Goals_ColumnRevenueDocumentation', $this->getGoalNameForDocs()); - } - - public function getDependentMetrics() - { - return array('goals'); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - - $goalMetrics = $this->getGoalMetrics($row); - return (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyMoney($value, $this->idSite); - } - - public function beforeFormat($report, DataTable $table) - { - $this->idSite = DataTable::getSiteIdFromMetadata($table); - return !empty($this->idSite); // skip formatting if there is no site to get currency info from - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php deleted file mode 100644 index 3abe443d71..0000000000 --- a/plugins/Goals/Metrics/GoalSpecific/RevenuePerVisit.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics\GoalSpecific; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugins\Goals\Metrics\GoalSpecificProcessedMetric; -use Piwik\Tracker\GoalManager; - -/** - * Revenue per visit for a specific goal. Calculated as: - * - * goal's revenue / (nb_visits or goal's nb_conversions depending on what is present in data) - * - * Goal revenue & nb_conversion are calculated by the Goals archiver. - */ -class RevenuePerVisit extends GoalSpecificProcessedMetric -{ - public function getName() - { - return $this->getColumnPrefix() . '_revenue_per_visit'; - } - - public function getTranslatedName() - { - return $this->getGoalName() . ' ' . Piwik::translate('General_ColumnValuePerVisit'); - } - - public function getDocumentation() - { - if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { - return Piwik::translate('Goals_ColumnAverageOrderRevenueDocumentation', $this->getGoalNameForDocs()); - } else { - return Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', Piwik::translate('Goals_EcommerceAndGoalsMenu')); - } - } - - public function getDependentMetrics() - { - return array('goals', 'nb_visits'); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - - $goalMetrics = $this->getGoalMetrics($row); - - $nbVisits = $this->getMetric($row, 'nb_visits'); - $conversions = $this->getMetric($goalMetrics, 'nb_conversions', $mappingFromNameToIdGoal); - - $goalRevenue = (float) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); - - return Piwik::getQuotientSafe($goalRevenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyMoney($value, $this->idSite); - } - - public function beforeFormat($report, DataTable $table) - { - $this->idSite = DataTable::getSiteIdFromMetadata($table); - return !empty($this->idSite); // skip formatting if there is no site to get currency info from - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php deleted file mode 100644 index b8d7a9c2a4..0000000000 --- a/plugins/Goals/Metrics/GoalSpecificProcessedMetric.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics; - -use Piwik\Common; -use Piwik\DataTable\Row; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Plugins\Goals\API as GoalsAPI; -use Piwik\Tracker\GoalManager; - -/** - * Base class for processed metrics that are calculated using metrics that are - * specific to certain goals. - */ -abstract class GoalSpecificProcessedMetric extends ProcessedMetric -{ - /** - * The ID of the goal to calculate metrics for. - * - * @var int - */ - protected $idGoal; - - /** - * The ID of the site the goal belongs to. - * - * @var int - */ - protected $idSite; - - /** - * Constructor. - * - * @param int|null $idSite The ID of the site the goal belongs to. If supplied, affects the formatting - * and translated name of the metric. - * @param int $idGoal The ID of the goal to calculate metrics for. - */ - public function __construct($idSite, $idGoal) - { - $this->idSite = $idSite; - $this->idGoal = $idGoal; - } - - protected function getColumnPrefix() // TODO: should cache this information somehow - { - return 'goal_' . $this->idGoal; - } - - protected function getGoalMetrics(Row $row) - { - $allGoalMetrics = $this->getMetric($row, 'goals'); - if (isset($allGoalMetrics[$this->idGoal])) { - return $allGoalMetrics[$this->idGoal]; - } else { - $alternateKey = 'idgoal=' . $this->idGoal; - if (isset($allGoalMetrics[$alternateKey])) { - return $allGoalMetrics[$alternateKey]; - } else { - return array(); - } - } - } - - protected function getGoalName() - { - if ($this->idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { - return Piwik::translate('Goals_EcommerceOrder'); - } - - if (isset($this->idSite)) { - $allGoals = GoalsAPI::getInstance()->getGoals($this->idSite); - $goalName = @$allGoals[$this->idGoal]['name']; - return Common::sanitizeInputValue($goalName); - } else { - return ""; - } - } - - protected function getGoalNameForDocs() - { - $goalName = $this->getGoalName(); - if ($goalName == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { - $goalName = '"' . $goalName . '"'; - } - return $goalName; - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/ProductConversionRate.php b/plugins/Goals/Metrics/ProductConversionRate.php deleted file mode 100644 index 09d9a4ba29..0000000000 --- a/plugins/Goals/Metrics/ProductConversionRate.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\Goals\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Tracker\GoalManager; - -/** - * The conversion rate for ecommerce orders. Calculated as: - * - * (orders or abandoned_carts) / nb_visits - * - * orders and abandoned_carts are calculated by the Goals archiver. - */ -class ProductConversionRate extends ProcessedMetric -{ - public function getName() - { - return 'conversion_rate'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ProductConversionRate'); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyPercentFromQuotient($value); - } - - public function compute(Row $row) - { - $orders = $this->getMetric($row, 'orders'); - $abandonedCarts = $this->getMetric($row, 'abandoned_carts'); - $visits = $this->getMetric($row, 'nb_visits'); - - return Piwik::getQuotientSafe($orders === false ? $abandonedCarts : $orders, $visits, GoalManager::REVENUE_PRECISION + 2); - } - - public function getDependentMetrics() - { - return array('orders', 'abandoned_carts', 'nb_visits'); - } -} \ No newline at end of file diff --git a/plugins/Goals/Metrics/RevenuePerVisit.php b/plugins/Goals/Metrics/RevenuePerVisit.php deleted file mode 100644 index 825b6e1033..0000000000 --- a/plugins/Goals/Metrics/RevenuePerVisit.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\Goals\Metrics; - -use Piwik\DataTable; -use Piwik\DataTable\Row; -use Piwik\Metrics; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; -use Piwik\Tracker\GoalManager; - -/** - * The amount of revenue per visit (or per conversion if there are no visits). Calculated as: - * - * sum(revenue for all goals) / (nb_visits or nb_conversions if no visits) - * - * Goal revenue and nb_visits & nb_conversions are calculated by the archiving process. - */ -class RevenuePerVisit extends ProcessedMetric -{ - private $idSite; - - public function getName() - { - return 'revenue_per_visit'; - } - - public function getTranslatedName() - { - return Piwik::translate('General_ColumnValuePerVisit'); - } - - public function getDependentMetrics() - { - return array('revenue', 'nb_visits', 'nb_conversions','goals'); - } - - public function compute(Row $row) - { - $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); - $goals = $this->getMetric($row, 'goals') ?: array(); - - $revenue = 0; - foreach ($goals as $goalId => $goalMetrics) { - if ($goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) { - continue; - } - if ($goalId >= GoalManager::IDGOAL_ORDER - || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER - ) { - $revenue += (int) $this->getMetric($goalMetrics, 'revenue', $mappingFromNameToIdGoal); - } - } - - if ($revenue == 0) { - $revenue = (int) $this->getMetric($row, 'revenue'); - } - - $nbVisits = (int) $this->getMetric($row, 'nb_visits'); - $conversions = (int) $this->getMetric($row, 'nb_conversions'); - - // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit" - // even though it will actually be in this edge case "Revenue per conversion" - return Piwik::getQuotientSafe($revenue, $nbVisits == 0 ? $conversions : $nbVisits, GoalManager::REVENUE_PRECISION); - } - - public function format($value, Formatter $formatter) - { - return $formatter->getPrettyMoney($value, $this->idSite); - } - - public function beforeFormat($report, DataTable $table) - { - $this->idSite = DataTable::getSiteIdFromMetadata($table); - return !empty($this->idSite); // skip formatting if there is no site to get currency info from - } -} \ No newline at end of file diff --git a/plugins/Goals/Reports/BaseEcommerceItem.php b/plugins/Goals/Reports/BaseEcommerceItem.php index ae6d0e87a8..32b2fff770 100644 --- a/plugins/Goals/Reports/BaseEcommerceItem.php +++ b/plugins/Goals/Reports/BaseEcommerceItem.php @@ -14,9 +14,9 @@ use Piwik\Piwik; use Piwik\Plugin\Report; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\Goals\Goals; -use Piwik\Plugins\Goals\Metrics\AveragePrice; -use Piwik\Plugins\Goals\Metrics\AverageQuantity; -use Piwik\Plugins\Goals\Metrics\ProductConversionRate; +use Piwik\Plugins\Goals\Columns\Metrics\AveragePrice; +use Piwik\Plugins\Goals\Columns\Metrics\AverageQuantity; +use Piwik\Plugins\Goals\Columns\Metrics\ProductConversionRate; abstract class BaseEcommerceItem extends BaseEcommerce { diff --git a/plugins/MultiSites/Columns/Metrics/RevenueEvolution.php b/plugins/MultiSites/Columns/Metrics/RevenueEvolution.php new file mode 100644 index 0000000000..df6b476c8c --- /dev/null +++ b/plugins/MultiSites/Columns/Metrics/RevenueEvolution.php @@ -0,0 +1,37 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\MultiSites\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric; +use Piwik\Site; + +/** + * Revenue evolution. This is a special processed metric for MultiSites API methods. It will + * only be calculated for sites that have ecommerce enabled. The site is determined by the label + * of each row. + */ +class RevenueEvolution extends EvolutionMetric +{ + public function compute(Row $row) + { + $columnName = $this->getWrappedName(); + $currentValue = $this->getMetric($row, $columnName); + + // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, + // we don't add the new column + if ($currentValue === false + && !Site::isEcommerceEnabledFor($row->getColumn('label')) + ) { + return false; + } + + return parent::compute($row); + } +} \ No newline at end of file diff --git a/plugins/MultiSites/Metrics/RevenueEvolution.php b/plugins/MultiSites/Metrics/RevenueEvolution.php deleted file mode 100644 index f2a5e62a19..0000000000 --- a/plugins/MultiSites/Metrics/RevenueEvolution.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\MultiSites\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Plugins\CoreHome\Metrics\EvolutionMetric; -use Piwik\Site; - -/** - * Revenue evolution. This is a special processed metric for MultiSites API methods. It will - * only be calculated for sites that have ecommerce enabled. The site is determined by the label - * of each row. - */ -class RevenueEvolution extends EvolutionMetric -{ - public function compute(Row $row) - { - $columnName = $this->getWrappedName(); - $currentValue = $this->getMetric($row, $columnName); - - // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, - // we don't add the new column - if ($currentValue === false - && !Site::isEcommerceEnabledFor($row->getColumn('label')) - ) { - return false; - } - - return parent::compute($row); - } -} \ No newline at end of file diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index 57eafdcd2f..a554585dc3 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -13,7 +13,7 @@ use Piwik\DataTable; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugins\DevicesDetection\Archiver AS DDArchiver; -use Piwik\Plugins\CoreHome\Metrics\VisitsPercent; +use Piwik\Plugins\CoreHome\Columns\Metrics\VisitsPercent; /** * @see plugins/UserSettings/functions.php diff --git a/plugins/VisitFrequency/Columns/Metrics/ReturningMetric.php b/plugins/VisitFrequency/Columns/Metrics/ReturningMetric.php new file mode 100644 index 0000000000..3477667275 --- /dev/null +++ b/plugins/VisitFrequency/Columns/Metrics/ReturningMetric.php @@ -0,0 +1,64 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Plugins\VisitFrequency\Columns\Metrics; + +use Piwik\DataTable\Row; +use Piwik\Metrics\Formatter; +use Piwik\Piwik; +use Piwik\Plugin\ProcessedMetric; + +/** + * Processed metric for VisitFrequency.get API method which just copies VisitsSummary.get + * metrics as differently named metrics. + * + * This metric must be supplied in order to ensure correct formatting for processed + * metrics that are copied from VisitsSummary.get. + */ +class ReturningMetric extends ProcessedMetric +{ + private static $translations = array( + 'avg_time_on_site_returning' => 'VisitFrequency_ColumnAverageVisitDurationForReturningVisitors', + 'nb_actions_per_visit_returning' => 'VisitFrequency_ColumnAvgActionsPerReturningVisit', + 'bounce_rate_returning' => 'VisitFrequency_ColumnBounceRateForReturningVisits', + ); + + /** + * @var ProcessedMetric + */ + private $wrapped; + + public function __construct(ProcessedMetric $wrapped) + { + $this->wrapped = $wrapped; + } + + public function getName() + { + return $this->wrapped->getName() . '_returning'; + } + + public function getTranslatedName() + { + return Piwik::translate(self::$translations[$this->getName()]); + } + + public function format($value, Formatter $formatter) + { + return $this->wrapped->format($value, $formatter); + } + + public function compute(Row $row) + { + return 0; // (metric is not computed, it is copied from segmented report) + } + + public function getDependentMetrics() + { + return array(); + } +} \ No newline at end of file diff --git a/plugins/VisitFrequency/Metrics/ReturningMetric.php b/plugins/VisitFrequency/Metrics/ReturningMetric.php deleted file mode 100644 index 6768523dad..0000000000 --- a/plugins/VisitFrequency/Metrics/ReturningMetric.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -namespace Piwik\Plugins\VisitFrequency\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Metrics\Formatter; -use Piwik\Piwik; -use Piwik\Plugin\ProcessedMetric; - -/** - * Processed metric for VisitFrequency.get API method which just copies VisitsSummary.get - * metrics as differently named metrics. - * - * This metric must be supplied in order to ensure correct formatting for processed - * metrics that are copied from VisitsSummary.get. - */ -class ReturningMetric extends ProcessedMetric -{ - private static $translations = array( - 'avg_time_on_site_returning' => 'VisitFrequency_ColumnAverageVisitDurationForReturningVisitors', - 'nb_actions_per_visit_returning' => 'VisitFrequency_ColumnAvgActionsPerReturningVisit', - 'bounce_rate_returning' => 'VisitFrequency_ColumnBounceRateForReturningVisits', - ); - - /** - * @var ProcessedMetric - */ - private $wrapped; - - public function __construct(ProcessedMetric $wrapped) - { - $this->wrapped = $wrapped; - } - - public function getName() - { - return $this->wrapped->getName() . '_returning'; - } - - public function getTranslatedName() - { - return Piwik::translate(self::$translations[$this->getName()]); - } - - public function format($value, Formatter $formatter) - { - return $this->wrapped->format($value, $formatter); - } - - public function compute(Row $row) - { - return 0; // (metric is not computed, it is copied from segmented report) - } - - public function getDependentMetrics() - { - return array(); - } -} \ No newline at end of file diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php index 332b9b6e09..d6f06e9fcf 100644 --- a/plugins/VisitFrequency/Reports/Get.php +++ b/plugins/VisitFrequency/Reports/Get.php @@ -9,10 +9,10 @@ namespace Piwik\Plugins\VisitFrequency\Reports; use Piwik\Piwik; -use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; -use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; -use Piwik\Plugins\CoreHome\Metrics\BounceRate; -use Piwik\Plugins\VisitFrequency\Metrics\ReturningMetric; +use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit; +use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite; +use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate; +use Piwik\Plugins\VisitFrequency\Columns\Metrics\ReturningMetric; class Get extends \Piwik\Plugin\Report { diff --git a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php index 981c8b3e68..01ab2ac26d 100644 --- a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php +++ b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php @@ -12,7 +12,7 @@ use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\VisitorInterest\Columns\VisitsbyVisitNumber; -use Piwik\Plugins\CoreHome\Metrics\VisitsPercent; +use Piwik\Plugins\CoreHome\Columns\Metrics\VisitsPercent; class GetNumberOfVisitsByVisitCount extends Base { diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index e2ba265704..f2a087a517 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -9,9 +9,9 @@ namespace Piwik\Plugins\VisitsSummary\Reports; use Piwik\Piwik; -use Piwik\Plugins\CoreHome\Metrics\ActionsPerVisit; -use Piwik\Plugins\CoreHome\Metrics\AverageTimeOnSite; -use Piwik\Plugins\CoreHome\Metrics\BounceRate; +use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit; +use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite; +use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate; class Get extends \Piwik\Plugin\Report { -- cgit v1.2.3 From 36fe136b520716cbc1fbc5f4f56cf8d70d079e46 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Thu, 13 Nov 2014 23:00:19 -0800 Subject: Fix PivotByDimension UI test failure. --- core/Plugin/Visualization.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index 5674b189c9..c82812b9f7 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -335,8 +335,6 @@ class Visualization extends ViewDataTable private function applyFilters() { - $postProcessor = $this->makeDataTablePostProcessor(); - list($priorityFilters, $otherFilters) = $this->config->getFiltersToRun(); // First, filters that delete rows @@ -351,6 +349,8 @@ class Visualization extends ViewDataTable $this->requestConfig->setDefaultSort($this->config->columns_to_display, $hasNbUniqVisitors, $this->dataTable->getColumns()); } + $postProcessor = $this->makeDataTablePostProcessor(); // must be created after requestConfig is final + if (!$this->requestConfig->areGenericFiltersDisabled()) { $this->dataTable = $postProcessor->applyGenericFilters($this->dataTable); } -- cgit v1.2.3 From 99b3515cc3638439f6b77c69cf2c02aa43148053 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 14 Nov 2014 00:42:17 -0800 Subject: Make sure processed metrics are computed after processed metrics adding filters are executed in DataTable post processing. --- core/API/DataTableGenericFilter.php | 9 --------- core/API/DataTablePostProcessor.php | 27 ++++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index 7a88cb4175..46274b0c31 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -84,15 +84,6 @@ class DataTableGenericFilter 'filter_excludelowpop' => array('string'), 'filter_excludelowpop_value' => array('float', '0'), )), - array('AddColumnsProcessedMetrics', - array( - 'filter_add_columns_when_show_all_columns' => array('integer') - )), - array('AddColumnsProcessedMetricsGoal', - array( - 'filter_update_columns_when_show_all_goals' => array('integer'), - 'idGoal' => array('string', AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW), - )), array('Sort', array( 'filter_sort_column' => array('string'), diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 6449dc87c4..d6e014baf2 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -150,7 +150,7 @@ class DataTablePostProcessor { // if the flag disable_generic_filters is defined we skip the generic filters if (0 == Common::getRequestVar('disable_generic_filters', '0', 'string', $this->request)) { - $label = self::getLabelFromRequest($this->request); + $this->applyProcessedMetricsGenericFilters($dataTable); $genericFilter = new DataTableGenericFilter($this->request); @@ -163,6 +163,7 @@ class DataTablePostProcessor } }); + $label = self::getLabelFromRequest($this->request); if (!empty($label)) { $genericFilter->disableFilters(array('Limit', 'Truncate')); } @@ -173,6 +174,30 @@ class DataTablePostProcessor return $dataTable; } + /** + * @param DataTableInterface $dataTable + * @return DataTableInterface + */ + public function applyProcessedMetricsGenericFilters($dataTable) + { + $addNormalProcessedMetrics = Common::getRequestVar( + 'filter_add_columns_when_show_all_columns', false, 'integer', $this->request); + if ($addNormalProcessedMetrics !== false) { + $dataTable->filter('AddColumnsProcessedMetrics', array($addNormalProcessedMetrics)); + } + + $addGoalProcessedMetrics = Common::getRequestVar( + 'filter_update_columns_when_show_all_goals', false, 'integer', $this->request); + if ($addGoalProcessedMetrics !== false) { + $idGoal = Common::getRequestVar( + 'idGoal', DataTable\Filter\AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW, 'string', $this->request); + + $dataTable->filter('AddColumnsProcessedMetricsGoal', array($ignore = true, $idGoal)); + } + + return $dataTable; + } + /** * @param DataTableInterface $dataTable * @return DataTableInterface -- cgit v1.2.3 From e89237c8c775a4fe5ac0b34103fb022a7b78d724 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 14 Nov 2014 01:52:11 -0800 Subject: Make sure all goals IDs present in a DataTable are processed when adding goal specific processed metrics to a DataTable. --- core/API/DataTablePostProcessor.php | 1 + core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php | 4 +--- plugins/Goals/Controller.php | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index d6e014baf2..1bc8b3128e 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -75,6 +75,7 @@ class DataTablePostProcessor $dataTable = $this->applyPivotByFilter($dataTable); $dataTable = $this->applyFlattener($dataTable); $dataTable = $this->applyTotalsCalculator($dataTable); + $dataTable = $this->applyGenericFilters($dataTable); $this->applyComputeProcessedMetrics($dataTable); diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 16fc2db1bf..accd8dbf01 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -159,9 +159,7 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics $goalId = str_replace("idgoal=", "", $goalId); $result[] = $goalId; } - - break; } - return $result; + return array_unique($result); } } \ No newline at end of file diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php index e7af6d6243..f228ec9fa8 100644 --- a/plugins/Goals/Controller.php +++ b/plugins/Goals/Controller.php @@ -200,6 +200,7 @@ class Controller extends \Piwik\Plugin\Controller $request = new Request("method=Goals.get&format=original&idGoal="); $datatable = $request->process(); $dataRow = $datatable->getFirstRow(); + $view->nb_conversions = $dataRow->getColumn('nb_conversions'); $view->nb_visits_converted = $dataRow->getColumn('nb_visits_converted'); $view->conversion_rate = $this->formatConversionRate($dataRow->getColumn('conversion_rate')); -- cgit v1.2.3 From cd892181df95e73e9a44bd6f4d42939311fbb5a3 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 14 Nov 2014 17:55:46 -0800 Subject: Use try-catch to get query params in PostProcessor when applying processed metrics filters, since getRequestVar won't return default value 'false' if type is 'integer'. No way to tell if query param has not been supplied or if value is default. --- core/API/DataTablePostProcessor.php | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 1bc8b3128e..b067fe315a 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -8,6 +8,7 @@ namespace Piwik\API; +use Exception; use Piwik\API\DataTableManipulator\Flattener; use Piwik\API\DataTableManipulator\LabelFilter; use Piwik\API\DataTableManipulator\ReportTotalsCalculator; @@ -72,12 +73,14 @@ class DataTablePostProcessor */ public function process(DataTableInterface $dataTable, $applyFormatting = true) { - $dataTable = $this->applyPivotByFilter($dataTable); + // TODO: when calculating metrics before hand, only calculate for needed metrics, not all. + $dataTable = $this->applyPivotByFilter($dataTable); // TODO: if pivot by column is processed metric, must calculate processed metric. need test for this. $dataTable = $this->applyFlattener($dataTable); $dataTable = $this->applyTotalsCalculator($dataTable); $dataTable = $this->applyGenericFilters($dataTable); + // TODO: if dependent metrics for a processed metric are not present in first row of a table, skip computation $this->applyComputeProcessedMetrics($dataTable); // we automatically safe decode all datatable labels (against xss) @@ -181,15 +184,27 @@ class DataTablePostProcessor */ public function applyProcessedMetricsGenericFilters($dataTable) { - $addNormalProcessedMetrics = Common::getRequestVar( - 'filter_add_columns_when_show_all_columns', false, 'integer', $this->request); - if ($addNormalProcessedMetrics !== false) { + $addNormalProcessedMetrics = null; + try { + $addNormalProcessedMetrics = Common::getRequestVar( + 'filter_add_columns_when_show_all_columns', null, 'integer', $this->request); + } catch (Exception $ex) { + // ignore + } + + if ($addNormalProcessedMetrics !== null) { $dataTable->filter('AddColumnsProcessedMetrics', array($addNormalProcessedMetrics)); } - $addGoalProcessedMetrics = Common::getRequestVar( - 'filter_update_columns_when_show_all_goals', false, 'integer', $this->request); - if ($addGoalProcessedMetrics !== false) { + $addGoalProcessedMetrics = null; + try { + $addGoalProcessedMetrics = Common::getRequestVar( + 'filter_update_columns_when_show_all_goals', null, 'integer', $this->request); + } catch (Exception $ex) { + // ignore + } + + if ($addGoalProcessedMetrics !== null) { $idGoal = Common::getRequestVar( 'idGoal', DataTable\Filter\AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW, 'string', $this->request); -- cgit v1.2.3 From e1014922bba19e4be4b21a9114ea185261fd7e4f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 14 Nov 2014 23:46:32 -0800 Subject: Allow default request parameter array to be overrided in Piwik\API\Request so global query parameters don't always have to be used as defaults. --- core/API/Request.php | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/core/API/Request.php b/core/API/Request.php index 64e8e054fa..5a52653c19 100644 --- a/core/API/Request.php +++ b/core/API/Request.php @@ -79,15 +79,19 @@ class Request * * @param string|array $request The base request string or array, eg, * `'module=UserSettings&action=getWidescreen'`. + * @param array $defaultRequest Default query parameters. If a query parameter is absent in `$request`, it will be loaded + * from this. Defaults to `$_GET + $_POST`. * @return array */ - public static function getRequestArrayFromString($request) + public static function getRequestArrayFromString($request, $defaultRequest = null) { - $defaultRequest = $_GET + $_POST; + if ($defaultRequest === null) { + $defaultRequest = $_GET + $_POST; - $requestRaw = self::getRequestParametersGET(); - if (!empty($requestRaw['segment'])) { - $defaultRequest['segment'] = $requestRaw['segment']; + $requestRaw = self::getRequestParametersGET(); + if (!empty($requestRaw['segment'])) { + $defaultRequest['segment'] = $requestRaw['segment']; + } } $requestArray = $defaultRequest; @@ -120,10 +124,12 @@ class Request * eg, `'method=UserSettings.getWideScreen&idSite=1&date=yesterday&period=week&format=xml'` * If a request is not provided, then we use the values in the `$_GET` and `$_POST` * superglobals. + * @param array $defaultRequest Default query parameters. If a query parameter is absent in `$request`, it will be loaded + * from this. Defaults to `$_GET + $_POST`. */ - public function __construct($request = null) + public function __construct($request = null, $defaultRequest = null) { - $this->request = self::getRequestArrayFromString($request); + $this->request = self::getRequestArrayFromString($request, $defaultRequest); $this->sanitizeRequest(); } @@ -289,9 +295,13 @@ class Request * @param string $method The API method to call, ie, `'Actions.getPageTitles'`. * @param array $paramOverride The parameter name-value pairs to use instead of what's * in `$_GET` & `$_POST`. + * @param array $defaultRequest Default query parameters. If a query parameter is absent in `$request`, it will be loaded + * from this. Defaults to `$_GET + $_POST`. + * + * To avoid using any parameters from $_GET or $_POST, set this to an empty `array()`. * @return mixed The result of the API request. See {@link process()}. */ - public static function processRequest($method, $paramOverride = array()) + public static function processRequest($method, $paramOverride = array(), $defaultRequest = null) { $params = array(); $params['format'] = 'original'; @@ -300,7 +310,7 @@ class Request $params = $paramOverride + $params; // process request - $request = new Request($params); + $request = new Request($params, $defaultRequest); return $request->process(); } -- cgit v1.2.3 From a8fcac29a2fb10d6d1893c919517610a614973c2 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 14 Nov 2014 23:47:02 -0800 Subject: Use correct precision for AveragePageGenerationTime processed metric. --- plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php index cf8ea3018d..304187315a 100644 --- a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -45,7 +45,7 @@ class AveragePageGenerationTime extends ProcessedMetric $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); $hitsWithTimeGeneration = $this->getMetric($row, 'nb_hits_with_time_generation'); - return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); + return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 4); } public function format($value, Formatter $formatter) -- cgit v1.2.3 From ebce0b377b825a61b1e0bc7a136fd20ad24bdbe3 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Fri, 14 Nov 2014 23:48:13 -0800 Subject: Get Actions.get result through API rather than through directly calling instance, so processed metrics will be computed in result. --- plugins/VisitsSummary/Controller.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index 63fe8ef205..220db7891c 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -161,8 +161,14 @@ class Controller extends \Piwik\Plugin\Controller if (Common::isActionsPluginEnabled()) { $view->showActionsPluginReports = true; - $dataTableActions = APIActions::getInstance()->get($idSite, Common::getRequestVar('period'), Common::getRequestVar('date'), - \Piwik\API\Request::getRawSegmentFromRequest()); + + $dataTableActions = Request::processRequest("Actions.get", array( + 'idSite' => $idSite, + 'period' => Common::getRequestVar('period'), + 'date' => Common::getRequestVar('date'), + 'segment' => Request::getRawSegmentFromRequest() + ), $defaultParams = array()); + $dataActionsRow = $dataTableActions->getRowsCount() == 0 ? new Row() : $dataTableActions->getFirstRow(); -- cgit v1.2.3 From 5da8925d404ef8b48316172f26e33bc5d089e6e1 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 15 Nov 2014 17:16:30 -0800 Subject: Fix Contents Report Base's logic for setting columns_to_display (can't use ->processedMetrics directly since it can contain objects now). --- core/API/DataTablePostProcessor.php | 2 +- plugins/Contents/Reports/Base.php | 7 ++++++- plugins/CoreVisualizations/Visualizations/HtmlTable.php | 1 - 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index b067fe315a..444d3a1f2b 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -74,7 +74,7 @@ class DataTablePostProcessor public function process(DataTableInterface $dataTable, $applyFormatting = true) { // TODO: when calculating metrics before hand, only calculate for needed metrics, not all. - $dataTable = $this->applyPivotByFilter($dataTable); // TODO: if pivot by column is processed metric, must calculate processed metric. need test for this. + $dataTable = $this->applyPivotByFilter($dataTable); $dataTable = $this->applyFlattener($dataTable); $dataTable = $this->applyTotalsCalculator($dataTable); diff --git a/plugins/Contents/Reports/Base.php b/plugins/Contents/Reports/Base.php index 752dab959e..f07baf973d 100644 --- a/plugins/Contents/Reports/Base.php +++ b/plugins/Contents/Reports/Base.php @@ -37,7 +37,12 @@ abstract class Base extends Report $view->config->addTranslations(array('label' => $this->dimension->getName())); } - $view->config->columns_to_display = array_merge(array('label'), $this->metrics, $this->processedMetrics); + $view->config->columns_to_display = array_merge( + array('label'), + array_keys($this->getMetrics()), + array_keys($this->getProcessedMetrics()) + ); + $view->requestConfig->filter_sort_column = 'nb_impressions'; if ($this->hasSubtableId()) { diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable.php b/plugins/CoreVisualizations/Visualizations/HtmlTable.php index b89b8d7452..dcd2374df9 100644 --- a/plugins/CoreVisualizations/Visualizations/HtmlTable.php +++ b/plugins/CoreVisualizations/Visualizations/HtmlTable.php @@ -51,7 +51,6 @@ class HtmlTable extends Visualization } if ($this->dataTable->getRowsCount()) { - $request = new ApiRequest(array( 'method' => 'API.get', 'module' => 'API', -- cgit v1.2.3 From 975a953cdfd47e1162839f6d6d04d6a7bbb5b1c8 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 15 Nov 2014 18:04:04 -0800 Subject: Reference correct location in MultiSites/API.php of processed metric classes after move to Columns namespace in plugins. --- plugins/MultiSites/API.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index add6e34820..7887e8c048 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -331,8 +331,8 @@ class API extends \Piwik\Plugin\API $extraProcessedMetrics = $currentData->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); foreach ($apiMetrics as $metricSettings) { $evolutionMetricClass = $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY] == 'revenue' - ? "Piwik\\Plugins\\MultiSites\\Metrics\\RevenueEvolution" - : "Piwik\\Plugins\\CoreHome\\Metrics\\EvolutionMetric"; + ? "Piwik\\Plugins\\MultiSites\\Columns\\Metrics\\RevenueEvolution" + : "Piwik\\Plugins\\CoreHome\\Columns\\Metrics\\EvolutionMetric"; $extraProcessedMetrics[] = new $evolutionMetricClass( $metricSettings[self::METRIC_RECORD_NAME_KEY], -- cgit v1.2.3 From 302f780341833e2cf2a876b36160cc881964ba0b Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 15 Nov 2014 20:38:24 -0800 Subject: Make sure static cache of goals is reset when goals for a site are changed in some way. --- plugins/Goals/API.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index c2e979b194..2a0de78756 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -54,7 +54,7 @@ class API extends \Piwik\Plugin\API */ public function getGoals($idSite) { - $cache = new PluginAwareStaticCache("Goals.getGoals.$idSite"); + $cache = $this->getGoalsInfoStaticCache($idSite); if (!$cache->has()) { $idSite = Site::getIdSitesFromIdSitesString($idSite); @@ -118,6 +118,8 @@ class API extends \Piwik\Plugin\API $idGoal = $this->getModel()->createGoalForSite($idSite, $goal); + $this->getGoalsInfoStaticCache($idSite)->clear(); + Cache::regenerateCacheWebsiteAttributes($idSite); return $idGoal; } @@ -163,6 +165,8 @@ class API extends \Piwik\Plugin\API 'revenue' => $revenue, )); + $this->getGoalsInfoStaticCache($idSite)->clear(); + Cache::regenerateCacheWebsiteAttributes($idSite); } @@ -201,6 +205,8 @@ class API extends \Piwik\Plugin\API $this->getModel()->deleteGoal($idSite, $idGoal); $this->getModel()->deleteGoalConversions($idSite, $idGoal); + $this->getGoalsInfoStaticCache($idSite)->clear(); + Cache::regenerateCacheWebsiteAttributes($idSite); } @@ -546,4 +552,9 @@ class API extends \Piwik\Plugin\API $this->renameNotDefinedRow($dataTable, $notDefinedStringPretty); } } + + private function getGoalsInfoStaticCache($idSite) + { + return new PluginAwareStaticCache("Goals.getGoals.$idSite"); + } } -- cgit v1.2.3 From 8cace074b03bbc9fa8f1175b51613eb45ffdf67b Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sat, 15 Nov 2014 22:20:17 -0800 Subject: Force inconsistencies in API output to maintain backwards compatibility. format_processed_metrics query param changed to format_metrics. If set to 'bc', inconsistencies are enforced. Inconsistency logic is placed in a special Piwik\API\Inconsistencies class to allow it to be removed w/ ease in 3.0. --- core/API/DataTablePostProcessor.php | 50 +++++++++++++++++++++++++------------ core/API/Request.php | 5 ++++ core/API/ResponseBuilder.php | 4 +-- core/Plugin/Visualization.php | 4 +-- plugins/API/ProcessedReport.php | 2 +- 5 files changed, 42 insertions(+), 23 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 444d3a1f2b..9a49c3f8ad 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -17,6 +17,7 @@ use Piwik\DataTable; use Piwik\DataTable\DataTableInterface; use Piwik\DataTable\Filter\PivotByDimension; use Piwik\Metrics\Formatter; +use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\Report; /** @@ -49,6 +50,11 @@ class DataTablePostProcessor */ private $apiMethod; + /** + * @var Inconsistencies + */ + private $apiInconsistencies; + /** * Constructor. */ @@ -59,6 +65,7 @@ class DataTablePostProcessor $this->request = $request; $this->report = Report::factory($apiModule, $apiMethod); + $this->apiInconsistencies = new Inconsistencies(); } /** @@ -71,7 +78,7 @@ class DataTablePostProcessor * @param bool $applyFormatting Whether to format processed metrics or not. * @return DataTableInterface A new data table. */ - public function process(DataTableInterface $dataTable, $applyFormatting = true) + public function process(DataTableInterface $dataTable) { // TODO: when calculating metrics before hand, only calculate for needed metrics, not all. $dataTable = $this->applyPivotByFilter($dataTable); @@ -90,9 +97,7 @@ class DataTablePostProcessor $dataTable = $this->applyRequestedColumnDeletion($dataTable); $dataTable = $this->applyLabelFilter($dataTable); - if ($applyFormatting) { - $dataTable = $this->applyProcessedMetricsFormatting($dataTable); - } + $dataTable = $this->applyProcessedMetricsFormatting($dataTable); return $dataTable; } @@ -265,20 +270,29 @@ class DataTablePostProcessor } /** - * TODO: remove applyFormatting parameter - * * @param DataTableInterface $dataTable * @param Formatter|null $formatter * @return DataTableInterface */ public function applyProcessedMetricsFormatting($dataTable, Formatter $formatter = null) { - if ($formatter === null) - { + $formatMetrics = Common::getRequestVar('format_metrics', 0, 'string', $this->request); + if ($formatMetrics == '0') { + return $dataTable; + } + + if ($formatter === null) { $formatter = new Formatter(); } - $dataTable->filter(array($this, 'formatProcessedMetrics'), array($formatter)); + // in Piwik 2.X & below, metrics are not formatted in API responses except for percents. + // this code implements this inconsistency + $metricsToFormat = null; + if ($formatMetrics === 'bc') { + $metricsToFormat = $this->apiInconsistencies->getPercentMetricsToFormat(); + } + + $dataTable->filter(array($this, 'formatProcessedMetrics'), array($formatter, $metricsToFormat)); return $dataTable; } @@ -346,19 +360,23 @@ class DataTablePostProcessor /** * public for use as callback. */ - public function formatProcessedMetrics(DataTable $dataTable, Formatter $formatter) + public function formatProcessedMetrics(DataTable $dataTable, Formatter $formatter, $metricsToFormat = null) { - if ($dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG)) { - return; - } - $processedMetrics = Report::getProcessedMetricsFor($dataTable, $this->report); - if (empty($processedMetrics)) { + if (empty($processedMetrics) + || $dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG) + ) { return; } $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); + if ($metricsToFormat !== null) { + $processedMetrics = array_filter($processedMetrics, function (ProcessedMetric $metric) use ($metricsToFormat) { + return in_array($metric->getName(), $metricsToFormat); + }); + } + foreach ($processedMetrics as $name => $processedMetric) { if (!$processedMetric->beforeFormat($this->report, $dataTable)) { continue; @@ -372,7 +390,7 @@ class DataTablePostProcessor $subtable = $row->getSubtable(); if (!empty($subtable)) { - $this->formatProcessedMetrics($subtable, $formatter); + $this->formatProcessedMetrics($subtable, $formatter, $metricsToFormat); } } } diff --git a/core/API/Request.php b/core/API/Request.php index 5a52653c19..610cf80935 100644 --- a/core/API/Request.php +++ b/core/API/Request.php @@ -92,6 +92,11 @@ class Request if (!empty($requestRaw['segment'])) { $defaultRequest['segment'] = $requestRaw['segment']; } + + // TODO: comment on why this code is here, and make sure to mention in Inconsistencies class + if (empty($defaultRequest['format_metrics'])) { + $defaultRequest['format_metrics'] = 'bc'; + } } $requestArray = $defaultRequest; diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 97c27693db..4ebe50305d 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -164,10 +164,8 @@ class ResponseBuilder private function handleDataTable(DataTableInterface $datatable) { - $applyFormatting = Common::getRequestVar('force_format_processed_metrics', !($this->apiRenderer instanceof Original), null, $this->request) == 1; - $postProcessor = new DataTablePostProcessor($this->apiModule, $this->apiMethod, $this->request); - $datatable = $postProcessor->process($datatable, $applyFormatting); + $datatable = $postProcessor->process($datatable); return $this->apiRenderer->renderDataTable($datatable); } diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index c82812b9f7..91a79d2a58 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -164,10 +164,9 @@ class Visualization extends ViewDataTable $this->overrideSomeConfigPropertiesIfNeeded(); try { - $this->beforeLoadDataTable(); - $this->loadDataTableFromAPI(array('disable_generic_filters' => 1)); + $this->loadDataTableFromAPI(array('disable_generic_filters' => 1, 'format_metrics' => 0)); $this->postDataTableLoadedFromAPI(); $requestPropertiesAfterLoadDataTable = $this->requestConfig->getProperties(); @@ -178,7 +177,6 @@ class Visualization extends ViewDataTable $this->beforeRender(); $this->logMessageIfRequestPropertiesHaveChanged($requestPropertiesAfterLoadDataTable); - } catch (NoAccessException $e) { throw $e; } catch (\Exception $e) { diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index e31c938a18..735332a1ba 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -391,7 +391,7 @@ class ProcessedReport 'serialize' => '0', 'language' => $language, 'idSubtable' => $idSubtable, - 'force_format_processed_metrics' => 1, + 'format_metrics' => 1, )); if (!empty($segment)) $parameters['segment'] = $segment; -- cgit v1.2.3 From f80830e7ad0ce0f903f25f322bd36e8b329619f2 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 00:35:05 -0800 Subject: Do not format a metric in API.getProcessedReport if the value has already been formatted. --- plugins/API/ProcessedReport.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 735332a1ba..50cf8618e5 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -810,8 +810,12 @@ class ProcessedReport * @param bool $isHtml If true, replaces all spaces with `' '`. * @return string */ - public function getPrettyValue(Formatter $formatter, $idSite, $columnName, $value) // TODO: is this method used? if not remove it + private function getPrettyValue(Formatter $formatter, $idSite, $columnName, $value) { + if (!is_numeric($value)) { + return $value; + } + // Display time in human readable if (strpos($columnName, 'time') !== false) { return $formatter->getPrettyTimeFromSeconds($value); -- cgit v1.2.3 From f5618f5edab68b68b027e2df0c47c120292de2fb Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 00:35:55 -0800 Subject: Forgot to add Inconsistencies file in earlier commit. --- core/API/Inconsistencies.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 core/API/Inconsistencies.php diff --git a/core/API/Inconsistencies.php b/core/API/Inconsistencies.php new file mode 100644 index 0000000000..70735972a1 --- /dev/null +++ b/core/API/Inconsistencies.php @@ -0,0 +1,37 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\API; + +/** + * Contains logic to replicate inconsistencies in Piwik's API. This class exists + * to provide a way to clean up existing Piwik code and behavior without breaking + * backwards compatibility immediately. + * + * Should be removed before releasing Piwik 3.0. [TODO: note in issue about 3.0.] + */ +class Inconsistencies +{ + /** + * In Piwik 2.X and below, the "raw" API would format percent values but no others. + * This method returns the list of percent metrics that were returned from the API + * formatted so we can maintain BC. + * + * Used by DataTablePostProcessor. + */ + public function getPercentMetricsToFormat() + { + return array( + 'bounce_rate', + 'conversion_rate', + 'interaction_rate', + 'exit_rate', + 'bounce_rate_returning' + // TODO: what about goal & evolution metrics? need to use regex i guess. + ); + } +} \ No newline at end of file -- cgit v1.2.3 From 5f8eaf3389e004c711f13a9d529555d0522c663b Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 00:40:55 -0800 Subject: Make sure time values are formatted differently in API output and HTML output and make sure Visualizations will always format processed metrics, regardless of what is in the current request. --- core/API/DataTablePostProcessor.php | 21 +++++++++++---------- core/Metrics/Formatter.php | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 9a49c3f8ad..16980d230c 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -97,7 +97,14 @@ class DataTablePostProcessor $dataTable = $this->applyRequestedColumnDeletion($dataTable); $dataTable = $this->applyLabelFilter($dataTable); - $dataTable = $this->applyProcessedMetricsFormatting($dataTable); + $formatMetrics = Common::getRequestVar('format_metrics', 0, 'string', $this->request); + if ($formatMetrics != '0') { + // in Piwik 2.X & below, metrics are not formatted in API responses except for percents. + // this code implements this inconsistency + $onlyFormatPercents = $formatMetrics === 'bc'; + + $dataTable = $this->applyProcessedMetricsFormatting($dataTable, null, $onlyFormatPercents); + } return $dataTable; } @@ -272,23 +279,17 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable * @param Formatter|null $formatter + * @param bool $onlyFormatPercents * @return DataTableInterface */ - public function applyProcessedMetricsFormatting($dataTable, Formatter $formatter = null) + public function applyProcessedMetricsFormatting($dataTable, Formatter $formatter = null, $onlyFormatPercents = false) { - $formatMetrics = Common::getRequestVar('format_metrics', 0, 'string', $this->request); - if ($formatMetrics == '0') { - return $dataTable; - } - if ($formatter === null) { $formatter = new Formatter(); } - // in Piwik 2.X & below, metrics are not formatted in API responses except for percents. - // this code implements this inconsistency $metricsToFormat = null; - if ($formatMetrics === 'bc') { + if ($onlyFormatPercents) { $metricsToFormat = $this->apiInconsistencies->getPercentMetricsToFormat(); } diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php index de8803b85e..ac3c6f0278 100644 --- a/core/Metrics/Formatter.php +++ b/core/Metrics/Formatter.php @@ -55,7 +55,7 @@ class Formatter * @param bool $round Whether to round to the nearest second or not. * @return string */ - public function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = true, $round = false) + public function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = false, $round = false) { $numberOfSeconds = $round ? (int)$numberOfSeconds : (float)$numberOfSeconds; -- cgit v1.2.3 From 4883a33512dbb20b2b5aee4d13f92cf038a0cd3a Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 15:50:08 -0800 Subject: Make sure manual calls to MetricsFormatter::getPrettyTimeAsSeconds will use sentence if sentence was used before. --- plugins/CoreHome/Visitor.php | 2 +- plugins/Live/Visitor.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/CoreHome/Visitor.php b/plugins/CoreHome/Visitor.php index b98ee8ead0..35b5ee5d22 100644 --- a/plugins/CoreHome/Visitor.php +++ b/plugins/CoreHome/Visitor.php @@ -99,7 +99,7 @@ class Visitor function getVisitLengthPretty() { - return $this->metricsFormatter->getPrettyTimeFromSeconds($this->details['visit_total_time']); + return $this->metricsFormatter->getPrettyTimeFromSeconds($this->details['visit_total_time'], true); } function getUserId() diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php index c7c8a13e6d..35368516db 100644 --- a/plugins/Live/Visitor.php +++ b/plugins/Live/Visitor.php @@ -346,7 +346,7 @@ class Visitor implements VisitorInterface // Set the time spent for this action (which is the timeSpentRef of the next action) if (isset($actionDetails[$actionIdx + 1])) { $actionDetail['timeSpent'] = $actionDetails[$actionIdx + 1]['timeSpentRef']; - $actionDetail['timeSpentPretty'] = $formatter->getPrettyTimeFromSeconds($actionDetail['timeSpent']); + $actionDetail['timeSpentPretty'] = $formatter->getPrettyTimeFromSeconds($actionDetail['timeSpent'], true); } unset($actionDetails[$actionIdx]['timeSpentRef']); // not needed after timeSpent is added -- cgit v1.2.3 From a035f162e4b07c0bb1dc7453da69a535e0980595 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 15:52:04 -0800 Subject: Change force_format_processed_metrics query param to format_metrics in remaining places. --- core/API/DataTableManipulator.php | 2 +- core/API/DataTablePostProcessor.php | 4 +++- plugins/Overlay/Controller.php | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php index fa9692f6bc..a1acc6e5b5 100644 --- a/core/API/DataTableManipulator.php +++ b/core/API/DataTableManipulator.php @@ -173,7 +173,7 @@ abstract class DataTableManipulator $request['serialize'] = 0; $request['expanded'] = 0; $request['format'] = 'original'; - $request['force_format_processed_metrics'] = 0; + $request['format_metrics'] = 0; // don't want to run recursive filters on the subtables as they are loaded, // otherwise the result will be empty in places (or everywhere). instead we diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 16980d230c..b4560889c8 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -80,7 +80,9 @@ class DataTablePostProcessor */ public function process(DataTableInterface $dataTable) { - // TODO: when calculating metrics before hand, only calculate for needed metrics, not all. + // TODO: when calculating metrics before hand, only calculate for needed metrics, not all. NOTE: + // this is non-trivial since it will require, eg, to make sure processed metrics aren't added + // after pivotBy is handled. $dataTable = $this->applyPivotByFilter($dataTable); $dataTable = $this->applyFlattener($dataTable); $dataTable = $this->applyTotalsCalculator($dataTable); diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index 6349f5b6fc..603047c286 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -72,7 +72,7 @@ class Controller extends \Piwik\Plugin\Controller . '&period=' . urlencode($period) . '&label=' . urlencode($label) . '&format=original' - . '&force_format_processed_metrics=1' + . '&format_metrics=1' ); $dataTable = $request->process(); -- cgit v1.2.3 From 2b4335542a5680923dda2d61135d71ea2b5f310f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 15:52:09 -0800 Subject: Fixing some tests. --- ...s.getName_lastN__API.getProcessedReport_day.xml | 2 +- .../test_CustomEvents__Events.getAction_day.xml | 12 +++---- .../test_CustomEvents__Events.getAction_month.xml | 12 +++---- .../test_CustomEvents__Events.getName_day.xml | 2 +- .../test_CustomEvents__Events.getName_month.xml | 2 +- ...ntCategoryOrNameMatch__Events.getAction_day.xml | 12 +++---- ...ventCategoryOrNameMatch__Events.getName_day.xml | 2 +- ...yDimensionIsEventAction__Events.getName_day.xml | 2 +- ...imensionIsEventAction__Events.getName_month.xml | 2 +- ...imensionIsEventCategory__Events.getName_day.xml | 2 +- ...ensionIsEventCategory__Events.getName_month.xml | 2 +- ...yDimensionIsEventName__Events.getAction_day.xml | 12 +++---- ...imensionIsEventName__Events.getAction_month.xml | 12 +++---- ...imensionIsEventName__Events.getCategory_day.xml | 2 +- ...ensionIsEventName__Events.getCategory_month.xml | 2 +- ...atchesEventActionPlay__Events.getAction_day.xml | 10 +++--- ...tMatchesEventActionPlay__Events.getName_day.xml | 2 +- ...st_csvExport__Live.getLastVisitsDetails_day.csv | Bin 7708 -> 7708 bytes ...a_ItemsCategory__API.getProcessedReport_day.xml | 14 ++++---- ...tadata_ItemsSku__API.getProcessedReport_day.xml | 8 ++--- ...heduledReports.generateReport_week.original.csv | 38 ++++++++++----------- ...eduledReports.generateReport_week.original.html | 38 ++++++++++----------- 22 files changed, 95 insertions(+), 95 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml index 15678442b5..588fe06efe 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml @@ -52,7 +52,7 @@ <avg_event_value>9.66</avg_event_value> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> <sum_event_value>38</sum_event_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml index 26752bbd7b..39d8225809 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>4</nb_events> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml index 9868947268..48a1c22649 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>4</nb_events> <nb_events_with_value>4</nb_events_with_value> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml index 9461eeb42e..60c5633e2a 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml index 5f8de9463f..1d5fd32cfd 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml index d70e8c2950..f0338f0380 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>4</nb_events> @@ -281,7 +281,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml index 71ccc3d69b..8dcc330ab2 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml index 9461eeb42e..60c5633e2a 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml index 5f8de9463f..1d5fd32cfd 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml index 03b5718c7b..ed806b85af 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml @@ -25,7 +25,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml index 54676e7511..8595e16fba 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml @@ -25,7 +25,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml index 26752bbd7b..39d8225809 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>4</nb_events> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml index 9868947268..48a1c22649 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>4</nb_events> <nb_events_with_value>4</nb_events_with_value> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml index d6f7a63bbe..26b6cd6621 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml @@ -69,7 +69,7 @@ <avg_event_value>9.5</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml index 835e7cc629..8139515e3f 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml @@ -69,7 +69,7 @@ <avg_event_value>9.5</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml index 609b2b8d6c..66a7dc04c6 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml @@ -58,7 +58,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -93,7 +93,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -128,7 +128,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -163,7 +163,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -198,7 +198,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml index e1aa570c57..5b804860db 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml @@ -80,7 +80,7 @@ </subtable> </row> <row> - <label>La fiancée de l&#039;eau</label> + <label>La fiancée de l'eau</label> <nb_uniq_visitors>10</nb_uniq_visitors> <nb_visits>10</nb_visits> <nb_events>10</nb_events> diff --git a/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv b/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv index ca2eb26566..672bc648cc 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv and b/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml index 3752727571..70117fb4d3 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml @@ -40,7 +40,7 @@ <quantity>3</quantity> <orders>2</orders> <nb_visits>3</nb_visits> - <avg_price>1000</avg_price> + <avg_price>$ 1000</avg_price> <avg_quantity>1.5</avg_quantity> <conversion_rate>66.67%</conversion_rate> </row> @@ -50,7 +50,7 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <avg_price>500</avg_price> + <avg_price>$ 500</avg_price> <avg_quantity>2</avg_quantity> <conversion_rate>100%</conversion_rate> </row> @@ -60,7 +60,7 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <avg_price>500</avg_price> + <avg_price>$ 500</avg_price> <avg_quantity>2</avg_quantity> <conversion_rate>100%</conversion_rate> </row> @@ -70,7 +70,7 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <avg_price>500</avg_price> + <avg_price>$ 500</avg_price> <avg_quantity>2</avg_quantity> <conversion_rate>100%</conversion_rate> </row> @@ -80,7 +80,7 @@ <quantity>2</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <avg_price>500</avg_price> + <avg_price>$ 500</avg_price> <avg_quantity>2</avg_quantity> <conversion_rate>100%</conversion_rate> </row> @@ -90,14 +90,14 @@ <quantity>7</quantity> <orders>2</orders> <nb_visits>3</nb_visits> - <avg_price>55.61</avg_price> + <avg_price>$ 55.61</avg_price> <avg_quantity>3.5</avg_quantity> <conversion_rate>66.67%</conversion_rate> </row> <row> <label>Category TWO LEFT in cart</label> <nb_visits>2</nb_visits> - <avg_price>0</avg_price> + <avg_price>$ 0</avg_price> <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> <revenue>$ 0</revenue> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml index ea59fc1287..20079eb4c4 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsSku__API.getProcessedReport_day.xml @@ -40,7 +40,7 @@ <quantity>1</quantity> <orders>1</orders> <nb_visits>1</nb_visits> - <avg_price>1500</avg_price> + <avg_price>$ 1500</avg_price> <avg_quantity>1</avg_quantity> <conversion_rate>100%</conversion_rate> </row> @@ -50,7 +50,7 @@ <quantity>3</quantity> <orders>2</orders> <nb_visits>3</nb_visits> - <avg_price>255.61</avg_price> + <avg_price>$ 255.61</avg_price> <avg_quantity>1.5</avg_quantity> <conversion_rate>66.67%</conversion_rate> </row> @@ -59,7 +59,7 @@ <revenue>$ 600</revenue> <quantity>6</quantity> <orders>1</orders> - <avg_price>100</avg_price> + <avg_price>$ 100</avg_price> <avg_quantity>6</avg_quantity> <conversion_rate>0%</conversion_rate> <nb_visits>0</nb_visits> @@ -67,7 +67,7 @@ <row> <label>SKU IN ABANDONED CART TWO</label> <nb_visits>2</nb_visits> - <avg_price>0</avg_price> + <avg_price>$ 0</avg_price> <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> <revenue>$ 0</revenue> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index a9d0428a72..1092815ed4 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -203,31 +203,31 @@ label,nb_conversions Product SKU label,revenue,quantity,orders,nb_visits,avg_price,avg_quantity,conversion_rate -SKU2,$ 1500,1,1,1,1500,1,100% -SKU VERY nice indeed,$ 1011.22,3,2,4,255.61,1.5,50% -ANOTHER SKU HERE,$ 600,6,1,0,100,6,0% -TRIPOD SKU,$ 200,2,1,0,100,2,0% -SKU IN ABANDONED CART TWO,$ 0,0,0,3,0,0,0% +SKU2,$ 1500,1,1,1,$ 1500,1,100% +SKU VERY nice indeed,$ 1011.22,3,2,4,$ 255.61,1.5,50% +ANOTHER SKU HERE,$ 600,6,1,0,$ 100,6,0% +TRIPOD SKU,$ 200,2,1,0,$ 100,2,0% +SKU IN ABANDONED CART TWO,$ 0,0,0,3,$ 0,0,0% Product Name label,revenue,quantity,orders,avg_price,avg_quantity,conversion_rate,nb_visits -Canon SLR,$ 1500,1,1,1500,1,0%,0 -PRODUCT name,$ 1011.22,3,2,255.61,1.5,100%,2 -PRODUCT name BIS,$ 600,6,1,100,6,0%,0 -TRIPOD - bought day after,$ 200,2,1,100,2,0%,0 -PRODUCT THREE LEFT in cart,$ 0,0,0,1332,0,0%,3 -PRODUCT TWO LEFT in cart,$ 0,0,0,0,0,0%,3 +Canon SLR,$ 1500,1,1,$ 1500,1,0%,0 +PRODUCT name,$ 1011.22,3,2,$ 255.61,1.5,100%,2 +PRODUCT name BIS,$ 600,6,1,$ 100,6,0%,0 +TRIPOD - bought day after,$ 200,2,1,$ 100,2,0%,0 +PRODUCT THREE LEFT in cart,$ 0,0,0,$ 1332,0,0%,3 +PRODUCT TWO LEFT in cart,$ 0,0,0,$ 0,0,0%,3 Product Category label,revenue,quantity,orders,nb_visits,avg_price,avg_quantity,conversion_rate -Electronics & Cameras,$ 2500,3,2,3,1000,1.5,66.67% -Multiple Category 1,$ 1000,2,1,1,500,2,100% -Multiple Category 2,$ 1000,2,1,1,500,2,100% -Multiple Category 4,$ 1000,2,1,1,500,2,100% -Multiple Category 5,$ 1000,2,1,1,500,2,100% -Product Category not defined,$ 611.22,7,2,4,55.61,3.5,50% -Tools,$ 200,2,1,0,100,2,0% -Category TWO LEFT in cart,$ 0,0,0,3,0,0,0% +Electronics & Cameras,$ 2500,3,2,3,$ 1000,1.5,66.67% +Multiple Category 1,$ 1000,2,1,1,$ 500,2,100% +Multiple Category 2,$ 1000,2,1,1,$ 500,2,100% +Multiple Category 4,$ 1000,2,1,1,$ 500,2,100% +Multiple Category 5,$ 1000,2,1,1,$ 500,2,100% +Product Category not defined,$ 611.22,7,2,4,$ 55.61,3.5,50% +Tools,$ 200,2,1,0,$ 100,2,0% +Category TWO LEFT in cart,$ 0,0,0,3,$ 0,0,0% Actions - Main metrics nb_pageviews,nb_uniq_pageviews,nb_downloads,nb_uniq_downloads,nb_outlinks,nb_uniq_outlinks,nb_searches,nb_keywords diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index c2452282d2..e51c812c77 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -3527,7 +3527,7 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1500 + $ 1500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 @@ -3553,7 +3553,7 @@ 4 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 255.61 + $ 255.61 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1.5 @@ -3579,7 +3579,7 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + $ 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 6 @@ -3605,7 +3605,7 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + $ 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -3631,7 +3631,7 @@ 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + $ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 @@ -3697,7 +3697,7 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1500 + $ 1500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1 @@ -3723,7 +3723,7 @@ 2 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 255.61 + $ 255.61 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1.5 @@ -3749,7 +3749,7 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + $ 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 6 @@ -3775,7 +3775,7 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + $ 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -3801,7 +3801,7 @@ 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1332 + $ 1332 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 @@ -3827,7 +3827,7 @@ 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + $ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 @@ -3893,7 +3893,7 @@ 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1000 + $ 1000 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 1.5 @@ -3919,7 +3919,7 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + $ 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -3945,7 +3945,7 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + $ 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -3971,7 +3971,7 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + $ 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -3997,7 +3997,7 @@ 1 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 500 + $ 500 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -4023,7 +4023,7 @@ 4 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 55.61 + $ 55.61 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 3.5 @@ -4049,7 +4049,7 @@ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100 + $ 100 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 2 @@ -4075,7 +4075,7 @@ 3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 + $ 0 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0 -- cgit v1.2.3 From 06dadeedbb315389d33611928a305ad63cac258b Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 15:54:28 -0800 Subject: Use correct precision in AveragePageGenerationTime. --- plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php index 304187315a..cf8ea3018d 100644 --- a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -45,7 +45,7 @@ class AveragePageGenerationTime extends ProcessedMetric $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); $hitsWithTimeGeneration = $this->getMetric($row, 'nb_hits_with_time_generation'); - return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 4); + return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); } public function format($value, Formatter $formatter) -- cgit v1.2.3 From 85980f0210972b65cbf7523a9afba44c776f4791 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 17:18:25 -0800 Subject: Handle evolution metrics & goal metrics in Inconsistencies::getPercentMetrics, use correct time formatting in two other places, and fix ImportLogsTest. --- core/API/DataTablePostProcessor.php | 18 ++- core/API/Inconsistencies.php | 6 +- plugins/Live/Visitor.php | 2 +- plugins/VisitsSummary/API.php | 4 +- ...estAPITest__Live.getLastVisitsDetails_range.xml | 122 ++++++++++----------- ...CustomEvents__Live.getLastVisitsDetails_day.xml | 108 +++++++++--------- ...stomEvents__Live.getLastVisitsDetails_month.xml | 108 +++++++++--------- ...ImportLogs__Live.getLastVisitsDetails_range.xml | 14 +-- ...st_ImportLogs__UserSettings.getPlugin_month.xml | 14 +-- ...nterest.getNumberOfVisitsByVisitCount_range.xml | 8 +- ...isitsSummary.getSumVisitsLengthPretty_month.xml | 2 +- ...tatusOrdered__Live.getLastVisitsDetails_day.xml | 8 +- ...derWithItems__Live.getLastVisitsDetails_day.xml | 24 ++-- 13 files changed, 227 insertions(+), 211 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index b4560889c8..2c5e4625ab 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -375,8 +375,9 @@ class DataTablePostProcessor $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); if ($metricsToFormat !== null) { - $processedMetrics = array_filter($processedMetrics, function (ProcessedMetric $metric) use ($metricsToFormat) { - return in_array($metric->getName(), $metricsToFormat); + $metricMatchRegex = $this->makeRegexToMatchMetrics($metricsToFormat); + $processedMetrics = array_filter($processedMetrics, function (ProcessedMetric $metric) use ($metricMatchRegex) { + return preg_match($metricMatchRegex, $metric->getName()); }); } @@ -403,4 +404,17 @@ class DataTablePostProcessor { $dataTable->filter(array($this, 'computeProcessedMetrics')); } + + private function makeRegexToMatchMetrics($metricsToFormat) + { + $metricsRegexParts = array(); + foreach ($metricsToFormat as $metricFilter) { + if ($metricFilter[0] == '/') { + $metricsRegexParts[] = '(?:' . substr($metricFilter, 1, strlen($metricFilter) - 2) . ')'; + } else { + $metricsRegexParts[] = preg_quote($metricFilter); + } + } + return '/^' . implode('|', $metricsRegexParts) . '$/'; + } } \ No newline at end of file diff --git a/core/API/Inconsistencies.php b/core/API/Inconsistencies.php index 70735972a1..58bd7404ba 100644 --- a/core/API/Inconsistencies.php +++ b/core/API/Inconsistencies.php @@ -30,8 +30,10 @@ class Inconsistencies 'conversion_rate', 'interaction_rate', 'exit_rate', - 'bounce_rate_returning' - // TODO: what about goal & evolution metrics? need to use regex i guess. + 'bounce_rate_returning', + 'nb_visits_percentage', + '/.*_evolution/', + '/goal_.*_conversion_rate/' ); } } \ No newline at end of file diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php index 35368516db..5cbe823cd9 100644 --- a/plugins/Live/Visitor.php +++ b/plugins/Live/Visitor.php @@ -330,7 +330,7 @@ class Visitor implements VisitorInterface $actionDetail['eventValue'] = round($actionDetail['custom_float'], self::EVENT_VALUE_PRECISION); } } elseif ($actionDetail['custom_float'] > 0) { - $actionDetail['generationTime'] = $formatter->getPrettyTimeFromSeconds($actionDetail['custom_float'] / 1000); + $actionDetail['generationTime'] = $formatter->getPrettyTimeFromSeconds($actionDetail['custom_float'] / 1000, true); } unset($actionDetail['custom_float']); diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 8207e23bb6..d6453075a7 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -123,9 +123,9 @@ class API extends \Piwik\Plugin\API $table = $this->getSumVisitsLength($idSite, $period, $date, $segment); if (is_object($table)) { $table->filter('ColumnCallbackReplace', - array('sum_visit_length', array($formatter, 'getPrettyTimeFromSeconds'))); + array('sum_visit_length', array($formatter, 'getPrettyTimeFromSeconds'), array(true))); } else { - $table = $formatter->getPrettyTimeFromSeconds($table); + $table = $formatter->getPrettyTimeFromSeconds($table, true); } return $table; } diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml index 188f7cb3c2..b7a2b4a74e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml @@ -19,7 +19,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s pitch black...</pageTitle> + <pageTitle>It's pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>61</pageId> @@ -131,7 +131,7 @@ <pageId>30</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -148,7 +148,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -193,7 +193,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -282,7 +282,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>29</pageId> @@ -412,7 +412,7 @@ <pageId>27</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -457,7 +457,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -546,7 +546,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>26</pageId> @@ -676,7 +676,7 @@ <pageId>23</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -693,7 +693,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -738,7 +738,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -827,7 +827,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>22</pageId> @@ -957,7 +957,7 @@ <pageId>20</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1002,7 +1002,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -1091,7 +1091,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>19</pageId> @@ -1221,7 +1221,7 @@ <pageId>16</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1238,7 +1238,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -1283,7 +1283,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -1372,7 +1372,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>15</pageId> @@ -1502,7 +1502,7 @@ <pageId>13</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1547,7 +1547,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -1641,7 +1641,7 @@ <pageId>52</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1686,7 +1686,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -1767,7 +1767,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>12</pageId> @@ -1892,7 +1892,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>51</pageId> @@ -2022,7 +2022,7 @@ <pageId>9</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -2039,7 +2039,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -2084,7 +2084,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -2178,7 +2178,7 @@ <pageId>48</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -2195,7 +2195,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -2240,7 +2240,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -2321,7 +2321,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>8</pageId> @@ -2446,7 +2446,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>47</pageId> @@ -2576,7 +2576,7 @@ <pageId>6</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -2621,7 +2621,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -2715,7 +2715,7 @@ <pageId>38</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -2760,7 +2760,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -2854,7 +2854,7 @@ <pageId>45</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -2899,7 +2899,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -2985,7 +2985,7 @@ <pageId>59</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -3030,7 +3030,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -3119,7 +3119,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>5</pageId> @@ -3244,7 +3244,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>37</pageId> @@ -3369,7 +3369,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>44</pageId> @@ -3494,7 +3494,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>58</pageId> @@ -3624,7 +3624,7 @@ <pageId>2</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -3641,7 +3641,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -3686,7 +3686,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -3780,7 +3780,7 @@ <pageId>34</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -3797,7 +3797,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -3842,7 +3842,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -3936,7 +3936,7 @@ <pageId>41</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -3953,7 +3953,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -3998,7 +3998,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -4084,7 +4084,7 @@ <pageId>55</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -4101,7 +4101,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -4146,7 +4146,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -4235,7 +4235,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>1</pageId> @@ -4360,7 +4360,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>33</pageId> @@ -4485,7 +4485,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>40</pageId> @@ -4610,7 +4610,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>54</pageId> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml index a0cd8d2485..dafd6523e3 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml @@ -220,7 +220,7 @@ <eventAction>play50%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -233,7 +233,7 @@ <eventAction>play75%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>420</timeSpent> - <timeSpentPretty>7 min 0s</timeSpentPretty> + <timeSpentPretty>7 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -246,7 +246,7 @@ <eventAction>Search</eventAction> <eventName>Search query here</eventName> <timeSpent>900</timeSpent> - <timeSpentPretty>15 min 0s</timeSpentPretty> + <timeSpentPretty>15 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -259,7 +259,7 @@ <eventAction>playEnd</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -273,7 +273,7 @@ <eventName>Spirited Away (千と千尋の神隠し)</eventName> <eventValue>9.66</eventValue> <timeSpent>720</timeSpent> - <timeSpentPretty>12 min 0s</timeSpentPretty> + <timeSpentPretty>12 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -310,7 +310,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3481</visitDuration> - <visitDurationPretty>58 min 1s</visitDurationPretty> + <visitDurationPretty>58 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> @@ -489,9 +489,9 @@ <pageIdAction>2</pageIdAction> <pageId>1</pageId> - <generationTime>0.33s</generationTime> + <generationTime>00:00:00.33</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -518,9 +518,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -537,9 +537,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -556,9 +556,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -575,7 +575,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -594,7 +594,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -613,7 +613,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -633,10 +633,10 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> - <timeSpentPretty>24 min 59s</timeSpentPretty> + <timeSpentPretty>24 min 59s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -646,9 +646,9 @@ <pageIdAction>12</pageIdAction> <pageId>9</pageId> - <generationTime>0.67s</generationTime> + <generationTime>00:00:00.66</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -661,7 +661,7 @@ <eventAction>playTrailer</eventAction> <eventName>Princess Mononoke (もののけ姫)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -674,7 +674,7 @@ <eventAction>playTrailer</eventAction> <eventName>Ponyo (崖の上のポニョ)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -687,7 +687,7 @@ <eventAction>playTrailer</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -700,7 +700,7 @@ <eventAction>clickBuyNow</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -713,7 +713,7 @@ <eventAction>playStart</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -749,7 +749,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3601</visitDuration> - <visitDurationPretty>1 hours 0 min</visitDurationPretty> + <visitDurationPretty>1 hours 0 min</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> @@ -1025,7 +1025,7 @@ <eventAction>play50%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1038,7 +1038,7 @@ <eventAction>play75%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>420</timeSpent> - <timeSpentPretty>7 min 0s</timeSpentPretty> + <timeSpentPretty>7 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1051,7 +1051,7 @@ <eventAction>Search</eventAction> <eventName>Search query here</eventName> <timeSpent>900</timeSpent> - <timeSpentPretty>15 min 0s</timeSpentPretty> + <timeSpentPretty>15 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1064,7 +1064,7 @@ <eventAction>playEnd</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1078,7 +1078,7 @@ <eventName>Spirited Away (千と千尋の神隠し)</eventName> <eventValue>9.66</eventValue> <timeSpent>720</timeSpent> - <timeSpentPretty>12 min 0s</timeSpentPretty> + <timeSpentPretty>12 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1115,7 +1115,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3481</visitDuration> - <visitDurationPretty>58 min 1s</visitDurationPretty> + <visitDurationPretty>58 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> @@ -1286,9 +1286,9 @@ <pageIdAction>2</pageIdAction> <pageId>25</pageId> - <generationTime>0.33s</generationTime> + <generationTime>00:00:00.33</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1315,9 +1315,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1334,9 +1334,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1353,9 +1353,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1372,7 +1372,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1391,7 +1391,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1410,7 +1410,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -1430,10 +1430,10 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> - <timeSpentPretty>24 min 59s</timeSpentPretty> + <timeSpentPretty>24 min 59s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1443,9 +1443,9 @@ <pageIdAction>12</pageIdAction> <pageId>33</pageId> - <generationTime>0.67s</generationTime> + <generationTime>00:00:00.66</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1458,7 +1458,7 @@ <eventAction>playTrailer</eventAction> <eventName>Princess Mononoke (もののけ姫)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1471,7 +1471,7 @@ <eventAction>playTrailer</eventAction> <eventName>Ponyo (崖の上のポニョ)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1484,7 +1484,7 @@ <eventAction>playTrailer</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1497,7 +1497,7 @@ <eventAction>clickBuyNow</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1510,7 +1510,7 @@ <eventAction>playStart</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1546,7 +1546,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3601</visitDuration> - <visitDurationPretty>1 hours 0 min</visitDurationPretty> + <visitDurationPretty>1 hours 0 min</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml index a0cd8d2485..dafd6523e3 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml @@ -220,7 +220,7 @@ <eventAction>play50%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -233,7 +233,7 @@ <eventAction>play75%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>420</timeSpent> - <timeSpentPretty>7 min 0s</timeSpentPretty> + <timeSpentPretty>7 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -246,7 +246,7 @@ <eventAction>Search</eventAction> <eventName>Search query here</eventName> <timeSpent>900</timeSpent> - <timeSpentPretty>15 min 0s</timeSpentPretty> + <timeSpentPretty>15 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -259,7 +259,7 @@ <eventAction>playEnd</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -273,7 +273,7 @@ <eventName>Spirited Away (千と千尋の神隠し)</eventName> <eventValue>9.66</eventValue> <timeSpent>720</timeSpent> - <timeSpentPretty>12 min 0s</timeSpentPretty> + <timeSpentPretty>12 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -310,7 +310,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3481</visitDuration> - <visitDurationPretty>58 min 1s</visitDurationPretty> + <visitDurationPretty>58 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> @@ -489,9 +489,9 @@ <pageIdAction>2</pageIdAction> <pageId>1</pageId> - <generationTime>0.33s</generationTime> + <generationTime>00:00:00.33</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -518,9 +518,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -537,9 +537,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -556,9 +556,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -575,7 +575,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -594,7 +594,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -613,7 +613,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -633,10 +633,10 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> - <timeSpentPretty>24 min 59s</timeSpentPretty> + <timeSpentPretty>24 min 59s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -646,9 +646,9 @@ <pageIdAction>12</pageIdAction> <pageId>9</pageId> - <generationTime>0.67s</generationTime> + <generationTime>00:00:00.66</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -661,7 +661,7 @@ <eventAction>playTrailer</eventAction> <eventName>Princess Mononoke (もののけ姫)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -674,7 +674,7 @@ <eventAction>playTrailer</eventAction> <eventName>Ponyo (崖の上のポニョ)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -687,7 +687,7 @@ <eventAction>playTrailer</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -700,7 +700,7 @@ <eventAction>clickBuyNow</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -713,7 +713,7 @@ <eventAction>playStart</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -749,7 +749,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3601</visitDuration> - <visitDurationPretty>1 hours 0 min</visitDurationPretty> + <visitDurationPretty>1 hours 0 min</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> @@ -1025,7 +1025,7 @@ <eventAction>play50%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1038,7 +1038,7 @@ <eventAction>play75%</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>420</timeSpent> - <timeSpentPretty>7 min 0s</timeSpentPretty> + <timeSpentPretty>7 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1051,7 +1051,7 @@ <eventAction>Search</eventAction> <eventName>Search query here</eventName> <timeSpent>900</timeSpent> - <timeSpentPretty>15 min 0s</timeSpentPretty> + <timeSpentPretty>15 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1064,7 +1064,7 @@ <eventAction>playEnd</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1078,7 +1078,7 @@ <eventName>Spirited Away (千と千尋の神隠し)</eventName> <eventValue>9.66</eventValue> <timeSpent>720</timeSpent> - <timeSpentPretty>12 min 0s</timeSpentPretty> + <timeSpentPretty>12 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1115,7 +1115,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3481</visitDuration> - <visitDurationPretty>58 min 1s</visitDurationPretty> + <visitDurationPretty>58 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> @@ -1286,9 +1286,9 @@ <pageIdAction>2</pageIdAction> <pageId>25</pageId> - <generationTime>0.33s</generationTime> + <generationTime>00:00:00.33</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1315,9 +1315,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1334,9 +1334,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1353,9 +1353,9 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1372,7 +1372,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1391,7 +1391,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1410,7 +1410,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -1430,10 +1430,10 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l&#039;eau</eventName> + <eventName>La fiancée de l'eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> - <timeSpentPretty>24 min 59s</timeSpentPretty> + <timeSpentPretty>24 min 59s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1443,9 +1443,9 @@ <pageIdAction>12</pageIdAction> <pageId>33</pageId> - <generationTime>0.67s</generationTime> + <generationTime>00:00:00.66</generationTime> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1458,7 +1458,7 @@ <eventAction>playTrailer</eventAction> <eventName>Princess Mononoke (もののけ姫)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1471,7 +1471,7 @@ <eventAction>playTrailer</eventAction> <eventName>Ponyo (崖の上のポニョ)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1484,7 +1484,7 @@ <eventAction>playTrailer</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>60</timeSpent> - <timeSpentPretty>1 min 0s</timeSpentPretty> + <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1497,7 +1497,7 @@ <eventAction>clickBuyNow</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>120</timeSpent> - <timeSpentPretty>2 min 0s</timeSpentPretty> + <timeSpentPretty>2 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1510,7 +1510,7 @@ <eventAction>playStart</eventAction> <eventName>Spirited Away (千と千尋の神隠し)</eventName> <timeSpent>1320</timeSpent> - <timeSpentPretty>22 min 0s</timeSpentPretty> + <timeSpentPretty>22 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> </row> <row> @@ -1546,7 +1546,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3601</visitDuration> - <visitDurationPretty>1 hours 0 min</visitDurationPretty> + <visitDurationPretty>1 hours 0 min</visitDurationPretty> <customVariables> <row> <customVariableName1>Visit Scope Custom var</customVariableName1> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml index cdcfa194b1..c53a94ae90 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml @@ -142,7 +142,7 @@ </row> </customVariables> <timeSpent>79</timeSpent> - <timeSpentPretty>1 min 19s</timeSpentPretty> + <timeSpentPretty>1 min 19s</timeSpentPretty> <icon /> </row> <row> @@ -192,7 +192,7 @@ <daysSinceFirstVisit>181</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>81</visitDuration> - <visitDurationPretty>1 min 21s</visitDurationPretty> + <visitDurationPretty>1 min 21s</visitDurationPretty> <customVariables> <row> <customVariableName1>Domain landed</customVariableName1> @@ -2199,7 +2199,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -2249,7 +2249,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>182</visitDuration> - <visitDurationPretty>3 min 2s</visitDurationPretty> + <visitDurationPretty>3 min 2s</visitDurationPretty> <customVariables> <row> <customVariableName1>Not-Bot</customVariableName1> @@ -2324,7 +2324,7 @@ </row> </customVariables> <timeSpent>61</timeSpent> - <timeSpentPretty>1 min 1s</timeSpentPretty> + <timeSpentPretty>1 min 1s</timeSpentPretty> <icon>plugins/Morpheus/images/download.png</icon> </row> <row> @@ -2341,7 +2341,7 @@ </row> </customVariables> <timeSpent>61</timeSpent> - <timeSpentPretty>1 min 1s</timeSpentPretty> + <timeSpentPretty>1 min 1s</timeSpentPretty> <icon>plugins/Morpheus/images/download.png</icon> </row> <row> @@ -2381,7 +2381,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>123</visitDuration> - <visitDurationPretty>2 min 3s</visitDurationPretty> + <visitDurationPretty>2 min 3s</visitDurationPretty> <customVariables> <row> <customVariableName1>Not-Bot</customVariableName1> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml index d1f2bda02f..7079af5413 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml @@ -3,43 +3,43 @@ <row> <label>Cookie</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>10%</nb_visits_percentage> + <nb_visits_percentage>9.5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/cookie.gif</logo> </row> <row> <label>Flash</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>10%</nb_visits_percentage> + <nb_visits_percentage>9.5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/flash.gif</logo> </row> <row> <label>Java</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>10%</nb_visits_percentage> + <nb_visits_percentage>9.5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/java.gif</logo> </row> <row> <label>Director</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>5%</nb_visits_percentage> + <nb_visits_percentage>4.8%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/director.gif</logo> </row> <row> <label>Gears</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>5%</nb_visits_percentage> + <nb_visits_percentage>4.8%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/gears.gif</logo> </row> <row> <label>Pdf</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>5%</nb_visits_percentage> + <nb_visits_percentage>4.8%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/pdf.gif</logo> </row> <row> <label>Windowsmedia</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>5%</nb_visits_percentage> + <nb_visits_percentage>4.8%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/windowsmedia.gif</logo> </row> <row> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml index d7672ae30c..a1ec37b5bf 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml @@ -3,7 +3,7 @@ <row> <label>1 visit</label> <nb_visits>33</nb_visits> - <nb_visits_percentage>83%</nb_visits_percentage> + <nb_visits_percentage>82.5%</nb_visits_percentage> </row> <row> <label>2 visits</label> @@ -18,7 +18,7 @@ <row> <label>4 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>3%</nb_visits_percentage> + <nb_visits_percentage>2.5%</nb_visits_percentage> </row> <row> <label>5 visits</label> @@ -33,7 +33,7 @@ <row> <label>7 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>3%</nb_visits_percentage> + <nb_visits_percentage>2.5%</nb_visits_percentage> </row> <row> <label>8 visits</label> @@ -58,7 +58,7 @@ <row> <label>51-100 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>3%</nb_visits_percentage> + <nb_visits_percentage>2.5%</nb_visits_percentage> </row> <row> <label>101-200 visits</label> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.getSumVisitsLengthPretty_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.getSumVisitsLengthPretty_month.xml index 2c93902a53..0a9c671f55 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.getSumVisitsLengthPretty_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.getSumVisitsLengthPretty_month.xml @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="utf-8" ?> -<result>5 min 5s</result> \ No newline at end of file +<result>5 min 5s</result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml index 46d72dcf04..62f736ac83 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml @@ -63,7 +63,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>363</visitDuration> - <visitDurationPretty>6 min 3s</visitDurationPretty> + <visitDurationPretty>6 min 3s</visitDurationPretty> <customVariables> <row> <customVariableName3>VisitorName</customVariableName3> @@ -167,7 +167,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -196,7 +196,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -274,7 +274,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>1</daysSinceLastEcommerceOrder> <visitDuration>1081</visitDuration> - <visitDurationPretty>18 min 1s</visitDurationPretty> + <visitDurationPretty>18 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName3>VisitorName</customVariableName3> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml index 9d33118b4c..0029166a94 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml @@ -32,7 +32,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -61,7 +61,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -139,7 +139,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>721</visitDuration> - <visitDurationPretty>12 min 1s</visitDurationPretty> + <visitDurationPretty>12 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName3>VisitorName</customVariableName3> @@ -231,7 +231,7 @@ </row> </customVariables> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -248,7 +248,7 @@ </row> </customVariables> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -277,7 +277,7 @@ </row> </customVariables> <timeSpent>720</timeSpent> - <timeSpentPretty>12 min 0s</timeSpentPretty> + <timeSpentPretty>12 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -362,7 +362,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -391,7 +391,7 @@ </row> </customVariables> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -469,7 +469,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>3961</visitDuration> - <visitDurationPretty>1 hours 6 min</visitDurationPretty> + <visitDurationPretty>1 hours 6 min</visitDurationPretty> <customVariables> <row> <customVariableName3>VisitorName</customVariableName3> @@ -583,7 +583,7 @@ </row> </customVariables> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -612,7 +612,7 @@ </row> </customVariables> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -689,7 +689,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>721</visitDuration> - <visitDurationPretty>12 min 1s</visitDurationPretty> + <visitDurationPretty>12 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName4>ValueIsZero</customVariableName4> -- cgit v1.2.3 From ffe13e3b2cfe460278a4a7571fee15363d213e9e Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 18:29:48 -0800 Subject: Only use '-' as formatted average page generation time if formatting for HTML (for backwards compatibility). --- plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php index cf8ea3018d..f7df68aaaa 100644 --- a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -50,7 +50,13 @@ class AveragePageGenerationTime extends ProcessedMetric public function format($value, Formatter $formatter) { - return $value ? $formatter->getPrettyTimeFromSeconds($value, $displayAsSentence = true) : "-"; + if ($formatter instanceof Formatter\Html + && !$value + ) { + return '-'; + } else { + return $formatter->getPrettyTimeFromSeconds($value, $displayAsSentence = true); + } } public function beforeCompute($report, DataTable $table) -- cgit v1.2.3 From 1a8f1519e5272c4ffcab3a42c6db93c4e74f5d6e Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 18:30:14 -0800 Subject: Correctly format totalVisitDurationPretty in Live.getLastVisitsDetails. --- plugins/Live/API.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Live/API.php b/plugins/Live/API.php index 935762c79d..12f6b05837 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -347,7 +347,7 @@ class API extends \Piwik\Plugin\API } $formatter = new Formatter(); - $result['totalVisitDurationPretty'] = $formatter->getPrettyTimeFromSeconds($result['totalVisitDuration']); + $result['totalVisitDurationPretty'] = $formatter->getPrettyTimeFromSeconds($result['totalVisitDuration'], true); // use requested visits for first/last visit info $rows = $visits->getRows(); -- cgit v1.2.3 From 4ad8379b7633d101e71713727e7a618090f6b3b5 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 18:31:29 -0800 Subject: Do not format metrics when getting VisitsSummary.get results in VisitFrequency. --- plugins/VisitFrequency/API.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php index d05cf436c7..0340ea19e5 100644 --- a/plugins/VisitFrequency/API.php +++ b/plugins/VisitFrequency/API.php @@ -45,7 +45,8 @@ class API extends \Piwik\Plugin\API 'segment' => $segment, 'columns' => implode(',', $columns), 'format' => 'original', - 'serialize' => 0 // tests set this to 1 + 'serialize' => 0, // tests set this to 1 + 'format_metrics' => 0 ); $table = Request::processRequest('VisitsSummary.get', $params); -- cgit v1.2.3 From 812a49eb86c7a5bdc4fae52a515b1796cf7773ba Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 18:32:31 -0800 Subject: Clear static cache in Fixture. --- tests/PHPUnit/Framework/Fixture.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/PHPUnit/Framework/Fixture.php b/tests/PHPUnit/Framework/Fixture.php index ff5d6cc97a..2608bc13c1 100644 --- a/tests/PHPUnit/Framework/Fixture.php +++ b/tests/PHPUnit/Framework/Fixture.php @@ -8,6 +8,7 @@ namespace Piwik\Tests\Framework; use Piwik\Access; +use Piwik\Cache\StaticCache; use Piwik\CacheFile; use Piwik\Common; use Piwik\Config; @@ -242,6 +243,8 @@ class Fixture extends \PHPUnit_Framework_Assert $this->getTestEnvironment()->executeSetupTestEnvHook(); Piwik_TestingEnvironment::addSendMailHook(); + StaticCache::clearAll(); + if ($this->overwriteExisting || !$this->isFixtureSetUp() ) { -- cgit v1.2.3 From b39357a395b480e5bb40240e79aa55d3474d3d9a Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 18:32:38 -0800 Subject: Fixing more tests. --- ...CustomEvents__Live.getLastVisitsDetails_day.xml | 8 ++--- ...stomEvents__Live.getLastVisitsDetails_month.xml | 8 ++--- ...lFilter_thisiscool__Actions.getPageUrls_day.xml | 2 +- ...ebsiteTest__Live.getLastVisitsDetails_month.xml | 36 +++++++++++----------- ...ProcessedMetric__API.getProcessedReport_day.xml | 16 +++++----- ...ldKeepEmptyRows__API.getProcessedReport_day.xml | 22 ++++++------- ..._VisitsSummary.getSumVisitsLengthPretty_day.xml | 2 +- ...ookieSupport__Live.getLastVisitsDetails_day.xml | 16 +++++----- ..._VisitsSummary.getSumVisitsLengthPretty_day.xml | 2 +- ..._VisitorId__Live.getLastVisitsDetails_month.xml | 8 ++--- ...tN_MetadataAndNormalAPI__Live.getLastVisits.xml | 6 ++-- ...dNormalAPI__Live.getLastVisitsDetails_range.xml | 6 ++-- ...est_reportLimiting__UserCountry.getCity_day.xml | 2 +- ...t_reportLimiting__UserCountry.getRegion_day.xml | 2 +- ...iting_rankingQuery__UserCountry.getCity_day.xml | 2 +- ...ing_rankingQuery__UserCountry.getRegion_day.xml | 2 +- ...les__CustomVariables.getCustomVariables_day.xml | 2 +- ...es__CustomVariables.getCustomVariables_week.xml | 2 +- 18 files changed, 72 insertions(+), 72 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml index dafd6523e3..a0f97d2da2 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml @@ -489,7 +489,7 @@ <pageIdAction>2</pageIdAction> <pageId>1</pageId> - <generationTime>00:00:00.33</generationTime> + <generationTime>0.33s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> @@ -646,7 +646,7 @@ <pageIdAction>12</pageIdAction> <pageId>9</pageId> - <generationTime>00:00:00.66</generationTime> + <generationTime>0.67s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> @@ -1286,7 +1286,7 @@ <pageIdAction>2</pageIdAction> <pageId>25</pageId> - <generationTime>00:00:00.33</generationTime> + <generationTime>0.33s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> @@ -1443,7 +1443,7 @@ <pageIdAction>12</pageIdAction> <pageId>33</pageId> - <generationTime>00:00:00.66</generationTime> + <generationTime>0.67s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml index dafd6523e3..a0f97d2da2 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml @@ -489,7 +489,7 @@ <pageIdAction>2</pageIdAction> <pageId>1</pageId> - <generationTime>00:00:00.33</generationTime> + <generationTime>0.33s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> @@ -646,7 +646,7 @@ <pageIdAction>12</pageIdAction> <pageId>9</pageId> - <generationTime>00:00:00.66</generationTime> + <generationTime>0.67s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> @@ -1286,7 +1286,7 @@ <pageIdAction>2</pageIdAction> <pageId>25</pageId> - <generationTime>00:00:00.33</generationTime> + <generationTime>0.33s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> @@ -1443,7 +1443,7 @@ <pageIdAction>12</pageIdAction> <pageId>33</pageId> - <generationTime>00:00:00.66</generationTime> + <generationTime>0.67s</generationTime> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon /> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml index cd19ebdea0..bbd4f6792d 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" ?> <result> <row> - <label>/ééé"&#039;... <this is cool>!</label> + <label>/ééé"'... <this is cool>!</label> <nb_visits>1</nb_visits> <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml index 51741a69bc..5e81b9e8d3 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml @@ -19,7 +19,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s pitch black...</pageTitle> + <pageTitle>It's pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>61</pageId> @@ -131,7 +131,7 @@ <pageId>30</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -148,7 +148,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -193,7 +193,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -282,7 +282,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>29</pageId> @@ -412,7 +412,7 @@ <pageId>27</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -457,7 +457,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -546,7 +546,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>26</pageId> @@ -676,7 +676,7 @@ <pageId>23</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -693,7 +693,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -738,7 +738,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -827,7 +827,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>22</pageId> @@ -957,7 +957,7 @@ <pageId>20</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1002,7 +1002,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -1091,7 +1091,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It&#039;s <script> pitch black...</pageTitle> + <pageTitle>It's <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>19</pageId> @@ -1221,7 +1221,7 @@ <pageId>16</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -1238,7 +1238,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -1283,7 +1283,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml index 670c31b22e..5c5dea9f59 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml @@ -40,14 +40,6 @@ <exit_rate>Exit rate</exit_rate> </columns> <reportData> - <row> - <label>space</label> - <nb_visits>4</nb_visits> - <nb_hits>4</nb_hits> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:06:00</avg_time_on_page> - <exit_rate>0%</exit_rate> - </row> <row> <label>grue</label> <nb_visits>4</nb_visits> @@ -56,6 +48,14 @@ <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> </row> + <row> + <label>space</label> + <nb_visits>4</nb_visits> + <nb_hits>4</nb_hits> + <bounce_rate>0%</bounce_rate> + <avg_time_on_page>00:06:00</avg_time_on_page> + <exit_rate>0%</exit_rate> + </row> </reportData> <reportMetadata> <row> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml index 2dc60effda..3861e6c668 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml @@ -49,17 +49,6 @@ <revenue>Revenue</revenue> </columns> <reportData> - <row> - <label>11h</label> - <nb_uniq_visitors>4</nb_uniq_visitors> - <nb_visits>4</nb_visits> - <nb_actions>4</nb_actions> - <nb_users>0</nb_users> - <revenue>$ 20</revenue> - <nb_actions_per_visit>1</nb_actions_per_visit> - <avg_time_on_site>00:00:00</avg_time_on_site> - <bounce_rate>100%</bounce_rate> - </row> <row> <label>12h</label> <nb_uniq_visitors>4</nb_uniq_visitors> @@ -71,6 +60,17 @@ <avg_time_on_site>00:21:01</avg_time_on_site> <bounce_rate>0%</bounce_rate> </row> + <row> + <label>11h</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_actions>4</nb_actions> + <nb_users>0</nb_users> + <revenue>$ 20</revenue> + <nb_actions_per_visit>1</nb_actions_per_visit> + <avg_time_on_site>00:00:00</avg_time_on_site> + <bounce_rate>100%</bounce_rate> + </row> <row> <label>0h</label> <nb_uniq_visitors>0</nb_uniq_visitors> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.getSumVisitsLengthPretty_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.getSumVisitsLengthPretty_day.xml index 3912ba15a2..c7ce53bdef 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.getSumVisitsLengthPretty_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.getSumVisitsLengthPretty_day.xml @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="utf-8" ?> -<result>27 min 1s</result> \ No newline at end of file +<result>27 min 1s</result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml index 4297f03270..dd5f7b87e6 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml @@ -123,7 +123,7 @@ <pageId>1</pageId> <generationTime>0.23s</generationTime> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -135,7 +135,7 @@ <pageId>2</pageId> <generationTime>0.22s</generationTime> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -146,7 +146,7 @@ <pageId>3</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/link.gif</icon> </row> <row> @@ -157,7 +157,7 @@ <pageId>4</pageId> <timeSpent>72</timeSpent> - <timeSpentPretty>1 min 12s</timeSpentPretty> + <timeSpentPretty>1 min 12s</timeSpentPretty> <icon>plugins/Morpheus/images/download.png</icon> </row> <row> @@ -168,7 +168,7 @@ <pageId>5</pageId> <timeSpent>108</timeSpent> - <timeSpentPretty>1 min 48s</timeSpentPretty> + <timeSpentPretty>1 min 48s</timeSpentPretty> <icon>plugins/Morpheus/images/link.gif</icon> </row> <row> @@ -179,7 +179,7 @@ <pageId>6</pageId> <timeSpent>72</timeSpent> - <timeSpentPretty>1 min 12s</timeSpentPretty> + <timeSpentPretty>1 min 12s</timeSpentPretty> <icon>plugins/Morpheus/images/link.gif</icon> </row> <row> @@ -201,7 +201,7 @@ <siteSearchKeyword>Banks Own The World</siteSearchKeyword> <generationTime>0.81s</generationTime> <timeSpent>108</timeSpent> - <timeSpentPretty>1 min 48s</timeSpentPretty> + <timeSpentPretty>1 min 48s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -236,7 +236,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>1621</visitDuration> - <visitDurationPretty>27 min 1s</visitDurationPretty> + <visitDurationPretty>27 min 1s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.getSumVisitsLengthPretty_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.getSumVisitsLengthPretty_day.xml index 3912ba15a2..c7ce53bdef 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.getSumVisitsLengthPretty_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.getSumVisitsLengthPretty_day.xml @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="utf-8" ?> -<result>27 min 1s</result> \ No newline at end of file +<result>27 min 1s</result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml index cc28b360a0..551c6e66c3 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml @@ -30,7 +30,7 @@ <serverTimePretty>Sat 6 Mar 11:25:33</serverTimePretty> <pageId>2</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -59,7 +59,7 @@ <serverTimePretty>Sat 6 Mar 13:16:33</serverTimePretty> <pageId>4</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -70,7 +70,7 @@ <serverTimePretty>Sat 6 Mar 13:22:33</serverTimePretty> <pageId>5</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -117,7 +117,7 @@ <serverTimePretty>Sat 6 Mar 16:22:33</serverTimePretty> <pageId>8</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml index e030350ae3..8e0b0b794b 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml @@ -152,7 +152,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>361</visitDuration> - <visitDurationPretty>6 min 1s</visitDurationPretty> + <visitDurationPretty>6 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>VisitorType</customVariableName1> @@ -244,7 +244,7 @@ <pageId>1</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -323,7 +323,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>364</visitDuration> - <visitDurationPretty>6 min 4s</visitDurationPretty> + <visitDurationPretty>6 min 4s</visitDurationPretty> <customVariables> <row> <customVariableName1>VisitorType</customVariableName1> diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml index e030350ae3..8e0b0b794b 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml @@ -152,7 +152,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>361</visitDuration> - <visitDurationPretty>6 min 1s</visitDurationPretty> + <visitDurationPretty>6 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>VisitorType</customVariableName1> @@ -244,7 +244,7 @@ <pageId>1</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -323,7 +323,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>364</visitDuration> - <visitDurationPretty>6 min 4s</visitDurationPretty> + <visitDurationPretty>6 min 4s</visitDurationPretty> <customVariables> <row> <customVariableName1>VisitorType</customVariableName1> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml index c9eb98ffda..9c8bbddbf2 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml @@ -18,7 +18,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Nice, Provence-Alpes-Cote d&#039;Azur, France</label> + <label>Nice, Provence-Alpes-Cote d'Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml index 50888ce069..c6aca6fe68 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml @@ -17,7 +17,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Provence-Alpes-Cote d&#039;Azur, France</label> + <label>Provence-Alpes-Cote d'Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml index c9eb98ffda..9c8bbddbf2 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml @@ -18,7 +18,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Nice, Provence-Alpes-Cote d&#039;Azur, France</label> + <label>Nice, Provence-Alpes-Cote d'Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml index 50888ce069..c6aca6fe68 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml @@ -17,7 +17,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Provence-Alpes-Cote d&#039;Azur, France</label> + <label>Provence-Alpes-Cote d'Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml index c92fc50036..d9774fd211 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml @@ -236,7 +236,7 @@ <nb_actions>1</nb_actions> <subtable> <row> - <label>&#039;looking at "\profile page"&#039;</label> + <label>'looking at "\profile page"'</label> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> </row> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml index 60639711b9..ef24f3a29e 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml @@ -250,7 +250,7 @@ <nb_actions>1</nb_actions> <subtable> <row> - <label>&#039;looking at "\profile page"&#039;</label> + <label>'looking at "\profile page"'</label> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> -- cgit v1.2.3 From b95f7dfe78a704d760767f950f65cfadb2b3d0bf Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 18:57:04 -0800 Subject: Fixing last system test failure. --- ...Range_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml index 3001bf7177..a80688cc03 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml @@ -26,7 +26,7 @@ <prettyName>France</prettyName> </row> </countries> - <totalVisitDurationPretty>6 min 1s</totalVisitDurationPretty> + <totalVisitDurationPretty>6 min 1s</totalVisitDurationPretty> <firstVisit> @@ -196,7 +196,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>361</visitDuration> - <visitDurationPretty>6 min 1s</visitDurationPretty> + <visitDurationPretty>6 min 1s</visitDurationPretty> <customVariables> <row> <customVariableName1>VisitorType</customVariableName1> -- cgit v1.2.3 From c39566965b4b9371e619e11cb8346a9a11f8b246 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 21:44:49 -0800 Subject: Add unit tests for new Metrics Formatter classes and remove existing ones. Small change to Overlay included and bug fixes to metrics formatting code included. --- core/Metrics/Formatter.php | 34 ++-- plugins/Overlay/Controller.php | 3 +- tests/PHPUnit/Integration/PiwikTest.php | 83 -------- tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php | 91 +++++++++ tests/PHPUnit/Unit/Metrics/FormatterTest.php | 232 ++++++++++++++++++++++ 5 files changed, 342 insertions(+), 101 deletions(-) create mode 100644 tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php create mode 100644 tests/PHPUnit/Unit/Metrics/FormatterTest.php diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php index ac3c6f0278..44103d7e27 100644 --- a/core/Metrics/Formatter.php +++ b/core/Metrics/Formatter.php @@ -23,6 +23,9 @@ use Piwik\Tracker\GoalManager; */ class Formatter { + private $decimalPoint = null; + private $thousandsSeparator = null; + /** * Returns a prettified string representation of a number. The result will have * thousands separators and a decimal point specific to the current locale, eg, @@ -31,19 +34,16 @@ class Formatter * @param number $value * @return string */ - public function getPrettyNumber($value) + public function getPrettyNumber($value, $precision = 0) { - static $decimalPoint = null; - static $thousandsSeparator = null; - - if ($decimalPoint === null) { + if ($this->decimalPoint === null) { $locale = localeconv(); - $decimalPoint = $locale['decimal_point']; - $thousandsSeparator = $locale['thousands_sep']; + $this->decimalPoint = $locale['decimal_point']; + $this->thousandsSeparator = $locale['thousands_sep']; } - return number_format($value, 0, $decimalPoint, $thousandsSeparator); + return number_format($value, $precision, $this->decimalPoint, $this->thousandsSeparator); } /** @@ -51,7 +51,6 @@ class Formatter * * @param int $numberOfSeconds The number of seconds. * @param bool $displayTimeAsSentence If set to true, will output `"5min 17s"`, if false `"00:05:17"`. - * @param bool $isHtml If true, replaces all spaces with `' '`. * @param bool $round Whether to round to the nearest second or not. * @return string */ @@ -132,8 +131,8 @@ class Formatter $units = array('B', 'K', 'M', 'G', 'T'); $currentUnit = null; - foreach ($units as $currentUnit) { - if ($size >= 1024 && $unit != $currentUnit) { + foreach ($units as $idx => $currentUnit) { + if ($size >= 1024 && $unit != $currentUnit && $idx != count($units) - 1) { $size = $size / 1024; } else { break; @@ -148,22 +147,23 @@ class Formatter * * @param int|string $value The monetary value to format. * @param int $idSite The ID of the site whose currency will be used. - * @param bool $isHtml If true, replaces all spaces with `' '`. * @return string */ public function getPrettyMoney($value, $idSite) { - $currencyBefore = self::getCurrencySymbol($idSite); - $space = ' '; + $currencySymbol = self::getCurrencySymbol($idSite); + + $currencyBefore = $currencySymbol . $space; $currencyAfter = ''; + // (maybe more currencies prefer this notation?) $currencySymbolToAppend = array('€', 'kr', 'zł'); // manually put the currency symbol after the amount - if (in_array($currencyBefore, $currencySymbolToAppend)) { - $currencyAfter = $space . $currencyBefore; + if (in_array($currencySymbol, $currencySymbolToAppend)) { + $currencyAfter = $space . $currencySymbol; $currencyBefore = ''; } @@ -179,7 +179,7 @@ class Formatter } } - $prettyMoney = $currencyBefore . $space . $value . $currencyAfter; + $prettyMoney = $currencyBefore . $value . $currencyAfter; return $prettyMoney; } diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index 603047c286..d55ec7e6e9 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -76,7 +76,8 @@ class Controller extends \Piwik\Plugin\Controller ); $dataTable = $request->process(); - $formatter = new Metrics\Formatter(); + // TODO: move metric formatting logic to Formatter\Html from DataTablePostProcessor + $formatter = new Metrics\Formatter\Html(); $data = array(); if ($dataTable->getRowsCount() > 0) { diff --git a/tests/PHPUnit/Integration/PiwikTest.php b/tests/PHPUnit/Integration/PiwikTest.php index 252c08cd78..6043736e04 100644 --- a/tests/PHPUnit/Integration/PiwikTest.php +++ b/tests/PHPUnit/Integration/PiwikTest.php @@ -9,8 +9,6 @@ namespace Piwik\Tests\Integration; use Piwik\Access; -use Piwik\Filesystem; -use Piwik\MetricsFormatter; use Piwik\Piwik; use Piwik\Plugins\SitesManager\API; use Piwik\Translate; @@ -79,52 +77,6 @@ class PiwikTest extends IntegrationTestCase $this->assertSame(0, Piwik::secureDiv(11.0, 'a')); } - /** - * Dataprovider for testGetPrettyTimeFromSeconds - */ - public function getPrettyTimeFromSecondsData() - { - return array( - array(30, array('30s', '00:00:30')), - array(60, array('1 min 0s', '00:01:00')), - array(100, array('1 min 40s', '00:01:40')), - array(3600, array('1 hours 0 min', '01:00:00')), - array(3700, array('1 hours 1 min', '01:01:40')), - array(86400 + 3600 * 10, array('1 days 10 hours', '34:00:00')), - array(86400 * 365, array('365 days 0 hours', '8760:00:00')), - array((86400 * (365.25 + 10)), array('1 years 10 days', '9006:00:00')), - array(1.342, array('1.34s', '00:00:01.34')), - array(.342, array('0.34s', '00:00:00.34')), - array(.02, array('0.02s', '00:00:00.02')), - array(.002, array('0.002s', '00:00:00')), - array(1.002, array('1s', '00:00:01')), - array(1.02, array('1.02s', '00:00:01.02')), - array(1.2, array('1.2s', '00:00:01.20')), - array(122.1, array('2 min 2.1s', '00:02:02.10')), - array(-122.1, array('-2 min 2.1s', '-00:02:02.10')), - array(86400 * -365, array('-365 days 0 hours', '-8760:00:00')) - ); - } - - /** - * @dataProvider getPrettyTimeFromSecondsData - */ - public function testGetPrettyTimeFromSeconds($seconds, $expected) - { - if (($seconds * 100) > PHP_INT_MAX) { - $this->markTestSkipped("Will not pass on 32-bit machine."); - } - - Translate::loadEnglishTranslation(); - - $sentenceExpected = str_replace(' ', ' ', $expected[0]); - $numericExpected = $expected[1]; - $this->assertEquals($sentenceExpected, MetricsFormatter::getPrettyTimeFromSeconds($seconds, $sentence = true)); - $this->assertEquals($numericExpected, MetricsFormatter::getPrettyTimeFromSeconds($seconds, $sentence = false)); - - Translate::unloadEnglishTranslation(); - } - /** * Dataprovider for testCheckValidLoginString */ @@ -183,41 +135,6 @@ class PiwikTest extends IntegrationTestCase $this->assertNull(Piwik::checkValidLoginString($toTest)); } - /** - * Dataprovider for testGetPrettyValue - */ - public function getGetPrettyValueTestCases() - { - return array( - array('revenue', 12, '$ 12'), - array('revenue_evolution', '100 %', '100 %'), - array('avg_time_generation', '3.333', '3.33s'), - array('avg_time_generation', '333.333', '5 min 33.33s'), - array('avg_time_on_page', '3', '00:00:03'), - array('avg_time_on_page', '333', '00:05:33'), - ); - } - - /** - * @dataProvider getGetPrettyValueTestCases - */ - public function testGetPrettyValue($columnName, $value, $expected) - { - Translate::loadEnglishTranslation(); - - $access = Access::getInstance(); - $access->setSuperUserAccess(true); - - $idsite = API::getInstance()->addSite("test", "http://test"); - - $this->assertEquals( - $expected, - MetricsFormatter::getPrettyValue($idsite, $columnName, $value, false, false) - ); - - Translate::unloadEnglishTranslation(); - } - /** * Data provider for testIsAssociativeArray. */ diff --git a/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php b/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php new file mode 100644 index 0000000000..fd9b996f50 --- /dev/null +++ b/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php @@ -0,0 +1,91 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Tests\Unit\Metrics\Formatter; + +use Piwik\Metrics\Formatter\Html; +use Piwik\Translate; +use Piwik\Plugins\SitesManager\API as SitesManagerAPI; + +/** + * @group Core + */ +class HtmlTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var Html + */ + private $formatter; + + private $sitesInfo; + + public function setUp() + { + $this->sitesInfo = array( + 1 => array( + 'idsite' => '1', + 'currency' => 'EUR' + ) + ); + + $this->formatter = new Html(); + + setlocale(LC_ALL, null); + + Translate::loadEnglishTranslation(); + $this->setSiteManagerApiMock(); + } + + public function tearDown() + { + Translate::unloadEnglishTranslation(); + $this->unsetSiteManagerApiMock(); + + setlocale(LC_ALL, null); + } + + public function test_getPrettyTimeFromSeconds_DefaultsToShowingSentences_AndUsesNonBreakingSpaces() + { + $expected = '1 days 10 hours'; + $value = $this->formatter->getPrettyTimeFromSeconds(86400 + 3600 * 10); + + $this->assertEquals($expected, $value); + } + + public function test_getPrettySizeFromBytes_UsesNonBreakingSpaces() + { + $expected = '1.5 K'; + $value = $this->formatter->getPrettySizeFromBytes(1536); + + $this->assertEquals($expected, $value); + } + + public function test_getPrettyMoney_UsesNonBreakingSpaces() + { + $expected = '1 €'; + $value = $this->formatter->getPrettyMoney(1, 1); + + $this->assertEquals($expected, $value); + } + + private function unsetSiteManagerApiMock() + { + SitesManagerAPI::unsetInstance(); + } + + private function setSiteManagerApiMock() + { + $sitesInfo = $this->sitesInfo; + + $mock = $this->getMock('stdClass', array('getSiteFromId')); + $mock->expects($this->any())->method('getSiteFromId')->willReturnCallback(function ($idSite) use ($sitesInfo) { + return $sitesInfo[$idSite]; + }); + + SitesManagerAPI::setSingletonInstance($mock); + } +} \ No newline at end of file diff --git a/tests/PHPUnit/Unit/Metrics/FormatterTest.php b/tests/PHPUnit/Unit/Metrics/FormatterTest.php new file mode 100644 index 0000000000..8ef4831299 --- /dev/null +++ b/tests/PHPUnit/Unit/Metrics/FormatterTest.php @@ -0,0 +1,232 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik\Tests\Unit\Metrics; + +use Piwik\Metrics\Formatter; +use Piwik\Translate; +use Piwik\Plugins\SitesManager\API as SitesManagerAPI; + +/** + * @group Core + */ +class FormatterTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var Formatter + */ + private $formatter; + + private $sitesInfo; + + public function setUp() + { + $this->sitesInfo = array( + 1 => array( + 'idsite' => '1', + 'currency' => 'EUR' + ), + 2 => array( + 'idsite' => '2', + 'currency' => 'DKK' + ), + 3 => array( + 'idsite' => '3', + 'currency' => 'PLN' + ), + 4 => array( + 'idsite' => '4', + 'currency' => 'NZD' + ), + 5 => array( + 'idsite' => '5', + 'currency' => 'JPY' + ) + ); + + $this->formatter = new Formatter(); + + setlocale(LC_ALL, null); + + Translate::loadEnglishTranslation(); + $this->setSiteManagerApiMock(); + } + + public function tearDown() + { + Translate::unloadEnglishTranslation(); + $this->unsetSiteManagerApiMock(); + + setlocale(LC_ALL, null); + } + + /** + * @dataProvider getPrettyNumberTestData + */ + public function test_getPrettyNumber_ReturnsCorrectResult($number, $expected) + { + $this->assertEquals($expected, $this->formatter->getPrettyNumber($number, 2)); + } + + /** + * @dataProvider getPrettyNumberLocaleTestData + */ + public function test_getPrettyNumber_ReturnsCorrectResult_WhenLocaleIsEuropean($number, $expected) + { + $locale = setlocale(LC_ALL, array('de', 'de_DE', 'ge', 'de_DE.utf8')); + if (empty($locale)) { + $this->markTestSkipped("de_DE locale is not present on this system"); + } + + $this->assertEquals($expected, $this->formatter->getPrettyNumber($number, 2)); + } + + /** + * @dataProvider getPrettySizeFromBytesTestData + */ + public function test_getPrettySizeFromBytes_ReturnsCorrectResult($bytesSize, $unit, $expected) + { + $this->assertEquals($expected, $this->formatter->getPrettySizeFromBytes($bytesSize, $unit)); + } + + /** + * @dataProvider getPrettyMoneyTestData + */ + public function test_getPrettyMoney_ReturnsCorrectResult($value, $idSite, $expected) + { + $this->assertEquals($expected, $this->formatter->getPrettyMoney($value, $idSite)); + } + + /** + * @dataProvider getPrettyPercentFromQuotientTestData + */ + public function test_getPrettyPercentFromQuotient_ReturnsCorrectResult($value, $expected) + { + $this->assertEquals($expected, $this->formatter->getPrettyPercentFromQuotient($value)); + } + + /** + * @dataProvider getPrettyTimeFromSecondsData + */ + public function test_getPrettyTimeFromSeconds_ReturnsCorrectResult($seconds, $expected) + { + if (($seconds * 100) > PHP_INT_MAX) { + $this->markTestSkipped("Will not pass on 32-bit machine."); + } + + $sentenceExpected = $expected[0]; + $this->assertEquals($sentenceExpected, $this->formatter->getPrettyTimeFromSeconds($seconds, $sentence = true)); + + $numericExpected = $expected[1]; + $this->assertEquals($numericExpected, $this->formatter->getPrettyTimeFromSeconds($seconds, $sentence = false)); + } + + public function getPrettyNumberTestData() + { + return array( + array(0.14, '0.14'), + array(0.14567, '0.15'), + array(100.1234, '100.12'), + array(1000.45, '1,000.45'), + array(23456789.00, '23,456,789.00') + ); + } + + public function getPrettyNumberLocaleTestData() + { + return array( + array(0.14, '0,14'), + array(0.14567, '0,15'), + array(100.1234, '100,12'), + array(1000.45, '1.000,45'), + array(23456789.00, '23.456.789,00') + ); + } + + public function getPrettySizeFromBytesTestData() + { + return array( + array(767, null, '767 B'), + array(1024, null, '1 K'), + array(1536, null, '1.5 K'), + array(1024 * 1024, null, '1 M'), + array(1.25 * 1024 * 1024, null, '1.3 M'), + array(1.25 * 1024 * 1024 * 1024, null, '1.3 G'), + array(1.25 * 1024 * 1024 * 1024 * 1024, null, '1.3 T'), + array(1.25 * 1024 * 1024 * 1024 * 1024 * 1024, null, '1280 T'), + array(1.25 * 1024 * 1024, 'M', '1.3 M'), + array(1.25 * 1024 * 1024 * 1024, 'M', '1280 M'), + array(0, null, '0 M') + ); + } + + public function getPrettyMoneyTestData() + { + return array( + array(1, 1, '1 €'), + array(1.045, 2, '1.04 kr'), + array(1000.4445, 3, '1000.44 zł'), + array(1234.56, 4, '$ 1234.56'), + array(234.76, 5, '¥ 234.76') + ); + } + + public function getPrettyPercentFromQuotientTestData() + { + return array( + array(100, '10000%'), + array(1, '100%'), + array(.85, '85%'), + array(.89999, '89.999%'), + array(.0004, '0.04%') + ); + } + + /** + * Dataprovider for testGetPrettyTimeFromSeconds + */ + public function getPrettyTimeFromSecondsData() + { + return array( + array(30, array('30s', '00:00:30')), + array(60, array('1 min 0s', '00:01:00')), + array(100, array('1 min 40s', '00:01:40')), + array(3600, array('1 hours 0 min', '01:00:00')), + array(3700, array('1 hours 1 min', '01:01:40')), + array(86400 + 3600 * 10, array('1 days 10 hours', '34:00:00')), + array(86400 * 365, array('365 days 0 hours', '8760:00:00')), + array((86400 * (365.25 + 10)), array('1 years 10 days', '9006:00:00')), + array(1.342, array('1.34s', '00:00:01.34')), + array(.342, array('0.34s', '00:00:00.34')), + array(.02, array('0.02s', '00:00:00.02')), + array(.002, array('0.002s', '00:00:00')), + array(1.002, array('1s', '00:00:01')), + array(1.02, array('1.02s', '00:00:01.02')), + array(1.2, array('1.2s', '00:00:01.20')), + array(122.1, array('2 min 2.1s', '00:02:02.10')), + array(-122.1, array('-2 min 2.1s', '-00:02:02.10')), + array(86400 * -365, array('-365 days 0 hours', '-8760:00:00')) + ); + } + + private function unsetSiteManagerApiMock() + { + SitesManagerAPI::unsetInstance(); + } + + private function setSiteManagerApiMock() + { + $sitesInfo = $this->sitesInfo; + + $mock = $this->getMock('stdClass', array('getSiteFromId')); + $mock->expects($this->any())->method('getSiteFromId')->willReturnCallback(function ($idSite) use ($sitesInfo) { + return $sitesInfo[$idSite]; + }); + + SitesManagerAPI::setSingletonInstance($mock); + } +} \ No newline at end of file -- cgit v1.2.3 From 8676a94a9bc5544a759012520d0150a65fed6cc4 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 23:07:17 -0800 Subject: Move format metrics logic from processor to Metrics\Formatter and fix Overlay UI tests by formatting manually w/ an Html Formatter. --- core/API/DataTablePostProcessor.php | 96 ++++++++----------------------------- core/Metrics/Formatter.php | 91 +++++++++++++++++++++++++++++++++++ core/Plugin/Metric.php | 14 ++++++ core/Plugin/ProcessedMetric.php | 14 ------ core/Plugin/Report.php | 25 ---------- core/Plugin/Visualization.php | 12 +++-- plugins/Overlay/Controller.php | 8 ++-- 7 files changed, 138 insertions(+), 122 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 2c5e4625ab..815ea3c911 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -27,7 +27,6 @@ use Piwik\Plugin\Report; */ class DataTablePostProcessor { - const PROCESSED_METRICS_FORMATTED_FLAG = 'processed_metrics_formatted'; const PROCESSED_METRICS_COMPUTED_FLAG = 'processed_metrics_computed'; /** @@ -55,6 +54,11 @@ class DataTablePostProcessor */ private $apiInconsistencies; + /** + * @var Formatter + */ + private $formatter; + /** * Constructor. */ @@ -66,16 +70,13 @@ class DataTablePostProcessor $this->report = Report::factory($apiModule, $apiMethod); $this->apiInconsistencies = new Inconsistencies(); + $this->formatter = new Formatter(); } /** * Apply post-processing logic to a DataTable of a report for an API request. * * @param DataTableInterface $dataTable The data table to process. - * @param Report|null $report The Report metadata class for the DataTable's report, or null if - * there is none. - * @param string[] $request The API request that - * @param bool $applyFormatting Whether to format processed metrics or not. * @return DataTableInterface A new data table. */ public function process(DataTableInterface $dataTable) @@ -99,14 +100,7 @@ class DataTablePostProcessor $dataTable = $this->applyRequestedColumnDeletion($dataTable); $dataTable = $this->applyLabelFilter($dataTable); - $formatMetrics = Common::getRequestVar('format_metrics', 0, 'string', $this->request); - if ($formatMetrics != '0') { - // in Piwik 2.X & below, metrics are not formatted in API responses except for percents. - // this code implements this inconsistency - $onlyFormatPercents = $formatMetrics === 'bc'; - - $dataTable = $this->applyProcessedMetricsFormatting($dataTable, null, $onlyFormatPercents); - } + $dataTable = $this->applyMetricsFormatting($dataTable, null); return $dataTable; } @@ -174,8 +168,9 @@ class DataTablePostProcessor $self = $this; $report = $this->report; - $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self) { - $processedMetrics = Report::getProcessedMetricsFor($table, $report); + $formatter = $this->formatter; + $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self, $formatter) { + $processedMetrics = $formatter->getMetricsToFormat($table, $report, 'Piwik\\Plugin\\ProcessedMetric'); if ($genericFilter->areProcessedMetricsNeededFor($processedMetrics)) { $self->computeProcessedMetrics($table); } @@ -280,22 +275,25 @@ class DataTablePostProcessor /** * @param DataTableInterface $dataTable - * @param Formatter|null $formatter - * @param bool $onlyFormatPercents * @return DataTableInterface */ - public function applyProcessedMetricsFormatting($dataTable, Formatter $formatter = null, $onlyFormatPercents = false) + public function applyMetricsFormatting($dataTable) { - if ($formatter === null) { - $formatter = new Formatter(); + $formatMetrics = Common::getRequestVar('format_metrics', 0, 'string', $this->request); + if ($formatMetrics == '0') { + return $dataTable; } + // in Piwik 2.X & below, metrics are not formatted in API responses except for percents. + // this code implements this inconsistency + $onlyFormatPercents = $formatMetrics === 'bc'; + $metricsToFormat = null; if ($onlyFormatPercents) { $metricsToFormat = $this->apiInconsistencies->getPercentMetricsToFormat(); } - $dataTable->filter(array($this, 'formatProcessedMetrics'), array($formatter, $metricsToFormat)); + $dataTable->filter(array($this->formatter, 'formatMetrics'), array($this->report, $metricsToFormat)); return $dataTable; } @@ -335,7 +333,8 @@ class DataTablePostProcessor return; } - $processedMetrics = Report::getProcessedMetricsFor($dataTable, $this->report); + /** @var ProcessedMetric[] $processedMetrics */ + $processedMetrics = $this->formatter->getMetricsToFormat($dataTable, $this->report, 'Piwik\\Plugin\\ProcessedMetric'); if (empty($processedMetrics)) { return; } @@ -360,61 +359,8 @@ class DataTablePostProcessor } } - /** - * public for use as callback. - */ - public function formatProcessedMetrics(DataTable $dataTable, Formatter $formatter, $metricsToFormat = null) - { - $processedMetrics = Report::getProcessedMetricsFor($dataTable, $this->report); - if (empty($processedMetrics) - || $dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG) - ) { - return; - } - - $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); - - if ($metricsToFormat !== null) { - $metricMatchRegex = $this->makeRegexToMatchMetrics($metricsToFormat); - $processedMetrics = array_filter($processedMetrics, function (ProcessedMetric $metric) use ($metricMatchRegex) { - return preg_match($metricMatchRegex, $metric->getName()); - }); - } - - foreach ($processedMetrics as $name => $processedMetric) { - if (!$processedMetric->beforeFormat($this->report, $dataTable)) { - continue; - } - - foreach ($dataTable->getRows() as $row) { - $columnValue = $row->getColumn($name); - if ($columnValue !== false) { - $row->setColumn($name, $processedMetric->format($columnValue, $formatter)); - } - - $subtable = $row->getSubtable(); - if (!empty($subtable)) { - $this->formatProcessedMetrics($subtable, $formatter, $metricsToFormat); - } - } - } - } - public function applyComputeProcessedMetrics(DataTableInterface $dataTable) { $dataTable->filter(array($this, 'computeProcessedMetrics')); } - - private function makeRegexToMatchMetrics($metricsToFormat) - { - $metricsRegexParts = array(); - foreach ($metricsToFormat as $metricFilter) { - if ($metricFilter[0] == '/') { - $metricsRegexParts[] = '(?:' . substr($metricFilter, 1, strlen($metricFilter) - 2) . ')'; - } else { - $metricsRegexParts[] = preg_quote($metricFilter); - } - } - return '/^' . implode('|', $metricsRegexParts) . '$/'; - } } \ No newline at end of file diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php index 44103d7e27..a2f2d928ae 100644 --- a/core/Metrics/Formatter.php +++ b/core/Metrics/Formatter.php @@ -8,7 +8,11 @@ namespace Piwik\Metrics; use Piwik\Common; +use Piwik\DataTable; use Piwik\Piwik; +use Piwik\Plugin\Metric; +use Piwik\Plugin\ProcessedMetric; +use Piwik\Plugin\Report; use Piwik\Site; use Piwik\Tracker\GoalManager; @@ -23,6 +27,8 @@ use Piwik\Tracker\GoalManager; */ class Formatter { + const PROCESSED_METRICS_FORMATTED_FLAG = 'processed_metrics_formatted'; + private $decimalPoint = null; private $thousandsSeparator = null; @@ -231,4 +237,89 @@ class Formatter return $currenciesList; } + + /** + * Formats all metrics, including processed metrics, for a DataTable. Metrics to format + * are found through report metadata and DataTable metadata. + * + * @param DataTable $dataTable The table to format metrics for. + * @param Report|null $report The report the table belongs to. + * @param string[]|null $metricsToFormat Whitelist of names of metrics to format. + */ + public function formatMetrics(DataTable $dataTable, Report $report = null, $metricsToFormat = null) + { + $metrics = $this->getMetricsToFormat($dataTable, $report); + if (empty($metrics) + || $dataTable->getMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG) + ) { + return; + } + + $dataTable->setMetadata(self::PROCESSED_METRICS_FORMATTED_FLAG, true); + + if ($metricsToFormat !== null) { + $metricMatchRegex = $this->makeRegexToMatchMetrics($metricsToFormat); + $metrics = array_filter($metrics, function (ProcessedMetric $metric) use ($metricMatchRegex) { + return preg_match($metricMatchRegex, $metric->getName()); + }); + } + + foreach ($metrics as $name => $metric) { + if (!$metric->beforeFormat($report, $dataTable)) { + continue; + } + + foreach ($dataTable->getRows() as $row) { + $columnValue = $row->getColumn($name); + if ($columnValue !== false) { + $row->setColumn($name, $metric->format($columnValue, $this)); + } + + $subtable = $row->getSubtable(); + if (!empty($subtable)) { + $this->formatMetrics($subtable, $report, $metricsToFormat); + } + } + } + } + + private function makeRegexToMatchMetrics($metricsToFormat) + { + $metricsRegexParts = array(); + foreach ($metricsToFormat as $metricFilter) { + if ($metricFilter[0] == '/') { + $metricsRegexParts[] = '(?:' . substr($metricFilter, 1, strlen($metricFilter) - 2) . ')'; + } else { + $metricsRegexParts[] = preg_quote($metricFilter); + } + } + return '/^' . implode('|', $metricsRegexParts) . '$/'; + } + + /** + * @param DataTable $dataTable + * @param Report $report + * @return Metric[] + */ + public function getMetricsToFormat(DataTable $dataTable, Report $report = null, $baseType = 'Piwik\\Plugin\\Metric') + { + $metrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); + + if (!empty($report)) { + $metrics = array_merge($metrics, $report->getProcessedMetricsById()); + } + + $result = array(); + + /** @var Metric $metric */ + foreach ($metrics as $metric) { + if (!($metric instanceof $baseType)) { + continue; + } + + $result[$metric->getName()] = $metric; + } + + return $result; + } } \ No newline at end of file diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 6a906bee44..9542d18933 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -82,6 +82,20 @@ abstract class Metric return $value; } + /** + * Executed before formatting all metrics for a report. Implementers can return `false` + * to skip formatting this metric and can use this method to access information needed for + * formatting (for example, the site ID). + * + * @param Report $report + * @param DataTable $table + * @return bool Return `true` to format the metric for the table, `false` to skip formatting. + */ + public function beforeFormat($report, DataTable $table) + { + return true; + } + /** * Helper method that will access a metric in a {@link Piwik\DataTable\Row} or array either by * its name or by its special numerical index value. diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index e4ddc378a1..1c74320a47 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -54,18 +54,4 @@ abstract class ProcessedMetric extends Metric { return true; } - - /** - * Executed before formatting all processed metrics for a report. Implementers can return `false` - * to skip formatting this metric and can use this method to access information needed for - * formatting (for example, the site ID). - * - * @param Report $report - * @param DataTable $table - * @return bool Return `true` to format the metric for the table, `false` to skip formatting. - */ - public function beforeFormat($report, DataTable $table) - { - return true; - } } \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index cf23ae6776..7cb42e35d4 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -836,29 +836,4 @@ class Report } return $result; } - - - /** - * @param DataTable $dataTable - * @param Report $report - * @return ProcessedMetric[] - */ - public static function getProcessedMetricsFor(DataTable $dataTable, Report $report = null) - { - $processedMetrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); - - if (!empty($report)) { - $processedMetrics = array_merge($processedMetrics, $report->getProcessedMetricsById()); - } - - $result = array(); - foreach ($processedMetrics as $metric) { - if (!($metric instanceof ProcessedMetric)) { - continue; - } - - $result[$metric->getName()] = $metric; - } - return $result; - } } \ No newline at end of file diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index 91a79d2a58..d3e595dfd8 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -146,6 +146,11 @@ class Visualization extends ViewDataTable private $metadata = null; protected $metricsFormatter = null; + /** + * @var Report + */ + protected $report; + final public function __construct($controllerAction, $apiMethodToRequestDataTable, $params = array()) { $templateFile = static::TEMPLATE_FILE; @@ -157,6 +162,8 @@ class Visualization extends ViewDataTable $this->metricsFormatter = new HtmlFormatter(); parent::__construct($controllerAction, $apiMethodToRequestDataTable, $params); + + $this->report = Report::factory($this->requestConfig->getApiModuleToRequest(), $this->requestConfig->getApiMethodToRequest()); } protected function buildView() @@ -311,10 +318,9 @@ class Visualization extends ViewDataTable private function addVisualizationInfoFromMetricMetadata() { - $report = Report::factory($this->requestConfig->getApiModuleToRequest(), $this->requestConfig->getApiMethodToRequest()); $dataTable = $this->dataTable instanceof DataTable\Map ? $this->dataTable->getFirstRow() : $this->dataTable; - $processedMetrics = Report::getProcessedMetricsFor($dataTable, $report); + $processedMetrics = $this->metricsFormatter->getMetricsToFormat($dataTable, $this->report); // TODO: instead of iterating & calling translate everywhere, maybe we can get all translated names in one place. // may be difficult, though, since translated metrics are specific to the report. @@ -368,7 +374,7 @@ class Visualization extends ViewDataTable $this->dataTable->applyQueuedFilters(); } - $postProcessor->applyProcessedMetricsFormatting($this->dataTable, $this->metricsFormatter); + $this->metricsFormatter->formatMetrics($this->dataTable, $this->report); } private function removeEmptyColumnsFromDisplay() diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index d55ec7e6e9..c5e1d2c1c2 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -14,6 +14,7 @@ use Piwik\Common; use Piwik\Config; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\Plugin\Report; use Piwik\Plugins\Actions\ArchivingHelper; use Piwik\Plugins\SitesManager\API as APISitesManager; use Piwik\ProxyHttp; @@ -72,12 +73,12 @@ class Controller extends \Piwik\Plugin\Controller . '&period=' . urlencode($period) . '&label=' . urlencode($label) . '&format=original' - . '&format_metrics=1' + . '&format_metrics=0' ); $dataTable = $request->process(); - // TODO: move metric formatting logic to Formatter\Html from DataTablePostProcessor $formatter = new Metrics\Formatter\Html(); + $formatter->formatMetrics($dataTable, Report::factory("Actions", "getPageUrls")); $data = array(); if ($dataTable->getRowsCount() > 0) { @@ -93,9 +94,6 @@ class Controller extends \Piwik\Plugin\Controller // skip unique visitors for period != day continue; } - if ($metric == 'avg_time_on_page') { - $value = $formatter->getPrettyTimeFromSeconds($value); - } $data[] = array( 'name' => $translations[$metric], 'value' => $value -- cgit v1.2.3 From e109893929f9144486a708ab6c2218d471737fbf Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 16 Nov 2014 23:48:45 -0800 Subject: Fix double encode in SafeDecodeLabel filter (only affects > 5.3). --- core/DataTable/Filter/SafeDecodeLabel.php | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/core/DataTable/Filter/SafeDecodeLabel.php b/core/DataTable/Filter/SafeDecodeLabel.php index f2629618b1..1f3e70e670 100644 --- a/core/DataTable/Filter/SafeDecodeLabel.php +++ b/core/DataTable/Filter/SafeDecodeLabel.php @@ -39,16 +39,10 @@ class SafeDecodeLabel extends BaseFilter if (empty($value)) { return $value; } + $raw = urldecode($value); $value = htmlspecialchars_decode($raw, ENT_QUOTES); - - // ENT_IGNORE so that if utf8 string has some errors, we simply discard invalid code unit sequences - $style = ENT_QUOTES | ENT_IGNORE; - - // See changes in 5.4: http://nikic.github.com/2012/01/28/htmlspecialchars-improvements-in-PHP-5-4.html - // Note: at some point we should change ENT_IGNORE to ENT_SUBSTITUTE - $value = htmlspecialchars($value, $style, 'UTF-8'); - + // TODO: add test for XSS and invalid UTF in label return $value; } -- cgit v1.2.3 From a34bd1641afc2595bc80a7273edbd1fe517d98b6 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 00:20:50 -0800 Subject: In Visualization, filter on contained DataTable in case it is a Map, when formatting metrics. --- core/Plugin/Visualization.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index d3e595dfd8..17e8cf5f94 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -374,7 +374,11 @@ class Visualization extends ViewDataTable $this->dataTable->applyQueuedFilters(); } - $this->metricsFormatter->formatMetrics($this->dataTable, $this->report); + $formatter = $this->metricsFormatter; + $report = $this->report; + $this->dataTable->filter(function (DataTable $table) use ($formatter, $report) { + $formatter->formatMetrics($table, $report); + }); } private function removeEmptyColumnsFromDisplay() -- cgit v1.2.3 From 75b1a26a5d4be646467e6d6fa08a5cb45d62bc52 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 01:09:42 -0800 Subject: Fixing UI tests (make sure labels are correctly escaped by SafeDecodeLabel). --- core/DataTable/Filter/SafeDecodeLabel.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/DataTable/Filter/SafeDecodeLabel.php b/core/DataTable/Filter/SafeDecodeLabel.php index 1f3e70e670..963706f55a 100644 --- a/core/DataTable/Filter/SafeDecodeLabel.php +++ b/core/DataTable/Filter/SafeDecodeLabel.php @@ -39,10 +39,16 @@ class SafeDecodeLabel extends BaseFilter if (empty($value)) { return $value; } - $raw = urldecode($value); $value = htmlspecialchars_decode($raw, ENT_QUOTES); - // TODO: add test for XSS and invalid UTF in label + + // ENT_IGNORE so that if utf8 string has some errors, we simply discard invalid code unit sequences + $style = ENT_IGNORE; + + // See changes in 5.4: http://nikic.github.com/2012/01/28/htmlspecialchars-improvements-in-PHP-5-4.html + // Note: at some point we should change ENT_IGNORE to ENT_SUBSTITUTE + $value = htmlspecialchars($value, $style, 'UTF-8'); + return $value; } -- cgit v1.2.3 From bbeb2a64ce2761169236d54afa0795cc4967bb12 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 01:31:20 -0800 Subject: Fixing ReportTest. --- tests/PHPUnit/Integration/ReportTest.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/PHPUnit/Integration/ReportTest.php b/tests/PHPUnit/Integration/ReportTest.php index 13c404375c..1e141db383 100644 --- a/tests/PHPUnit/Integration/ReportTest.php +++ b/tests/PHPUnit/Integration/ReportTest.php @@ -466,7 +466,8 @@ class ReportTest extends IntegrationTestCase 'date' => '2012-01-02', 'format' => 'original', 'module' => 'API', - 'method' => 'ExampleReport.getExampleReport' + 'method' => 'ExampleReport.getExampleReport', + 'format_metrics' => 'bc' ) )->willReturn("result"); Proxy::setSingletonInstance($proxyMock); @@ -488,7 +489,8 @@ class ReportTest extends IntegrationTestCase 'date' => '2012-01-02', 'format' => 'original', 'module' => 'API', - 'method' => 'Referrers.getSearchEnginesFromKeywordId' + 'method' => 'Referrers.getSearchEnginesFromKeywordId', + 'format_metrics' => 'bc' ) )->willReturn("result"); Proxy::setSingletonInstance($proxyMock); -- cgit v1.2.3 From 69c05088f55077ec9c6e4b0c0891d32f6b0f4045 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 01:39:48 -0800 Subject: Clear static cache in IntegrationTests as well as SystemTests. --- tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php b/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php index ee36b68c63..becfac3a18 100644 --- a/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php +++ b/tests/PHPUnit/Framework/TestCase/IntegrationTestCase.php @@ -8,6 +8,7 @@ namespace Piwik\Tests\Framework\TestCase; +use Piwik\Cache\StaticCache; use Piwik\Config; use Piwik\Db; use Piwik\Tests\Framework\Fixture; @@ -76,6 +77,8 @@ abstract class IntegrationTestCase extends SystemTestCase if (!empty(self::$tableData)) { self::restoreDbTables(self::$tableData); } + + StaticCache::clearAll(); } /** @@ -83,6 +86,8 @@ abstract class IntegrationTestCase extends SystemTestCase */ public function tearDown() { + StaticCache::clearAll(); + self::$fixture->clearInMemoryCaches(); parent::tearDown(); -- cgit v1.2.3 From 92546e1ec54ec967dedbf5dfbe28020dd18ad6f5 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 15:55:39 -0800 Subject: Remove PHP 5.3.3 XML response 'normalizing' in system tests. --- core/DataTable/Filter/SafeDecodeLabel.php | 2 +- tests/PHPUnit/Framework/TestRequest/Response.php | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/core/DataTable/Filter/SafeDecodeLabel.php b/core/DataTable/Filter/SafeDecodeLabel.php index 963706f55a..f2629618b1 100644 --- a/core/DataTable/Filter/SafeDecodeLabel.php +++ b/core/DataTable/Filter/SafeDecodeLabel.php @@ -43,7 +43,7 @@ class SafeDecodeLabel extends BaseFilter $value = htmlspecialchars_decode($raw, ENT_QUOTES); // ENT_IGNORE so that if utf8 string has some errors, we simply discard invalid code unit sequences - $style = ENT_IGNORE; + $style = ENT_QUOTES | ENT_IGNORE; // See changes in 5.4: http://nikic.github.com/2012/01/28/htmlspecialchars-improvements-in-PHP-5-4.html // Note: at some point we should change ENT_IGNORE to ENT_SUBSTITUTE diff --git a/tests/PHPUnit/Framework/TestRequest/Response.php b/tests/PHPUnit/Framework/TestRequest/Response.php index 668b58e1a7..17b1eedf7f 100644 --- a/tests/PHPUnit/Framework/TestRequest/Response.php +++ b/tests/PHPUnit/Framework/TestRequest/Response.php @@ -115,22 +115,11 @@ class Response $apiResponse = $this->normalizePdfContent($apiResponse); $apiResponse = $this->removeXmlFields($apiResponse); $apiResponse = $this->normalizeDecimalFields($apiResponse); - $apiResponse = $this->normalizeEncodingPhp533($apiResponse); $apiResponse = $this->normalizeSpaces($apiResponse); return $apiResponse; } - private function normalizeEncodingPhp533($apiResponse) - { - if (!SystemTestCase::isPhpVersion53() - || strpos($apiResponse, '<result') === false) { - return $apiResponse; - } - - return str_replace('&#039;', "'", $apiResponse); - } - private function removeIdSubtableParamFromUrlsInResponse($apiResponse) { return preg_replace("/idSubtable=[0-9]+/", 'idSubtable=', $apiResponse); -- cgit v1.2.3 From 17eee45ea6d1eebb78bbd4cef67580b17fa89493 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 17:22:18 -0800 Subject: Fixing System tests (and reverting SafeDecodeLabel change). --- ...estAPITest__Live.getLastVisitsDetails_range.xml | 36 +++++++++++----------- ...s.getName_lastN__API.getProcessedReport_day.xml | 2 +- .../test_CustomEvents__Events.getAction_day.xml | 12 ++++---- .../test_CustomEvents__Events.getAction_month.xml | 12 ++++---- .../test_CustomEvents__Events.getName_day.xml | 2 +- .../test_CustomEvents__Events.getName_month.xml | 2 +- ...CustomEvents__Live.getLastVisitsDetails_day.xml | 28 ++++++++--------- ...stomEvents__Live.getLastVisitsDetails_month.xml | 28 ++++++++--------- ...ntCategoryOrNameMatch__Events.getAction_day.xml | 12 ++++---- ...ventCategoryOrNameMatch__Events.getName_day.xml | 2 +- ...yDimensionIsEventAction__Events.getName_day.xml | 2 +- ...imensionIsEventAction__Events.getName_month.xml | 2 +- ...imensionIsEventCategory__Events.getName_day.xml | 2 +- ...ensionIsEventCategory__Events.getName_month.xml | 2 +- ...yDimensionIsEventName__Events.getAction_day.xml | 12 ++++---- ...imensionIsEventName__Events.getAction_month.xml | 12 ++++---- ...imensionIsEventName__Events.getCategory_day.xml | 2 +- ...ensionIsEventName__Events.getCategory_month.xml | 2 +- ...atchesEventActionPlay__Events.getAction_day.xml | 10 +++--- ...tMatchesEventActionPlay__Events.getName_day.xml | 2 +- ...lFilter_thisiscool__Actions.getPageUrls_day.xml | 2 +- ...IdVisitAsc__Live.getLastVisitsDetails_month.xml | 18 +++++------ ...tByIdVisit__Live.getLastVisitsDetails_month.xml | 16 +++++----- ...VisitCount__Live.getLastVisitsDetails_month.xml | 16 +++++----- ...s_sortDesc__Live.getLastVisitsDetails_month.xml | 16 +++++----- ...ebsiteTest__Live.getLastVisitsDetails_month.xml | 10 +++--- ...est_reportLimiting__UserCountry.getCity_day.xml | 2 +- ...t_reportLimiting__UserCountry.getRegion_day.xml | 2 +- ...iting_rankingQuery__UserCountry.getCity_day.xml | 2 +- ...ing_rankingQuery__UserCountry.getRegion_day.xml | 2 +- ...les__CustomVariables.getCustomVariables_day.xml | 2 +- ...es__CustomVariables.getCustomVariables_week.xml | 2 +- tests/PHPUnit/UI | 2 +- 33 files changed, 138 insertions(+), 138 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml index b7a2b4a74e..368e7d54fb 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml @@ -19,7 +19,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's pitch black...</pageTitle> + <pageTitle>It&#039;s pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>61</pageId> @@ -282,7 +282,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>29</pageId> @@ -546,7 +546,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>26</pageId> @@ -827,7 +827,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>22</pageId> @@ -1091,7 +1091,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>19</pageId> @@ -1372,7 +1372,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>15</pageId> @@ -1767,7 +1767,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>12</pageId> @@ -1892,7 +1892,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>51</pageId> @@ -2321,7 +2321,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>8</pageId> @@ -2446,7 +2446,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>47</pageId> @@ -3119,7 +3119,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>5</pageId> @@ -3244,7 +3244,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>37</pageId> @@ -3369,7 +3369,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>44</pageId> @@ -3494,7 +3494,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>58</pageId> @@ -4235,7 +4235,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>1</pageId> @@ -4360,7 +4360,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>33</pageId> @@ -4485,7 +4485,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>40</pageId> @@ -4610,7 +4610,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>54</pageId> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml index 588fe06efe..15678442b5 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml @@ -52,7 +52,7 @@ <avg_event_value>9.66</avg_event_value> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> <sum_event_value>38</sum_event_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml index 39d8225809..26752bbd7b 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_day.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>4</nb_events> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml index 48a1c22649..9868947268 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getAction_month.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>4</nb_events> <nb_events_with_value>4</nb_events_with_value> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml index 60c5633e2a..9461eeb42e 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_day.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml index 1d5fd32cfd..5f8de9463f 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Events.getName_month.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml index a0f97d2da2..469e4d6471 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml @@ -518,7 +518,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -537,7 +537,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -556,7 +556,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -575,7 +575,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -594,7 +594,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -613,7 +613,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -633,7 +633,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> <timeSpentPretty>24 min 59s</timeSpentPretty> @@ -1315,7 +1315,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1334,7 +1334,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1353,7 +1353,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1372,7 +1372,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1391,7 +1391,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1410,7 +1410,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -1430,7 +1430,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> <timeSpentPretty>24 min 59s</timeSpentPretty> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml index a0f97d2da2..469e4d6471 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml @@ -518,7 +518,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -537,7 +537,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -556,7 +556,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -575,7 +575,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -594,7 +594,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -613,7 +613,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -633,7 +633,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> <timeSpentPretty>24 min 59s</timeSpentPretty> @@ -1315,7 +1315,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1334,7 +1334,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1353,7 +1353,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>60</timeSpent> <timeSpentPretty>1 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1372,7 +1372,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1391,7 +1391,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <timeSpent>30</timeSpent> <timeSpentPretty>30s</timeSpentPretty> <icon>plugins/Morpheus/images/event.png</icon> @@ -1410,7 +1410,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>9</eventValue> <timeSpent>1</timeSpent> <timeSpentPretty>1s</timeSpentPretty> @@ -1430,7 +1430,7 @@ <customVariablePageValue1>should not appear in events report</customVariablePageValue1> </row> </customVariables> - <eventName>La fiancée de l'eau</eventName> + <eventName>La fiancée de l&#039;eau</eventName> <eventValue>10</eventValue> <timeSpent>1499</timeSpent> <timeSpentPretty>24 min 59s</timeSpentPretty> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml index f0338f0380..d70e8c2950 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>4</nb_events> @@ -281,7 +281,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml index 8dcc330ab2..71ccc3d69b 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml index 60c5633e2a..9461eeb42e 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_day.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml index 1d5fd32cfd..5f8de9463f 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventAction__Events.getName_month.xml @@ -102,7 +102,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml index ed806b85af..03b5718c7b 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_day.xml @@ -25,7 +25,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml index 8595e16fba..54676e7511 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventCategory__Events.getName_month.xml @@ -25,7 +25,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml index 39d8225809..26752bbd7b 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_day.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>4</nb_events> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml index 48a1c22649..9868947268 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getAction_month.xml @@ -82,7 +82,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -117,7 +117,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -152,7 +152,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -187,7 +187,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> @@ -222,7 +222,7 @@ <avg_event_value>9.55</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>4</nb_events> <nb_events_with_value>4</nb_events_with_value> @@ -305,7 +305,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>2</nb_visits> <nb_events>2</nb_events> <nb_events_with_value>0</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml index 26b6cd6621..d6f7a63bbe 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_day.xml @@ -69,7 +69,7 @@ <avg_event_value>9.5</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>12</nb_uniq_visitors> <nb_visits>12</nb_visits> <nb_events>14</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml index 8139515e3f..835e7cc629 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_secondaryDimensionIsEventName__Events.getCategory_month.xml @@ -69,7 +69,7 @@ <avg_event_value>9.5</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_visits>12</nb_visits> <nb_events>14</nb_events> <nb_events_with_value>4</nb_events_with_value> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml index 66a7dc04c6..609b2b8d6c 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml @@ -58,7 +58,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -93,7 +93,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -128,7 +128,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -163,7 +163,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> @@ -198,7 +198,7 @@ <avg_event_value>0</avg_event_value> <subtable> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>2</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_events>2</nb_events> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml index 5b804860db..e1aa570c57 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml @@ -80,7 +80,7 @@ </subtable> </row> <row> - <label>La fiancée de l'eau</label> + <label>La fiancée de l&#039;eau</label> <nb_uniq_visitors>10</nb_uniq_visitors> <nb_visits>10</nb_visits> <nb_events>10</nb_events> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml index bbd4f6792d..cd19ebdea0 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" ?> <result> <row> - <label>/ééé"'... <this is cool>!</label> + <label>/ééé"&#039;... <this is cool>!</label> <nb_visits>1</nb_visits> <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml index 403004b58a..b20e40002c 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml @@ -147,7 +147,7 @@ <pageId>2</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -164,7 +164,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -209,7 +209,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -424,7 +424,7 @@ <pageId>34</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -441,7 +441,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -486,7 +486,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -701,7 +701,7 @@ <pageId>41</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -718,7 +718,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -763,7 +763,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml index 46e7e63638..d8d596799c 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml @@ -131,7 +131,7 @@ <pageId>30</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -148,7 +148,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -193,7 +193,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -412,7 +412,7 @@ <pageId>27</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -457,7 +457,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -676,7 +676,7 @@ <pageId>23</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -693,7 +693,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -738,7 +738,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml index aa243bc101..668f5347a8 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml @@ -24,7 +24,7 @@ <pageId>30</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -41,7 +41,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -86,7 +86,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -305,7 +305,7 @@ <pageId>23</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -322,7 +322,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -367,7 +367,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -461,7 +461,7 @@ <pageId>27</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -506,7 +506,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml index 46e7e63638..d8d596799c 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml @@ -131,7 +131,7 @@ <pageId>30</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -148,7 +148,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -193,7 +193,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> @@ -412,7 +412,7 @@ <pageId>27</pageId> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -457,7 +457,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>0</searches> <actions>2</actions> <referrerType>direct</referrerType> @@ -676,7 +676,7 @@ <pageId>23</pageId> <timeSpent>360</timeSpent> - <timeSpentPretty>6 min 0s</timeSpentPretty> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> <row> @@ -693,7 +693,7 @@ </customVariables> <siteSearchKeyword>Bring on the party</siteSearchKeyword> <timeSpent>180</timeSpent> - <timeSpentPretty>3 min 0s</timeSpentPretty> + <timeSpentPretty>3 min 0s</timeSpentPretty> <icon>plugins/Morpheus/images/search_ico.png</icon> </row> <row> @@ -738,7 +738,7 @@ <daysSinceFirstVisit>100</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>50</daysSinceLastEcommerceOrder> <visitDuration>1261</visitDuration> - <visitDurationPretty>21 min 1s</visitDurationPretty> + <visitDurationPretty>21 min 1s</visitDurationPretty> <searches>1</searches> <actions>3</actions> <referrerType>direct</referrerType> diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml index 5e81b9e8d3..e38cadcaad 100644 --- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml @@ -19,7 +19,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's pitch black...</pageTitle> + <pageTitle>It&#039;s pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>61</pageId> @@ -282,7 +282,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>29</pageId> @@ -546,7 +546,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>26</pageId> @@ -827,7 +827,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>22</pageId> @@ -1091,7 +1091,7 @@ <row> <type>action</type> <url>http://piwik.net/grue/lair</url> - <pageTitle>It's <script> pitch black...</pageTitle> + <pageTitle>It&#039;s <script> pitch black...</pageTitle> <pageIdAction>2</pageIdAction> <pageId>19</pageId> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml index 9c8bbddbf2..c9eb98ffda 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getCity_day.xml @@ -18,7 +18,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Nice, Provence-Alpes-Cote d'Azur, France</label> + <label>Nice, Provence-Alpes-Cote d&#039;Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml index c6aca6fe68..50888ce069 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting__UserCountry.getRegion_day.xml @@ -17,7 +17,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Provence-Alpes-Cote d'Azur, France</label> + <label>Provence-Alpes-Cote d&#039;Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml index 9c8bbddbf2..c9eb98ffda 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getCity_day.xml @@ -18,7 +18,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Nice, Provence-Alpes-Cote d'Azur, France</label> + <label>Nice, Provence-Alpes-Cote d&#039;Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml index c6aca6fe68..50888ce069 100644 --- a/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml +++ b/tests/PHPUnit/System/expected/test_reportLimiting_rankingQuery__UserCountry.getRegion_day.xml @@ -17,7 +17,7 @@ <logo>plugins/UserCountry/images/flags/au.png</logo> </row> <row> - <label>Provence-Alpes-Cote d'Azur, France</label> + <label>Provence-Alpes-Cote d&#039;Azur, France</label> <nb_uniq_visitors>4</nb_uniq_visitors> <nb_visits>20</nb_visits> <nb_actions>20</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml index d9774fd211..c92fc50036 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml @@ -236,7 +236,7 @@ <nb_actions>1</nb_actions> <subtable> <row> - <label>'looking at "\profile page"'</label> + <label>&#039;looking at "\profile page"&#039;</label> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> </row> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml index ef24f3a29e..60639711b9 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml @@ -250,7 +250,7 @@ <nb_actions>1</nb_actions> <subtable> <row> - <label>'looking at "\profile page"'</label> + <label>&#039;looking at "\profile page"&#039;</label> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors> diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI index c50b2f2093..06f31df855 160000 --- a/tests/PHPUnit/UI +++ b/tests/PHPUnit/UI @@ -1 +1 @@ -Subproject commit c50b2f20931782a8aef10fceb1c5f90f2f547b31 +Subproject commit 06f31df855f764978a35ad64c318ea57e09f384f -- cgit v1.2.3 From 6550ddbc1c47f0c982e0a13d80adb9b43ba7cceb Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 18:37:41 -0800 Subject: Fix regression in some UI pages that format time using sumtime twig filter. --- core/Twig.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/Twig.php b/core/Twig.php index 806c7f433f..948185876b 100755 --- a/core/Twig.php +++ b/core/Twig.php @@ -293,7 +293,7 @@ class Twig { $formatter = $this->formatter; $sumtimeFilter = new Twig_SimpleFilter('sumtime', function ($numberOfSeconds) use ($formatter) { - return $formatter->getPrettyTimeFromSeconds($numberOfSeconds); + return $formatter->getPrettyTimeFromSeconds($numberOfSeconds, true); }); $this->twig->addFilter($sumtimeFilter); } -- cgit v1.2.3 From fd47fadf338020265ad9aa2387d4189cb276ec1d Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 19:00:03 -0800 Subject: Revert to old CalculateEvolutionFilter for backwards compatibility w/ at least Insights. --- core/DataTable/Filter/CalculateEvolutionFilter.php | 97 +++++++++++++++++++--- plugins/Insights/DataTable/Filter/Insight.php | 4 +- 2 files changed, 88 insertions(+), 13 deletions(-) diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index 719d4fa777..a8bd04d08d 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -8,9 +8,10 @@ */ namespace Piwik\DataTable\Filter; +use Piwik\Common; use Piwik\DataTable; use Piwik\DataTable\Row; -use Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric; +use Piwik\Site; /** * A {@link DataTable} filter that calculates the evolution of a metric and adds @@ -26,13 +27,21 @@ use Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric; * ((currentValue - pastValue) / pastValue) * 100 * * @api + * @deprecated since v2.10.0 */ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage { /** - * @var \Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric + * The the DataTable that contains past data. + * + * @var DataTable */ - protected $evolutionMetric; + protected $pastDataTable; + + /** + * Tells if column being added is the revenue evolution column. + */ + protected $isRevenueEvolution = null; /** * Constructor. @@ -48,19 +57,87 @@ class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage parent::__construct( $table, $columnToAdd, $columnToRead, $columnToRead, $quotientPrecision, $shouldSkipRows = true); - $this->evolutionMetric = new EvolutionMetric($columnToRead, $pastDataTable, $columnToAdd, $quotientPrecision); + $this->pastDataTable = $pastDataTable; + + $this->isRevenueEvolution = $columnToAdd == 'revenue_evolution'; } /** - * @param DataTable $table + * Returns the difference between the column in the specific row and its + * sister column in the past DataTable. + * + * @param Row $row + * @return int|float */ - public function filter($table) + protected function getDividend($row) { - $evolutionName = $this->evolutionMetric->getName(); - foreach ($table->getRows() as $row) { - $value = $this->evolutionMetric->compute($row); - $row->addColumn($evolutionName, $value); + $currentValue = $row->getColumn($this->columnValueToRead); + + // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, + // we don't add the new column + if ($currentValue === false + && $this->isRevenueEvolution + && !Site::isEcommerceEnabledFor($row->getColumn('label')) + ) { + return false; } + + $pastRow = $this->getPastRowFromCurrent($row); + if ($pastRow) { + $pastValue = $pastRow->getColumn($this->columnValueToRead); + } else { + $pastValue = 0; + } + + return $currentValue - $pastValue; + } + + /** + * Returns the value of the column in $row's sister row in the past + * DataTable. + * + * @param Row $row + * @return int|float + */ + protected function getDivisor($row) + { + $pastRow = $this->getPastRowFromCurrent($row); + if (!$pastRow) return 0; + + return $pastRow->getColumn($this->columnNameUsedAsDivisor); + } + + /** + * Calculates and formats a quotient based on a divisor and dividend. + * + * Unlike ColumnCallbackAddColumnPercentage's, + * version of this method, this method will return 100% if the past + * value of a metric is 0, and the current value is not 0. For a + * value representative of an evolution, this makes sense. + * + * @param int|float $value The dividend. + * @param int|float $divisor + * @return string + */ + protected function formatValue($value, $divisor) + { + $value = self::getPercentageValue($value, $divisor, $this->quotientPrecision); + $value = self::appendPercentSign($value); + + $value = Common::forceDotAsSeparatorForDecimalPoint($value); + + return $value; + } + + /** + * Utility function. Returns the current row in the past DataTable. + * + * @param Row $row The row in the 'current' DataTable. + * @return bool|Row + */ + protected function getPastRowFromCurrent($row) + { + return $this->pastDataTable->getRowFromLabel($row->getColumn('label')); } /** diff --git a/plugins/Insights/DataTable/Filter/Insight.php b/plugins/Insights/DataTable/Filter/Insight.php index 6959509a7d..3c4677a5ee 100644 --- a/plugins/Insights/DataTable/Filter/Insight.php +++ b/plugins/Insights/DataTable/Filter/Insight.php @@ -16,7 +16,6 @@ class Insight extends DataTable\Filter\CalculateEvolutionFilter private $considerNew; private $considerDisappeared; private $currentDataTable; - private $pastDataTable; public function __construct($table, $currentDataTable, $pastDataTable, $columnToRead, $considerMovers, $considerNew, $considerDisappeared) @@ -27,7 +26,6 @@ class Insight extends DataTable\Filter\CalculateEvolutionFilter $this->considerMovers = $considerMovers; $this->considerNew = $considerNew; $this->considerDisappeared = $considerDisappeared; - $this->pastDataTable = $pastDataTable; } public function filter($table) @@ -64,7 +62,7 @@ class Insight extends DataTable\Filter\CalculateEvolutionFilter private function addRowIfNewOrMover(DataTable $table, DataTable\Row $row) { - $pastRow = $this->evolutionMetric->getPastRowFromCurrent($row); + $pastRow = $this->getPastRowFromCurrent($row); if (!$pastRow && !$this->considerNew) { return; -- cgit v1.2.3 From b26039b52b509d04c5beded2f3ad59a6213c2cbe Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 20:53:17 -0800 Subject: Fixing remaining tests. --- .../Contents/tests/System/expected/test_Contents__Actions.get_day.xml | 2 ++ .../tests/System/expected/test_Contents__Actions.get_month.xml | 2 ++ .../System/expected/test_Contents__Live.getLastVisitsDetails_day.xml | 4 ++-- .../expected/test_Contents__Live.getLastVisitsDetails_month.xml | 4 ++-- ...ontents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml | 4 ++-- ...est_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml | 4 ++-- ...ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml | 4 ++-- plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml | 1 + plugins/Insights/tests/Integration/ApiTest.php | 3 +-- 9 files changed, 16 insertions(+), 12 deletions(-) diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml index f51cfaf913..6fcd987c1a 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <sum_time_generation>0.67</sum_time_generation> + <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <avg_time_generation>0.335</avg_time_generation> </result> \ No newline at end of file diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml index f51cfaf913..6fcd987c1a 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml @@ -8,5 +8,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <sum_time_generation>0.67</sum_time_generation> + <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <avg_time_generation>0.335</avg_time_generation> </result> \ No newline at end of file diff --git a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml index 857c554b17..bafb226af0 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml @@ -40,7 +40,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> @@ -140,7 +140,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> diff --git a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml index 857c554b17..bafb226af0 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml @@ -40,7 +40,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> @@ -140,7 +140,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml index 857c554b17..bafb226af0 100644 --- a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml @@ -40,7 +40,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> @@ -140,7 +140,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml index 857c554b17..bafb226af0 100644 --- a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml @@ -40,7 +40,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> @@ -140,7 +140,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> diff --git a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml index 857c554b17..bafb226af0 100644 --- a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml @@ -40,7 +40,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> @@ -140,7 +140,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>271</visitDuration> - <visitDurationPretty>4 min 31s</visitDurationPretty> + <visitDurationPretty>4 min 31s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Desktop</deviceType> diff --git a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml index 79d37b3acd..169fe159ee 100644 --- a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml +++ b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml @@ -14,6 +14,7 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_converted_returning>0</nb_visits_converted_returning> <max_actions_returning>0</max_actions_returning> + <bounce_count_returning>0</bounce_count_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> <avg_time_on_site_returning>0</avg_time_on_site_returning> diff --git a/plugins/Insights/tests/Integration/ApiTest.php b/plugins/Insights/tests/Integration/ApiTest.php index 81ce0b34cf..dfa76dcde1 100644 --- a/plugins/Insights/tests/Integration/ApiTest.php +++ b/plugins/Insights/tests/Integration/ApiTest.php @@ -80,8 +80,7 @@ class ApiTest extends SystemTestCase 'minDisappearedPercent' => 2, 'lastTotalValue' => 59, 'evolutionTotal' => -15.3, - 'evolutionDifference' => -9, - 'processed_metrics_computed' => true + 'evolutionDifference' => -9 ); $this->assertInternalType('array', $metadata['report']); -- cgit v1.2.3 From cf0ba4d06c6c8d643fbbcd7cca7bbc7d0419cd9f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 22:57:58 -0800 Subject: Fix cron archiving if no visits on some days. --- core/CronArchive.php | 4 +++- plugins/API/API.php | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/CronArchive.php b/core/CronArchive.php index 89848e4c3c..eff5e0277d 100644 --- a/core/CronArchive.php +++ b/core/CronArchive.php @@ -857,6 +857,8 @@ class CronArchive $config->log = $log; + Log::unsetInstance(); + // Make sure we log at least INFO (if logger is set to DEBUG then keep it) $logLevel = Log::getInstance()->getLogLevel(); if ($logLevel < Log::INFO) { @@ -1211,7 +1213,7 @@ class CronArchive $today = end($stats); - if (empty($today)) { + if (empty($today['nb_visits'])) { return 0; } diff --git a/plugins/API/API.php b/plugins/API/API.php index e40aaec20e..e7470b2ab0 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -441,6 +441,10 @@ class API extends \Piwik\Plugin\API } $firstRow1 = $table1->getFirstRow(); + if (empty($firstRow1)) { + $firstRow1 = $table1->addRow(new Row()); + } + $firstRow2 = $table2->getFirstRow(); if ($firstRow2 instanceof Row) { foreach ($firstRow2->getColumns() as $metric => $value) { -- cgit v1.2.3 From 02507cedee3a9fd9dd4b22175cfdc1867e9de816 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 23:16:49 -0800 Subject: Optimize ReportTotalsCalculator (use Report class metadata instead of API.getReportMetadata result). --- .../ReportTotalsCalculator.php | 39 +++++----------------- 1 file changed, 8 insertions(+), 31 deletions(-) diff --git a/core/API/DataTableManipulator/ReportTotalsCalculator.php b/core/API/DataTableManipulator/ReportTotalsCalculator.php index 5dc468a2ff..360157df62 100644 --- a/core/API/DataTableManipulator/ReportTotalsCalculator.php +++ b/core/API/DataTableManipulator/ReportTotalsCalculator.php @@ -13,7 +13,7 @@ use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Period; -use Piwik\Plugins\API\API; +use Piwik\Plugin\Report; /** * This class is responsible for setting the metadata property 'totals' on each dataTable if the report @@ -22,12 +22,6 @@ use Piwik\Plugins\API\API; */ class ReportTotalsCalculator extends DataTableManipulator { - /** - * Cached report metadata array. - * @var array - */ - private static $reportMetadata = array(); - /** * @param DataTable $table * @return \Piwik\DataTable|\Piwik\DataTable\Map @@ -61,7 +55,7 @@ class ReportTotalsCalculator extends DataTableManipulator { $report = $this->findCurrentReport(); - if (!empty($report) && empty($report['dimension'])) { + if (!empty($report) && $report->getDimension()) { // we currently do not calculate the total value for reports having no dimension return $dataTable; } @@ -204,38 +198,21 @@ class ReportTotalsCalculator extends DataTableManipulator return $request; } - private function getReportMetadata() - { - if (!empty(static::$reportMetadata)) { - return static::$reportMetadata; - } - - static::$reportMetadata = API::getInstance()->getReportMetadata(); - - return static::$reportMetadata; - } - private function findCurrentReport() { - foreach ($this->getReportMetadata() as $report) { - if ($this->apiMethod == $report['action'] - && $this->apiModule == $report['module']) { - - return $report; - } - } + return Report::factory($this->apiModule, $this->apiMethod); } private function findFirstLevelReport() { - foreach ($this->getReportMetadata() as $report) { - if (!empty($report['actionToLoadSubTables']) - && $this->apiMethod == $report['actionToLoadSubTables'] - && $this->apiModule == $report['module'] + foreach (Report::getAllReports() as $report) { + $actionToLoadSubtables = $report->getActionToLoadSubTables(); + if ($actionToLoadSubtables == $this->apiMethod + && $this->apiModule == $report->getModule() ) { - return $report; } } + return null; } } -- cgit v1.2.3 From 1de00964f12823ad9123b691d708e4077ac44eb8 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 17 Nov 2014 23:17:18 -0800 Subject: Fix last system test failure. --- ...est_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml index dd2dfa26fa..b536206779 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml @@ -144,7 +144,7 @@ <daysSinceFirstVisit>0</daysSinceFirstVisit> <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder> <visitDuration>1084</visitDuration> - <visitDurationPretty>18 min 4s</visitDurationPretty> + <visitDurationPretty>18 min 4s</visitDurationPretty> <customVariables> </customVariables> <deviceType>Inconnu</deviceType> -- cgit v1.2.3 From de78ec35d433af4f6da990d5a48322feb8f97646 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 00:04:53 -0800 Subject: Remove TODO about benchmarking. --- core/Plugin/Metric.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/Plugin/Metric.php b/core/Plugin/Metric.php index 9542d18933..e475eb837f 100644 --- a/core/Plugin/Metric.php +++ b/core/Plugin/Metric.php @@ -112,7 +112,7 @@ abstract class Metric $mappingNameToId = Metrics::getMappingFromNameToId(); } - if ($row instanceof Row) { // TODO: benchmark w/ array-access (so we don't need this if statement). + if ($row instanceof Row) { $value = $row->getColumn($columnName); if ($value === false && isset($mappingNameToId[$columnName]) -- cgit v1.2.3 From cbd88d5a617045b59a5a5b5d2f8761a172dabf54 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 00:21:32 -0800 Subject: Fix ReportTotalsCalculator optimization. --- core/API/DataTableManipulator/ReportTotalsCalculator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/API/DataTableManipulator/ReportTotalsCalculator.php b/core/API/DataTableManipulator/ReportTotalsCalculator.php index 360157df62..d2ed38db7d 100644 --- a/core/API/DataTableManipulator/ReportTotalsCalculator.php +++ b/core/API/DataTableManipulator/ReportTotalsCalculator.php @@ -55,7 +55,7 @@ class ReportTotalsCalculator extends DataTableManipulator { $report = $this->findCurrentReport(); - if (!empty($report) && $report->getDimension()) { + if (!empty($report) && !$report->getDimension()) { // we currently do not calculate the total value for reports having no dimension return $dataTable; } -- cgit v1.2.3 From 3570e5d6d465d0138384c737ba6a11043fbe09d0 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 00:30:41 -0800 Subject: Really fix ReportTotalsCalculator optimization. --- core/API/DataTableManipulator/ReportTotalsCalculator.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/API/DataTableManipulator/ReportTotalsCalculator.php b/core/API/DataTableManipulator/ReportTotalsCalculator.php index d2ed38db7d..17db1bdee7 100644 --- a/core/API/DataTableManipulator/ReportTotalsCalculator.php +++ b/core/API/DataTableManipulator/ReportTotalsCalculator.php @@ -122,8 +122,8 @@ class ReportTotalsCalculator extends DataTableManipulator $module = $this->apiModule; $action = $this->apiMethod; } else { - $module = $firstLevelReport['module']; - $action = $firstLevelReport['action']; + $module = $firstLevelReport->getModule(); + $action = $firstLevelReport->getAction(); } $request = $this->request; -- cgit v1.2.3 From d3aebdcd836223aab44516fcd83c444932e987e2 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 01:24:38 -0800 Subject: Fixing more tests and moving API.get metadata away from top for API.getReportMetadata list so MultiSites reports are first displayed. --- .../ReportTotalsCalculator.php | 7 +- core/Plugin/Report.php | 1 + plugins/API/API.php | 12 +- plugins/API/Reports/Get.php | 3 + ...etReportMetadata__API.getReportMetadata_day.xml | 126 ++++++++++----------- 5 files changed, 80 insertions(+), 69 deletions(-) diff --git a/core/API/DataTableManipulator/ReportTotalsCalculator.php b/core/API/DataTableManipulator/ReportTotalsCalculator.php index 17db1bdee7..b6b82effad 100644 --- a/core/API/DataTableManipulator/ReportTotalsCalculator.php +++ b/core/API/DataTableManipulator/ReportTotalsCalculator.php @@ -55,7 +55,7 @@ class ReportTotalsCalculator extends DataTableManipulator { $report = $this->findCurrentReport(); - if (!empty($report) && !$report->getDimension()) { + if (!empty($report) && !$report->getDimension() && !$this->isReportAllMetricsReport($report)) { // we currently do not calculate the total value for reports having no dimension return $dataTable; } @@ -215,4 +215,9 @@ class ReportTotalsCalculator extends DataTableManipulator } return null; } + + private function isReportAllMetricsReport(Report $report) + { + return $report->getModule() == 'API' && $report->getAction() == 'get'; + } } diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 7cb42e35d4..f9604c2040 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -196,6 +196,7 @@ class Report 'General_Visitors', 'DevicesDetection_DevicesDetection', 'UserSettings_VisitorSettings', + 'API' ); /** diff --git a/plugins/API/API.php b/plugins/API/API.php index e7470b2ab0..85f7c1f9d2 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -440,16 +440,18 @@ class API extends \Piwik\Plugin\API return; } + $firstRow2 = $table2->getFirstRow(); + if (!($firstRow2 instanceof Row)) { + return; + } + $firstRow1 = $table1->getFirstRow(); if (empty($firstRow1)) { $firstRow1 = $table1->addRow(new Row()); } - $firstRow2 = $table2->getFirstRow(); - if ($firstRow2 instanceof Row) { - foreach ($firstRow2->getColumns() as $metric => $value) { - $firstRow1->setColumn($metric, $value); - } + foreach ($firstRow2->getColumns() as $metric => $value) { + $firstRow1->setColumn($metric, $value); } } diff --git a/plugins/API/Reports/Get.php b/plugins/API/Reports/Get.php index d8e7dbbba8..11a4df5d6a 100644 --- a/plugins/API/Reports/Get.php +++ b/plugins/API/Reports/Get.php @@ -26,6 +26,9 @@ class Get extends Report $this->reportsToMerge = $this->getReportsToMerge(); + $this->module = 'API'; + $this->action = 'get'; + $this->category = 'API'; $this->name = Piwik::translate('General_MainMetrics'); $this->documentation = ''; diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index af5e6a1ade..2956645547 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -1,68 +1,5 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <row> - <category>API</category> - <name>Main metrics</name> - <module>API</module> - <action>get</action> - <metrics> - <nb_pageviews>Pageviews</nb_pageviews> - <nb_uniq_pageviews>Unique Pageviews</nb_uniq_pageviews> - <nb_downloads>Downloads</nb_downloads> - <nb_uniq_downloads>Unique Downloads</nb_uniq_downloads> - <nb_outlinks>Outlinks</nb_outlinks> - <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> - <nb_searches>Searches</nb_searches> - <nb_keywords>Unique Keywords</nb_keywords> - <nb_conversions>Conversions</nb_conversions> - <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> - <revenue>Revenue</revenue> - <nb_visits_returning>Returning Visits</nb_visits_returning> - <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> - <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> - <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> - <nb_users_returning>Returning Users</nb_users_returning> - <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> - <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> - <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> - <nb_visits>Visits</nb_visits> - <nb_users>Users</nb_users> - <nb_actions>Actions</nb_actions> - <max_actions>Maximum actions in one visit</max_actions> - </metrics> - <metricsDocumentation> - <nb_pageviews>The number of times this page was visited.</nb_pageviews> - <nb_uniq_pageviews>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_uniq_pageviews> - <nb_downloads>The number of times this link was clicked.</nb_downloads> - <nb_uniq_downloads>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_downloads> - <nb_outlinks>The number of times this link was clicked.</nb_outlinks> - <nb_uniq_outlinks>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_outlinks> - <nb_searches>The number of visits that searched for this keyword on your website's search engine.</nb_searches> - <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> - <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> - <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> - <nb_users>The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId').</nb_users> - <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> - <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> - <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> - <nb_actions_per_visit>The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> - <avg_time_on_site>The average duration of a visit.</avg_time_on_site> - </metricsDocumentation> - <processedMetrics> - <avg_time_generation>Avg. generation time</avg_time_generation> - <avg_order_revenue>Average Order Value</avg_order_revenue> - <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> - <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> - <bounce_rate_returning>Bounce Rate for Returning Visits</bounce_rate_returning> - <bounce_rate>Bounce Rate</bounce_rate> - <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> - <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> - </processedMetrics> - <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> - <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> - <uniqueId>API_get</uniqueId> - </row> <row> <category>All Websites</category> <name>All Websites dashboard</name> @@ -550,6 +487,69 @@ <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=UserSettings&apiAction=getLanguageCode&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>UserSettings_getLanguageCode</uniqueId> </row> + <row> + <category>API</category> + <name>Main metrics</name> + <module>API</module> + <action>get</action> + <metrics> + <nb_pageviews>Pageviews</nb_pageviews> + <nb_uniq_pageviews>Unique Pageviews</nb_uniq_pageviews> + <nb_downloads>Downloads</nb_downloads> + <nb_uniq_downloads>Unique Downloads</nb_uniq_downloads> + <nb_outlinks>Outlinks</nb_outlinks> + <nb_uniq_outlinks>Unique Outlinks</nb_uniq_outlinks> + <nb_searches>Searches</nb_searches> + <nb_keywords>Unique Keywords</nb_keywords> + <nb_conversions>Conversions</nb_conversions> + <nb_visits_converted>Visits with Conversions</nb_visits_converted> + <conversion_rate>Conversion Rate</conversion_rate> + <revenue>Revenue</revenue> + <nb_visits_returning>Returning Visits</nb_visits_returning> + <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> + <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> + <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> + <nb_users_returning>Returning Users</nb_users_returning> + <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> + <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> + <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> + <nb_visits>Visits</nb_visits> + <nb_users>Users</nb_users> + <nb_actions>Actions</nb_actions> + <max_actions>Maximum actions in one visit</max_actions> + </metrics> + <metricsDocumentation> + <nb_pageviews>The number of times this page was visited.</nb_pageviews> + <nb_uniq_pageviews>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_uniq_pageviews> + <nb_downloads>The number of times this link was clicked.</nb_downloads> + <nb_uniq_downloads>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_downloads> + <nb_outlinks>The number of times this link was clicked.</nb_outlinks> + <nb_uniq_outlinks>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_outlinks> + <nb_searches>The number of visits that searched for this keyword on your website's search engine.</nb_searches> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_users>The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId').</nb_users> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> + <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <nb_actions_per_visit>The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + </metricsDocumentation> + <processedMetrics> + <avg_time_generation>Avg. generation time</avg_time_generation> + <avg_order_revenue>Average Order Value</avg_order_revenue> + <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> + <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> + <bounce_rate_returning>Bounce Rate for Returning Visits</bounce_rate_returning> + <bounce_rate>Bounce Rate</bounce_rate> + <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit> + <avg_time_on_site>Avg. Visit Duration (in seconds)</avg_time_on_site> + </processedMetrics> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=API&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> + <uniqueId>API_get</uniqueId> + </row> <row> <category>Ecommerce</category> <name>Ecommerce Orders</name> -- cgit v1.2.3 From d9c00de03a9786c7902cb1c27d039e60a196106b Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 01:54:01 -0800 Subject: Re-introduce MetricsFormatter for backwards compatibility w/ 3rd party plugins. --- core/Metrics/Formatter.php | 3 -- core/MetricsFormatter.php | 72 +++++++++++++++++++++++++++++++++++++++++ plugins/API/ProcessedReport.php | 4 +-- 3 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 core/MetricsFormatter.php diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php index a2f2d928ae..315e21b8ca 100644 --- a/core/Metrics/Formatter.php +++ b/core/Metrics/Formatter.php @@ -21,9 +21,6 @@ use Piwik\Tracker\GoalManager; * method when formatting Metrics. * * @api - * - * TODO: backwards compatibility, re-introduce MetricsFormatter as deprecated and make it use Formatter internally. - * do after tests passing. */ class Formatter { diff --git a/core/MetricsFormatter.php b/core/MetricsFormatter.php new file mode 100644 index 0000000000..daa8710fc6 --- /dev/null +++ b/core/MetricsFormatter.php @@ -0,0 +1,72 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +namespace Piwik; + +use Piwik\Metrics\Formatter; +use Piwik\Plugins\API\ProcessedReport; + +/** + * Contains helper function that format numerical values in different ways. + * + * @deprecated + */ +class MetricsFormatter +{ + private static $formatter = null; + private static $htmlFormatter = null; + + public static function getFormatter($isHtml = false) + { + if ($isHtml) { + if (self::$formatter === null) { + self::$formatter = new Formatter(); + } + return self::$formatter; + } else { + if (self::$htmlFormatter === null) { + self::$htmlFormatter = new Formatter\Html(); + } + return self::$htmlFormatter; + } + } + + public static function getPrettyNumber($value) + { + return self::getFormatter()->getPrettyNumber($value); + } + + public static function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = true, $isHtml = true, $round = false) + { + return self::getFormatter($isHtml)->getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence, $round); + } + + public static function getPrettySizeFromBytes($size, $unit = null, $precision = 1) + { + return self::getFormatter()->getPrettySizeFromBytes($size, $unit, $precision); + } + + public static function getPrettyMoney($value, $idSite, $isHtml = true) + { + return self::getFormatter($isHtml)->getPrettyMoney($value, $idSite); + } + + public static function getPrettyValue($idSite, $columnName, $value, $isHtml) + { + return ProcessedReport::getPrettyValue(self::getFormatter($isHtml), $idSite, $columnName, $value); + } + + public static function getCurrencySymbol($idSite) + { + return Formatter::getCurrencySymbol($idSite); + } + + public static function getCurrencyList() + { + return Formatter::getCurrencyList(); + } +} diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 50cf8618e5..cd70eff8b9 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -676,7 +676,7 @@ class ProcessedReport } // TODO: should not call this for formatted processed metrics - $prettyValue = $this->getPrettyValue($formatter, $idSiteForRow, $columnName, $columnValue, $htmlAllowed = false); + $prettyValue = self::getPrettyValue($formatter, $idSiteForRow, $columnName, $columnValue, $htmlAllowed = false); $enhancedRow->addColumn($columnName, $prettyValue); } // For example the Maps Widget requires the raw metrics to do advanced datavis elseif ($returnRawMetrics) { @@ -810,7 +810,7 @@ class ProcessedReport * @param bool $isHtml If true, replaces all spaces with `' '`. * @return string */ - private function getPrettyValue(Formatter $formatter, $idSite, $columnName, $value) + public static function getPrettyValue(Formatter $formatter, $idSite, $columnName, $value) { if (!is_numeric($value)) { return $value; -- cgit v1.2.3 From 1549db614355de2e68384302d239a75faf79f3e0 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 03:03:00 -0800 Subject: Removing TODOs and tweaking existing code. --- core/API/DataTablePostProcessor.php | 3 +-- core/DataTable/Filter/ColumnCallbackAddColumn.php | 2 -- core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php | 2 -- core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php | 2 -- core/DataTable/Filter/ColumnCallbackReplace.php | 2 -- plugins/API/ProcessedReport.php | 1 - plugins/Live/API.php | 1 - plugins/VisitFrequency/API.php | 5 ----- 8 files changed, 1 insertion(+), 17 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 815ea3c911..966905f41b 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -23,7 +23,7 @@ use Piwik\Plugin\Report; /** * Processes DataTables that should be served through Piwik's APIs. This processing handles * special query parameters and computes processed metrics. It does not included rendering to - * output formates (eg, 'xml'). + * output formats (eg, 'xml'). */ class DataTablePostProcessor { @@ -90,7 +90,6 @@ class DataTablePostProcessor $dataTable = $this->applyGenericFilters($dataTable); - // TODO: if dependent metrics for a processed metric are not present in first row of a table, skip computation $this->applyComputeProcessedMetrics($dataTable); // we automatically safe decode all datatable labels (against xss) diff --git a/core/DataTable/Filter/ColumnCallbackAddColumn.php b/core/DataTable/Filter/ColumnCallbackAddColumn.php index 56c291ae3a..27746c4f28 100755 --- a/core/DataTable/Filter/ColumnCallbackAddColumn.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumn.php @@ -12,8 +12,6 @@ use Piwik\DataTable; use Piwik\DataTable\BaseFilter; /** - * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** - * * Adds a new column to every row of a {@link DataTable} based on the result of callback. * * **Basic usage example** diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php index ac9171973e..056c129440 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php @@ -11,8 +11,6 @@ namespace Piwik\DataTable\Filter; use Piwik\Piwik; /** - * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** - * * Calculates a percentage value for each row of a {@link DataTable} and adds the result * to each row. * diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php index 615d126c6a..81d8eadf04 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php @@ -13,8 +13,6 @@ use Piwik\DataTable; use Piwik\DataTable\Row; /** - * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** - * * Calculates the quotient of two columns and adds the result as a new column * for each row of a DataTable. * diff --git a/core/DataTable/Filter/ColumnCallbackReplace.php b/core/DataTable/Filter/ColumnCallbackReplace.php index 56616dfc68..3e167b5593 100644 --- a/core/DataTable/Filter/ColumnCallbackReplace.php +++ b/core/DataTable/Filter/ColumnCallbackReplace.php @@ -13,8 +13,6 @@ use Piwik\DataTable; use Piwik\DataTable\Row; /** - * **This class is deprecated, use {@link Piwik\Plugin\ProcessedMetric}s instead.** - * * Replaces one or more column values in each row of a DataTable with the results * of a callback. * diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index cd70eff8b9..3aa69325e2 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -675,7 +675,6 @@ class ProcessedReport $idSiteForRow = (int) $row->getMetadata('idsite'); } - // TODO: should not call this for formatted processed metrics $prettyValue = self::getPrettyValue($formatter, $idSiteForRow, $columnName, $columnValue, $htmlAllowed = false); $enhancedRow->addColumn($columnName, $prettyValue); } // For example the Maps Widget requires the raw metrics to do advanced datavis diff --git a/plugins/Live/API.php b/plugins/Live/API.php index 12f6b05837..dacee9834f 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -167,7 +167,6 @@ class API extends \Piwik\Plugin\API $dataTable = $this->loadLastVisitorDetailsFromDatabase($idSite, $period, $date, $segment, $countVisitorsToFetch, $visitorId = false, $minTimestamp, $filterSortOrder); $this->addFilterToCleanVisitors($dataTable, $idSite, $flat, $doNotFetchActions); - // TODO: why is this necessary? shouldn't be. uncomment & see if tests pass. $filterSortColumn = Common::getRequestVar('filter_sort_column', false, 'string'); $filterSortOrder = Common::getRequestVar('filter_sort_order', 'desc', 'string'); diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php index 0340ea19e5..97a98f27f8 100644 --- a/plugins/VisitFrequency/API.php +++ b/plugins/VisitFrequency/API.php @@ -51,11 +51,6 @@ class API extends \Piwik\Plugin\API $table = Request::processRequest('VisitsSummary.get', $params); $this->prefixColumns($table, $period); - - $table->filter(function (DataTable $table) { - $table->clearQueuedFilters(); - }); - return $table; } -- cgit v1.2.3 From da1ffe66138c9dd81cb7be29d723462473571cda Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 03:05:19 -0800 Subject: Fix 5.3.3 build by reverting and modifying test response 'normalizing' for quotes. --- tests/PHPUnit/Framework/TestRequest/Response.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/PHPUnit/Framework/TestRequest/Response.php b/tests/PHPUnit/Framework/TestRequest/Response.php index 17b1eedf7f..7266e35f16 100644 --- a/tests/PHPUnit/Framework/TestRequest/Response.php +++ b/tests/PHPUnit/Framework/TestRequest/Response.php @@ -115,11 +115,21 @@ class Response $apiResponse = $this->normalizePdfContent($apiResponse); $apiResponse = $this->removeXmlFields($apiResponse); $apiResponse = $this->normalizeDecimalFields($apiResponse); + $apiResponse = $this->normalizeEncodingPhp533($apiResponse); $apiResponse = $this->normalizeSpaces($apiResponse); return $apiResponse; } + private function normalizeEncodingPhp533($apiResponse) + { + if (!SystemTestCase::isPhpVersion53() + || strpos($apiResponse, '<result') === false) { + return $apiResponse; + } + return str_replace("'", '&#039;', $apiResponse); + } + private function removeIdSubtableParamFromUrlsInResponse($apiResponse) { return preg_replace("/idSubtable=[0-9]+/", 'idSubtable=', $apiResponse); -- cgit v1.2.3 From b29040519ce25dc41f47ed98340832b58cdbac33 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 03:12:29 -0800 Subject: Tweaking docs and removing TODOs. --- core/API/Inconsistencies.php | 5 ++++- core/API/Request.php | 1 - plugins/Goals/API.php | 2 +- plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/API/Inconsistencies.php b/core/API/Inconsistencies.php index 58bd7404ba..5d0c20d418 100644 --- a/core/API/Inconsistencies.php +++ b/core/API/Inconsistencies.php @@ -12,7 +12,10 @@ namespace Piwik\API; * to provide a way to clean up existing Piwik code and behavior without breaking * backwards compatibility immediately. * - * Should be removed before releasing Piwik 3.0. [TODO: note in issue about 3.0.] + * Code that handles the case when the 'format_metrics' query parameter value is + * 'bc' should be removed as well. This code is in API\Request and DataTablePostProcessor. + * + * Should be removed before releasing Piwik 3.0. */ class Inconsistencies { diff --git a/core/API/Request.php b/core/API/Request.php index 610cf80935..979f1299d0 100644 --- a/core/API/Request.php +++ b/core/API/Request.php @@ -93,7 +93,6 @@ class Request $defaultRequest['segment'] = $requestRaw['segment']; } - // TODO: comment on why this code is here, and make sure to mention in Inconsistencies class if (empty($defaultRequest['format_metrics'])) { $defaultRequest['format_metrics'] = 'bc'; } diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 2a0de78756..1e65acf05f 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -232,7 +232,7 @@ class API extends \Piwik\Plugin\API // First rename the avg_price_viewed column $renameColumn = array(self::AVG_PRICE_VIEWED => 'avg_price'); - $dataTable->filter('ReplaceColumnNames', array($renameColumn)); // TODO: benchmark this change + $dataTable->filter('ReplaceColumnNames', array($renameColumn)); $dataTable->queueFilter('ReplaceColumnNames'); $dataTable->queueFilter('ReplaceSummaryRowLabel'); diff --git a/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php b/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php index 353018c234..1ae1c41149 100644 --- a/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php +++ b/plugins/Goals/Columns/Metrics/GoalSpecificProcessedMetric.php @@ -46,7 +46,7 @@ abstract class GoalSpecificProcessedMetric extends ProcessedMetric $this->idGoal = $idGoal; } - protected function getColumnPrefix() // TODO: should cache this information somehow + protected function getColumnPrefix() { return 'goal_' . $this->idGoal; } -- cgit v1.2.3 From 1f5cff9ff9eb0f53b5baca7907217b9fa45dc19d Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 03:15:25 -0800 Subject: Removing more TODOs. --- plugins/Goals/Visualizations/Goals.php | 5 ++--- plugins/MultiSites/API.php | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php index 45b235f761..70d9b56ac8 100644 --- a/plugins/Goals/Visualizations/Goals.php +++ b/plugins/Goals/Visualizations/Goals.php @@ -154,10 +154,9 @@ class Goals extends HtmlTable private $goalsForCurrentSite = null; - private function getGoals($idSite) // TODO: cache the result in private variable + private function getGoals($idSite) { - if ($this->goalsForCurrentSite === null) - { + if ($this->goalsForCurrentSite === null) { // get all goals to display info for $allGoals = array(); diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 7887e8c048..02b0553793 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -377,7 +377,7 @@ class API extends \Piwik\Plugin\API $metrics[self::GOAL_CONVERSION_METRIC] = array( self::METRIC_TRANSLATION_KEY => 'Goals_ColumnConversions', self::METRIC_EVOLUTION_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC . '_evolution', - self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC), // TODO: need to test this... + self::METRIC_RECORD_NAME_KEY => Archiver::getRecordName(self::GOAL_CONVERSION_METRIC), self::METRIC_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC, self::METRIC_IS_ECOMMERCE_KEY => false, ); -- cgit v1.2.3 From 0fb08ead18a326610ac48bfdda0693f6f26603da Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 18 Nov 2014 03:31:34 -0800 Subject: Fix failed revert of php 5.3.3 test hack. --- tests/PHPUnit/Framework/TestRequest/Response.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/PHPUnit/Framework/TestRequest/Response.php b/tests/PHPUnit/Framework/TestRequest/Response.php index 7266e35f16..3d0b1622d4 100644 --- a/tests/PHPUnit/Framework/TestRequest/Response.php +++ b/tests/PHPUnit/Framework/TestRequest/Response.php @@ -127,7 +127,7 @@ class Response || strpos($apiResponse, '<result') === false) { return $apiResponse; } - return str_replace("'", '&#039;', $apiResponse); + return str_replace('&#039;', "'", $apiResponse); } private function removeIdSubtableParamFromUrlsInResponse($apiResponse) -- cgit v1.2.3 From 77c961ca304deff05de7587d0b6d9297a21eae44 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 23 Nov 2014 20:24:56 -0800 Subject: Fix component namespace after move to Columns/ subfolder. --- core/Plugin/ProcessedMetric.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index 1c74320a47..2280ea531e 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -21,7 +21,7 @@ abstract class ProcessedMetric extends Metric /** * The sub-namespace name in a plugin where ProcessedMetrics are stored. */ - const COMPONENT_SUBNAMESPACE = 'Metrics'; + const COMPONENT_SUBNAMESPACE = 'Columns\\Metrics'; /** * Computes the metric using the values in a {@link Piwik\DataTable\Row}. -- cgit v1.2.3 From 09212d501398efd110a40eb18cd815b745297320 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Sun, 23 Nov 2014 20:29:36 -0800 Subject: Remove nb_visits_percentage from metrics array in Report. --- plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php index 01ab2ac26d..0cebfe2e2a 100644 --- a/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php +++ b/plugins/VisitorInterest/Reports/GetNumberOfVisitsByVisitCount.php @@ -23,7 +23,7 @@ class GetNumberOfVisitsByVisitCount extends Base $this->name = Piwik::translate('VisitorInterest_visitsByVisitCount'); $this->documentation = Piwik::translate('VisitorInterest_WidgetVisitsByNumDocumentation') . '<br />' . Piwik::translate('General_ChangeTagCloudView'); - $this->metrics = array('nb_visits', 'nb_visits_percentage'); + $this->metrics = array('nb_visits'); $this->processedMetrics = array( new VisitsPercent() ); -- cgit v1.2.3 From 88a7fa1f9c3b1749488967ae944c20e0d1972f26 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 24 Nov 2014 00:53:23 -0800 Subject: Fix bug in core/Archive.php class where if VisitsSummary metrics are requested with another plugins' metrics while using a segment, the VisitsSummary metrics would not be selected. Piwik\Archive assumed VisitsSummary would only be in new archive if period = range. --- core/Archive.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/Archive.php b/core/Archive.php index 7101850c1d..b407465a45 100644 --- a/core/Archive.php +++ b/core/Archive.php @@ -744,7 +744,10 @@ class Archive */ private function getArchiveGroupOfPlugin($plugin) { - if ($this->getPeriodLabel() != 'range') { + $periods = $this->params->getPeriods(); + $periodLabel = reset($periods)->getLabel(); + + if (Rules::shouldProcessReportsAllPlugins($this->params->getIdSites(), $this->params->getSegment(), $periodLabel)) { return self::ARCHIVE_ALL_PLUGINS_FLAG; } -- cgit v1.2.3 From c21bd2ddc600f29aecff89c3eb36142f15a84b57 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 24 Nov 2014 00:56:53 -0800 Subject: Do not compute conversion_rate in Goals archiving logic, instead compute as normal ProcessedMetric. --- core/Plugin/Report.php | 28 ++++++---- plugins/Goals/API.php | 25 ++++++--- plugins/Goals/Archiver.php | 20 +------- plugins/Goals/Reports/Get.php | 5 +- plugins/Goals/Reports/GetVisitsUntilConversion.php | 2 +- .../GetVisitsUntilConversionEcommerceOrder.php | 2 +- ...rWithItems_GoalAbandonedCart__Goals.get_day.xml | 2 +- ...WithItems_GoalAbandonedCart__Goals.get_week.xml | 2 +- ...rderWithItems_GoalMatchTitle__Goals.get_day.xml | 2 +- ...derWithItems_GoalMatchTitle__Goals.get_week.xml | 2 +- ...erceOrderWithItems_GoalOrder__Goals.get_day.xml | 2 +- ...rceOrderWithItems_GoalOrder__Goals.get_week.xml | 2 +- ...ceOrderWithItems_GoalOverall__Goals.get_day.xml | 2 +- ...eOrderWithItems_GoalOverall__Goals.get_week.xml | 2 +- ...t_AbandonedCart__API.getProcessedReport_day.xml | 2 +- ....Get_NormalGoal__API.getProcessedReport_day.xml | 6 +-- ...Goals.Get_Order__API.getProcessedReport_day.xml | 2 +- ...aveConvertedNonExistingGoal__Goals.get_week.xml | 2 +- ...egmentVisitHasConvertedGoal__Goals.get_week.xml | 2 +- ...sNotOrderedAndConvertedGoal__Goals.get_week.xml | 2 +- ...erceOrderWithItems_Website2__Goals.get_week.xml | 2 +- ...test_ecommerceOrderWithItems__Goals.get_day.xml | 2 +- ...est_ecommerceOrderWithItems__Goals.get_week.xml | 2 +- ...heduledReports.generateReport_week.original.csv | 16 +++--- ...eduledReports.generateReport_week.original.html | 60 +++++++++++----------- 25 files changed, 98 insertions(+), 98 deletions(-) diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index f9604c2040..265ce37bb1 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -368,27 +368,22 @@ class Report * * This method should be used in **Plugin.get** API methods. * - * @param string[]|null $allColumns The list of all available columns. Defaults to this report's metrics - * and processed metrics. + * @param string[]|null $allMetrics The list of all available metrics. Defaults to this report's metrics. * @param string[]|null $restrictToColumns The requested columns. * @return string[] */ - public function getMetricsRequiredForReport($allColumns = null, $restrictToColumns = null) + public function getMetricsRequiredForReport($allMetrics = null, $restrictToColumns = null) { - if (empty($allColumns)) { - $allColumns = $this->metrics; - - foreach ($this->processedMetrics as $processedMetric) { - $allColumns[] = $processedMetric instanceof ProcessedMetric ? $processedMetric->getName() : $processedMetric; - } + if (empty($allMetrics)) { + $allMetrics = $this->metrics; } if (empty($restrictToColumns)) { - $restrictToColumns = $allColumns; + $restrictToColumns = $allMetrics; } $processedMetricsById = $this->getProcessedMetricsById(); - $metricsSet = array_flip($allColumns); + $metricsSet = array_flip($allMetrics); $metrics = array(); foreach ($restrictToColumns as $column) { @@ -420,6 +415,17 @@ class Report return $this->getMetricTranslations($this->processedMetrics); } + /** + * Returns the array of all metrics displayed by this report. + * + * @return array + * @api + */ + public function getAllMetrics() + { + return array_keys(array_merge($this->getMetrics(), $this->getProcessedMetrics())); + } + /** * Returns an array of metric documentations and their corresponding translations. Eg * `array('nb_visits' => 'If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after...')`. diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 1e65acf05f..955825a092 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -343,27 +343,28 @@ class API extends \Piwik\Plugin\API // Mapping string idGoal to internal ID $idGoal = self::convertSpecialGoalIds($idGoal); + $isEcommerceGoal = $idGoal === GoalManager::IDGOAL_ORDER || $idGoal === GoalManager::IDGOAL_CART; $allMetrics = Goals::getGoalColumns($idGoal); - $requestedColumns = Piwik::getArrayFromApiParameter($columns); - $columnsToGet = Report::factory("Goals", "get")->getMetricsRequiredForReport($allMetrics, $requestedColumns); - $inDbMetricNames = array_map(function ($value) use ($idGoal) { return Archiver::getRecordName($value, $idGoal); }, $columnsToGet); + $report = Report::factory("Goals", "get"); + $columnsToGet = $report->getMetricsRequiredForReport($allMetrics, $requestedColumns); + + $inDbMetricNames = array_map(function ($name) use ($idGoal) { + return $name == 'nb_visits' ? $name : Archiver::getRecordName($name, $idGoal); + }, $columnsToGet); $dataTable = $archive->getDataTableFromNumeric($inDbMetricNames); $newNameMapping = array_combine($inDbMetricNames, $columnsToGet); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); - $dataTable->deleteColumns(array_diff($requestedColumns, $columnsToGet)); - // TODO: this should be in Goals/Get.php but it depends on idGoal parameter which isn't always in _GET (ie, // it's not in ProcessedReport.php). more refactoring must be done to report class before this can be // corrected. if ((in_array('avg_order_revenue', $requestedColumns) || empty($requestedColumns)) - && ($idGoal === GoalManager::IDGOAL_ORDER - || $idGoal === GoalManager::IDGOAL_CART) + && $isEcommerceGoal ) { $dataTable->filter(function (DataTable $table) { $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); @@ -372,6 +373,16 @@ class API extends \Piwik\Plugin\API }); } + // remove temporary metrics that were not explicitly requested + $allColumns = $allMetrics; + $allColumns[] = 'conversion_rate'; + if ($isEcommerceGoal) { + $allColumns[] = 'avg_order_revenue'; + } + + $columnsToShow = $requestedColumns ?: $allColumns; + $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); + return $dataTable; } diff --git a/plugins/Goals/Archiver.php b/plugins/Goals/Archiver.php index 146cdccd6f..379752a6e2 100644 --- a/plugins/Goals/Archiver.php +++ b/plugins/Goals/Archiver.php @@ -154,7 +154,6 @@ class Archiver extends \Piwik\Plugin\Archiver // Stats for all goals $nbConvertedVisits = $this->getProcessor()->getNumberOfVisitsConverted(); $metrics = array( - self::getRecordName('conversion_rate') => $this->getConversionRate($nbConvertedVisits), self::getRecordName('nb_conversions') => $totalConversions, self::getRecordName('nb_visits_converted') => $nbConvertedVisits, self::getRecordName('revenue') => $totalRevenue, @@ -172,11 +171,6 @@ class Archiver extends \Piwik\Plugin\Archiver $recordName = self::getRecordName($metricName, $idGoal); $numericRecords[$recordName] = $value; } - if (!empty($array[Metrics::INDEX_GOAL_NB_VISITS_CONVERTED])) { - $conversion_rate = $this->getConversionRate($array[Metrics::INDEX_GOAL_NB_VISITS_CONVERTED]); - $recordName = self::getRecordName('conversion_rate', $idGoal); - $numericRecords[$recordName] = $conversion_rate; - } } return $numericRecords; } @@ -195,12 +189,6 @@ class Archiver extends \Piwik\Plugin\Archiver return 'Goal_' . $idGoalStr . $recordName; } - protected function getConversionRate($count) - { - $visits = $this->getProcessor()->getNumberOfVisits(); - return round(100 * $count / $visits, GoalManager::REVENUE_PRECISION); - } - protected function insertReports($recordName, $visitsToConversions) { foreach ($visitsToConversions as $idGoal => $table) { @@ -389,19 +377,13 @@ class Archiver extends \Piwik\Plugin\Archiver $fieldsToSum = array(); foreach ($goalIdsToSum as $goalId) { $metricsToSum = Goals::getGoalColumns($goalId); - unset($metricsToSum[array_search('conversion_rate', $metricsToSum)]); foreach ($metricsToSum as $metricName) { $fieldsToSum[] = self::getRecordName($metricName, $goalId); } } - $records = $this->getProcessor()->aggregateNumericMetrics($fieldsToSum); + $this->getProcessor()->aggregateNumericMetrics($fieldsToSum); - // also recording conversion_rate for each goal foreach ($goalIdsToSum as $goalId) { - $nb_conversions = $records[self::getRecordName('nb_visits_converted', $goalId)]; - $conversion_rate = $this->getConversionRate($nb_conversions); - $this->getProcessor()->insertNumericRecord(self::getRecordName('conversion_rate', $goalId), $conversion_rate); - // sum up the visits to conversion data table & the days to conversion data table $this->getProcessor()->aggregateDataTableRecords(array( self::getRecordName(self::VISITS_UNTIL_RECORD_NAME, $goalId), diff --git a/plugins/Goals/Reports/Get.php b/plugins/Goals/Reports/Get.php index 1d16d0c5bc..f9c8dc2355 100644 --- a/plugins/Goals/Reports/Get.php +++ b/plugins/Goals/Reports/Get.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Goals\Reports; use Piwik\Piwik; +use Piwik\Plugins\CoreHome\Columns\Metrics\ConversionRate; class Get extends BaseGoal { @@ -17,11 +18,11 @@ class Get extends BaseGoal parent::init(); $this->name = Piwik::translate('Goals_Goals'); - $this->processedMetrics = array('avg_order_revenue'); + $this->processedMetrics = array(new ConversionRate(), 'avg_order_revenue'); $this->documentation = ''; // TODO $this->order = 1; $this->orderGoal = 50; - $this->metrics = array('nb_conversions', 'nb_visits_converted', 'conversion_rate', 'revenue'); + $this->metrics = array('nb_conversions', 'nb_visits_converted', 'revenue'); $this->parameters = null; } diff --git a/plugins/Goals/Reports/GetVisitsUntilConversion.php b/plugins/Goals/Reports/GetVisitsUntilConversion.php index 6be172a866..8d7c27e027 100644 --- a/plugins/Goals/Reports/GetVisitsUntilConversion.php +++ b/plugins/Goals/Reports/GetVisitsUntilConversion.php @@ -22,7 +22,7 @@ class GetVisitsUntilConversion extends BaseGoal $this->name = Piwik::translate('Goals_VisitsUntilConv'); $this->dimension = new VisitsUntilConversion(); $this->constantRowsCount = true; - $this->processedMetrics = false; + $this->processedMetrics = array(); $this->parameters = array(); $this->metrics = array('nb_conversions'); $this->order = 5; diff --git a/plugins/Goals/Reports/GetVisitsUntilConversionEcommerceOrder.php b/plugins/Goals/Reports/GetVisitsUntilConversionEcommerceOrder.php index ba292c8b71..0e5d227e7e 100644 --- a/plugins/Goals/Reports/GetVisitsUntilConversionEcommerceOrder.php +++ b/plugins/Goals/Reports/GetVisitsUntilConversionEcommerceOrder.php @@ -22,7 +22,7 @@ class GetVisitsUntilConversionEcommerceOrder extends BaseEcommerce $this->name = Piwik::translate('General_EcommerceOrders') . ' - ' . Piwik::translate('Goals_VisitsUntilConv'); $this->dimension = new VisitsUntilConversion(); $this->constantRowsCount = true; - $this->processedMetrics = false; + $this->processedMetrics = array(); $this->metrics = array('nb_conversions'); $this->order = 11; diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml index 6e377c1d41..b82a3a8c27 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_day.xml @@ -2,8 +2,8 @@ <result> <nb_conversions>2</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>66.67</conversion_rate> <revenue>5020.22</revenue> <items>8</items> <avg_order_revenue>2510.11</avg_order_revenue> + <conversion_rate>66.67%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml index f745e2b50a..e69257b0fa 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalAbandonedCart__Goals.get_week.xml @@ -2,8 +2,8 @@ <result> <nb_conversions>3</nb_conversions> <nb_visits_converted>3</nb_visits_converted> - <conversion_rate>60</conversion_rate> <revenue>7530.33</revenue> <items>12</items> <avg_order_revenue>2510.11</avg_order_revenue> + <conversion_rate>60%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_day.xml index 28ecffa619..1245b5cd8f 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>33.33</conversion_rate> <revenue>10</revenue> + <conversion_rate>33.33%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_week.xml index 46934b1c19..b5daa8ba92 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalMatchTitle__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>20</conversion_rate> <revenue>10</revenue> + <conversion_rate>20%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_day.xml index ebcd365223..b1c28a0a8d 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_day.xml @@ -2,7 +2,6 @@ <result> <nb_conversions>2</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>33.33</conversion_rate> <revenue>3111.11</revenue> <revenue_subtotal>2500</revenue_subtotal> <revenue_tax>511</revenue_tax> @@ -10,4 +9,5 @@ <revenue_discount>666</revenue_discount> <items>10</items> <avg_order_revenue>1555.56</avg_order_revenue> + <conversion_rate>33.33%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_week.xml index ea6729364c..92abb4962b 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOrder__Goals.get_week.xml @@ -2,7 +2,6 @@ <result> <nb_conversions>4</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>40</conversion_rate> <revenue>13351.11</revenue> <revenue_subtotal>2700</revenue_subtotal> <revenue_tax>531</revenue_tax> @@ -10,4 +9,5 @@ <revenue_discount>686</revenue_discount> <items>12</items> <avg_order_revenue>3337.78</avg_order_revenue> + <conversion_rate>40%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_day.xml index fc23e7158e..837cc2b4c6 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>3</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>66.67</conversion_rate> <revenue>3121.11</revenue> + <conversion_rate>66.67%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_week.xml index 221f89f826..c9cd54530d 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_GoalOverall__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>5</nb_conversions> <nb_visits_converted>4</nb_visits_converted> - <conversion_rate>80</conversion_rate> <revenue>13361.11</revenue> + <conversion_rate>80%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml index 56e26922bd..3e099b5692 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_AbandonedCart__API.getProcessedReport_day.xml @@ -35,10 +35,10 @@ </columns> <reportData> <nb_conversions>2</nb_conversions> - <conversion_rate>66.67%</conversion_rate> <revenue>$ 5020.22</revenue> <items>8</items> <avg_order_revenue>$ 2510.11</avg_order_revenue> + <conversion_rate>66.67%</conversion_rate> </reportData> <reportMetadata /> <reportTotal> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml index a1494e0f0f..ea5aedc554 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml @@ -13,13 +13,13 @@ <metrics> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> <processedMetrics> + <conversion_rate>Conversion Rate</conversion_rate> <avg_order_revenue>Average Order Value</avg_order_revenue> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2011-03-07,2011-04-05</imageGraphUrl> @@ -29,15 +29,15 @@ <columns> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> + <conversion_rate>Conversion Rate</conversion_rate> <avg_order_revenue>Average Order Value</avg_order_revenue> </columns> <reportData> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>33.33%</conversion_rate> <revenue>$ 10</revenue> + <conversion_rate>33.33%</conversion_rate> <avg_order_revenue>$ 0</avg_order_revenue> </reportData> <reportMetadata /> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml index 2e35bddc65..99d9d6ab69 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_Order__API.getProcessedReport_day.xml @@ -46,7 +46,6 @@ <reportData> <nb_conversions>2</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>33.33%</conversion_rate> <revenue>$ 3111.11</revenue> <revenue_subtotal>$ 2500</revenue_subtotal> <revenue_tax>$ 511</revenue_tax> @@ -54,6 +53,7 @@ <revenue_discount>$ 666</revenue_discount> <items>10</items> <avg_order_revenue>$ 1555.56</avg_order_revenue> + <conversion_rate>33.33%</conversion_rate> </reportData> <reportMetadata /> <reportTotal> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__Goals.get_week.xml index 257dd359a5..2cb7df5a9e 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>0</nb_conversions> <nb_visits_converted>0</nb_visits_converted> - <conversion_rate>0</conversion_rate> <revenue>0</revenue> + <conversion_rate>0%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__Goals.get_week.xml index 78dc5020d7..8405e1d37a 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>10</revenue> + <conversion_rate>100%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__Goals.get_week.xml index 78dc5020d7..8405e1d37a 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>10</revenue> + <conversion_rate>100%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Website2__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Website2__Goals.get_week.xml index d896b423d7..76d1b80343 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Website2__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Website2__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>50</conversion_rate> <revenue>250</revenue> + <conversion_rate>50%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_day.xml index fc23e7158e..837cc2b4c6 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>3</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>66.67</conversion_rate> <revenue>3121.11</revenue> + <conversion_rate>66.67%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_week.xml index 221f89f826..c9cd54530d 100755 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Goals.get_week.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>5</nb_conversions> <nb_visits_converted>4</nb_visits_converted> - <conversion_rate>80</conversion_rate> <revenue>13361.11</revenue> + <conversion_rate>80%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index 1092815ed4..51077efcb5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -128,8 +128,8 @@ Polish (pl),4,12,75%,3,00:25:32,25% French (fr),1,4,100%,4,00:12:01,0% Ecommerce Orders -nb_conversions,nb_visits_converted,conversion_rate,revenue,revenue_subtotal,revenue_tax,revenue_shipping,revenue_discount,items,avg_order_revenue -4,2,40%,$ 13351.11,$ 2700,$ 531,$ 120.11,$ 686,12,$ 3337.78 +nb_conversions,nb_visits_converted,revenue,revenue_subtotal,revenue_tax,revenue_shipping,revenue_discount,items,avg_order_revenue,conversion_rate +4,2,$ 13351.11,$ 2700,$ 531,$ 120.11,$ 686,12,$ 3337.78,40% Ecommerce Orders - Visits to Conversion label,nb_conversions @@ -165,8 +165,8 @@ label,nb_conversions 365+ days,0 Abandoned Carts -nb_conversions,conversion_rate,revenue,items,avg_order_revenue -3,60%,$ 7530.33,12,$ 2510.11 +nb_conversions,revenue,items,avg_order_revenue,conversion_rate +3,$ 7530.33,12,$ 2510.11,60% Abandoned Carts - Visits to Conversion label,nb_conversions @@ -326,8 +326,8 @@ Social Networks No data available Goals -nb_conversions,nb_visits_converted,conversion_rate,revenue,avg_order_revenue -5,4,80%,$ 13361.11,$ 0 +nb_conversions,nb_visits_converted,revenue,conversion_rate,avg_order_revenue +5,4,$ 13361.11,80%,$ 0 Visits to Conversion label,nb_conversions,revenue @@ -363,8 +363,8 @@ label,nb_conversions,revenue 365+ days,0,$ 0 Goal title match triggered ONCE -nb_conversions,nb_visits_converted,conversion_rate,revenue,avg_order_revenue -1,1,20%,$ 10,$ 0 +nb_conversions,nb_visits_converted,revenue,conversion_rate,avg_order_revenue +1,1,$ 10,20%,$ 0 title match triggered ONCE - Visits to Conversion label,nb_conversions diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index e51c812c77..e5eefe4d30 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -2826,14 +2826,6 @@ </tr> <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Conversion Rate </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 40% - </td> - </tr> - - <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Revenue </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -2841,7 +2833,7 @@ </td> </tr> - <tr style=""> + <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Subtotal </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -2849,7 +2841,7 @@ </td> </tr> - <tr style="background-color: rgb(249,250,250)"> + <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Tax </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -2857,7 +2849,7 @@ </td> </tr> - <tr style=""> + <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Shipping </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -2865,7 +2857,7 @@ </td> </tr> - <tr style="background-color: rgb(249,250,250)"> + <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Discount </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -2873,7 +2865,7 @@ </td> </tr> - <tr style=""> + <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Purchased Products </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -2881,12 +2873,20 @@ </td> </tr> - <tr style="background-color: rgb(249,250,250)"> + <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Average Order Value </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> $ 3337.78 </td> + </tr> + + <tr style="background-color: rgb(249,250,250)"> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + Conversion Rate </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 40% + </td> </tr> </tbody> </table> @@ -3181,33 +3181,33 @@ <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Conversion Rate </td> + Revenue left in cart </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 60% + $ 7530.33 </td> </tr> <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Revenue left in cart </td> + Products left in cart </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 7530.33 + 12 </td> </tr> <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Products left in cart </td> + Average Order Value </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 12 + $ 2510.11 </td> </tr> <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Average Order Value </td> + Conversion Rate </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 2510.11 + 60% </td> </tr> </tbody> @@ -4825,17 +4825,17 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Conversion Rate </td> + Revenue </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 80% + $ 13361.11 </td> </tr> <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Revenue </td> + Conversion Rate </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 13361.11 + 80% </td> </tr> @@ -5234,17 +5234,17 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Conversion Rate </td> + Revenue </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 20% + $ 10 </td> </tr> <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Revenue </td> + Conversion Rate </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 10 + 20% </td> </tr> -- cgit v1.2.3 From dcb5ccb1736f6ddfc95f78c9cad8bfa09a32546b Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 24 Nov 2014 01:04:46 -0800 Subject: Set precision to 0 for VisitsPercent processed metric. --- plugins/CoreHome/Columns/Metrics/VisitsPercent.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/CoreHome/Columns/Metrics/VisitsPercent.php b/plugins/CoreHome/Columns/Metrics/VisitsPercent.php index fe7f688508..70fd7d7d51 100644 --- a/plugins/CoreHome/Columns/Metrics/VisitsPercent.php +++ b/plugins/CoreHome/Columns/Metrics/VisitsPercent.php @@ -51,7 +51,7 @@ class VisitsPercent extends ProcessedMetric { $visits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3); + return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); } public function format($value, Formatter $formatter) -- cgit v1.2.3 From c8daaabc8b1dcee3c2db01665ef98dd1883cbf7c Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 24 Nov 2014 01:57:00 -0800 Subject: Do not display avg_order_revenue in processed reports for Goals.get w/ idGoal set to ecommerce goal. --- plugins/Goals/Reports/Get.php | 2 +- ..._Goals.Get_NormalGoal__API.getProcessedReport_day.xml | 3 --- ...sv__ScheduledReports.generateReport_week.original.csv | 8 ++++---- ...y__ScheduledReports.generateReport_week.original.html | 16 ---------------- 4 files changed, 5 insertions(+), 24 deletions(-) diff --git a/plugins/Goals/Reports/Get.php b/plugins/Goals/Reports/Get.php index f9c8dc2355..78cf680b66 100644 --- a/plugins/Goals/Reports/Get.php +++ b/plugins/Goals/Reports/Get.php @@ -18,7 +18,7 @@ class Get extends BaseGoal parent::init(); $this->name = Piwik::translate('Goals_Goals'); - $this->processedMetrics = array(new ConversionRate(), 'avg_order_revenue'); + $this->processedMetrics = array(new ConversionRate()); $this->documentation = ''; // TODO $this->order = 1; $this->orderGoal = 50; diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml index ea5aedc554..d492e19c4b 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_Metadata_Goals.Get_NormalGoal__API.getProcessedReport_day.xml @@ -20,7 +20,6 @@ </metricsDocumentation> <processedMetrics> <conversion_rate>Conversion Rate</conversion_rate> - <avg_order_revenue>Average Order Value</avg_order_revenue> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2011-03-07,2011-04-05</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2011-03-07,2011-04-05</imageGraphEvolutionUrl> @@ -31,14 +30,12 @@ <nb_visits_converted>Visits with Conversions</nb_visits_converted> <revenue>Revenue</revenue> <conversion_rate>Conversion Rate</conversion_rate> - <avg_order_revenue>Average Order Value</avg_order_revenue> </columns> <reportData> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> <revenue>$ 10</revenue> <conversion_rate>33.33%</conversion_rate> - <avg_order_revenue>$ 0</avg_order_revenue> </reportData> <reportMetadata /> <reportTotal> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index 51077efcb5..5fff1f5e2c 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -326,8 +326,8 @@ Social Networks No data available Goals -nb_conversions,nb_visits_converted,revenue,conversion_rate,avg_order_revenue -5,4,$ 13361.11,80%,$ 0 +nb_conversions,nb_visits_converted,revenue,conversion_rate +5,4,$ 13361.11,80% Visits to Conversion label,nb_conversions,revenue @@ -363,8 +363,8 @@ label,nb_conversions,revenue 365+ days,0,$ 0 Goal title match triggered ONCE -nb_conversions,nb_visits_converted,revenue,conversion_rate,avg_order_revenue -1,1,$ 10,20%,$ 0 +nb_conversions,nb_visits_converted,revenue,conversion_rate +1,1,$ 10,20% title match triggered ONCE - Visits to Conversion label,nb_conversions diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index e5eefe4d30..e278b621de 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -4837,14 +4837,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 80% </td> - </tr> - - <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Average Order Value </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 0 - </td> </tr> </tbody> </table> @@ -5246,14 +5238,6 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 20% </td> - </tr> - - <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Average Order Value </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 0 - </td> </tr> </tbody> </table> -- cgit v1.2.3 From 551413f3d3694830aa0822f7f28e6a33372eff67 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Mon, 24 Nov 2014 02:20:25 -0800 Subject: Move MetricsFormatter::getMetricsToFormat logic to Report class. --- core/API/DataTablePostProcessor.php | 7 +++--- core/Metrics/Formatter.php | 21 ++-------------- core/Plugin/Report.php | 48 +++++++++++++++++++++++++++++++++++++ core/Plugin/Visualization.php | 4 ++-- 4 files changed, 55 insertions(+), 25 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 966905f41b..955c51acd7 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -167,9 +167,8 @@ class DataTablePostProcessor $self = $this; $report = $this->report; - $formatter = $this->formatter; - $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self, $formatter) { - $processedMetrics = $formatter->getMetricsToFormat($table, $report, 'Piwik\\Plugin\\ProcessedMetric'); + $dataTable->filter(function (DataTable $table) use ($genericFilter, $report, $self) { + $processedMetrics = Report::getProcessedMetricsForTable($table, $report); if ($genericFilter->areProcessedMetricsNeededFor($processedMetrics)) { $self->computeProcessedMetrics($table); } @@ -333,7 +332,7 @@ class DataTablePostProcessor } /** @var ProcessedMetric[] $processedMetrics */ - $processedMetrics = $this->formatter->getMetricsToFormat($dataTable, $this->report, 'Piwik\\Plugin\\ProcessedMetric'); + $processedMetrics = Report::getProcessedMetricsForTable($dataTable, $this->report); if (empty($processedMetrics)) { return; } diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php index 315e21b8ca..0e5bbe719e 100644 --- a/core/Metrics/Formatter.php +++ b/core/Metrics/Formatter.php @@ -298,25 +298,8 @@ class Formatter * @param Report $report * @return Metric[] */ - public function getMetricsToFormat(DataTable $dataTable, Report $report = null, $baseType = 'Piwik\\Plugin\\Metric') + private function getMetricsToFormat(DataTable $dataTable, Report $report = null) { - $metrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); - - if (!empty($report)) { - $metrics = array_merge($metrics, $report->getProcessedMetricsById()); - } - - $result = array(); - - /** @var Metric $metric */ - foreach ($metrics as $metric) { - if (!($metric instanceof $baseType)) { - continue; - } - - $result[$metric->getName()] = $metric; - } - - return $result; + return Report::getMetricsForTable($dataTable, $report, $baseType = 'Piwik\\Plugin\\Metric'); } } \ No newline at end of file diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 265ce37bb1..41f3cfcf56 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -843,4 +843,52 @@ class Report } return $result; } + + /** + * Returns the Metrics that are displayed by a DataTable of a certain Report type. + * + * Includes ProcessedMetrics and Metrics. + * + * @param DataTable $dataTable + * @param Report|null $report + * @param string $baseType The base type each metric class needs to be of. + * @return Metric[] + * @api + */ + public static function getMetricsForTable(DataTable $dataTable, Report $report = null, $baseType = 'Piwik\\Plugin\\Metric') + { + $metrics = $dataTable->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME) ?: array(); + + if (!empty($report)) { + $metrics = array_merge($metrics, $report->getProcessedMetricsById()); + } + + $result = array(); + + /** @var Metric $metric */ + foreach ($metrics as $metric) { + if (!($metric instanceof $baseType)) { + continue; + } + + $result[$metric->getName()] = $metric; + } + + return $result; + } + + /** + * Returns the ProcessedMetrics that should be computed and formatted for a DataTable of a + * certain report. The ProcessedMetrics returned are those specified by the Report metadata + * as well as the DataTable metadata. + * + * @param DataTable $dataTable + * @param Report|null $report + * @return ProcessedMetric[] + * @api + */ + public static function getProcessedMetricsForTable(DataTable $dataTable, Report $report = null) + { + return self::getMetricsForTable($dataTable, $report, 'Piwik\\Plugin\\ProcessedMetric'); + } } \ No newline at end of file diff --git a/core/Plugin/Visualization.php b/core/Plugin/Visualization.php index 17e8cf5f94..7e6aec2eaa 100644 --- a/core/Plugin/Visualization.php +++ b/core/Plugin/Visualization.php @@ -320,11 +320,11 @@ class Visualization extends ViewDataTable { $dataTable = $this->dataTable instanceof DataTable\Map ? $this->dataTable->getFirstRow() : $this->dataTable; - $processedMetrics = $this->metricsFormatter->getMetricsToFormat($dataTable, $this->report); + $metrics = Report::getMetricsForTable($dataTable, $this->report); // TODO: instead of iterating & calling translate everywhere, maybe we can get all translated names in one place. // may be difficult, though, since translated metrics are specific to the report. - foreach ($processedMetrics as $metric) { + foreach ($metrics as $metric) { $name = $metric->getName(); if (empty($this->config->translations[$name])) { -- cgit v1.2.3 From 1eb47806339a2870b779195b404e7a06044bacf8 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 04:53:44 -0800 Subject: Remove processed metrics from metricsDocumentation element in API.getProcessedReport result. --- plugins/Actions/Reports/GetEntryPageTitles.php | 4 ++++ plugins/Actions/Reports/GetEntryPageUrls.php | 3 +++ plugins/Actions/Reports/GetExitPageTitles.php | 3 +++ plugins/Actions/Reports/GetExitPageUrls.php | 3 +++ 4 files changed, 13 insertions(+) diff --git a/plugins/Actions/Reports/GetEntryPageTitles.php b/plugins/Actions/Reports/GetEntryPageTitles.php index 2dbb887c45..5abb8ca824 100644 --- a/plugins/Actions/Reports/GetEntryPageTitles.php +++ b/plugins/Actions/Reports/GetEntryPageTitles.php @@ -56,6 +56,10 @@ class GetEntryPageTitles extends Base $metrics = parent::getMetricsDocumentation(); $metrics['bounce_rate'] = Piwik::translate('General_ColumnBounceRateForPageDocumentation'); + // remove these metrics from API.getProcessedReport version of this report + unset($metrics['avg_time_on_page']); + unset($metrics['exit_rate']); + return $metrics; } diff --git a/plugins/Actions/Reports/GetEntryPageUrls.php b/plugins/Actions/Reports/GetEntryPageUrls.php index de6f042b20..05b1102299 100644 --- a/plugins/Actions/Reports/GetEntryPageUrls.php +++ b/plugins/Actions/Reports/GetEntryPageUrls.php @@ -61,6 +61,9 @@ class GetEntryPageUrls extends Base $metrics = parent::getMetricsDocumentation(); $metrics['bounce_rate'] = Piwik::translate('General_ColumnBounceRateForPageDocumentation'); + unset($metrics['bounce_rate']); + unset($metrics['exit_rate']); + return $metrics; } diff --git a/plugins/Actions/Reports/GetExitPageTitles.php b/plugins/Actions/Reports/GetExitPageTitles.php index 2d58a2f911..261b364eff 100644 --- a/plugins/Actions/Reports/GetExitPageTitles.php +++ b/plugins/Actions/Reports/GetExitPageTitles.php @@ -66,6 +66,9 @@ class GetExitPageTitles extends Base $metrics = parent::getMetricsDocumentation(); $metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviewsDocumentation'); + unset($metrics['bounce_rate']); + unset($metrics['avg_time_on_page']); + return $metrics; } diff --git a/plugins/Actions/Reports/GetExitPageUrls.php b/plugins/Actions/Reports/GetExitPageUrls.php index 80ebcc8546..e41039c9f1 100644 --- a/plugins/Actions/Reports/GetExitPageUrls.php +++ b/plugins/Actions/Reports/GetExitPageUrls.php @@ -61,6 +61,9 @@ class GetExitPageUrls extends Base $metrics = parent::getMetrics(); $metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviews'); + unset($metrics['bounce_rate']); + unset($metrics['avg_time_on_page']); + return $metrics; } -- cgit v1.2.3 From 44f43bb21cb2e89d537fd80f16a73d498548edf4 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 05:06:41 -0800 Subject: Moving DataTable::getSiteIdFromMetadata to Piwik\Archie\DataTableFactory. --- core/Archive/DataTableFactory.php | 29 +++++++++++++++++----- core/DataTable.php | 17 ------------- .../Filter/AddColumnsProcessedMetricsGoal.php | 3 ++- .../Goals/Columns/Metrics/AverageOrderRevenue.php | 3 ++- plugins/Goals/Columns/Metrics/AveragePrice.php | 3 ++- .../Metrics/GoalSpecific/AverageOrderRevenue.php | 3 ++- .../Goals/Columns/Metrics/GoalSpecific/Revenue.php | 3 ++- .../Metrics/GoalSpecific/RevenuePerVisit.php | 3 ++- plugins/Goals/Columns/Metrics/RevenuePerVisit.php | 3 ++- 9 files changed, 37 insertions(+), 30 deletions(-) diff --git a/core/Archive/DataTableFactory.php b/core/Archive/DataTableFactory.php index 71eaa7a8c1..59af8a4e0b 100644 --- a/core/Archive/DataTableFactory.php +++ b/core/Archive/DataTableFactory.php @@ -10,6 +10,7 @@ namespace Piwik\Archive; use Piwik\DataTable; +use Piwik\DataTable\DataTableInterface; use Piwik\DataTable\Row; use Piwik\Site; @@ -95,6 +96,23 @@ class DataTableFactory $this->defaultRow = $defaultRow; } + /** + * Returns the ID of the site a table is related to based on the 'site' metadata entry, + * or null if there is none. + * + * @param DataTable $table + * @return int|null + */ + public static function getSiteIdFromMetadata(DataTable $table) + { + $site = $table->getMetadata('site'); + if (empty($site)) { + return null; + } else { + return $site->getId(); + } + } + /** * Tells the factory instance to expand the DataTables that are created by * creating subtables and setting the subtable IDs of rows w/ subtables correctly. @@ -345,10 +363,10 @@ class DataTableFactory * Converts site IDs and period string ranges into Site instances and * Period instances in DataTable metadata. */ - private function transformMetadata($table) + private function transformMetadata(DataTableInterface $table) { $periods = $this->periods; - $table->filter(function ($table) use ($periods) { + $table->filter(function (DataTable $table) use ($periods) { $table->setMetadata(DataTableFactory::TABLE_METADATA_SITE_INDEX, new Site($table->getMetadata(DataTableFactory::TABLE_METADATA_SITE_INDEX))); $table->setMetadata(DataTableFactory::TABLE_METADATA_PERIOD_INDEX, $periods[$table->getMetadata(DataTableFactory::TABLE_METADATA_PERIOD_INDEX)]); }); @@ -373,7 +391,7 @@ class DataTableFactory * @param $keyMetadata * @param $result */ - private function setTableMetadata($keyMetadata, $result) + private function setTableMetadata($keyMetadata, DataTableInterface $result) { if (!isset($keyMetadata[DataTableFactory::TABLE_METADATA_SITE_INDEX])) { $keyMetadata[DataTableFactory::TABLE_METADATA_SITE_INDEX] = reset($this->sitesId); @@ -385,7 +403,7 @@ class DataTableFactory } // Note: $result can be a DataTable\Map - $result->filter(function ($table) use ($keyMetadata) { + $result->filter(function (DataTable $table) use ($keyMetadata) { foreach ($keyMetadata as $name => $value) { $table->setMetadata($name, $value); } @@ -423,5 +441,4 @@ class DataTableFactory $result = $table; return $result; } -} - +} \ No newline at end of file diff --git a/core/DataTable.php b/core/DataTable.php index bdb7ef4f99..61e8abb1eb 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -1679,21 +1679,4 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess { $this->deleteRow($offset); } - - /** - * Returns the ID of the site a table is related to based on the 'site' metadata entry, - * or null if there is none. - * - * @param DataTable $table - * @return int|null - */ - public static function getSiteIdFromMetadata(DataTable $table) - { - $site = $table->getMetadata('site'); - if (empty($site)) { - return null; - } else { - return $site->getId(); - } - } } \ No newline at end of file diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index accd8dbf01..100aa134ed 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -8,6 +8,7 @@ */ namespace Piwik\DataTable\Filter; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Piwik; @@ -110,7 +111,7 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics sort($goals); } - $idSite = DataTable::getSiteIdFromMetadata($table); + $idSite = GoalSpecificRevenuePerVisit::getSiteIdFromMetadata($table); $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); diff --git a/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php b/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php index a25d64c7e9..053477bf60 100644 --- a/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php +++ b/plugins/Goals/Columns/Metrics/AverageOrderRevenue.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugins\Goals\Columns\Metrics; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics\Formatter; @@ -54,7 +55,7 @@ class AverageOrderRevenue extends ProcessedMetric public function beforeFormat($report, DataTable $table) { - $this->idSite = DataTable::getSiteIdFromMetadata($table); + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); return !empty($this->idSite); // skip formatting if there is no site to get currency info from } } \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/AveragePrice.php b/plugins/Goals/Columns/Metrics/AveragePrice.php index 0ca06201e9..521ca15d17 100644 --- a/plugins/Goals/Columns/Metrics/AveragePrice.php +++ b/plugins/Goals/Columns/Metrics/AveragePrice.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\Goals\Columns\Metrics; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics\Formatter; @@ -57,7 +58,7 @@ class AveragePrice extends ProcessedMetric public function beforeFormat($report, DataTable $table) { - $this->idSite = DataTable::getSiteIdFromMetadata($table); + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); return !empty($this->idSite); // skip formatting if there is no site to get currency info from } } \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php b/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php index 19c23a5eff..845310e39c 100644 --- a/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/AverageOrderRevenue.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; @@ -61,7 +62,7 @@ class AverageOrderRevenue extends GoalSpecificProcessedMetric public function beforeFormat($report, DataTable $table) { - $this->idSite = DataTable::getSiteIdFromMetadata($table); + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); return !empty($this->idSite); // skip formatting if there is no site to get currency info from } } \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php b/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php index 3d7e419a5d..27b5b9dad5 100644 --- a/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/Revenue.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; @@ -54,7 +55,7 @@ class Revenue extends GoalSpecificProcessedMetric public function beforeFormat($report, DataTable $table) { - $this->idSite = DataTable::getSiteIdFromMetadata($table); + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); return !empty($this->idSite); // skip formatting if there is no site to get currency info from } } \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php b/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php index 5daceeb9c9..a90c1058d6 100644 --- a/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php +++ b/plugins/Goals/Columns/Metrics/GoalSpecific/RevenuePerVisit.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugins\Goals\Columns\Metrics\GoalSpecific; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; @@ -69,7 +70,7 @@ class RevenuePerVisit extends GoalSpecificProcessedMetric public function beforeFormat($report, DataTable $table) { - $this->idSite = DataTable::getSiteIdFromMetadata($table); + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); return !empty($this->idSite); // skip formatting if there is no site to get currency info from } } \ No newline at end of file diff --git a/plugins/Goals/Columns/Metrics/RevenuePerVisit.php b/plugins/Goals/Columns/Metrics/RevenuePerVisit.php index b1912fe4e2..488d65c20a 100644 --- a/plugins/Goals/Columns/Metrics/RevenuePerVisit.php +++ b/plugins/Goals/Columns/Metrics/RevenuePerVisit.php @@ -7,6 +7,7 @@ */ namespace Piwik\Plugins\Goals\Columns\Metrics; +use Piwik\Archive\DataTableFactory; use Piwik\DataTable; use Piwik\DataTable\Row; use Piwik\Metrics; @@ -77,7 +78,7 @@ class RevenuePerVisit extends ProcessedMetric public function beforeFormat($report, DataTable $table) { - $this->idSite = DataTable::getSiteIdFromMetadata($table); + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); return !empty($this->idSite); // skip formatting if there is no site to get currency info from } } \ No newline at end of file -- cgit v1.2.3 From 186e6bfe5c6aaf29ad7ebddf4adec241ac7a7fd6 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 06:22:44 -0800 Subject: Fixing some system tests. --- ...etReportMetadata__API.getReportMetadata_day.xml | 24 ++++++---------------- .../test_apiGetReportMetadata__API.get_day.xml | 2 +- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 2956645547..9bd7d342a9 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -503,7 +503,6 @@ <nb_keywords>Unique Keywords</nb_keywords> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> @@ -526,19 +525,19 @@ <nb_outlinks>The number of times this link was clicked.</nb_outlinks> <nb_uniq_outlinks>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_uniq_outlinks> <nb_searches>The number of visits that searched for this keyword on your website's search engine.</nb_searches> - <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> <nb_users>The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId').</nb_users> <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> <nb_actions_per_visit>The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> <avg_time_on_site>The average duration of a visit.</avg_time_on_site> </metricsDocumentation> <processedMetrics> <avg_time_generation>Avg. generation time</avg_time_generation> - <avg_order_revenue>Average Order Value</avg_order_revenue> + <conversion_rate>Conversion Rate</conversion_rate> <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> <bounce_rate_returning>Bounce Rate for Returning Visits</bounce_rate_returning> @@ -807,8 +806,6 @@ <entry_nb_visits>Number of visits that started on this page.</entry_nb_visits> <entry_bounce_count>Number of visits that started and ended on this page. This means that the visitor left the website after viewing only this page.</entry_bounce_count> <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> - <bounce_rate>Percentage of visits that started and ended on this page.</bounce_rate> - <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> <processedMetrics> @@ -892,9 +889,7 @@ <metricsDocumentation> <entry_nb_visits>Number of visits that started on this page.</entry_nb_visits> <entry_bounce_count>Number of visits that started and ended on this page. This means that the visitor left the website after viewing only this page.</entry_bounce_count> - <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> <bounce_rate>Percentage of visits that started and ended on this page.</bounce_rate> - <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> <processedMetrics> @@ -920,8 +915,6 @@ <metricsDocumentation> <exit_nb_visits>Number of visits that ended on this page.</exit_nb_visits> <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> - <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> - <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> <exit_rate>The percentage of visits that left the website after viewing this page.</exit_rate> <avg_time_generation>The average time it took to generate the page. This metric includes the time it took the server to generate the web page, plus the time it took for the visitor to download the response from the server. A lower 'Avg. generation time' means a faster website for your visitors!</avg_time_generation> </metricsDocumentation> @@ -1466,14 +1459,13 @@ <metrics> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> <processedMetrics> - <avg_order_revenue>Average Order Value</avg_order_revenue> + <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1530,14 +1522,13 @@ <metrics> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> <processedMetrics> - <avg_order_revenue>Average Order Value</avg_order_revenue> + <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=1&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1586,14 +1577,13 @@ <metrics> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> <processedMetrics> - <avg_order_revenue>Average Order Value</avg_order_revenue> + <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=2&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=2&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1642,14 +1632,13 @@ <metrics> <nb_conversions>Conversions</nb_conversions> <nb_visits_converted>Visits with Conversions</nb_visits_converted> - <conversion_rate>Conversion Rate</conversion_rate> <revenue>Revenue</revenue> </metrics> <metricsDocumentation> <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> </metricsDocumentation> <processedMetrics> - <avg_order_revenue>Average Order Value</avg_order_revenue> + <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=3&period=day&date=2008-12-06,2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Goals&apiAction=get&idGoal=3&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1898,7 +1887,6 @@ <documentation>In this report, you can see the number of visits who were the Nth visit, ie. visitors who visited your website at least N times.<br />Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation> <metrics> <nb_visits>Visits</nb_visits> - <nb_visits_percentage>% Visits</nb_visits_percentage> </metrics> <metricsDocumentation> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml index 06d17abbd9..a76fff247d 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml @@ -20,7 +20,6 @@ <avg_time_on_site_returning>0</avg_time_on_site_returning> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>42.26</revenue> <nb_pageviews>1</nb_pageviews> <nb_uniq_pageviews>1</nb_uniq_pageviews> @@ -30,6 +29,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> + <conversion_rate>100%</conversion_rate> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> <avg_time_on_site>1086</avg_time_on_site> -- cgit v1.2.3 From 5fa73701a629b3ecd02cc50c9de3ff30e41cfb79 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 06:39:24 -0800 Subject: Fix remaining Plugin.get API methods; delete temporary columns in queued filter. --- core/Plugin/Report.php | 2 +- plugins/Actions/API.php | 9 ++++++++- plugins/VisitsSummary/API.php | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index 41f3cfcf56..d2b4aed8df 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -379,7 +379,7 @@ class Report } if (empty($restrictToColumns)) { - $restrictToColumns = $allMetrics; + $restrictToColumns = $this->getAllMetrics(); } $processedMetricsById = $this->getProcessedMetricsById(); diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index 0cf5bd63a8..2dd7d9a4df 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -55,17 +55,24 @@ class API extends \Piwik\Plugin\API public function get($idSite, $period, $date, $segment = false, $columns = false) { Piwik::checkUserHasViewAccess($idSite); + + $report = Report::factory("Actions", "get"); $archive = Archive::build($idSite, $period, $date, $segment); $requestedColumns = Piwik::getArrayFromApiParameter($columns); - $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $requestedColumns); + $columns = $report->getMetricsRequiredForReport($allColumns = null, $requestedColumns); $inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns); $dataTable = $archive->getDataTableFromNumeric($inDbColumnNames); + $dataTable->deleteColumns(array_diff($requestedColumns, $columns)); $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); + + $columnsToShow = $requestedColumns ?: $report->getAllMetrics(); + $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); + return $dataTable; } diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index d6453075a7..283de2c7ee 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -33,7 +33,10 @@ class API extends \Piwik\Plugin\API $columns = $report->getMetricsRequiredForReport($this->getCoreColumns($period), $requestedColumns); $dataTable = $archive->getDataTableFromNumeric($columns); - $dataTable->deleteColumns(array_diff($requestedColumns, $columns)); + + $columnsToShow = $requestedColumns ?: $report->getAllMetrics(); + $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); + return $dataTable; } -- cgit v1.2.3 From f8f9562cb0982ca73cce1976f88621529b4326bd Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 13:16:38 -0800 Subject: Fixing most system tests. --- core/Plugin/Report.php | 5 ++-- plugins/API/API.php | 4 +++ plugins/VisitFrequency/Reports/Get.php | 3 --- .../TwoVisitorsTwoWebsitesDifferentDaysTest.php | 8 +++++- ...est_ArchiveCronTest_archive_php_cron_output.txt | 11 -------- ...veCronTest_noOptions__VisitsSummary.get_day.xml | 3 --- ...CronTest_noOptions__VisitsSummary.get_month.xml | 6 ----- ...ewDataShouldAppear__VisitsSummary.get_month.xml | 5 +--- ...ataShouldNotAppear__VisitsSummary.get_month.xml | 3 --- ...ewDataShouldAppear__VisitsSummary.get_month.xml | 5 +--- ...ekWasNotInvalidated__VisitsSummary.get_week.xml | 3 --- ...ataShouldNotAppear__VisitsSummary.get_month.xml | 3 --- ...estAPITest_actions__VisitsSummary.get_range.xml | 3 --- ...PITest_browserCode__VisitsSummary.get_range.xml | 3 --- ...Test_browserEngine__VisitsSummary.get_range.xml | 3 --- ...est_browserVersion__VisitsSummary.get_range.xml | 3 --- ...uggestAPITest_city__VisitsSummary.get_range.xml | 3 --- ...Test_continentCode__VisitsSummary.get_range.xml | 3 --- ...PITest_countryCode__VisitsSummary.get_range.xml | 3 --- ...ustomVariableName1__VisitsSummary.get_range.xml | 3 --- ...ustomVariableName5__VisitsSummary.get_range.xml | 3 --- ...mVariablePageName2__VisitsSummary.get_range.xml | 3 --- ...mVariablePageName4__VisitsSummary.get_range.xml | 3 --- ...mVariablePageName5__VisitsSummary.get_range.xml | 3 --- ...VariablePageValue2__VisitsSummary.get_range.xml | 3 --- ...VariablePageValue4__VisitsSummary.get_range.xml | 3 --- ...VariablePageValue5__VisitsSummary.get_range.xml | 3 --- ...stomVariableValue1__VisitsSummary.get_range.xml | 3 --- ...stomVariableValue5__VisitsSummary.get_range.xml | 3 --- ...aysSinceFirstVisit__VisitsSummary.get_range.xml | 3 --- ...LastEcommerceOrder__VisitsSummary.get_range.xml | 3 --- ...daysSinceLastVisit__VisitsSummary.get_range.xml | 3 --- ...APITest_deviceType__VisitsSummary.get_range.xml | 3 --- ...est_entryPageTitle__VisitsSummary.get_range.xml | 3 --- ...ITest_entryPageUrl__VisitsSummary.get_range.xml | 3 --- ...PITest_eventAction__VisitsSummary.get_range.xml | 3 --- ...Test_eventCategory__VisitsSummary.get_range.xml | 3 --- ...tAPITest_eventName__VisitsSummary.get_range.xml | 3 --- ...gestAPITest_events__VisitsSummary.get_range.xml | 3 --- ...Test_exitPageTitle__VisitsSummary.get_range.xml | 3 --- ...PITest_exitPageUrl__VisitsSummary.get_range.xml | 3 --- ...stAPITest_latitude__VisitsSummary.get_range.xml | 3 --- ...tAPITest_longitude__VisitsSummary.get_range.xml | 3 --- ...peratingSystemCode__VisitsSummary.get_range.xml | 3 --- ...tAPITest_pageTitle__VisitsSummary.get_range.xml | 3 --- ...estAPITest_pageUrl__VisitsSummary.get_range.xml | 3 --- ...stAPITest_provider__VisitsSummary.get_range.xml | 3 --- ...st_referrerKeyword__VisitsSummary.get_range.xml | 3 --- ...ITest_referrerName__VisitsSummary.get_range.xml | 3 --- ...ITest_referrerType__VisitsSummary.get_range.xml | 3 --- ...PITest_referrerUrl__VisitsSummary.get_range.xml | 3 --- ...APITest_regionCode__VisitsSummary.get_range.xml | 3 --- ...APITest_resolution__VisitsSummary.get_range.xml | 3 --- ...stAPITest_searches__VisitsSummary.get_range.xml | 3 --- ..._siteSearchKeyword__VisitsSummary.get_range.xml | 3 --- ...gestAPITest_userId__VisitsSummary.get_range.xml | 3 --- ...sitConvertedGoalId__VisitsSummary.get_range.xml | 3 --- ...est_visitConverted__VisitsSummary.get_range.xml | 3 --- ...APITest_visitCount__VisitsSummary.get_range.xml | 3 --- ...Test_visitDuration__VisitsSummary.get_range.xml | 3 --- ...sitEcommerceStatus__VisitsSummary.get_range.xml | 3 --- ...estAPITest_visitIp__VisitsSummary.get_range.xml | 3 --- ...est_visitLocalHour__VisitsSummary.get_range.xml | 3 --- ...st_visitServerHour__VisitsSummary.get_range.xml | 3 --- ...tAPITest_visitorId__VisitsSummary.get_range.xml | 3 --- ...PITest_visitorType__VisitsSummary.get_range.xml | 3 --- ...Compatibility1XTest__VisitFrequency.get_day.xml | 3 --- ...mpatibility1XTest__VisitFrequency.get_month.xml | 3 --- ...mpatibility1XTest__VisitFrequency.get_range.xml | 3 --- ...ompatibility1XTest__VisitFrequency.get_week.xml | 3 --- ...ompatibility1XTest__VisitFrequency.get_year.xml | 3 --- ...XTest_multipleDates__VisitFrequency.get_day.xml | 3 --- ...st_multipleOldNew__VisitFrequency.get_month.xml | 6 ----- .../test_CustomEvents__Actions.get_day.xml | 2 -- .../test_CustomEvents__Actions.get_month.xml | 2 -- .../test_ImportLogs__Actions.get_range.xml | 2 -- .../expected/test_ImportLogs__Goals.get_month.xml | 2 +- ...st_ImportLogs__UserSettings.getPlugin_month.xml | 14 +++++----- .../test_ImportLogs__VisitFrequency.get_month.xml | 3 --- .../test_ImportLogs__VisitFrequency.get_range.xml | 3 --- ...nterest.getNumberOfVisitsByVisitCount_range.xml | 8 +++--- .../test_ImportLogs__VisitsSummary.get_month.xml | 3 --- ...ckedUsingLogReplay__VisitsSummary.get_month.xml | 3 --- ...ivingTest_sitesGroup__VisitsSummary.get_day.xml | 3 --- ...ingTest_sitesGroup__VisitsSummary.get_month.xml | 3 --- .../test_OneVisitorTwoVisits__Actions.get_day.xml | 2 -- .../test_OneVisitorTwoVisits__Goals.get_day.xml | 2 +- ...OneVisitorTwoVisits__VisitFrequency.get_day.xml | 3 --- ..._OneVisitorTwoVisits__VisitsSummary.get_day.xml | 3 --- ...torTwoVisits_bulk_json__API.getBulkRequest.json | 2 +- ...sitorTwoVisits_bulk_xml__API.getBulkRequest.xml | 6 ----- ...test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 1754 -> 1494 bytes ...woVisits_withCookieSupport__Actions.get_day.xml | 2 -- ...rTwoVisits_withCookieSupport__Goals.get_day.xml | 2 +- ...s_withCookieSupport__VisitFrequency.get_day.xml | 3 --- ...ts_withCookieSupport__VisitsSummary.get_day.xml | 3 --- ...estsCampaignTracking__VisitsSummary.get_day.xml | 3 --- ...esTest_dayAfterVisit__VisitsSummary.get_day.xml | 3 --- ...ezonesTest_withVisit__VisitsSummary.get_day.xml | 3 --- ...sabled_disabledAfter__VisitsSummary.get_day.xml | 3 --- ...bled_disabledAfter__VisitsSummary.get_month.xml | 6 ----- ...abled_disabledAfter__VisitsSummary.get_week.xml | 3 --- ...abled_disabledAfter__VisitsSummary.get_year.xml | 6 ----- ...Before_isDateRange__VisitsSummary.get_range.xml | 6 ----- ...Before_isDateRange__VisitsSummary.get_range.xml | 6 ----- ...vingDisabled_enabled__VisitsSummary.get_day.xml | 3 --- ...ngDisabled_enabled__VisitsSummary.get_month.xml | 6 ----- ...ingDisabled_enabled__VisitsSummary.get_week.xml | 3 --- ...ingDisabled_enabled__VisitsSummary.get_year.xml | 6 ----- ..._Conversions_NotLastNPeriods__Goals.get_day.xml | 2 +- ...onversions_NotLastNPeriods__Goals.get_month.xml | 4 +-- ...ions_NotLastNPeriods__VisitsSummary.get_day.xml | 3 --- ...ns_NotLastNPeriods__VisitsSummary.get_month.xml | 6 ----- ...ifferentDays_NotLastNPeriods__Goals.get_day.xml | 7 ++++- ...ferentDays_NotLastNPeriods__Goals.get_month.xml | 14 ++++++++-- ...Days_NotLastNPeriods__VisitsSummary.get_day.xml | 3 --- ...ys_NotLastNPeriods__VisitsSummary.get_month.xml | 6 ----- ...firstSite_lastN__API.getProcessedReport_day.xml | 14 ---------- ...sites_differentDays__VisitFrequency.get_day.xml | 15 ----------- ...tes_differentDays__VisitFrequency.get_month.xml | 3 --- ...ites_differentDays__VisitFrequency.get_week.xml | 6 ----- ...ites_differentDays__VisitFrequency.get_year.xml | 3 --- ...bsites_differentDays__VisitsSummary.get_day.xml | 24 ----------------- ...ites_differentDays__VisitsSummary.get_month.xml | 6 ----- ...sites_differentDays__VisitsSummary.get_week.xml | 12 --------- ...sites_differentDays__VisitsSummary.get_year.xml | 6 ----- ...rentDays_idSiteOne___VisitFrequency.get_day.xml | 15 ----------- ...ntDays_idSiteOne___VisitFrequency.get_month.xml | 3 --- ...entDays_idSiteOne___VisitFrequency.get_week.xml | 6 ----- ...entDays_idSiteOne___VisitFrequency.get_year.xml | 3 --- ...erentDays_idSiteOne___VisitsSummary.get_day.xml | 21 --------------- ...entDays_idSiteOne___VisitsSummary.get_month.xml | 3 --- ...rentDays_idSiteOne___VisitsSummary.get_week.xml | 9 ------- ...rentDays_idSiteOne___VisitsSummary.get_year.xml | 3 --- ...eduledReports.generateReport_month.original.csv | 8 +++--- ...duledReports.generateReport_month.original.html | 30 +++------------------ ...est_UserId_VisitorId__VisitsSummary.get_day.xml | 3 --- ...t_UserId_VisitorId__VisitsSummary.get_month.xml | 3 --- ...st_UserId_VisitorId__VisitsSummary.get_week.xml | 3 --- ...st_UserId_VisitorId__VisitsSummary.get_year.xml | 3 --- ...erId_VisitorId_segmentUserId__Goals.get_day.xml | 2 +- ...itorId_segmentUserId__VisitsSummary.get_day.xml | 3 --- ...eportsShouldAppear__VisitsSummary.get_month.xml | 6 ----- ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 3 --- ...eportsShouldAppear__VisitsSummary.get_month.xml | 6 ----- ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 3 --- ...etReportMetadata__API.getReportMetadata_day.xml | 4 --- .../test_apiGetReportMetadata__API.get_day.xml | 3 --- .../test_csvExport_xp0__VisitsSummary.get_day.csv | Bin 378 -> 262 bytes ..._xp1_inner0_trans-en__VisitsSummary.get_day.csv | Bin 466 -> 296 bytes ..._xp1_inner1_trans-de__VisitsSummary.get_day.csv | Bin 588 -> 396 bytes ...SegmentAbandonedCart__VisitsSummary.get_day.xml | 3 --- ...mentConvertedGoalId1__VisitsSummary.get_day.xml | 3 --- ...entConvertedGoalId1__VisitsSummary.get_week.xml | 3 --- ...DidNotConvertGoalId1__VisitsSummary.get_day.xml | 3 --- ..._SegmentNewVisitors__VisitsSummary.get_week.xml | 3 --- ...s_SegmentNoEcommerce__VisitsSummary.get_day.xml | 3 --- ...rtedNonExistingGoal__VisitsSummary.get_week.xml | 3 --- ...mentOrderedSomething__VisitsSummary.get_day.xml | 3 --- ...egmentPageTitleMatch__VisitsSummary.get_day.xml | 3 --- ...tReturningCustomers__VisitsSummary.get_week.xml | 3 --- ...ntReturningVisitors__VisitsSummary.get_week.xml | 3 --- ...sitHasConvertedGoal__VisitsSummary.get_week.xml | 3 --- ...redAndConvertedGoal__VisitsSummary.get_week.xml | 3 --- ...mmerceOrderWithItems__VisitsSummary.get_day.xml | 3 --- ...heduledReports.generateReport_week.original.csv | 4 +-- ...eduledReports.generateReport_week.original.html | 16 ----------- .../expected/test_noVisit__Goals.get_day.xml | 2 +- .../test_noVisit__VisitFrequency.get_day.xml | 3 --- .../test_noVisit__VisitsSummary.get_day.xml | 3 --- ...ralDays_DateRange__VisitFrequency.get_range.xml | 3 --- ...eralDays_DateRange__VisitsSummary.get_range.xml | 3 --- ...LastN_MetadataAndNormalAPI__Goals.get_range.xml | 2 +- ...tadataAndNormalAPI__VisitsSummary.get_range.xml | 3 --- ...eConversionsPerVisit__VisitsSummary.get_day.xml | 3 --- ...insStrangeCharacters__VisitsSummary.get_day.xml | 3 --- ...entPageTitleContains__VisitsSummary.get_day.xml | 3 --- ...entPageTitleExcludes__VisitsSummary.get_day.xml | 3 --- ...gmentPageUrlContains__VisitsSummary.get_day.xml | 3 --- ...gmentPageUrlExcludes__VisitsSummary.get_day.xml | 3 --- ...sWithCustomVariables__VisitsSummary.get_day.xml | 3 --- ...WithCustomVariables__VisitsSummary.get_week.xml | 3 --- ...tMatchALL_noGoalData__VisitsSummary.get_day.xml | 3 --- ...MatchALL_noGoalData__VisitsSummary.get_week.xml | 3 --- ...mentMatchVisitorType__VisitsSummary.get_day.xml | 3 --- ...entMatchVisitorType__VisitsSummary.get_week.xml | 3 --- 186 files changed, 64 insertions(+), 708 deletions(-) delete mode 100644 tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index d2b4aed8df..c5c50bb459 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -368,7 +368,8 @@ class Report * * This method should be used in **Plugin.get** API methods. * - * @param string[]|null $allMetrics The list of all available metrics. Defaults to this report's metrics. + * @param string[]|null $allMetrics The list of all available unprocessed metrics. Defaults to this report's + * metrics. * @param string[]|null $restrictToColumns The requested columns. * @return string[] */ @@ -379,7 +380,7 @@ class Report } if (empty($restrictToColumns)) { - $restrictToColumns = $this->getAllMetrics(); + $restrictToColumns = array_merge($allMetrics, array_keys($this->getProcessedMetrics())); } $processedMetricsById = $this->getProcessedMetricsById(); diff --git a/plugins/API/API.php b/plugins/API/API.php index 85f7c1f9d2..bbf9c142c7 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -403,6 +403,10 @@ class API extends \Piwik\Plugin\API $params['columns'] = implode(',', $columns); $dataTable = Proxy::getInstance()->call($className, 'get', $params); + $dataTable->filter(function (DataTable $table) { + $table->clearQueuedFilters(); + }); + // merge reports if ($mergedDataTable === false) { $mergedDataTable = $dataTable; diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php index d6f06e9fcf..eb4c7ddfbe 100644 --- a/plugins/VisitFrequency/Reports/Get.php +++ b/plugins/VisitFrequency/Reports/Get.php @@ -31,10 +31,7 @@ class Get extends \Piwik\Plugin\Report 'nb_visits_returning', 'nb_actions_returning', 'nb_uniq_visitors_returning', - 'sum_visit_length_returning', 'nb_users_returning', - 'nb_visits_converted_returning', - 'sum_visit_length_returning', 'max_actions_returning' ); $this->order = 40; diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php index c9fd4f04c5..7816253781 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php @@ -62,7 +62,13 @@ class TwoVisitorsTwoWebsitesDifferentDaysTest extends SystemTestCase $singlePeriodApi = array('VisitsSummary.get', 'Goals.get'); $periods = array('day', 'week', 'month', 'year'); - +return array( + array('Goals.get', array('idSite' => 'all', + 'date' => $dateTime, + 'periods' => array('day'), + 'setDateLastN' => false, + 'testSuffix' => '_NotLastNPeriods')) +); $result = array( // Request data for the last 6 periods and idSite=all array($apiToCall, array('idSite' => 'all', diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt b/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt deleted file mode 100644 index 814737fdd4..0000000000 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt +++ /dev/null @@ -1,11 +0,0 @@ - -------------------------------------------------------- -Using this 'archive.php' script is no longer recommended. -Please use '/path/to/php /home/travis/build/piwik/piwik/tests/PHPUnit/proxy/../../..//console core:archive --url=http://localhost/tests/PHPUnit/proxy/index.php' instead. -To get help use '/path/to/php /home/travis/build/piwik/piwik/tests/PHPUnit/proxy/../../..//console core:archive --help' -See also: http://piwik.org/docs/setup-auto-archiving/ - -If you cannot use the console because it requires CLI -try 'php archive.php -- url=http://your.piwik/path' -------------------------------------------------------- - diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml index 32434a44f6..20a3f2c529 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>9</nb_visits> <nb_actions>9</nb_actions> - <nb_visits_converted>9</nb_visits_converted> - <bounce_count>9</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml index 527a5d7177..62a27c8a5f 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>27</nb_visits> <nb_actions>30</nb_actions> - <nb_visits_converted>25</nb_visits_converted> - <bounce_count>25</bounce_count> - <sum_visit_length>305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>93%</bounce_rate> <nb_actions_per_visit>1.1</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml index d183cb915b..6cd7a02f92 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -2,12 +2,9 @@ <results> <result date="2010-03"> <nb_uniq_visitors>2</nb_uniq_visitors> - <nb_users>0</nb_users> <nb_visits>2</nb_visits> + <nb_users>0</nb_users> <nb_actions>12</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 5d2578d36f..00dd1ed84e 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml index 1e897c6120..54b20764e8 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -2,12 +2,9 @@ <results> <result date="2010-01"> <nb_uniq_visitors>2</nb_uniq_visitors> - <nb_users>0</nb_users> <nb_visits>2</nb_visits> + <nb_users>0</nb_users> <nb_actions>18</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>12</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml index 75d267cfc4..db65c094a3 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 4402121f8a..c22e7e848f 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml index 7ace3fcbe7..1ed2c2d1a3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>18</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml index e2373a1ef1..57351332ac 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>27</nb_visits> <nb_actions>47</nb_actions> - <nb_visits_converted>27</nb_visits_converted> - <bounce_count>14</bounce_count> - <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>52%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml index dfa3a20623..dd3d458149 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml index e2373a1ef1..57351332ac 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>27</nb_visits> <nb_actions>47</nb_actions> - <nb_visits_converted>27</nb_visits_converted> - <bounce_count>14</bounce_count> - <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>52%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml index 0dadc8d4ed..5f4c972062 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>10</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>5</bounce_count> - <sum_visit_length>6305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml index 7c7cc211dd..78d74e0d47 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>20</nb_visits> <nb_actions>36</nb_actions> - <nb_visits_converted>20</nb_visits_converted> - <bounce_count>10</bounce_count> - <sum_visit_length>12610</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml index 0dadc8d4ed..5f4c972062 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>10</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>5</bounce_count> - <sum_visit_length>6305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml index 47eec1002c..8719ee9412 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>30</nb_visits> <nb_actions>50</nb_actions> - <nb_visits_converted>30</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml index 47eec1002c..8719ee9412 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>30</nb_visits> <nb_actions>50</nb_actions> - <nb_visits_converted>30</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml index b72146a986..5618909938 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml index d8bcdace18..561559864d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml index b72146a986..5618909938 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml index 88dae8fd6c..eb8b4b9e2b 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>4</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>4</nb_visits_converted> - <bounce_count>4</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml index e0144ec833..85d0752db3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>9</nb_visits> <nb_actions>27</nb_actions> - <nb_visits_converted>9</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>11349</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml index 88dae8fd6c..eb8b4b9e2b 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>4</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>4</nb_visits_converted> - <bounce_count>4</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml index d4214faba0..f872de2727 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>7</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>7</nb_visits_converted> - <bounce_count>4</bounce_count> - <sum_visit_length>3783</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml index d4214faba0..f872de2727 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>7</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>7</nb_visits_converted> - <bounce_count>4</bounce_count> - <sum_visit_length>3783</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml index a0db0ecba0..b6a7e6d843 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml index a0db0ecba0..b6a7e6d843 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml index a0db0ecba0..b6a7e6d843 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml index 5d07770e4e..9459eddbd5 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>28</nb_visits> <nb_actions>48</nb_actions> - <nb_visits_converted>28</nb_visits_converted> - <bounce_count>15</bounce_count> - <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>54%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml index b72146a986..5618909938 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml index 7ace3fcbe7..1ed2c2d1a3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>18</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml index 1922b24059..a1a2e83ea3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>4</nb_visits> <nb_actions>8</nb_actions> - <nb_visits_converted>4</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>5044</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml index 1922b24059..a1a2e83ea3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>4</nb_visits> <nb_actions>8</nb_actions> - <nb_visits_converted>4</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>5044</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml index 1922b24059..a1a2e83ea3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>4</nb_visits> <nb_actions>8</nb_actions> - <nb_visits_converted>4</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>5044</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml index 7ace3fcbe7..1ed2c2d1a3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>18</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml index b72146a986..5618909938 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml index 7ace3fcbe7..1ed2c2d1a3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>18</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml index e023a89081..d7919feefc 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>6</nb_visits_converted> - <bounce_count>3</bounce_count> - <sum_visit_length>3783</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml index d8bcdace18..561559864d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml index 5d07770e4e..9459eddbd5 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>28</nb_visits> <nb_actions>48</nb_actions> - <nb_visits_converted>28</nb_visits_converted> - <bounce_count>15</bounce_count> - <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>54%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml index b72146a986..5618909938 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml index a0db0ecba0..b6a7e6d843 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>17</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml index c51a1bc13d..120d74f17a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>2</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1261</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml index dfa3a20623..dd3d458149 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml index dfa3a20623..dd3d458149 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml index ce18f5b1dc..38eefb705e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>34</nb_visits> <nb_actions>60</nb_actions> - <nb_visits_converted>34</nb_visits_converted> - <bounce_count>17</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml index dfa3a20623..dd3d458149 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml index e023a89081..d7919feefc 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>6</nb_visits_converted> - <bounce_count>3</bounce_count> - <sum_visit_length>3783</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml index f52326b337..55b860a688 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> - <nb_visits_converted>35</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml index 410df64fa3..1cde7897c6 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>26</nb_visits> <nb_actions>34</nb_actions> - <nb_visits_converted>26</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>10088</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>69%</bounce_rate> <nb_actions_per_visit>1.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml index e0144ec833..85d0752db3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>9</nb_visits> <nb_actions>27</nb_actions> - <nb_visits_converted>9</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>11349</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml index dfa3a20623..dd3d458149 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml index f52326b337..55b860a688 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> - <nb_visits_converted>35</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml index f52326b337..55b860a688 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> - <nb_visits_converted>35</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml index ce025f0a46..f1a34008c7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>30</nb_visits> <nb_actions>56</nb_actions> - <nb_visits_converted>30</nb_visits_converted> - <bounce_count>13</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>43%</bounce_rate> <nb_actions_per_visit>1.9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml index 7ace3fcbe7..1ed2c2d1a3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>18</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml index f52326b337..55b860a688 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> - <nb_visits_converted>35</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml index 352cc69e4a..5332ba0d38 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>3</nb_visits_converted> - <bounce_count>2</bounce_count> - <sum_visit_length>1261</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml index f52326b337..55b860a688 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> - <nb_visits_converted>35</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml index 7ace3fcbe7..1ed2c2d1a3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> - <nb_visits_converted>18</nb_visits_converted> - <bounce_count>18</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml index 64efc881e1..911e227c41 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>2</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1261</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml index ce025f0a46..f1a34008c7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>30</nb_visits> <nb_actions>56</nb_actions> - <nb_visits_converted>30</nb_visits_converted> - <bounce_count>13</bounce_count> - <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>43%</bounce_rate> <nb_actions_per_visit>1.9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml index 3633fe5914..4bcc0a36cc 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml @@ -4,9 +4,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml index 3c62d79738..c0a3bb1aff 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml @@ -4,9 +4,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml index a232e03046..b002777495 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>2</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>2</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml index 3c62d79738..c0a3bb1aff 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml @@ -4,9 +4,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml index a232e03046..b002777495 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml @@ -2,9 +2,6 @@ <result> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>2</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>2</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml index b8e30312d7..eccb0af0a0 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml @@ -8,9 +8,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml index 9b5f22a3ea..7b4ff4314c 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml @@ -5,9 +5,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> @@ -26,9 +23,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml index a98b80de47..65ae232e68 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_day.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <sum_time_generation>2</sum_time_generation> - <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.5</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml index a98b80de47..65ae232e68 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.get_month.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <sum_time_generation>2</sum_time_generation> - <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.5</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml index 54b28f8871..a87ec05ee3 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.get_range.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>1</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <sum_time_generation>5.72</sum_time_generation> - <nb_hits_with_time_generation>19</nb_hits_with_time_generation> <avg_time_generation>0.301</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Goals.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Goals.get_month.xml index fc80cf81c0..4c6855264a 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Goals.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Goals.get_month.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>25</nb_conversions> <nb_visits_converted>25</nb_visits_converted> - <conversion_rate>92.59</conversion_rate> <revenue>125</revenue> + <conversion_rate>92.59%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml index 7079af5413..d1f2bda02f 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml @@ -3,43 +3,43 @@ <row> <label>Cookie</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>9.5%</nb_visits_percentage> + <nb_visits_percentage>10%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/cookie.gif</logo> </row> <row> <label>Flash</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>9.5%</nb_visits_percentage> + <nb_visits_percentage>10%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/flash.gif</logo> </row> <row> <label>Java</label> <nb_visits>2</nb_visits> - <nb_visits_percentage>9.5%</nb_visits_percentage> + <nb_visits_percentage>10%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/java.gif</logo> </row> <row> <label>Director</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/director.gif</logo> </row> <row> <label>Gears</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/gears.gif</logo> </row> <row> <label>Pdf</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/pdf.gif</logo> </row> <row> <label>Windowsmedia</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>4.8%</nb_visits_percentage> + <nb_visits_percentage>5%</nb_visits_percentage> <logo>plugins/UserSettings/images/plugins/windowsmedia.gif</logo> </row> <row> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml index 3633fe5914..4bcc0a36cc 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml @@ -4,9 +4,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml index f301254690..6cb34eba3d 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits_returning>10</nb_visits_returning> <nb_actions_returning>12</nb_actions_returning> - <nb_visits_converted_returning>9</nb_visits_converted_returning> - <bounce_count_returning>8</bounce_count_returning> - <sum_visit_length_returning>115</sum_visit_length_returning> <max_actions_returning>2</max_actions_returning> <bounce_rate_returning>80%</bounce_rate_returning> <nb_actions_per_visit_returning>1.2</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml index a1ec37b5bf..d7672ae30c 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsByVisitCount_range.xml @@ -3,7 +3,7 @@ <row> <label>1 visit</label> <nb_visits>33</nb_visits> - <nb_visits_percentage>82.5%</nb_visits_percentage> + <nb_visits_percentage>83%</nb_visits_percentage> </row> <row> <label>2 visits</label> @@ -18,7 +18,7 @@ <row> <label>4 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>2.5%</nb_visits_percentage> + <nb_visits_percentage>3%</nb_visits_percentage> </row> <row> <label>5 visits</label> @@ -33,7 +33,7 @@ <row> <label>7 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>2.5%</nb_visits_percentage> + <nb_visits_percentage>3%</nb_visits_percentage> </row> <row> <label>8 visits</label> @@ -58,7 +58,7 @@ <row> <label>51-100 visits</label> <nb_visits>1</nb_visits> - <nb_visits_percentage>2.5%</nb_visits_percentage> + <nb_visits_percentage>3%</nb_visits_percentage> </row> <row> <label>101-200 visits</label> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml index 327d564f47..cda8adef5b 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>27</nb_visits> <nb_actions>30</nb_actions> - <nb_visits_converted>25</nb_visits_converted> - <bounce_count>25</bounce_count> - <sum_visit_length>305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>93%</bounce_rate> <nb_actions_per_visit>1.1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml index b0e66b9280..f7fde03a9d 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml index 64e9c36af1..4dee40403d 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>5</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>5</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml index 64e9c36af1..4dee40403d 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>5</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>5</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml index 84ad08455d..e04ea4296d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Actions.get_day.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>2</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <sum_time_generation>0.62</sum_time_generation> - <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.155</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.get_day.xml index d0e395f9e8..24662c288c 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>2</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>43</revenue> + <conversion_rate>100%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml index eb4e37fdf7..1ba25c866f 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml @@ -3,9 +3,6 @@ <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml index 40498bf45d..64fee80803 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml @@ -3,9 +3,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json index 54eec7681d..14ac477f7a 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json @@ -1 +1 @@ -[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file +[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml index e3455beeec..9b05d38afd 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> @@ -23,9 +20,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index 9ca1f08519..0e2dafdcac 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml index e0100fe3a7..0eea12ac0b 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.get_day.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>2</nb_uniq_outlinks> <nb_searches>1</nb_searches> <nb_keywords>1</nb_keywords> - <sum_time_generation>0.62</sum_time_generation> - <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <avg_time_generation>0.155</avg_time_generation> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Goals.get_day.xml index d0e395f9e8..24662c288c 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>2</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>43</revenue> + <conversion_rate>100%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml index 3633fe5914..4bcc0a36cc 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml @@ -4,9 +4,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> - <nb_visits_converted_returning>1</nb_visits_converted_returning> - <bounce_count_returning>1</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml index 9f63db28ef..e25296917d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1621</sum_visit_length> <max_actions>8</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml index 78c6610886..35875116eb 100644 --- a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>8</nb_visits> <nb_actions>7</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>8</bounce_count> - <sum_visit_length>1084</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>0.9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml index 32b66284be..fb2e69c2f2 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml index b0e66b9280..f7fde03a9d 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml index 89cd627339..7a310d9af8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml index 50c77f2755..03c203ad85 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml index 89cd627339..7a310d9af8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml index f520263652..0438a70aa1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml @@ -3,9 +3,6 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -14,9 +11,6 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml index f520263652..0438a70aa1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -3,9 +3,6 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -14,9 +11,6 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml index f520263652..0438a70aa1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -3,9 +3,6 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -14,9 +11,6 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml index 89cd627339..7a310d9af8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml index 50c77f2755..03c203ad85 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml index 89cd627339..7a310d9af8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml index f520263652..0438a70aa1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml @@ -3,9 +3,6 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -14,9 +11,6 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml index 6dc2190ded..13d4b19d4b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml @@ -3,8 +3,8 @@ <result idSite="1"> <nb_conversions>2</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>10</revenue> + <conversion_rate>100%</conversion_rate> </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml index 5c85081c9f..11701117f1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml @@ -3,13 +3,13 @@ <result idSite="1"> <nb_conversions>14</nb_conversions> <nb_visits_converted>10</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>50</revenue> + <conversion_rate>100%</conversion_rate> </result> <result idSite="2"> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>100</conversion_rate> <revenue>0</revenue> + <conversion_rate>100%</conversion_rate> </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml index 89cd627339..7a310d9af8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml index 50c77f2755..03c203ad85 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>10</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_day.xml index 1c7f2179e5..12226c72f5 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_day.xml @@ -1,5 +1,10 @@ <?xml version="1.0" encoding="utf-8" ?> <results> - <result idSite="1" /> + <result idSite="1"> + <nb_conversions>0</nb_conversions> + <nb_visits_converted>0</nb_visits_converted> + <revenue>0</revenue> + <conversion_rate>0%</conversion_rate> + </result> <result idSite="2" /> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_month.xml index 1c7f2179e5..6a88282877 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__Goals.get_month.xml @@ -1,5 +1,15 @@ <?xml version="1.0" encoding="utf-8" ?> <results> - <result idSite="1" /> - <result idSite="2" /> + <result idSite="1"> + <nb_conversions>0</nb_conversions> + <nb_visits_converted>0</nb_visits_converted> + <revenue>0</revenue> + <conversion_rate>0%</conversion_rate> + </result> + <result idSite="2"> + <nb_conversions>0</nb_conversions> + <nb_visits_converted>0</nb_visits_converted> + <revenue>0</revenue> + <conversion_rate>0%</conversion_rate> + </result> </results> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml index 296741c7a0..7a310d9af8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml index 9aa711753b..051bf3044e 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml index f82986a135..dae913cd1b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml @@ -11,9 +11,7 @@ <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> - <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> <nb_users_returning>Returning Users</nb_users_returning> - <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> </metrics> <processedMetrics> @@ -29,9 +27,7 @@ <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> - <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> <nb_users_returning>Returning Users</nb_users_returning> - <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> <avg_time_on_site_returning>Avg. Duration of a Returning Visit (in sec)</avg_time_on_site_returning> <nb_actions_per_visit_returning>Avg. Actions per Returning Visit</nb_actions_per_visit_returning> @@ -45,8 +41,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -57,8 +51,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -69,8 +61,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -81,8 +71,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -93,8 +81,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml index 1132f1191d..9623a57b5a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml @@ -8,9 +8,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -21,9 +18,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -34,9 +28,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -47,9 +38,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -60,9 +48,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml index f6da2a541d..419e029106 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml @@ -6,9 +6,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml index d64e929e8a..59d27cca56 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml @@ -7,9 +7,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>6</nb_visits_returning> <nb_actions_returning>30</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>5406</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -20,9 +17,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>10</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>1802</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml index dd6204a199..3c7d32de96 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml @@ -4,9 +4,6 @@ <result date="2010"> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml index c0f0001ebf..732e4e2d9d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -19,9 +16,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>2</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>361</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> @@ -32,9 +26,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -45,9 +36,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -58,9 +46,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -71,9 +56,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -84,9 +66,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -100,9 +79,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml index d60436c3c9..be3285d9ce 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -27,9 +24,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml index f754acd177..5db0ca624f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -19,9 +16,6 @@ <nb_users>0</nb_users> <nb_visits>7</nb_visits> <nb_actions>32</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.6</nb_actions_per_visit> @@ -32,9 +26,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1802</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -52,9 +43,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml index 301adee7ee..5e3a2626e1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml @@ -4,9 +4,6 @@ <result date="2010"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -23,9 +20,6 @@ <result date="2010"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml index f760097ff0..ba889f997d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml @@ -7,9 +7,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -20,9 +17,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -33,9 +27,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -46,9 +37,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -59,9 +47,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml index ddce4b63c9..069850fb66 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml @@ -5,9 +5,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml index d44fe0f184..a3a5ca70bd 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml @@ -6,9 +6,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>6</nb_visits_returning> <nb_actions_returning>30</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>5406</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -19,9 +16,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>10</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>1802</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml index a7e7659d80..0996bf12f5 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml @@ -3,9 +3,6 @@ <result date="2010"> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml index 057ccb1b63..9c045ac7ff 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>2</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>361</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> @@ -31,9 +25,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -44,9 +35,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -57,9 +45,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -70,9 +55,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -83,9 +65,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml index 30c69614b1..d43d13e9f7 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml index bb7f2a5509..a163de9f75 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -18,9 +15,6 @@ <nb_users>0</nb_users> <nb_visits>7</nb_visits> <nb_actions>32</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.6</nb_actions_per_visit> @@ -31,9 +25,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1802</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml index 10e5329cb6..b4289e642f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml @@ -3,9 +3,6 @@ <result date="2010"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index a3e7fe499b..97677526fc 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -241,8 +241,8 @@ Social Networks No data available Goals -nb_conversions,nb_visits_converted,conversion_rate,revenue,avg_order_revenue -0,0,0%,$ 0,$ 0 +nb_conversions,nb_visits_converted,revenue,conversion_rate +0,0,$ 0,0% Visits to Conversion No data available @@ -333,8 +333,8 @@ New visits,2 365+ days,0 Returning Visits -nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning -1,0,8,40,0,7208,5,0%,5,00:15:01 +nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning +1,0,8,40,5,0%,5,00:15:01 Provider label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 9304d6a626..f81da6d67a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -4047,14 +4047,6 @@ </tr> <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Conversion Rate </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> - </tr> - - <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Revenue </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> @@ -4062,11 +4054,11 @@ </td> </tr> - <tr style=""> + <tr style="background-color: rgb(249,250,250)"> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Average Order Value </td> + Conversion Rate </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - $ 0 + 0% </td> </tr> </tbody> @@ -4958,22 +4950,6 @@ </td> </tr> - <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Number of converted returning visits </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0 - </td> - </tr> - - <tr style="background-color: rgb(249,250,250)"> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Total time spent by returning visitors (in seconds) </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 7208 - </td> - </tr> - <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Maximum actions in one returning visit </td> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index ca85e8dede..4aa7be5bbf 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>2</nb_users> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>3</bounce_count> - <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index 7731535795..384d2679e6 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -4,9 +4,6 @@ <nb_users>3</nb_users> <nb_visits>8</nb_visits> <nb_actions>12</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>5</bounce_count> - <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>63%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index ca85e8dede..4aa7be5bbf 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>2</nb_users> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>3</bounce_count> - <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index 84850ee827..2bb6b1d301 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -2,9 +2,6 @@ <result> <nb_visits>8</nb_visits> <nb_actions>12</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>5</bounce_count> - <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>63%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__Goals.get_day.xml index a43cbc433e..b7555aa8c6 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>50</conversion_rate> <revenue>0</revenue> + <conversion_rate>50%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml index 969fd130e8..038ad7f337 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>1</nb_users> <nb_visits>2</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>1081</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml index 2f7ce19aa5..fee45c6b81 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> @@ -19,9 +16,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index d84e6c4f35..eb29de0ae3 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -7,9 +7,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml index ed3e2b6ade..aa82f70f97 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -5,9 +5,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>361</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -20,9 +17,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index d046dca549..04e74fccbc 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -8,9 +8,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 9bd7d342a9..e31cb79059 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -507,9 +507,7 @@ <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> - <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> <nb_users_returning>Returning Users</nb_users_returning> - <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> <nb_visits>Visits</nb_visits> @@ -1924,9 +1922,7 @@ <nb_visits_returning>Returning Visits</nb_visits_returning> <nb_actions_returning>Actions by Returning Visits</nb_actions_returning> <nb_uniq_visitors_returning>Unique returning visitors</nb_uniq_visitors_returning> - <sum_visit_length_returning>Total time spent by returning visitors (in seconds)</sum_visit_length_returning> <nb_users_returning>Returning Users</nb_users_returning> - <nb_visits_converted_returning>Number of converted returning visits</nb_visits_converted_returning> <max_actions_returning>Maximum actions in one returning visit</max_actions_returning> </metrics> <processedMetrics> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml index a76fff247d..57438262e4 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.get_day.xml @@ -10,11 +10,8 @@ <nb_visits_returning>0</nb_visits_returning> <nb_actions_returning>0</nb_actions_returning> <nb_uniq_visitors_returning>0</nb_uniq_visitors_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <nb_users_returning>0</nb_users_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> <max_actions_returning>0</max_actions_returning> - <bounce_count_returning>0</bounce_count_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> <avg_time_on_site_returning>0</avg_time_on_site_returning> diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv index 26adb45055..779689ac0c 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv index 58e88ae47a..31027739ab 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv index 7315bde871..56267781f4 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml index 2ecf693474..a7e343ba22 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>4682</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml index 2ecf693474..a7e343ba22 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>4682</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml index 32b66284be..fb2e69c2f2 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml index 44b18e613c..426bed12e0 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>3961</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml index 02458f0645..345cf57c2f 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>2165</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>33%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml index 44b18e613c..426bed12e0 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>3961</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml index a9d2095dfb..9316fae5a5 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml index 115904be39..f095668462 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>13</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>5403</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index 5fff1f5e2c..ff003cfbf1 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -484,8 +484,8 @@ New visits,1 365+ days,0 Returning Visits -nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,nb_visits_converted_returning,sum_visit_length_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning -1,0,4,12,3,6126,6,25%,3,00:25:32 +nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning +1,0,4,12,6,25%,3,00:25:32 Provider label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index e278b621de..1b012a722e 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -6456,22 +6456,6 @@ </td> </tr> - <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Number of converted returning visits </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 3 - </td> - </tr> - - <tr style="background-color: rgb(249,250,250)"> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Total time spent by returning visitors (in seconds) </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 6126 - </td> - </tr> - <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Maximum actions in one returning visit </td> diff --git a/tests/PHPUnit/System/expected/test_noVisit__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__Goals.get_day.xml index 257dd359a5..2cb7df5a9e 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__Goals.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__Goals.get_day.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>0</nb_conversions> <nb_visits_converted>0</nb_visits_converted> - <conversion_rate>0</conversion_rate> <revenue>0</revenue> + <conversion_rate>0%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml index c415099916..b6c1430561 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml @@ -4,9 +4,6 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>0</nb_visits_returning> <nb_actions_returning>0</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>0</bounce_count_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>0</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml index 32b66284be..fb2e69c2f2 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml index d7c74b8645..998570088c 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits_returning>6</nb_visits_returning> <nb_actions_returning>9</nb_actions_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> - <bounce_count_returning>3</bounce_count_returning> - <sum_visit_length_returning>1083</sum_visit_length_returning> <max_actions_returning>2</max_actions_returning> <bounce_rate_returning>50%</bounce_rate_returning> <nb_actions_per_visit_returning>1.5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml index 29d972ff8a..02e6f04c57 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>6</nb_visits> <nb_actions>9</nb_actions> - <nb_visits_converted>0</nb_visits_converted> - <bounce_count>3</bounce_count> - <sum_visit_length>1083</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Goals.get_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Goals.get_range.xml index cf9900ec47..26bf6746c5 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Goals.get_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Goals.get_range.xml @@ -2,6 +2,6 @@ <result> <nb_conversions>3</nb_conversions> <nb_visits_converted>2</nb_visits_converted> - <conversion_rate>66.67</conversion_rate> <revenue>1000</revenue> + <conversion_rate>66.67%</conversion_rate> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml index 4a5151e912..7ed769dfb3 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml @@ -2,9 +2,6 @@ <result> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>2</bounce_count> - <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml index 7168091d51..7ff0123b17 100644 --- a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>363</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml index 9cdfb2d5b7..f916b85048 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml index 9cdfb2d5b7..f916b85048 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml index 06b9efca77..9ed9610ff2 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml index 9cdfb2d5b7..f916b85048 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml index 06b9efca77..9ed9610ff2 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml @@ -4,9 +4,6 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>4</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>1</bounce_count> - <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml index ab7f9f9a18..c14daef152 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>2</bounce_count> - <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml index b5e37b20aa..7eb27f4237 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>6</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>2</bounce_count> - <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml index 283758c4ec..3d7e3d62c4 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>2</bounce_count> - <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml index 4dab22a018..f6cf29fc70 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> - <nb_visits_converted>2</nb_visits_converted> - <bounce_count>2</bounce_count> - <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml index de4eac0560..38cfd3d23f 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml index b23508240f..de45b35f0a 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml @@ -6,9 +6,6 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> - <nb_visits_converted>1</nb_visits_converted> - <bounce_count>0</bounce_count> - <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> -- cgit v1.2.3 From 841c1c52ed3fe6db4421751f97e88d642cbe6a3a Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 13:23:24 -0800 Subject: Fix two more system tests. --- ...nvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml | 2 +- ...nvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml index 6cd7a02f92..2a968e0886 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -2,8 +2,8 @@ <results> <result date="2010-03"> <nb_uniq_visitors>2</nb_uniq_visitors> - <nb_visits>2</nb_visits> <nb_users>0</nb_users> + <nb_visits>2</nb_visits> <nb_actions>12</nb_actions> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml index 54b20764e8..783f505371 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -2,8 +2,8 @@ <results> <result date="2010-01"> <nb_uniq_visitors>2</nb_uniq_visitors> - <nb_visits>2</nb_visits> <nb_users>0</nb_users> + <nb_visits>2</nb_visits> <nb_actions>18</nb_actions> <max_actions>12</max_actions> <bounce_rate>0%</bounce_rate> -- cgit v1.2.3 From 744c20013612c383947169013a550c726ee78cb3 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 14:17:21 -0800 Subject: Fixing Contents system tests. --- .../Contents/tests/System/expected/test_Contents__Actions.get_day.xml | 2 -- .../Contents/tests/System/expected/test_Contents__Actions.get_month.xml | 2 -- 2 files changed, 4 deletions(-) diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml index 6fcd987c1a..f51cfaf913 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_day.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <sum_time_generation>0.67</sum_time_generation> - <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <avg_time_generation>0.335</avg_time_generation> </result> \ No newline at end of file diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml index 6fcd987c1a..f51cfaf913 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.get_month.xml @@ -8,7 +8,5 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>0</nb_searches> <nb_keywords>0</nb_keywords> - <sum_time_generation>0.67</sum_time_generation> - <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <avg_time_generation>0.335</avg_time_generation> </result> \ No newline at end of file -- cgit v1.2.3 From b0fe1d09f62dfe4cfb1527136422eb62ffb93aa6 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 14:29:50 -0800 Subject: Fix Goals.getConversionRate for BC. --- plugins/Goals/API.php | 5 ++++- .../test_OneVisitorTwoVisits__Goals.getConversionRate_day.xml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 955825a092..850857ca47 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -17,6 +17,7 @@ use Piwik\Db; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Plugin\Report; +use Piwik\Plugins\CoreHome\Columns\Metrics\ConversionRate; use Piwik\Plugins\Goals\Columns\Metrics\AverageOrderRevenue; use Piwik\Site; use Piwik\Tracker\Cache; @@ -415,7 +416,9 @@ class API extends \Piwik\Plugin\API */ public function getConversionRate($idSite, $period, $date, $segment = false, $idGoal = false) { - return $this->getNumeric($idSite, $period, $date, $segment, Archiver::getRecordName('conversion_rate', $idGoal)); + $table = $this->get($idSite, $period, $date, $segment, $idGoal, 'conversion_rate'); + $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, array(new ConversionRate())); + return $table; } /** diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.getConversionRate_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.getConversionRate_day.xml index dff1089a71..01cf6797a0 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.getConversionRate_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__Goals.getConversionRate_day.xml @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="utf-8" ?> -<result>100</result> \ No newline at end of file +<result>100%</result> \ No newline at end of file -- cgit v1.2.3 From a32d2afc0bf0555153d32d0e9cdfbf529e941183 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 14:31:56 -0800 Subject: Fix ExamplePlugin tests. --- plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml index 169fe159ee..9327934fa5 100644 --- a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml +++ b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml @@ -10,17 +10,13 @@ <nb_visits_returning>0</nb_visits_returning> <nb_actions_returning>0</nb_actions_returning> <nb_uniq_visitors_returning>0</nb_uniq_visitors_returning> - <sum_visit_length_returning>0</sum_visit_length_returning> <nb_users_returning>0</nb_users_returning> - <nb_visits_converted_returning>0</nb_visits_converted_returning> <max_actions_returning>0</max_actions_returning> - <bounce_count_returning>0</bounce_count_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> <avg_time_on_site_returning>0</avg_time_on_site_returning> <nb_conversions>1</nb_conversions> <nb_visits_converted>1</nb_visits_converted> - <conversion_rate>50</conversion_rate> <revenue>2541</revenue> <nb_pageviews>3</nb_pageviews> <nb_uniq_pageviews>3</nb_uniq_pageviews> @@ -30,6 +26,7 @@ <nb_uniq_outlinks>0</nb_uniq_outlinks> <nb_searches>1</nb_searches> <nb_keywords>1</nb_keywords> + <conversion_rate>50%</conversion_rate> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> <avg_time_on_site>632</avg_time_on_site> -- cgit v1.2.3 From ef15c7db15cf3cb40bfee1059d2ce29c43ac53d2 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 15:10:31 -0800 Subject: Fix TwoVisitorsTwoWebsitesDifferentDaysConversionsTest. --- plugins/Goals/Goals.php | 1 - .../System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index 381c37f7ee..a9b0577947 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -69,7 +69,6 @@ class Goals extends \Piwik\Plugin $columns = array( 'nb_conversions', 'nb_visits_converted', - 'conversion_rate', 'revenue', ); if ($idGoal === false) { diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php index 3930f833ff..88727c30a2 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php @@ -121,7 +121,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase // Tests that getting a visits summary metric (nb_visits) & a Goal's metric (Goal_revenue) // at the same time works. $dateTimeRange = '2010-01-03,2010-01-06'; - $columns = array('nb_visits', 'Goal_conversion_rate'); + $columns = array('nb_visits', 'Goal_nb_conversions'); $idSite1 = self::$fixture->idSite1; $archive = Archive::build($idSite1, 'range', $dateTimeRange); @@ -129,7 +129,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase $this->assertEquals( array( 'nb_visits' => 4, - 'Goal_conversion_rate' => 100 + 'Goal_nb_conversions' => 6 ), $result ); -- cgit v1.2.3 From cfd1626bb641f81acfc6a54962b03a785a39ee50 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 15:44:08 -0800 Subject: Fix failed phpstorm refactor. --- core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 100aa134ed..d63d9b9bc5 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -111,7 +111,7 @@ class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics sort($goals); } - $idSite = GoalSpecificRevenuePerVisit::getSiteIdFromMetadata($table); + $idSite = DataTableFactory::getSiteIdFromMetadata($table); $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); -- cgit v1.2.3 From fb5a40e46020786e0c56915fc03e54dc54e10c0f Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 15:57:45 -0800 Subject: Format metrics manually in Overlay screenshots. --- plugins/Overlay/Controller.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index c5e1d2c1c2..3d11b0dd0f 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -78,7 +78,6 @@ class Controller extends \Piwik\Plugin\Controller $dataTable = $request->process(); $formatter = new Metrics\Formatter\Html(); - $formatter->formatMetrics($dataTable, Report::factory("Actions", "getPageUrls")); $data = array(); if ($dataTable->getRowsCount() > 0) { @@ -94,6 +93,15 @@ class Controller extends \Piwik\Plugin\Controller // skip unique visitors for period != day continue; } + + if ($metric == 'bounce_rate' + || $metric == 'exit_rate' + ) { + $value = $formatter->getPrettyPercentFromQuotient($value); + } else if ($metric == 'avg_time_on_page') { + $value = $formatter->getPrettyTimeFromSeconds($value, $displayAsSentence = true); + } + $data[] = array( 'name' => $translations[$metric], 'value' => $value -- cgit v1.2.3 From 2183e1c6fe35dbd42714985ba9be52137c843dcf Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Tue, 25 Nov 2014 18:15:00 -0800 Subject: Fix API.getProcessedReport output for site search reports (do not display certain processed metrics in reports). --- .../Reports/GetPageTitlesFollowingSiteSearch.php | 5 +++++ plugins/Actions/Reports/GetSiteSearchKeywords.php | 6 ++++++ .../Reports/GetSiteSearchNoResultKeywords.php | 10 +++++++-- ...firstSite_lastN__API.getProcessedReport_day.xml | 15 -------------- ...rstSite_lastN__API.getProcessedReport_month.xml | 15 -------------- ...firstSite_lastN__API.getProcessedReport_day.xml | 15 -------------- ...rstSite_lastN__API.getProcessedReport_month.xml | 15 -------------- ...firstSite_lastN__API.getProcessedReport_day.xml | 22 ++------------------ ...rstSite_lastN__API.getProcessedReport_month.xml | 20 ++---------------- ...firstSite_lastN__API.getProcessedReport_day.xml | 14 ++----------- ...rstSite_lastN__API.getProcessedReport_month.xml | 12 ++--------- ...etReportMetadata__API.getReportMetadata_day.xml | 24 ++-------------------- 12 files changed, 29 insertions(+), 144 deletions(-) diff --git a/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php b/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php index 8e7b85ad5e..620b1af214 100644 --- a/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php +++ b/plugins/Actions/Reports/GetPageTitlesFollowingSiteSearch.php @@ -50,6 +50,11 @@ class GetPageTitlesFollowingSiteSearch extends SiteSearchBase ); } + public function getProcessedMetrics() + { + return array(); + } + protected function getMetricsDocumentation() { return array( diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php index b78a7ca409..03cbe9de14 100644 --- a/plugins/Actions/Reports/GetSiteSearchKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php @@ -41,6 +41,12 @@ class GetSiteSearchKeywords extends SiteSearchBase return array( 'nb_visits' => Piwik::translate('Actions_ColumnSearches'), 'nb_pages_per_search' => Piwik::translate('Actions_ColumnPagesPerSearch'), + ); + } + + public function getProcessedMetrics() + { + return array( 'exit_rate' => Piwik::translate('Actions_ColumnSearchExits'), ); } diff --git a/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php b/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php index 5070fcd811..94b19e8566 100644 --- a/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchNoResultKeywords.php @@ -38,8 +38,14 @@ class GetSiteSearchNoResultKeywords extends SiteSearchBase public function getMetrics() { return array( - 'nb_visits' => Piwik::translate('Actions_ColumnSearches'), - 'exit_rate' => Piwik::translate('Actions_ColumnSearchExits'), + 'nb_visits' => Piwik::translate('Actions_ColumnSearches') + ); + } + + public function getProcessedMetrics() + { + return array( + 'exit_rate' => Piwik::translate('Actions_ColumnSearchExits') ); } diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml index 4449850486..e1254c611b 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml @@ -17,12 +17,6 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> - <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> - </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_getPageTitlesFollowingSiteSearch</uniqueId> @@ -31,9 +25,6 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -41,17 +32,11 @@ <label> Im just a page</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:00:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> <row> <label> This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:03:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="Monday 4 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml index ca8b39bd80..358b09c180 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageTitlesFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml @@ -17,12 +17,6 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> - <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> - </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_getPageTitlesFollowingSiteSearch</uniqueId> @@ -31,9 +25,6 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="2010, January"> @@ -41,17 +32,11 @@ <label> Im just a page</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:00:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> <row> <label> This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:03:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="2010, February" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml index 48724d7450..a139b8c186 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_day.xml @@ -17,12 +17,6 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> - <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> - </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>Actions_getPageUrlsFollowingSiteSearch</uniqueId> @@ -31,9 +25,6 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -41,17 +32,11 @@ <label>/index.htm</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:00:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> <row> <label>/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:03:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="Monday 4 January 2010" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml index e7e1601a47..ddbfc27323 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getPageUrlsFollowingSiteSearch_firstSite_lastN__API.getProcessedReport_month.xml @@ -17,12 +17,6 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> - <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> - </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> <uniqueId>Actions_getPageUrlsFollowingSiteSearch</uniqueId> @@ -31,9 +25,6 @@ <label>Destination Page</label> <nb_hits_following_search>Clicked in search results</nb_hits_following_search> <nb_hits>Total Pageviews</nb_hits> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> </columns> <reportData> <result prettyDate="2010, January"> @@ -41,17 +32,11 @@ <label>/index.htm</label> <nb_hits>1</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:00:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> <row> <label>/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE</label> <nb_hits>2</nb_hits> <nb_hits_following_search>1</nb_hits_following_search> - <avg_time_on_page>00:03:36</avg_time_on_page> - <bounce_rate>0%</bounce_rate> - <exit_rate>0%</exit_rate> </row> </result> <result prettyDate="2010, February" /> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml index 28f1e071e8..d192eccf93 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml @@ -12,7 +12,6 @@ <metrics> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>% Search Exits</exit_rate> </metrics> <metricsDocumentation> <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> @@ -20,10 +19,7 @@ <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> + <exit_rate>% Search Exits</exit_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -33,9 +29,7 @@ <label>Keyword</label> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>Exit rate</exit_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>% Search Exits</exit_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> @@ -43,24 +37,18 @@ <label>Search 1</label> <nb_visits>2</nb_visits> <nb_pages_per_search>3</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:03:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>Search 2</label> <nb_visits>2</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>50%</exit_rate> </row> <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> @@ -69,24 +57,18 @@ <label>Final tüte Keyword Searched for now</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> </row> <row> <label>Keyword - Tracking API</label> <nb_visits>1</nb_visits> <nb_pages_per_search>2</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:04:12</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml index f1937ac0f2..307f241e93 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml @@ -12,7 +12,6 @@ <metrics> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>% Search Exits</exit_rate> </metrics> <metricsDocumentation> <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> @@ -20,10 +19,7 @@ <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> + <exit_rate>% Search Exits</exit_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> @@ -33,9 +29,7 @@ <label>Keyword</label> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>Exit rate</exit_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>% Search Exits</exit_rate> </columns> <reportData> <result prettyDate="2010, January"> @@ -43,40 +37,30 @@ <label>No Result Keyword!</label> <nb_visits>2</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:02:24</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>Search 1</label> <nb_visits>2</nb_visits> <nb_pages_per_search>3</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:03:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> <row> <label>Search 2</label> <nb_visits>2</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>50%</exit_rate> </row> <row> <label>Final tüte Keyword Searched for now</label> <nb_visits>1</nb_visits> <nb_pages_per_search>1</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:00</avg_time_on_page> <exit_rate>100%</exit_rate> </row> <row> <label>Keyword - Tracking API</label> <nb_visits>1</nb_visits> <nb_pages_per_search>2</nb_pages_per_search> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:54</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml index feb9ea7bb7..1f90a947fa 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_day.xml @@ -11,17 +11,13 @@ <documentation>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br /><br />This report lists the Search Keywords that did not return any Search result: maybe the search engine algorithm can be improved, or maybe your visitors are looking for content that is not (yet) on your website?</documentation> <metrics> <nb_visits>Searches</nb_visits> - <exit_rate>% Search Exits</exit_rate> </metrics> <metricsDocumentation> <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> + <exit_rate>% Search Exits</exit_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> @@ -30,17 +26,13 @@ <columns> <label>Keyword with No Search Result</label> <nb_visits>Searches</nb_visits> - <exit_rate>Exit rate</exit_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>% Search Exits</exit_rate> </columns> <reportData> <result prettyDate="Sunday 3 January 2010"> <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:00:36</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> @@ -48,8 +40,6 @@ <row> <label>No Result Keyword!</label> <nb_visits>1</nb_visits> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:04:12</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml index 5c02112041..8619ee693c 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchNoResultKeywords_firstSite_lastN__API.getProcessedReport_month.xml @@ -11,17 +11,13 @@ <documentation>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br /><br />This report lists the Search Keywords that did not return any Search result: maybe the search engine algorithm can be improved, or maybe your visitors are looking for content that is not (yet) on your website?</documentation> <metrics> <nb_visits>Searches</nb_visits> - <exit_rate>% Search Exits</exit_rate> </metrics> <metricsDocumentation> <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> + <exit_rate>% Search Exits</exit_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=range&date=2010-01-03,2010-07-03</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=month&date=2010-01-03,2010-07-03</imageGraphEvolutionUrl> @@ -30,17 +26,13 @@ <columns> <label>Keyword with No Search Result</label> <nb_visits>Searches</nb_visits> - <exit_rate>Exit rate</exit_rate> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> + <exit_rate>% Search Exits</exit_rate> </columns> <reportData> <result prettyDate="2010, January"> <row> <label>No Result Keyword!</label> <nb_visits>2</nb_visits> - <bounce_rate>0%</bounce_rate> - <avg_time_on_page>00:02:24</avg_time_on_page> <exit_rate>0%</exit_rate> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index e31cb79059..a55590bfb6 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -1098,7 +1098,6 @@ <metrics> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> - <exit_rate>% Search Exits</exit_rate> </metrics> <metricsDocumentation> <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> @@ -1106,10 +1105,7 @@ <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> + <exit_rate>% Search Exits</exit_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchKeywords&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1124,17 +1120,13 @@ <documentation>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br /><br />This report lists the Search Keywords that did not return any Search result: maybe the search engine algorithm can be improved, or maybe your visitors are looking for content that is not (yet) on your website?</documentation> <metrics> <nb_visits>Searches</nb_visits> - <exit_rate>% Search Exits</exit_rate> </metrics> <metricsDocumentation> <nb_visits>The number of visits that searched for this keyword on your website's search engine.</nb_visits> <exit_rate>The percentage of visits that left the website after searching for this Keyword on your Site Search engine.</exit_rate> </metricsDocumentation> <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> + <exit_rate>% Search Exits</exit_rate> </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getSiteSearchNoResultKeywords&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> @@ -1176,12 +1168,6 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> - <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> - </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageUrlsFollowingSiteSearch&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Actions_getPageUrlsFollowingSiteSearch</uniqueId> @@ -1201,12 +1187,6 @@ <nb_hits_following_search>The number of times this Page was visited after a visitor did a search on your website, and clicked on this page in the search results.</nb_hits_following_search> <nb_hits>The number of times this page was visited.</nb_hits> </metricsDocumentation> - <processedMetrics> - <avg_time_on_page>Avg. time on page</avg_time_on_page> - <bounce_rate>Bounce Rate</bounce_rate> - <exit_rate>Exit rate</exit_rate> - <avg_time_generation>Avg. generation time</avg_time_generation> - </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Actions&apiAction=getPageTitlesFollowingSiteSearch&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>Actions_getPageTitlesFollowingSiteSearch</uniqueId> -- cgit v1.2.3 From b14defe20629f7f1341f63a4ec978e194206d64d Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 11:18:39 -0800 Subject: Fixing test failures from merge. --- ...etReportMetadata__API.getReportMetadata_day.xml | 50 +++++++++---------- ...st_csvExport__Live.getLastVisitsDetails_day.csv | Bin 7680 -> 7680 bytes ...heduledReports.generateReport_week.original.csv | 10 ++-- ...eduledReports.generateReport_week.original.html | 54 ++++++++++----------- 4 files changed, 57 insertions(+), 57 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 901b065d9d..2e6f22624e 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -1832,11 +1832,10 @@ </row> <row> <category>Visitor Devices</category> - <name>Visitor Browser</name> + <name>Device brand</name> <module>DevicesDetection</module> - <action>getBrowsers</action> - <dimension>Browser</dimension> - <documentation>This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.</documentation> + <action>getBrand</action> + <dimension>Device brand</dimension> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1855,16 +1854,17 @@ <bounce_rate>Bounce Rate</bounce_rate> <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> - <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowsers&period=day&date=2009-01-04</imageGraphUrl> - <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowsers&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> - <uniqueId>DevicesDetection_getBrowsers</uniqueId> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrand&period=day&date=2009-01-04</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrand&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> + <uniqueId>DevicesDetection_getBrand</uniqueId> </row> <row> <category>Visitor Devices</category> - <name>Device brand</name> + <name>Visitor Browser</name> <module>DevicesDetection</module> - <action>getBrand</action> - <dimension>Device brand</dimension> + <action>getBrowsers</action> + <dimension>Browser</dimension> + <documentation>This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1883,16 +1883,16 @@ <bounce_rate>Bounce Rate</bounce_rate> <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> - <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrand&period=day&date=2009-01-04</imageGraphUrl> - <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrand&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> - <uniqueId>DevicesDetection_getBrand</uniqueId> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowsers&period=day&date=2009-01-04</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowsers&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> + <uniqueId>DevicesDetection_getBrowsers</uniqueId> </row> <row> <category>Visitor Devices</category> - <name>Device model</name> + <name>Browser Version</name> <module>DevicesDetection</module> - <action>getModel</action> - <dimension>Device model</dimension> + <action>getBrowserVersions</action> + <dimension>Browser version</dimension> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1911,16 +1911,16 @@ <bounce_rate>Bounce Rate</bounce_rate> <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> - <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getModel&period=day&date=2009-01-04</imageGraphUrl> - <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getModel&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> - <uniqueId>DevicesDetection_getModel</uniqueId> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowserVersions&period=day&date=2009-01-04</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowserVersions&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> + <uniqueId>DevicesDetection_getBrowserVersions</uniqueId> </row> <row> <category>Visitor Devices</category> - <name>Browser Version</name> + <name>Device model</name> <module>DevicesDetection</module> - <action>getBrowserVersions</action> - <dimension>Browser version</dimension> + <action>getModel</action> + <dimension>Device model</dimension> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1939,9 +1939,9 @@ <bounce_rate>Bounce Rate</bounce_rate> <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> - <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowserVersions&period=day&date=2009-01-04</imageGraphUrl> - <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getBrowserVersions&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> - <uniqueId>DevicesDetection_getBrowserVersions</uniqueId> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getModel&period=day&date=2009-01-04</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=DevicesDetection&apiAction=getModel&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> + <uniqueId>DevicesDetection_getModel</uniqueId> </row> <row> <category>Visitor Devices</category> diff --git a/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv b/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv index 5bec541cf6..27a8a409e0 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv and b/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index a600e41eb7..ea6ac0f953 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -474,15 +474,11 @@ Device type label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Desktop,5,16,80%,3.2,00:22:49,20% -Device brand -label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -Unknown,5,16,80%,3.2,00:22:49,20% - Visitor Browser label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Firefox,5,16,80%,3.2,00:22:49,20% -Device model +Device brand label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,5,16,80%,3.2,00:22:49,20% @@ -490,6 +486,10 @@ Browser Version label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Firefox 3.6,5,16,80%,3.2,00:22:49,20% +Device model +label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate +Unknown,5,16,80%,3.2,00:22:49,20% + Operating System families label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Windows,5,16,80%,3.2,00:22:49,20% diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index 723af81cb0..b2e8666729 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -338,11 +338,6 @@ <a href="#DevicesDetection_getType" style="text-decoration:none; color: rgb(68,68,68);"> Device type </a> - </li> - <li> - <a href="#DevicesDetection_getBrand" style="text-decoration:none; color: rgb(68,68,68);"> - Device brand - </a> </li> <li> <a href="#DevicesDetection_getBrowsers" style="text-decoration:none; color: rgb(68,68,68);"> @@ -350,14 +345,19 @@ </a> </li> <li> - <a href="#DevicesDetection_getModel" style="text-decoration:none; color: rgb(68,68,68);"> - Device model + <a href="#DevicesDetection_getBrand" style="text-decoration:none; color: rgb(68,68,68);"> + Device brand </a> </li> <li> <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);"> Browser Version </a> + </li> + <li> + <a href="#DevicesDetection_getModel" style="text-decoration:none; color: rgb(68,68,68);"> + Device model + </a> </li> <li> <a href="#DevicesDetection_getOsFamilies" style="text-decoration:none; color: rgb(68,68,68);"> @@ -6257,8 +6257,8 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;"> - Device brand +<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;"> + Visitor Browser </h2> @@ -6266,7 +6266,7 @@ <table style="border-collapse:collapse; margin-left: 5px;"> <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> <th style="padding: 6px 0;"> -  Device brand   +  Browser   </th> <th style="padding: 6px 0;">  Visits   @@ -6291,9 +6291,9 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/DevicesDetection/images/brand/Unknown.ico'> + <img src='plugins/UserSettings/images/browsers/FF.gif'>   - Unknown </td> + Firefox </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 5 </td> @@ -6319,8 +6319,8 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;"> - Visitor Browser +<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;"> + Device brand </h2> @@ -6328,7 +6328,7 @@ <table style="border-collapse:collapse; margin-left: 5px;"> <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> <th style="padding: 6px 0;"> -  Browser   +  Device brand   </th> <th style="padding: 6px 0;">  Visits   @@ -6353,9 +6353,9 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/UserSettings/images/browsers/FF.gif'> + <img src='plugins/DevicesDetection/images/brand/Unknown.ico'>   - Firefox </td> + Unknown </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 5 </td> @@ -6381,8 +6381,8 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;"> - Device model +<h2 id="DevicesDetection_getBrowserVersions" style="color: rgb(126,115,99); font-size: 11pt;"> + Browser Version </h2> @@ -6390,7 +6390,7 @@ <table style="border-collapse:collapse; margin-left: 5px;"> <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> <th style="padding: 6px 0;"> -  Device model   +  Browser version   </th> <th style="padding: 6px 0;">  Visits   @@ -6415,7 +6415,9 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Unknown </td> + <img src='plugins/UserSettings/images/browsers/FF.gif'> +   + Firefox 3.6 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 5 </td> @@ -6441,8 +6443,8 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getBrowserVersions" style="color: rgb(126,115,99); font-size: 11pt;"> - Browser Version +<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;"> + Device model </h2> @@ -6450,7 +6452,7 @@ <table style="border-collapse:collapse; margin-left: 5px;"> <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> <th style="padding: 6px 0;"> -  Browser version   +  Device model   </th> <th style="padding: 6px 0;">  Visits   @@ -6475,9 +6477,7 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/UserSettings/images/browsers/FF.gif'> -   - Firefox 3.6 </td> + Unknown </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 5 </td> -- cgit v1.2.3 From c07d730991ee8e3c616d0456b5946bb6dfdf3d5c Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 11:59:32 -0800 Subject: Fix visitors overview bounce_rate regression. --- plugins/VisitsSummary/Controller.php | 4 +--- plugins/VisitsSummary/templates/_sparklines.twig | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index 220db7891c..e3789168a1 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -147,15 +147,13 @@ class Controller extends \Piwik\Plugin\Controller $dataTableVisit = self::getVisitsSummary(); $dataRow = $dataTableVisit->getRowsCount() == 0 ? new Row() : $dataTableVisit->getFirstRow(); - $view->nbUniqVisitors = (int)$dataRow->getColumn('nb_uniq_visitors'); $view->nbUsers = (int)$dataRow->getColumn('nb_users'); $nbVisits = (int)$dataRow->getColumn('nb_visits'); $view->nbVisits = $nbVisits; $view->averageVisitDuration = $dataRow->getColumn('avg_time_on_site'); - $nbBouncedVisits = $dataRow->getColumn('bounce_count'); - $view->bounceRate = Piwik::getPercentageSafe($nbBouncedVisits, $nbVisits); + $view->bounceRate = $dataRow->getColumn('bounce_rate'); $view->maxActions = (int)$dataRow->getColumn('max_actions'); $view->nbActionsPerVisit = $dataRow->getColumn('nb_actions_per_visit'); diff --git a/plugins/VisitsSummary/templates/_sparklines.twig b/plugins/VisitsSummary/templates/_sparklines.twig index fd58642ad2..92bc44b6a0 100644 --- a/plugins/VisitsSummary/templates/_sparklines.twig +++ b/plugins/VisitsSummary/templates/_sparklines.twig @@ -18,7 +18,7 @@ </div> <div class="sparkline"> {{ sparkline(urlSparklineBounceRate)|raw }} - {{ 'VisitsSummary_NbVisitsBounced'|translate("<strong>"~bounceRate~"%</strong>")|raw }} + {{ 'VisitsSummary_NbVisitsBounced'|translate("<strong>"~bounceRate~"</strong>")|raw }} </div> <div class="sparkline"> {{ sparkline(urlSparklineActionsPerVisit)|raw }} -- cgit v1.2.3 From 32427de22b5f58738ae26a4ef1c1c12566ffa6d0 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 12:14:36 -0800 Subject: Fix percent regression in VisitFrequency overview page. --- plugins/VisitFrequency/Controller.php | 3 +-- plugins/VisitFrequency/templates/_sparklines.twig | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/VisitFrequency/Controller.php b/plugins/VisitFrequency/Controller.php index 03541de78c..ee1d3620a9 100644 --- a/plugins/VisitFrequency/Controller.php +++ b/plugins/VisitFrequency/Controller.php @@ -98,8 +98,7 @@ class Controller extends \Piwik\Plugin\Controller $view->nbActionsReturning = $dataRow->getColumn('nb_actions_returning'); $view->nbActionsPerVisitReturning = $dataRow->getColumn('nb_actions_per_visit_returning'); $view->avgVisitDurationReturning = $dataRow->getColumn('avg_time_on_site_returning'); - $nbBouncedReturningVisits = $dataRow->getColumn('bounce_count_returning'); - $view->bounceRateReturning = Piwik::getPercentageSafe($nbBouncedReturningVisits, $nbVisitsReturning); + $view->bounceRateReturning = $dataRow->getColumn('bounce_rate_returning'); } protected function getSummary() diff --git a/plugins/VisitFrequency/templates/_sparklines.twig b/plugins/VisitFrequency/templates/_sparklines.twig index 5acca4b3dc..2c2c0f81a2 100644 --- a/plugins/VisitFrequency/templates/_sparklines.twig +++ b/plugins/VisitFrequency/templates/_sparklines.twig @@ -17,6 +17,6 @@ </div> <div class="sparkline"> {{ sparkline(urlSparklineBounceRateReturning) }} - {{ 'VisitFrequency_ReturnBounceRate'|translate("<strong>"~bounceRateReturning~"%</strong>")|raw }} + {{ 'VisitFrequency_ReturnBounceRate'|translate("<strong>"~bounceRateReturning~"</strong>")|raw }} </div> {% include "_sparklineFooter.twig" %} -- cgit v1.2.3 From 8fafa666122719b7724dd0abb03780c545f201a6 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 12:32:01 -0800 Subject: Fix Goals Controller regression in UI tests. --- plugins/Goals/Controller.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php index c763ffd355..5a30166e8f 100644 --- a/plugins/Goals/Controller.php +++ b/plugins/Goals/Controller.php @@ -49,11 +49,15 @@ class Controller extends \Piwik\Plugin\Controller if ($conversionRate->getRowsCount() == 0) { $conversionRate = 0; } else { - $columns = $conversionRate->getFirstRow()->getColumns(); - $conversionRate = (float)reset($columns); + $conversionRate = $conversionRate->getFirstRow()->getColumn('conversion_rate'); } } - return sprintf('%.' . self::CONVERSION_RATE_PRECISION . 'f%%', $conversionRate); + + if (!is_numeric($conversionRate)) { + $conversionRate = sprintf('%.' . self::CONVERSION_RATE_PRECISION . 'f%%', $conversionRate); + } + + return $conversionRate; } public function __construct() @@ -145,11 +149,13 @@ class Controller extends \Piwik\Plugin\Controller // conversion rate for new and returning visitors $segment = urldecode(\Piwik\Plugins\VisitFrequency\API::RETURNING_VISITOR_SEGMENT); - $conversionRateReturning = API::getInstance()->getConversionRate($this->idSite, Common::getRequestVar('period'), Common::getRequestVar('date'), $segment, $idGoal); + $conversionRateReturning = Request::processRequest("Goals.get", array('segment' => $segment, 'idGoal' => $idGoal)); $view->conversion_rate_returning = $this->formatConversionRate($conversionRateReturning); + $segment = 'visitorType==new'; - $conversionRateNew = API::getInstance()->getConversionRate($this->idSite, Common::getRequestVar('period'), Common::getRequestVar('date'), $segment, $idGoal); + $conversionRateNew = Request::processRequest("Goals.get", array('segment' => $segment, 'idGoal' => $idGoal)); $view->conversion_rate_new = $this->formatConversionRate($conversionRateNew); + $view->goalReportsByDimension = $this->getGoalReportsByDimensionTable( $view->nb_conversions, isset($ecommerce), !empty($view->cart_nb_conversions)); return $view; -- cgit v1.2.3 From 757d47c08a0b5f51d42748c2b8c6bdd787e6ac7e Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 14:42:54 -0800 Subject: Allow ProcessedMetrics to declare some metrics as temporary so they will be removed if not explicitly requested. --- core/API/DataTablePostProcessor.php | 22 ++++++++++++++++++++++ core/Plugin/ProcessedMetric.php | 13 +++++++++++++ .../Columns/Metrics/AveragePageGenerationTime.php | 5 +++++ .../TwoVisitorsTwoWebsitesDifferentDaysTest.php | 8 +------- 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 955c51acd7..11f4126402 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -248,11 +248,33 @@ class DataTablePostProcessor || !empty($showColumns) ) { $dataTable->filter('ColumnDelete', array($hideColumns, $showColumns)); + } else { + $this->removeTemporaryMetrics($dataTable); } return $dataTable; } + /** + * @param DataTableInterface $dataTable + */ + public function removeTemporaryMetrics(DataTableInterface $dataTable) + { + $allColumns = !empty($this->report) ? $this->report->getAllMetrics() : array(); + + $report = $this->report; + $dataTable->filter(function (DataTable $table) use ($report, $allColumns) { + $processedMetrics = Report::getProcessedMetricsForTable($table, $this->report); + + $allTemporaryMetrics = array(); + foreach ($processedMetrics as $metric) { + $allTemporaryMetrics = array_merge($allTemporaryMetrics, $metric->getTemporaryMetrics()); + } + + $table->filter('ColumnDelete', array($allTemporaryMetrics)); + }); + } + /** * @param DataTableInterface $dataTable * @return DataTableInterface diff --git a/core/Plugin/ProcessedMetric.php b/core/Plugin/ProcessedMetric.php index 2280ea531e..20201d0887 100644 --- a/core/Plugin/ProcessedMetric.php +++ b/core/Plugin/ProcessedMetric.php @@ -41,6 +41,19 @@ abstract class ProcessedMetric extends Metric */ abstract public function getDependentMetrics(); + /** + * Returns the array of metrics that are necessary for computing this metric, but should not + * be displayed to the user unless explicitly requested. These metrics are intermediate + * metrics that are not really valuable to the user. On a request, if showColumns or hideColumns + * is not used, they will be removed automatically. + * + * @return string[] + */ + public function getTemporaryMetrics() + { + return array(); + } + /** * Executed before computing all processed metrics for a report. Implementers can return `false` * to skip computing this metric. diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php index f7df68aaaa..6847a7322d 100644 --- a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -40,6 +40,11 @@ class AveragePageGenerationTime extends ProcessedMetric return array('sum_time_generation', 'nb_hits_with_time_generation'); } + public function getTemporaryMetrics() + { + return array('nb_hits_with_time_generation'); + } + public function compute(Row $row) { $sumGenerationTime = $this->getMetric($row, 'sum_time_generation'); diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php index 7816253781..c9fd4f04c5 100755 --- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php +++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysTest.php @@ -62,13 +62,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysTest extends SystemTestCase $singlePeriodApi = array('VisitsSummary.get', 'Goals.get'); $periods = array('day', 'week', 'month', 'year'); -return array( - array('Goals.get', array('idSite' => 'all', - 'date' => $dateTime, - 'periods' => array('day'), - 'setDateLastN' => false, - 'testSuffix' => '_NotLastNPeriods')) -); + $result = array( // Request data for the last 6 periods and idSite=all array($apiToCall, array('idSite' => 'all', -- cgit v1.2.3 From 9c267a22546e474147b7410e4a0a41e14d5342ed Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 15:06:49 -0800 Subject: Fix several bugs causing differences in API output w/ master. --- core/Plugin/Report.php | 3 ++- plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php | 2 +- plugins/MultiSites/API.php | 2 +- plugins/VisitsSummary/API.php | 6 ++++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php index c5c50bb459..1824b6774f 100644 --- a/core/Plugin/Report.php +++ b/core/Plugin/Report.php @@ -424,7 +424,8 @@ class Report */ public function getAllMetrics() { - return array_keys(array_merge($this->getMetrics(), $this->getProcessedMetrics())); + $processedMetrics = $this->getProcessedMetrics() ?: array(); + return array_keys(array_merge($this->getMetrics(), $processedMetrics)); } /** diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php index 6847a7322d..fb01b964e3 100644 --- a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -42,7 +42,7 @@ class AveragePageGenerationTime extends ProcessedMetric public function getTemporaryMetrics() { - return array('nb_hits_with_time_generation'); + return array('sum_time_generation'); } public function compute(Row $row) diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 02b0553793..3e29b1560e 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -330,7 +330,7 @@ class API extends \Piwik\Plugin\API } else { $extraProcessedMetrics = $currentData->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); foreach ($apiMetrics as $metricSettings) { - $evolutionMetricClass = $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY] == 'revenue' + $evolutionMetricClass = $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY] == 'revenue_evolution' ? "Piwik\\Plugins\\MultiSites\\Columns\\Metrics\\RevenueEvolution" : "Piwik\\Plugins\\CoreHome\\Columns\\Metrics\\EvolutionMetric"; diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 283de2c7ee..b80c505fbb 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -34,8 +34,10 @@ class API extends \Piwik\Plugin\API $dataTable = $archive->getDataTableFromNumeric($columns); - $columnsToShow = $requestedColumns ?: $report->getAllMetrics(); - $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); + if (!empty($requestedColumns)) { + $columnsToShow = $requestedColumns ?: $report->getAllMetrics(); + $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); + } return $dataTable; } -- cgit v1.2.3 From f56c92e7648ba54ccbf6bafefaae3879c1383b0d Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 15:34:21 -0800 Subject: Fix regression in MultiSites w/ regard to master, make sure orders_evolution and ecommerce_revenue_evolution are not present if ecommerce is not enabled for the site. --- core/API/DataTablePostProcessor.php | 7 ++-- plugins/MultiSites/API.php | 26 +++++++-------- .../Columns/Metrics/RevenueEvolution.php | 37 ---------------------- ...thEnhancedAndLast7__MultiSites.getAll_month.xml | 28 ---------------- 4 files changed, 16 insertions(+), 82 deletions(-) delete mode 100644 plugins/MultiSites/Columns/Metrics/RevenueEvolution.php diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 11f4126402..b67a7ae4f2 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -367,8 +367,11 @@ class DataTablePostProcessor } foreach ($dataTable->getRows() as $row) { - if ($row->getColumn($name) === false) { // do not compute the metric if it has been computed already - $row->addColumn($name, $processedMetric->compute($row)); + if ($row->getColumn($name) === false) { // only compute the metric if it has not been computed already + $computedValue = $processedMetric->compute($row); + if ($computedValue !== false) { + $row->addColumn($name, $computedValue); + } $subtable = $row->getSubtable(); if (!empty($subtable)) { diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 3e29b1560e..b5de1060a5 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -244,18 +244,6 @@ class API extends \Piwik\Plugin\API $this->calculateEvolutionPercentages($dataTable, $pastData, $apiMetrics); } - // remove eCommerce related metrics on non eCommerce Piwik sites - // note: this is not optimal in terms of performance: those metrics should not be retrieved in the first place - if ($enhanced) { - if ($dataTable instanceof DataTable\Map) { - foreach ($dataTable->getDataTables() as $table) { - $this->removeEcommerceRelatedMetricsOnNonEcommercePiwikSites($table, $apiECommerceMetrics); - } - } else { - $this->removeEcommerceRelatedMetricsOnNonEcommercePiwikSites($dataTable, $apiECommerceMetrics); - } - } - // move the site id to a metadata column $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'group', array('\Piwik\Site', 'getGroupFor'), array())); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'main_url', array('\Piwik\Site', 'getMainUrlFor'), array())); @@ -330,8 +318,8 @@ class API extends \Piwik\Plugin\API } else { $extraProcessedMetrics = $currentData->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME); foreach ($apiMetrics as $metricSettings) { - $evolutionMetricClass = $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY] == 'revenue_evolution' - ? "Piwik\\Plugins\\MultiSites\\Columns\\Metrics\\RevenueEvolution" + $evolutionMetricClass = $this->isEcommerceEvolutionMetric($metricSettings) + ? "Piwik\\Plugins\\MultiSites\\Columns\\Metrics\\EcommerceOnlyEvolutionMetric" : "Piwik\\Plugins\\CoreHome\\Columns\\Metrics\\EvolutionMetric"; $extraProcessedMetrics[] = new $evolutionMetricClass( @@ -508,5 +496,13 @@ class API extends \Piwik\Plugin\API return $dataTable; } -} + private function isEcommerceEvolutionMetric($metricSettings) + { + return in_array($metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], array( + self::GOAL_REVENUE_METRIC . '_evolution', + self::ECOMMERCE_ORDERS_METRIC . '_evolution', + self::ECOMMERCE_REVENUE_METRIC . '_evolution' + )); + } +} \ No newline at end of file diff --git a/plugins/MultiSites/Columns/Metrics/RevenueEvolution.php b/plugins/MultiSites/Columns/Metrics/RevenueEvolution.php deleted file mode 100644 index df6b476c8c..0000000000 --- a/plugins/MultiSites/Columns/Metrics/RevenueEvolution.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php -/** - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -namespace Piwik\Plugins\MultiSites\Columns\Metrics; - -use Piwik\DataTable\Row; -use Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric; -use Piwik\Site; - -/** - * Revenue evolution. This is a special processed metric for MultiSites API methods. It will - * only be calculated for sites that have ecommerce enabled. The site is determined by the label - * of each row. - */ -class RevenueEvolution extends EvolutionMetric -{ - public function compute(Row $row) - { - $columnName = $this->getWrappedName(); - $currentValue = $this->getMetric($row, $columnName); - - // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, - // we don't add the new column - if ($currentValue === false - && !Site::isEcommerceEnabledFor($row->getColumn('label')) - ) { - return false; - } - - return parent::compute($row); - } -} \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml index 5b999ec18b..0fb183d46f 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs_withEnhancedAndLast7__MultiSites.getAll_month.xml @@ -13,8 +13,6 @@ <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>100%</revenue_evolution> <nb_conversions_evolution>100%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -31,8 +29,6 @@ <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -51,8 +47,6 @@ <pageviews_evolution>-61.5%</pageviews_evolution> <revenue_evolution>-96%</revenue_evolution> <nb_conversions_evolution>-96%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -69,8 +63,6 @@ <pageviews_evolution>-100%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -89,8 +81,6 @@ <pageviews_evolution>-100%</pageviews_evolution> <revenue_evolution>-100%</revenue_evolution> <nb_conversions_evolution>-100%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -107,8 +97,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -127,8 +115,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -145,8 +131,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -165,8 +149,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -183,8 +165,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -203,8 +183,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -221,8 +199,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> @@ -241,8 +217,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://piwik.net</main_url> <idsite>1</idsite> @@ -259,8 +233,6 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions_evolution>0%</nb_conversions_evolution> - <orders_evolution>0%</orders_evolution> - <ecommerce_revenue_evolution>0%</ecommerce_revenue_evolution> <group /> <main_url>http://example-site-two.com</main_url> <idsite>2</idsite> -- cgit v1.2.3 From 0d349bd5f2d5ac4c09d14ff39c8e1bfdecff42ed Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 13:54:19 +1300 Subject: UI screenshot test --- tests/PHPUnit/UI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI index bcdeaa3b62..1866a23780 160000 --- a/tests/PHPUnit/UI +++ b/tests/PHPUnit/UI @@ -1 +1 @@ -Subproject commit bcdeaa3b62f66494d427239ffc92410202845178 +Subproject commit 1866a237805aa4d984f8efa14c25971a2e1391e1 -- cgit v1.2.3 From e7539ffa249d841cfeb65939cbcb7878cf951352 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 14:27:01 +1300 Subject: Refactoring System check which was six year old code --- plugins/Installation/SystemCheck.php | 361 ++++++++++++++++++++++------------- 1 file changed, 232 insertions(+), 129 deletions(-) diff --git a/plugins/Installation/SystemCheck.php b/plugins/Installation/SystemCheck.php index b175528310..be456bf213 100644 --- a/plugins/Installation/SystemCheck.php +++ b/plugins/Installation/SystemCheck.php @@ -23,36 +23,16 @@ use Piwik\SettingsServer; class SystemCheck { - /** * Get system information */ public static function getSystemInformation() { global $piwik_minimumPHPVersion; - $minimumMemoryLimit = Config::getInstance()->General['minimum_memory_limit']; $infos = array(); - $directoriesToCheck = array( - '/tmp/', - '/tmp/assets/', - '/tmp/cache/', - '/tmp/climulti/', - '/tmp/latest/', - '/tmp/logs/', - '/tmp/sessions/', - '/tmp/tcpdf/', - '/tmp/templates_c/', - ); - - if (!DbHelper::isInstalled()) { - // at install, need /config to be writable (so we can create config.ini.php) - $directoriesToCheck[] = '/config/'; - } - - $infos['directories'] = Filechecks::checkDirectoriesWritable($directoriesToCheck); - + $infos['directories'] = self::getDirectoriesWritableStatus(); $infos['can_auto_update'] = Filechecks::canAutoUpdate(); self::initServerFilesForSecurity(); @@ -62,111 +42,41 @@ class SystemCheck $infos['phpVersion_ok'] = self::isPhpVersionValid($infos['phpVersion']); // critical errors - $extensions = @get_loaded_extensions(); - $needed_extensions = array( - 'zlib', - 'SPL', - 'iconv', - 'json', - 'mbstring', - ); - // HHVM provides the required subset of Reflection but lists Reflections as missing - if (!defined('HHVM_VERSION')) { - $needed_extensions[] = 'Reflection'; - } - $infos['needed_extensions'] = $needed_extensions; - $infos['missing_extensions'] = array(); - foreach ($needed_extensions as $needed_extension) { - if (!in_array($needed_extension, $extensions)) { - $infos['missing_extensions'][] = $needed_extension; - } - } - - // Special case for mbstring - if (!function_exists('mb_get_info') - || ((int)ini_get('mbstring.func_overload')) != 0) { - $infos['missing_extensions'][] = 'mbstring'; - } - - $infos['pdo_ok'] = false; - if (in_array('PDO', $extensions)) { - $infos['pdo_ok'] = true; - } + $infos['needed_extensions'] = self::getRequiredExtensions(); + $infos['missing_extensions'] = self::getRequiredExtensionsMissing(); + $infos['pdo_ok'] = self::isPhpExtensionLoaded('PDO'); $infos['adapters'] = Adapter::getAdapters(); - $needed_functions = array( - 'debug_backtrace', - 'create_function', - 'eval', - 'gzcompress', - 'gzuncompress', - 'pack', - ); - $infos['needed_functions'] = $needed_functions; - $infos['missing_functions'] = array(); - foreach ($needed_functions as $needed_function) { - if (!self::functionExists($needed_function)) { - $infos['missing_functions'][] = $needed_function; - } - } + $infos['needed_functions'] = self::getRequiredFunctions(); + $infos['missing_functions'] = self::getRequiredFunctionsMissing();; // warnings - $desired_extensions = array( - 'json', - 'libxml', - 'dom', - 'SimpleXML', - ); - $infos['desired_extensions'] = $desired_extensions; - $infos['missing_desired_extensions'] = array(); - foreach ($desired_extensions as $desired_extension) { - if (!in_array($desired_extension, $extensions)) { - $infos['missing_desired_extensions'][] = $desired_extension; - } - } - $desired_functions = array( - 'set_time_limit', - 'mail', - 'parse_ini_file', - 'glob', - 'gzopen', - ); - $infos['missing_desired_functions'] = array(); - foreach ($desired_functions as $desired_function) { - if (!self::functionExists($desired_function)) { - $infos['missing_desired_functions'][] = $desired_function; - } - } + $infos['desired_extensions'] = self::getRecommendedExtensions(); + $infos['missing_desired_extensions'] = self::getRecommendedExtensionsMissing(); - $sessionAutoStarted = (int)ini_get('session.auto_start'); - if ($sessionAutoStarted) { - $infos['missing_desired_functions'][] = 'session.auto_start'; - } + $infos['missing_desired_functions'] = self::getRecommendedFunctionsMissing(); + //TODO create recommended settings $desired_settings = array( 'session.auto_start', ); - $infos['desired_functions'] = array_merge($desired_functions, $desired_settings); + $infos['desired_functions'] = array_merge(self::getRecommendedFunctions(), $desired_settings); $infos['openurl'] = Http::getTransportMethod(); - $infos['gd_ok'] = SettingsServer::isGdExtensionEnabled(); - - $serverSoftware = isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : ''; - $infos['serverVersion'] = addslashes($serverSoftware); + $infos['serverVersion'] = addslashes(isset($_SERVER['SERVER_SOFTWARE']) ?: ''); $infos['serverOs'] = @php_uname(); $infos['serverTime'] = date('H:i:s'); - $infos['memoryMinimum'] = $minimumMemoryLimit; - + $infos['memoryMinimum'] = self::getMinimumRecommendedMemoryLimit(); $infos['memory_ok'] = true; $infos['memoryCurrent'] = ''; - $raised = SettingsServer::raiseMemoryLimitIfNecessary(); + SettingsServer::raiseMemoryLimitIfNecessary(); if (($memoryValue = SettingsServer::getMemoryLimitValue()) > 0) { $infos['memoryCurrent'] = $memoryValue . 'M'; - $infos['memory_ok'] = $memoryValue >= $minimumMemoryLimit; + $infos['memory_ok'] = $memoryValue >= self::getMinimumRecommendedMemoryLimit(); } $infos['isWindows'] = SettingsServer::isWindows(); @@ -189,7 +99,6 @@ class SystemCheck $infos['tracker_status'] = Common::getRequestVar('trackerStatus', 0, 'int'); - // check if filesystem is NFS, if it is file based sessions won't work properly $infos['is_nfs'] = Filesystem::checkIfFileSystemIsNFS(); $infos = self::enrichSystemChecks($infos); @@ -197,6 +106,9 @@ class SystemCheck } /** + * This can be overriden to provide a Customised System Check. + * + * @api * @param $infos * @return mixed */ @@ -228,31 +140,91 @@ class SystemCheck } /** - * Test if function exists. Also handles case where function is disabled via Suhosin. - * - * @param string $functionName Function name - * @return bool True if function exists (not disabled); False otherwise. + * @return array */ - public static function functionExists($functionName) + protected static function getDirectoriesShouldBeWritable() { - // eval() is a language construct - if ($functionName == 'eval') { - // does not check suhosin.executor.eval.whitelist (or blacklist) - if (extension_loaded('suhosin')) { - return @ini_get("suhosin.executor.disable_eval") != "1"; - } - return true; + $directoriesToCheck = array( + '/tmp/', + '/tmp/assets/', + '/tmp/cache/', + '/tmp/climulti/', + '/tmp/latest/', + '/tmp/logs/', + '/tmp/sessions/', + '/tmp/tcpdf/', + '/tmp/templates_c/', + ); + + if (!DbHelper::isInstalled()) { + // at install, need /config to be writable (so we can create config.ini.php) + $directoriesToCheck[] = '/config/'; + return $directoriesToCheck; } + return $directoriesToCheck; + } - $exists = function_exists($functionName); - if (extension_loaded('suhosin')) { - $blacklist = @ini_get("suhosin.executor.func.blacklist"); - if (!empty($blacklist)) { - $blacklistFunctions = array_map('strtolower', array_map('trim', explode(',', $blacklist))); - return $exists && !in_array($functionName, $blacklistFunctions); - } + /** + * @return array + */ + protected static function getRequiredFunctions() + { + return $needed_functions = array( + 'debug_backtrace', + 'create_function', + 'eval', + 'gzcompress', + 'gzuncompress', + 'pack', + ); + } + + /** + * @return array + */ + protected static function getRecommendedExtensions() + { + return array( + 'json', + 'libxml', + 'dom', + 'SimpleXML', + ); + } + + /** + * @return array + */ + protected static function getRecommendedFunctions() + { + return array( + 'set_time_limit', + 'mail', + 'parse_ini_file', + 'glob', + 'gzopen', + ); + } + + /** + * @return array + */ + protected static function getRequiredExtensions() + { + $requiredExtensions = array( + 'zlib', + 'SPL', + 'iconv', + 'json', + 'mbstring', + ); + + if (!defined('HHVM_VERSION')) { + // HHVM provides the required subset of Reflection but lists Reflections as missing + $requiredExtensions[] = 'Reflection'; } - return $exists; + + return $requiredExtensions; } /** @@ -276,6 +248,34 @@ class SystemCheck return $result; } + /** + * Test if function exists. Also handles case where function is disabled via Suhosin. + * + * @param string $functionName Function name + * @return bool True if function exists (not disabled); False otherwise. + */ + protected static function functionExists($functionName) + { + // eval() is a language construct + if ($functionName == 'eval') { + // does not check suhosin.executor.eval.whitelist (or blacklist) + if (extension_loaded('suhosin')) { + return @ini_get("suhosin.executor.disable_eval") != "1"; + } + return true; + } + + $exists = function_exists($functionName); + if (extension_loaded('suhosin')) { + $blacklist = @ini_get("suhosin.executor.func.blacklist"); + if (!empty($blacklist)) { + $blacklistFunctions = array_map('strtolower', array_map('trim', explode(',', $blacklist))); + return $exists && !in_array($functionName, $blacklistFunctions); + } + } + return $exists; + } + private static function checkGeolocation(&$result) { $currentProviderId = LocationProvider::getCurrentProviderId(); @@ -320,13 +320,11 @@ class SystemCheck { ServerFilesGenerator::createWebConfigFiles(); ServerFilesGenerator::createHtAccessFiles(); - ServerFilesGenerator::createWebRootFiles(); } /** - * @param $piwik_minimumPHPVersion - * @param $infos + * @param string $phpVersion * @return bool */ public static function isPhpVersionValid($phpVersion) @@ -335,4 +333,109 @@ class SystemCheck return version_compare($piwik_minimumPHPVersion, $phpVersion) <= 0; } + /** + * @return array + */ + protected static function getDirectoriesWritableStatus() + { + $directoriesToCheck = self::getDirectoriesShouldBeWritable(); + $directoriesWritableStatus = Filechecks::checkDirectoriesWritable($directoriesToCheck); + return $directoriesWritableStatus; + } + + /** + * @return array + */ + protected static function getLoadedExtensions() + { + static $extensions = null; + + if(is_null($extensions)) { + $extensions = @get_loaded_extensions(); + } + return $extensions; + } + + + /** + * @param $needed_extension + * @return bool + */ + protected static function isPhpExtensionLoaded($needed_extension) + { + return in_array($needed_extension, self::getLoadedExtensions()); + } + + /** + * @return array + */ + protected static function getRequiredExtensionsMissing() + { + $missingExtensions = array(); + foreach (self::getRequiredExtensions() as $needed_extension) { + if (!self::isPhpExtensionLoaded($needed_extension)) { + $missingExtensions[] = $needed_extension; + } + } + + // Special case for mbstring + if (!function_exists('mb_get_info') + || ((int)ini_get('mbstring.func_overload')) != 0) { + $missingExtensions[] = 'mbstring'; + } + + return $missingExtensions; + } + + /** + * @return array + */ + protected static function getRecommendedExtensionsMissing() + { + return array_diff(self::getRecommendedExtensions(), self::getLoadedExtensions()); + } + + /** + * @return array + */ + protected static function getRecommendedFunctionsMissing() + { + $recommendedFunctionsMissing = self::getFunctionsMissing(self::getRecommendedFunctions()); + + $sessionAutoStarted = (int)ini_get('session.auto_start'); + if ($sessionAutoStarted) { + $recommendedFunctionsMissing[] = 'session.auto_start'; + } + + return $recommendedFunctionsMissing; + } + + /** + * @return array + */ + protected static function getRequiredFunctionsMissing() + { + return self::getFunctionsMissing(self::getRequiredFunctions()); + } + + protected static function getFunctionsMissing($functionsToTestFor) + { + $missingFunctions = array(); + foreach ($functionsToTestFor as $function) { + if (!self::functionExists($function)) { + $missingFunctions[] = $function; + } + } + return $missingFunctions; + } + + /** + * @return mixed + */ + protected static function getMinimumRecommendedMemoryLimit() + { + return Config::getInstance()->General['minimum_memory_limit']; + } + + } \ No newline at end of file -- cgit v1.2.3 From 04ee32f702ce3da3f1deb67302e689afecbe0b50 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 15:16:38 +1300 Subject: Fixes #6468 Error in system check when always_populate_raw_post_data is not -1 on PHP 5.6+ --- plugins/Installation/Controller.php | 65 +++++++++++++-------- plugins/Installation/SystemCheck.php | 66 ++++++++++++++++------ plugins/Installation/lang/en.json | 3 +- .../templates/_systemCheckSection.twig | 30 ++++++++-- 4 files changed, 116 insertions(+), 48 deletions(-) diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php index 28650856d9..69b14c7a89 100644 --- a/plugins/Installation/Controller.php +++ b/plugins/Installation/Controller.php @@ -635,30 +635,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin { $view->infos = self::getSystemInformation(); - $view->helpMessages = array( - 'zlib' => 'Installation_SystemCheckZlibHelp', - 'gzopen' => 'Installation_SystemCheckZlibHelp', - 'SPL' => 'Installation_SystemCheckSplHelp', - 'iconv' => 'Installation_SystemCheckIconvHelp', - 'mbstring' => 'Installation_SystemCheckMbstringHelp', - 'Reflection' => 'Required extension that is built in PHP, see http://www.php.net/manual/en/book.reflection.php', - 'json' => 'Installation_SystemCheckWarnJsonHelp', - 'libxml' => 'Installation_SystemCheckWarnLibXmlHelp', - 'dom' => 'Installation_SystemCheckWarnDomHelp', - 'SimpleXML' => 'Installation_SystemCheckWarnSimpleXMLHelp', - 'set_time_limit' => 'Installation_SystemCheckTimeLimitHelp', - 'mail' => 'Installation_SystemCheckMailHelp', - 'parse_ini_file' => 'Installation_SystemCheckParseIniFileHelp', - 'glob' => 'Installation_SystemCheckGlobHelp', - 'debug_backtrace' => 'Installation_SystemCheckDebugBacktraceHelp', - 'create_function' => 'Installation_SystemCheckCreateFunctionHelp', - 'eval' => 'Installation_SystemCheckEvalHelp', - 'gzcompress' => 'Installation_SystemCheckGzcompressHelp', - 'gzuncompress' => 'Installation_SystemCheckGzuncompressHelp', - 'pack' => 'Installation_SystemCheckPackHelp', - 'php5-json' => 'Installation_SystemCheckJsonHelp', - 'session.auto_start' => 'Installation_SystemCheckSessionAutostart', - ); + $view->helpMessages = $this->getSystemCheckHelpMessages(); $view->problemWithSomeDirectories = (false !== array_search(false, $view->infos['directories'])); } @@ -746,4 +723,44 @@ class Controller extends \Piwik\Plugin\ControllerAdmin return $result; }); } + + /** + * @return array + */ + private function getSystemCheckHelpMessages() + { + $helpMessages = array( + // Extensions + 'zlib' => 'Installation_SystemCheckZlibHelp', + 'gzopen' => 'Installation_SystemCheckZlibHelp', + 'SPL' => 'Installation_SystemCheckSplHelp', + 'iconv' => 'Installation_SystemCheckIconvHelp', + 'mbstring' => 'Installation_SystemCheckMbstringHelp', + 'Reflection' => 'Required extension that is built in PHP, see http://www.php.net/manual/en/book.reflection.php', + 'json' => 'Installation_SystemCheckWarnJsonHelp', + 'libxml' => 'Installation_SystemCheckWarnLibXmlHelp', + 'dom' => 'Installation_SystemCheckWarnDomHelp', + 'SimpleXML' => 'Installation_SystemCheckWarnSimpleXMLHelp', + + // Functions + 'set_time_limit' => 'Installation_SystemCheckTimeLimitHelp', + 'mail' => 'Installation_SystemCheckMailHelp', + 'parse_ini_file' => 'Installation_SystemCheckParseIniFileHelp', + 'glob' => 'Installation_SystemCheckGlobHelp', + 'debug_backtrace' => 'Installation_SystemCheckDebugBacktraceHelp', + 'create_function' => 'Installation_SystemCheckCreateFunctionHelp', + 'eval' => 'Installation_SystemCheckEvalHelp', + 'gzcompress' => 'Installation_SystemCheckGzcompressHelp', + 'gzuncompress' => 'Installation_SystemCheckGzuncompressHelp', + 'pack' => 'Installation_SystemCheckPackHelp', + 'php5-json' => 'Installation_SystemCheckJsonHelp', + ); + + // Add standard message for required PHP.ini settings + $requiredSettings = SystemCheck::getRequiredPhpSettings(); + foreach($requiredSettings as $requiredSetting) { + $helpMessages[$requiredSetting] = Piwik::translate('Installation_SystemCheckPhpSetting', $requiredSetting); + } + return $helpMessages; + } } diff --git a/plugins/Installation/SystemCheck.php b/plugins/Installation/SystemCheck.php index be456bf213..7ff40b672a 100644 --- a/plugins/Installation/SystemCheck.php +++ b/plugins/Installation/SystemCheck.php @@ -55,13 +55,11 @@ class SystemCheck $infos['desired_extensions'] = self::getRecommendedExtensions(); $infos['missing_desired_extensions'] = self::getRecommendedExtensionsMissing(); + $infos['desired_functions'] = self::getRecommendedFunctions(); $infos['missing_desired_functions'] = self::getRecommendedFunctionsMissing(); - //TODO create recommended settings - $desired_settings = array( - 'session.auto_start', - ); - $infos['desired_functions'] = array_merge(self::getRecommendedFunctions(), $desired_settings); + $infos['needed_settings'] = self::getRequiredPhpSettings(); + $infos['missing_settings'] = self::getMissingPhpSettings(); $infos['openurl'] = Http::getTransportMethod(); $infos['gd_ok'] = SettingsServer::isGdExtensionEnabled(); @@ -159,7 +157,6 @@ class SystemCheck if (!DbHelper::isInstalled()) { // at install, need /config to be writable (so we can create config.ini.php) $directoriesToCheck[] = '/config/'; - return $directoriesToCheck; } return $directoriesToCheck; } @@ -169,7 +166,7 @@ class SystemCheck */ protected static function getRequiredFunctions() { - return $needed_functions = array( + return array( 'debug_backtrace', 'create_function', 'eval', @@ -372,9 +369,9 @@ class SystemCheck protected static function getRequiredExtensionsMissing() { $missingExtensions = array(); - foreach (self::getRequiredExtensions() as $needed_extension) { - if (!self::isPhpExtensionLoaded($needed_extension)) { - $missingExtensions[] = $needed_extension; + foreach (self::getRequiredExtensions() as $requiredExtension) { + if (!self::isPhpExtensionLoaded($requiredExtension)) { + $missingExtensions[] = $requiredExtension; } } @@ -400,14 +397,7 @@ class SystemCheck */ protected static function getRecommendedFunctionsMissing() { - $recommendedFunctionsMissing = self::getFunctionsMissing(self::getRecommendedFunctions()); - - $sessionAutoStarted = (int)ini_get('session.auto_start'); - if ($sessionAutoStarted) { - $recommendedFunctionsMissing[] = 'session.auto_start'; - } - - return $recommendedFunctionsMissing; + return self::getFunctionsMissing(self::getRecommendedFunctions()); } /** @@ -437,5 +427,45 @@ class SystemCheck return Config::getInstance()->General['minimum_memory_limit']; } + private static function isPhpVersionAtLeast56() + { + return version_compare( PHP_VERSION, '5.6', '>='); + } + + /** + * @return array + */ + public static function getRequiredPhpSettings() + { + $requiredPhpSettings = array( + // setting = required value + // Note: value must be an integer only + 'session.auto_start=0', + ); + if (self::isPhpVersionAtLeast56()) { + // always_populate_raw_post_data must be -1 + $requiredPhpSettings[] = 'always_populate_raw_post_data=-1'; + } + return $requiredPhpSettings; + } + + /** + * @return array + */ + protected static function getMissingPhpSettings() + { + $missingPhpSettings = array(); + foreach(self::getRequiredPhpSettings() as $requiredSetting) { + list($requiredSettingName, $requiredSettingValue) = explode('=', $requiredSetting); + + $currentValue = ini_get($requiredSettingName); + $currentValue = (int)$currentValue; + + if($currentValue != $requiredSettingValue) { + $missingPhpSettings[] = $requiredSetting; + } + } + return $missingPhpSettings; + } } \ No newline at end of file diff --git a/plugins/Installation/lang/en.json b/plugins/Installation/lang/en.json index d8e8b972d3..da68049906 100644 --- a/plugins/Installation/lang/en.json +++ b/plugins/Installation/lang/en.json @@ -95,6 +95,7 @@ "SystemCheckPhp": "PHP version", "SystemCheckPhpPdoAndMysqli": "More information on: %1$sPHP PDO%2$s and %3$sMYSQLI%4$s.", "SystemCheckSplHelp": "You need to configure and rebuild PHP with the Standard PHP Library (SPL) enabled (by default).", + "SystemCheckSettings": "Required PHP configuration (php.ini)", "SystemCheckSummaryNoProblems": "Huzzah! There are no problems with your Piwik setup. Give yourself a pat on the back.", "SystemCheckSummaryThereWereErrors": "Uh-oh! Piwik has detected some %1$scritical issues%2$s with your Piwik setup. %3$sThese issues should be fixed immediately.%4$s", "SystemCheckSummaryThereWereWarnings": "There are some issues with your system. Piwik will run, but you might experience some minor problems.", @@ -112,7 +113,7 @@ "SystemCheckZlibHelp": "You need to configure and rebuild PHP with \"zlib\" support enabled, --with-zlib.", "SystemCheckCronArchiveProcess": "Archive Cron", "SystemCheckCronArchiveProcessCLI": "Managing processes via CLI", - "SystemCheckSessionAutostart": "To prevent some issues please set the following in your php.ini file: session.auto_start=0", + "SystemCheckPhpSetting": "To prevent some critical issue, you must set the following in your php.ini file: %s", "NotSupported": "not supported", "Tables": "Creating the Tables", "TablesCreatedSuccess": "Tables created with success!", diff --git a/plugins/Installation/templates/_systemCheckSection.twig b/plugins/Installation/templates/_systemCheckSection.twig index 22247455ae..f9a4b6d474 100755 --- a/plugins/Installation/templates/_systemCheckSection.twig +++ b/plugins/Installation/templates/_systemCheckSection.twig @@ -56,14 +56,13 @@ {% for needed_extension in infos.needed_extensions %} {% if needed_extension in infos.missing_extensions %} {{ error }} - {% set hasError %}1{% endset %} + <br/>{{ 'Installation_RestartWebServer'|translate }} {% else %} {{ ok }} {% endif %} {{ needed_extension }} <br/> {% endfor %} - <br/>{% if hasError is defined %}{{ 'Installation_RestartWebServer'|translate }}{% endif %} </td> </tr> {% if infos.missing_extensions|length > 0 %} @@ -84,16 +83,37 @@ {% if needed_function in infos.missing_functions %} {{ error }} <span class='err'>{{ needed_function }}</span> - {% set hasError %}1{% endset %} <p> - <em>{{ helpMessages[needed_function]|translate }}</em> + <em> + {{ helpMessages[needed_function]|translate }} + <br/>{{ 'Installation_RestartWebServer'|translate }} + </em> </p> {% else %} {{ ok }} {{ needed_function }} <br/> {% endif %} {% endfor %} - <br/>{% if hasError is defined %}{{ 'Installation_RestartWebServer'|translate }}{% endif %} + </td> + </tr> + <tr> + <td class="label">{{ 'Installation_SystemCheckSettings'|translate }}</td> + <td> + {% for needed_setting in infos.needed_settings %} + {% if needed_setting in infos.missing_settings %} + {{ error }} + <span class='err'>{{ needed_setting }}</span> + <p> + <em> + {{ helpMessages[needed_setting]|translate }} + <br/>{{ 'Installation_RestartWebServer'|translate }} + </em> + </p> + {% else %} + {{ ok }} {{ needed_setting }} + <br/> + {% endif %} + {% endfor %} </td> </tr> <tr> -- cgit v1.2.3 From 18e0043819dc67246bc54497b861139b3663d231 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 18:20:09 -0800 Subject: Fixing lots of system tests. --- core/API/DataTablePostProcessor.php | 4 +- .../Columns/Metrics/AveragePageGenerationTime.php | 10 +- plugins/MultiSites/Reports/Base.php | 10 +- plugins/MultiSites/Reports/GetAll.php | 1 - plugins/MultiSites/Reports/GetOne.php | 1 - ...veCronTest_noOptions__VisitsSummary.get_day.xml | 3 + ...CronTest_noOptions__VisitsSummary.get_month.xml | 6 + ...ewDataShouldAppear__VisitsSummary.get_month.xml | 3 + ...ataShouldNotAppear__VisitsSummary.get_month.xml | 3 + ...ewDataShouldAppear__VisitsSummary.get_month.xml | 3 + ...ekWasNotInvalidated__VisitsSummary.get_week.xml | 3 + ...ataShouldNotAppear__VisitsSummary.get_month.xml | 3 + ...estAPITest_actions__VisitsSummary.get_range.xml | 3 + ...PITest_browserCode__VisitsSummary.get_range.xml | 3 + ...Test_browserEngine__VisitsSummary.get_range.xml | 3 + ...est_browserVersion__VisitsSummary.get_range.xml | 3 + ...uggestAPITest_city__VisitsSummary.get_range.xml | 3 + ...Test_continentCode__VisitsSummary.get_range.xml | 3 + ...PITest_countryCode__VisitsSummary.get_range.xml | 3 + ...ustomVariableName1__VisitsSummary.get_range.xml | 3 + ...ustomVariableName5__VisitsSummary.get_range.xml | 3 + ...mVariablePageName2__VisitsSummary.get_range.xml | 3 + ...mVariablePageName4__VisitsSummary.get_range.xml | 3 + ...mVariablePageName5__VisitsSummary.get_range.xml | 3 + ...VariablePageValue2__VisitsSummary.get_range.xml | 3 + ...VariablePageValue4__VisitsSummary.get_range.xml | 3 + ...VariablePageValue5__VisitsSummary.get_range.xml | 3 + ...stomVariableValue1__VisitsSummary.get_range.xml | 3 + ...stomVariableValue5__VisitsSummary.get_range.xml | 3 + ...aysSinceFirstVisit__VisitsSummary.get_range.xml | 3 + ...LastEcommerceOrder__VisitsSummary.get_range.xml | 3 + ...daysSinceLastVisit__VisitsSummary.get_range.xml | 3 + ...APITest_deviceType__VisitsSummary.get_range.xml | 3 + ...est_entryPageTitle__VisitsSummary.get_range.xml | 3 + ...ITest_entryPageUrl__VisitsSummary.get_range.xml | 3 + ...PITest_eventAction__VisitsSummary.get_range.xml | 3 + ...Test_eventCategory__VisitsSummary.get_range.xml | 3 + ...tAPITest_eventName__VisitsSummary.get_range.xml | 3 + ...gestAPITest_events__VisitsSummary.get_range.xml | 3 + ...Test_exitPageTitle__VisitsSummary.get_range.xml | 3 + ...PITest_exitPageUrl__VisitsSummary.get_range.xml | 3 + ...stAPITest_latitude__VisitsSummary.get_range.xml | 3 + ...tAPITest_longitude__VisitsSummary.get_range.xml | 3 + ...peratingSystemCode__VisitsSummary.get_range.xml | 3 + ...tAPITest_pageTitle__VisitsSummary.get_range.xml | 3 + ...estAPITest_pageUrl__VisitsSummary.get_range.xml | 3 + ...stAPITest_provider__VisitsSummary.get_range.xml | 3 + ...st_referrerKeyword__VisitsSummary.get_range.xml | 3 + ...ITest_referrerName__VisitsSummary.get_range.xml | 3 + ...ITest_referrerType__VisitsSummary.get_range.xml | 3 + ...PITest_referrerUrl__VisitsSummary.get_range.xml | 3 + ...APITest_regionCode__VisitsSummary.get_range.xml | 3 + ...APITest_resolution__VisitsSummary.get_range.xml | 3 + ...stAPITest_searches__VisitsSummary.get_range.xml | 3 + ..._siteSearchKeyword__VisitsSummary.get_range.xml | 3 + ...gestAPITest_userId__VisitsSummary.get_range.xml | 3 + ...sitConvertedGoalId__VisitsSummary.get_range.xml | 3 + ...est_visitConverted__VisitsSummary.get_range.xml | 3 + ...APITest_visitCount__VisitsSummary.get_range.xml | 3 + ...Test_visitDuration__VisitsSummary.get_range.xml | 3 + ...sitEcommerceStatus__VisitsSummary.get_range.xml | 3 + ...estAPITest_visitIp__VisitsSummary.get_range.xml | 3 + ...est_visitLocalHour__VisitsSummary.get_range.xml | 3 + ...st_visitServerHour__VisitsSummary.get_range.xml | 3 + ...tAPITest_visitorId__VisitsSummary.get_range.xml | 3 + ...PITest_visitorType__VisitsSummary.get_range.xml | 3 + ...Compatibility1XTest__VisitFrequency.get_day.xml | 3 + ...mpatibility1XTest__VisitFrequency.get_month.xml | 3 + ...mpatibility1XTest__VisitFrequency.get_range.xml | 3 + ...ompatibility1XTest__VisitFrequency.get_week.xml | 3 + ...ompatibility1XTest__VisitFrequency.get_year.xml | 3 + ...XTest_multipleDates__VisitFrequency.get_day.xml | 3 + ...st_multipleOldNew__VisitFrequency.get_month.xml | 6 + .../test_CustomEvents__Actions.getPageUrls_day.xml | 2 - ...est_CustomEvents__Actions.getPageUrls_month.xml | 2 - ...st_FlattenReports__Actions.getPageUrls_week.xml | 12 -- ..._expandedSubtable__Actions.getPageUrls_week.xml | 5 - ...expandedWithDepth__Actions.getPageUrls_week.xml | 8 - ...rPatternRecursive__Actions.getPageUrls_week.xml | 3 - ...rts_withAggregate__Actions.getPageUrls_week.xml | 20 -- ...mportLogs__Actions.getEntryPageTitles_range.xml | 13 -- ..._ImportLogs__Actions.getEntryPageUrls_range.xml | 41 ---- ...ImportLogs__Actions.getExitPageTitles_range.xml | 15 -- ...t_ImportLogs__Actions.getExitPageUrls_range.xml | 42 ---- ...est_ImportLogs__Actions.getPageTitles_range.xml | 18 -- .../test_ImportLogs__Actions.getPageUrls_day.xml | 11 - .../test_ImportLogs__Actions.getPageUrls_range.xml | 46 ---- .../test_ImportLogs__VisitFrequency.get_month.xml | 3 + .../test_ImportLogs__VisitFrequency.get_range.xml | 3 + .../test_ImportLogs__VisitsSummary.get_month.xml | 3 + ...ckedUsingLogReplay__VisitsSummary.get_month.xml | 3 + ...test_LabelFilter_0__Actions.getPageUrls_day.xml | 1 - ...st_LabelFilter_dir__Actions.getPageUrls_day.xml | 1 - ...elFilter_dir_range__Actions.getPageUrls_day.xml | 1 - ...lephpfoobarfoo2bar__Actions.getPageUrls_day.xml | 1 - ...tor_selectBranch__Actions.getPageTitles_day.xml | 1 - ...r_selectTerminal__Actions.getPageTitles_day.xml | 1 - ...tor_selectTerminal__Actions.getPageUrls_day.xml | 1 - ...lFilter_thisiscool__Actions.getPageUrls_day.xml | 1 - ..._titlesRecursive__Actions.getPageTitles_day.xml | 1 - ...belFilter_titles__Actions.getPageTitles_day.xml | 1 - ...ivingTest_sitesGroup__VisitsSummary.get_day.xml | 3 + ...ingTest_sitesGroup__VisitsSummary.get_month.xml | 3 + ...OneVisitorTwoVisits__VisitFrequency.get_day.xml | 3 + ..._OneVisitorTwoVisits__VisitsSummary.get_day.xml | 3 + ...torTwoVisits_bulk_json__API.getBulkRequest.json | 2 +- ...sitorTwoVisits_bulk_xml__API.getBulkRequest.xml | 6 + ...test_OneVisitorTwoVisits_csv__API.get_month.csv | Bin 1494 -> 1444 bytes ...okieSupport__Actions.getEntryPageTitles_day.xml | 3 - ...CookieSupport__Actions.getEntryPageUrls_day.xml | 3 - ...ookieSupport__Actions.getExitPageTitles_day.xml | 3 - ...hCookieSupport__Actions.getExitPageUrls_day.xml | 3 - ...withCookieSupport__Actions.getPageTitle_day.xml | 1 - ...ctions.getPageTitlesFollowingSiteSearch_day.xml | 1 - ...ithCookieSupport__Actions.getPageTitles_day.xml | 5 - ...s_withCookieSupport__Actions.getPageUrl_day.xml | 1 - ..._Actions.getPageUrlsFollowingSiteSearch_day.xml | 1 - ..._withCookieSupport__Actions.getPageUrls_day.xml | 5 - ...s_withCookieSupport__VisitFrequency.get_day.xml | 3 + ...ts_withCookieSupport__VisitsSummary.get_day.xml | 3 + ...estsCampaignTracking__VisitsSummary.get_day.xml | 3 + ...esTest_dayAfterVisit__VisitsSummary.get_day.xml | 3 + ...ezonesTest_withVisit__VisitsSummary.get_day.xml | 3 + ...sabled_disabledAfter__VisitsSummary.get_day.xml | 3 + ...bled_disabledAfter__VisitsSummary.get_month.xml | 6 + ...abled_disabledAfter__VisitsSummary.get_week.xml | 3 + ...abled_disabledAfter__VisitsSummary.get_year.xml | 6 + ...Before_isDateRange__VisitsSummary.get_range.xml | 6 + ...Before_isDateRange__VisitsSummary.get_range.xml | 6 + ...vingDisabled_enabled__VisitsSummary.get_day.xml | 3 + ...ngDisabled_enabled__VisitsSummary.get_month.xml | 6 + ...ingDisabled_enabled__VisitsSummary.get_week.xml | 3 + ...ingDisabled_enabled__VisitsSummary.get_year.xml | 6 + ...ions_NotLastNPeriods__VisitsSummary.get_day.xml | 3 + ...ns_NotLastNPeriods__VisitsSummary.get_month.xml | 6 + ...Days_NotLastNPeriods__VisitsSummary.get_day.xml | 3 + ...ys_NotLastNPeriods__VisitsSummary.get_month.xml | 6 + ...tes_differentDays__Actions.getPageTitle_day.xml | 1 - ...s_differentDays__Actions.getPageTitle_month.xml | 1 - ...es_differentDays__Actions.getPageTitle_week.xml | 1 - ...es_differentDays__Actions.getPageTitle_year.xml | 1 - ...es_differentDays__Actions.getPageTitles_day.xml | 34 --- ..._differentDays__Actions.getPageTitles_month.xml | 10 - ...s_differentDays__Actions.getPageTitles_week.xml | 16 -- ...s_differentDays__Actions.getPageTitles_year.xml | 10 - ...sites_differentDays__Actions.getPageUrl_day.xml | 1 - ...tes_differentDays__Actions.getPageUrl_month.xml | 1 - ...ites_differentDays__Actions.getPageUrl_week.xml | 1 - ...ites_differentDays__Actions.getPageUrl_year.xml | 1 - ...ites_differentDays__Actions.getPageUrls_day.xml | 20 -- ...es_differentDays__Actions.getPageUrls_month.xml | 6 - ...tes_differentDays__Actions.getPageUrls_week.xml | 10 - ...tes_differentDays__Actions.getPageUrls_year.xml | 6 - ...sites_differentDays__VisitFrequency.get_day.xml | 15 ++ ...tes_differentDays__VisitFrequency.get_month.xml | 3 + ...ites_differentDays__VisitFrequency.get_week.xml | 6 + ...ites_differentDays__VisitFrequency.get_year.xml | 3 + ...bsites_differentDays__VisitsSummary.get_day.xml | 24 +++ ...ites_differentDays__VisitsSummary.get_month.xml | 6 + ...sites_differentDays__VisitsSummary.get_week.xml | 12 ++ ...sites_differentDays__VisitsSummary.get_year.xml | 6 + ...ntDays_idSiteOne___Actions.getPageTitle_day.xml | 5 - ...Days_idSiteOne___Actions.getPageTitle_month.xml | 1 - ...tDays_idSiteOne___Actions.getPageTitle_week.xml | 2 - ...tDays_idSiteOne___Actions.getPageTitle_year.xml | 1 - ...tDays_idSiteOne___Actions.getPageTitles_day.xml | 32 --- ...ays_idSiteOne___Actions.getPageTitles_month.xml | 8 - ...Days_idSiteOne___Actions.getPageTitles_week.xml | 14 -- ...Days_idSiteOne___Actions.getPageTitles_year.xml | 8 - ...rentDays_idSiteOne___Actions.getPageUrl_day.xml | 6 - ...ntDays_idSiteOne___Actions.getPageUrl_month.xml | 1 - ...entDays_idSiteOne___Actions.getPageUrl_week.xml | 3 - ...entDays_idSiteOne___Actions.getPageUrl_year.xml | 1 - ...entDays_idSiteOne___Actions.getPageUrls_day.xml | 18 -- ...tDays_idSiteOne___Actions.getPageUrls_month.xml | 4 - ...ntDays_idSiteOne___Actions.getPageUrls_week.xml | 8 - ...ntDays_idSiteOne___Actions.getPageUrls_year.xml | 4 - ...rentDays_idSiteOne___VisitFrequency.get_day.xml | 15 ++ ...ntDays_idSiteOne___VisitFrequency.get_month.xml | 3 + ...entDays_idSiteOne___VisitFrequency.get_week.xml | 6 + ...entDays_idSiteOne___VisitFrequency.get_year.xml | 3 + ...erentDays_idSiteOne___VisitsSummary.get_day.xml | 21 ++ ...entDays_idSiteOne___VisitsSummary.get_month.xml | 3 + ...rentDays_idSiteOne___VisitsSummary.get_week.xml | 9 + ...rentDays_idSiteOne___VisitsSummary.get_year.xml | 3 + ...eduledReports.generateReport_month.original.csv | 22 +- ...duledReports.generateReport_month.original.html | 238 ++++++++++----------- ...est_UserId_VisitorId__VisitsSummary.get_day.xml | 3 + ...t_UserId_VisitorId__VisitsSummary.get_month.xml | 3 + ...st_UserId_VisitorId__VisitsSummary.get_week.xml | 3 + ...st_UserId_VisitorId__VisitsSummary.get_year.xml | 3 + ...itorId_segmentUserId__VisitsSummary.get_day.xml | 3 + ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 3 + ...rtsShouldNotAppear__VisitsSummary.get_month.xml | 3 + ...etReportMetadata__API.getReportMetadata_day.xml | 32 +-- .../test_csvExport_xp0__VisitsSummary.get_day.csv | Bin 262 -> 378 bytes ..._xp1_inner0_trans-en__VisitsSummary.get_day.csv | Bin 296 -> 466 bytes ..._xp1_inner1_trans-de__VisitsSummary.get_day.csv | Bin 396 -> 588 bytes ...SegmentAbandonedCart__VisitsSummary.get_day.xml | 3 + ...mentConvertedGoalId1__VisitsSummary.get_day.xml | 3 + ...entConvertedGoalId1__VisitsSummary.get_week.xml | 3 + ...DidNotConvertGoalId1__VisitsSummary.get_day.xml | 3 + ..._SegmentNewVisitors__VisitsSummary.get_week.xml | 3 + ...s_SegmentNoEcommerce__VisitsSummary.get_day.xml | 3 + ...rtedNonExistingGoal__VisitsSummary.get_week.xml | 3 + ...mentOrderedSomething__VisitsSummary.get_day.xml | 3 + ...egmentPageTitleMatch__VisitsSummary.get_day.xml | 3 + ...tReturningCustomers__VisitsSummary.get_week.xml | 3 + ...ntReturningVisitors__VisitsSummary.get_week.xml | 3 + ...sitHasConvertedGoal__VisitsSummary.get_week.xml | 3 + ...redAndConvertedGoal__VisitsSummary.get_week.xml | 3 + ...mmerceOrderWithItems__VisitsSummary.get_day.xml | 3 + ...heduledReports.generateReport_week.original.csv | 2 +- .../test_noVisit__VisitFrequency.get_day.xml | 3 + .../test_noVisit__VisitsSummary.get_day.xml | 3 + ...ralDays_DateRange__VisitFrequency.get_range.xml | 3 + ...eralDays_DateRange__VisitsSummary.get_range.xml | 3 + ...tadataAndNormalAPI__VisitsSummary.get_range.xml | 3 + ...eConversionsPerVisit__VisitsSummary.get_day.xml | 3 + ...insStrangeCharacters__VisitsSummary.get_day.xml | 3 + ...entPageTitleContains__VisitsSummary.get_day.xml | 3 + ...entPageTitleExcludes__VisitsSummary.get_day.xml | 3 + ...gmentPageUrlContains__VisitsSummary.get_day.xml | 3 + ...gmentPageUrlExcludes__VisitsSummary.get_day.xml | 3 + ...sWithCustomVariables__VisitsSummary.get_day.xml | 3 + ...WithCustomVariables__VisitsSummary.get_week.xml | 3 + ...tMatchALL_noGoalData__VisitsSummary.get_day.xml | 3 + ...MatchALL_noGoalData__VisitsSummary.get_week.xml | 3 + ...mentMatchVisitorType__VisitsSummary.get_day.xml | 3 + ...entMatchVisitorType__VisitsSummary.get_week.xml | 3 + 230 files changed, 743 insertions(+), 662 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index b67a7ae4f2..aeadb6f7ab 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -271,7 +271,9 @@ class DataTablePostProcessor $allTemporaryMetrics = array_merge($allTemporaryMetrics, $metric->getTemporaryMetrics()); } - $table->filter('ColumnDelete', array($allTemporaryMetrics)); + if (!empty($allTemporaryMetrics)) { + $table->filter('ColumnDelete', array($allTemporaryMetrics)); + } }); } diff --git a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php index fb01b964e3..9b44e88943 100644 --- a/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php +++ b/plugins/Actions/Columns/Metrics/AveragePageGenerationTime.php @@ -68,7 +68,10 @@ class AveragePageGenerationTime extends ProcessedMetric { $hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0; - if (!$hasTimeGeneration) { + if (!$hasTimeGeneration + && $table->getRowsCount() != 0 + && !$this->hasAverageTimeGeneration($table) + ) { // No generation time: remove it from the API output and add it to empty_columns metadata, so that // the columns can also be removed from the view $table->filter('ColumnDelete', array(array( @@ -97,4 +100,9 @@ class AveragePageGenerationTime extends ProcessedMetric return $hasTimeGeneration; } + + private function hasAverageTimeGeneration(DataTable $table) + { + return $table->getFirstRow()->getColumn('avg_time_generation') !== false; + } } \ No newline at end of file diff --git a/plugins/MultiSites/Reports/Base.php b/plugins/MultiSites/Reports/Base.php index 12aa3f7d30..7b72df674b 100644 --- a/plugins/MultiSites/Reports/Base.php +++ b/plugins/MultiSites/Reports/Base.php @@ -17,15 +17,21 @@ abstract class Base extends \Piwik\Plugin\Report { $this->category = 'General_MultiSitesSummary'; + $allMetricsInfo = API::getApiMetrics($enhanced = true); + $metadataMetrics = array(); - foreach (API::getApiMetrics($enhanced = true) as $metricName => $metricSettings) { + $processedMetricsMetadata = array(); + + foreach ($allMetricsInfo as $metricName => $metricSettings) { $metadataMetrics[$metricName] = Piwik::translate($metricSettings[API::METRIC_TRANSLATION_KEY]); - $metadataMetrics[$metricSettings[API::METRIC_EVOLUTION_COL_NAME_KEY]] = + + $processedMetricsMetadata[$metricSettings[API::METRIC_EVOLUTION_COL_NAME_KEY]] = Piwik::translate($metricSettings[API::METRIC_TRANSLATION_KEY]) . " " . Piwik::translate('MultiSites_Evolution'); } $this->metrics = array_keys($metadataMetrics); + $this->processedMetrics = array_keys($processedMetricsMetadata); } } diff --git a/plugins/MultiSites/Reports/GetAll.php b/plugins/MultiSites/Reports/GetAll.php index e4bf5c22ca..f867b98714 100644 --- a/plugins/MultiSites/Reports/GetAll.php +++ b/plugins/MultiSites/Reports/GetAll.php @@ -19,7 +19,6 @@ class GetAll extends Base $this->dimension = new Website(); $this->name = Piwik::translate('General_AllWebsitesDashboard'); $this->documentation = ''; // TODO - $this->processedMetrics = false; $this->constantRowsCount = false; $this->order = 4; } diff --git a/plugins/MultiSites/Reports/GetOne.php b/plugins/MultiSites/Reports/GetOne.php index bb57f6f04e..f487b4b9b0 100644 --- a/plugins/MultiSites/Reports/GetOne.php +++ b/plugins/MultiSites/Reports/GetOne.php @@ -20,7 +20,6 @@ class GetOne extends Base $this->name = Piwik::translate('General_SingleWebsitesDashboard'); $this->documentation = ''; // TODO $this->constantRowsCount = false; - $this->processedMetrics = false; $this->order = 5; } diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml index 20a3f2c529..32434a44f6 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_day.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>9</nb_visits> <nb_actions>9</nb_actions> + <nb_visits_converted>9</nb_visits_converted> + <bounce_count>9</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml index 62a27c8a5f..527a5d7177 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_noOptions__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>27</nb_visits> <nb_actions>30</nb_actions> + <nb_visits_converted>25</nb_visits_converted> + <bounce_count>25</bounce_count> + <sum_visit_length>305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>93%</bounce_rate> <nb_actions_per_visit>1.1</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml index 2a968e0886..d183cb915b 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>12</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml index 00dd1ed84e..5d2578d36f 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite1_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml index 783f505371..1e897c6120 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>12</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml index db65c094a3..75d267cfc4 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseWeekWasNotInvalidated__VisitsSummary.get_week.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml index c22e7e848f..4402121f8a 100644 --- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml index 1ed2c2d1a3..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_actions__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>18</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml index 57351332ac..e2373a1ef1 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserCode__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>27</nb_visits> <nb_actions>47</nb_actions> + <nb_visits_converted>27</nb_visits_converted> + <bounce_count>14</bounce_count> + <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>52%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml index dd3d458149..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserEngine__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml index 57351332ac..e2373a1ef1 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_browserVersion__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>27</nb_visits> <nb_actions>47</nb_actions> + <nb_visits_converted>27</nb_visits_converted> + <bounce_count>14</bounce_count> + <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>52%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml index 5f4c972062..0dadc8d4ed 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_city__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>10</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>5</bounce_count> + <sum_visit_length>6305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml index 78d74e0d47..7c7cc211dd 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_continentCode__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>20</nb_visits> <nb_actions>36</nb_actions> + <nb_visits_converted>20</nb_visits_converted> + <bounce_count>10</bounce_count> + <sum_visit_length>12610</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml index 5f4c972062..0dadc8d4ed 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_countryCode__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>10</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>5</bounce_count> + <sum_visit_length>6305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml index 8719ee9412..47eec1002c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName1__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>30</nb_visits> <nb_actions>50</nb_actions> + <nb_visits_converted>30</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml index 8719ee9412..47eec1002c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableName5__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>30</nb_visits> <nb_actions>50</nb_actions> + <nb_visits_converted>30</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml index 5618909938..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName2__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml index 561559864d..d8bcdace18 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName4__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml index 5618909938..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageName5__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml index eb8b4b9e2b..88dae8fd6c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue2__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>4</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>4</nb_visits_converted> + <bounce_count>4</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml index 85d0752db3..e0144ec833 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue4__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>9</nb_visits> <nb_actions>27</nb_actions> + <nb_visits_converted>9</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>11349</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml index eb8b4b9e2b..88dae8fd6c 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariablePageValue5__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>4</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>4</nb_visits_converted> + <bounce_count>4</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml index f872de2727..d4214faba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue1__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>7</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>7</nb_visits_converted> + <bounce_count>4</bounce_count> + <sum_visit_length>3783</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml index f872de2727..d4214faba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_customVariableValue5__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>7</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>7</nb_visits_converted> + <bounce_count>4</bounce_count> + <sum_visit_length>3783</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>57%</bounce_rate> <nb_actions_per_visit>1.4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml index b6a7e6d843..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceFirstVisit__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml index b6a7e6d843..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastEcommerceOrder__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml index b6a7e6d843..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_daysSinceLastVisit__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml index 9459eddbd5..5d07770e4e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_deviceType__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>28</nb_visits> <nb_actions>48</nb_actions> + <nb_visits_converted>28</nb_visits_converted> + <bounce_count>15</bounce_count> + <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>54%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml index 5618909938..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageTitle__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml index 1ed2c2d1a3..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_entryPageUrl__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>18</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml index a1a2e83ea3..1922b24059 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventAction__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>4</nb_visits> <nb_actions>8</nb_actions> + <nb_visits_converted>4</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>5044</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml index a1a2e83ea3..1922b24059 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventCategory__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>4</nb_visits> <nb_actions>8</nb_actions> + <nb_visits_converted>4</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>5044</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml index a1a2e83ea3..1922b24059 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_eventName__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>4</nb_visits> <nb_actions>8</nb_actions> + <nb_visits_converted>4</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>5044</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml index 1ed2c2d1a3..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_events__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>18</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml index 5618909938..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageTitle__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml index 1ed2c2d1a3..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_exitPageUrl__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>18</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml index d7919feefc..e023a89081 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_latitude__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>6</nb_visits_converted> + <bounce_count>3</bounce_count> + <sum_visit_length>3783</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml index 561559864d..d8bcdace18 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_longitude__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml index 9459eddbd5..5d07770e4e 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_operatingSystemCode__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>28</nb_visits> <nb_actions>48</nb_actions> + <nb_visits_converted>28</nb_visits_converted> + <bounce_count>15</bounce_count> + <sum_visit_length>16393</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>54%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml index 5618909938..b72146a986 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageTitle__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>17</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml index b6a7e6d843..a0db0ecba0 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_pageUrl__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>17</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>17</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml index 120d74f17a..c51a1bc13d 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_provider__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>2</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1261</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml index dd3d458149..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerKeyword__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml index dd3d458149..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerName__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml index 38eefb705e..ce18f5b1dc 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerType__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>34</nb_visits> <nb_actions>60</nb_actions> + <nb_visits_converted>34</nb_visits_converted> + <bounce_count>17</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.8</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml index dd3d458149..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_referrerUrl__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml index d7919feefc..e023a89081 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_regionCode__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>6</nb_visits_converted> + <bounce_count>3</bounce_count> + <sum_visit_length>3783</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml index 55b860a688..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_resolution__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> + <nb_visits_converted>35</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml index 1cde7897c6..410df64fa3 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_searches__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>26</nb_visits> <nb_actions>34</nb_actions> + <nb_visits_converted>26</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>10088</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>69%</bounce_rate> <nb_actions_per_visit>1.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml index 85d0752db3..e0144ec833 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_siteSearchKeyword__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>9</nb_visits> <nb_actions>27</nb_actions> + <nb_visits_converted>9</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>11349</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml index dd3d458149..dfa3a20623 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_userId__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml index 55b860a688..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConvertedGoalId__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> + <nb_visits_converted>35</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml index 55b860a688..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitConverted__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> + <nb_visits_converted>35</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml index f1a34008c7..ce025f0a46 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitCount__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>30</nb_visits> <nb_actions>56</nb_actions> + <nb_visits_converted>30</nb_visits_converted> + <bounce_count>13</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>43%</bounce_rate> <nb_actions_per_visit>1.9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml index 1ed2c2d1a3..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitDuration__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>18</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml index 55b860a688..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitEcommerceStatus__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> + <nb_visits_converted>35</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml index 5332ba0d38..352cc69e4a 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitIp__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>3</nb_visits_converted> + <bounce_count>2</bounce_count> + <sum_visit_length>1261</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml index 55b860a688..f52326b337 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitLocalHour__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>35</nb_visits> <nb_actions>61</nb_actions> + <nb_visits_converted>35</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>51%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml index 1ed2c2d1a3..7ace3fcbe7 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitServerHour__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>18</nb_visits> <nb_actions>18</nb_actions> + <nb_visits_converted>18</nb_visits_converted> + <bounce_count>18</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml index 911e227c41..64efc881e1 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorId__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>2</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1261</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml index f1a34008c7..ce025f0a46 100644 --- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest_visitorType__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>30</nb_visits> <nb_actions>56</nb_actions> + <nb_visits_converted>30</nb_visits_converted> + <bounce_count>13</bounce_count> + <sum_visit_length>21437</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>43%</bounce_rate> <nb_actions_per_visit>1.9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml index 4bcc0a36cc..3633fe5914 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_day.xml @@ -4,6 +4,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml index c0a3bb1aff..3c62d79738 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_month.xml @@ -4,6 +4,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml index b002777495..a232e03046 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>2</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>2</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml index c0a3bb1aff..3c62d79738 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_week.xml @@ -4,6 +4,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml index b002777495..a232e03046 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest__VisitFrequency.get_year.xml @@ -2,6 +2,9 @@ <result> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>2</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>2</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml index eccb0af0a0..b8e30312d7 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleDates__VisitFrequency.get_day.xml @@ -8,6 +8,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml index 7b4ff4314c..9b5f22a3ea 100644 --- a/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_BackwardsCompatibility1XTest_multipleOldNew__VisitFrequency.get_month.xml @@ -5,6 +5,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> @@ -23,6 +26,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml index 0b6c6f92e8..b09bbc9e7f 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.332</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.666</min_time_generation> <max_time_generation>0.666</max_time_generation> @@ -24,7 +23,6 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>2998</sum_time_spent> - <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml index 0f82e96ead..5e6a7b260b 100644 --- a/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml +++ b/tests/PHPUnit/System/expected/test_CustomEvents__Actions.getPageUrls_month.xml @@ -5,7 +5,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.332</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.666</min_time_generation> <max_time_generation>0.666</max_time_generation> @@ -23,7 +22,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>2998</sum_time_spent> - <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml index c185c48558..1db9719c00 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports__Actions.getPageUrls_week.xml @@ -5,7 +5,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.3</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.2</max_time_generation> @@ -26,7 +25,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -42,7 +40,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -60,7 +57,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -81,7 +77,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.2</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.4</min_time_generation> <max_time_generation>0.8</max_time_generation> @@ -97,7 +92,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -115,7 +109,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -136,7 +129,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -152,7 +144,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.7</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.9</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -170,7 +161,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -180,7 +170,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>100%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://example.org/page1.html</url> </row> <row> @@ -197,7 +186,6 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <avg_time_generation>0</avg_time_generation> <url>http://example.org/sub/dir/dir1/page1.html</url> </row> </result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml index bb593c5814..a40bfb0dea 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_expandedSubtable__Actions.getPageUrls_week.xml @@ -5,7 +5,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.3</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.2</max_time_generation> @@ -64,7 +61,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -80,7 +76,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml index c614800949..60400f15ef 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_expandedWithDepth__Actions.getPageUrls_week.xml @@ -5,7 +5,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -45,7 +43,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -64,7 +61,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -85,7 +81,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -104,7 +99,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -125,7 +119,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -143,7 +136,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml index 399f25951b..6acf67f60c 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_flatFilterPatternRecursive__Actions.getPageUrls_week.xml @@ -5,7 +5,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -26,7 +25,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.2</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.4</min_time_generation> <max_time_generation>0.8</max_time_generation> @@ -42,7 +40,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml index 9cd3139fcc..eda55355bc 100644 --- a/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_FlattenReports_withAggregate__Actions.getPageUrls_week.xml @@ -5,7 +5,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -25,7 +24,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -45,7 +43,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -65,7 +62,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.3</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.1</min_time_generation> <max_time_generation>0.2</max_time_generation> @@ -87,7 +83,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -104,7 +99,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -123,7 +117,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -143,7 +136,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -163,7 +155,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.6</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -183,7 +174,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.6</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.2</min_time_generation> <max_time_generation>0.4</max_time_generation> @@ -205,7 +195,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.2</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.4</min_time_generation> <max_time_generation>0.8</max_time_generation> @@ -222,7 +211,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -241,7 +229,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -261,7 +248,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -281,7 +267,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>5.4</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -301,7 +286,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.9</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.3</min_time_generation> <max_time_generation>0.6</max_time_generation> @@ -323,7 +307,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.8</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.6</min_time_generation> <max_time_generation>1.2</max_time_generation> @@ -340,7 +323,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.7</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.9</min_time_generation> <max_time_generation>1.8</max_time_generation> @@ -359,7 +341,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -378,7 +359,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml index 8c8e1e8faa..2d81bb9f19 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageTitles_range.xml @@ -5,7 +5,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>34</sum_time_spent> - <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -27,7 +26,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -49,7 +47,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -84,7 +81,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -122,7 +118,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -160,7 +155,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -180,7 +174,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -199,7 +192,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -223,7 +215,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -245,7 +236,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -267,7 +257,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -289,7 +278,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -311,7 +299,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml index b827986ffa..b7cbdc125b 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getEntryPageUrls_range.xml @@ -5,7 +5,6 @@ <nb_visits>9</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.724</sum_time_generation> <nb_hits_with_time_generation>7</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>6</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -87,7 +83,6 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -106,7 +101,6 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -133,7 +127,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -152,7 +145,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -207,7 +199,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -226,7 +217,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -245,7 +235,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -274,7 +263,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -293,7 +281,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -312,7 +299,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -331,7 +317,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -362,7 +347,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>34</sum_time_spent> - <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -385,7 +369,6 @@ <nb_visits>6</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.02</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -404,7 +387,6 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -423,7 +405,6 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -448,7 +429,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -471,7 +451,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -490,7 +469,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -515,7 +493,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -556,7 +533,6 @@ <nb_visits>5</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -575,7 +551,6 @@ <nb_visits>3</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -598,7 +573,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -637,7 +611,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -678,7 +651,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>7</sum_time_spent> - <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -733,7 +705,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -752,7 +723,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -777,7 +747,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -800,7 +769,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -823,7 +791,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -844,7 +811,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -867,7 +833,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -890,7 +855,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -926,7 +890,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -965,7 +928,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1004,7 +966,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1043,7 +1004,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1210,7 +1170,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml index c88487324b..867e27cd0d 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageTitles_range.xml @@ -5,7 +5,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>34</sum_time_spent> - <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -27,7 +26,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -49,7 +47,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -78,7 +75,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -116,7 +112,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -154,7 +149,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -171,7 +165,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -190,7 +183,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -214,7 +206,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>7</sum_time_spent> - <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -231,7 +222,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -253,7 +243,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -275,7 +264,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -297,7 +285,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -319,7 +306,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -341,7 +327,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml index f70eecbb16..7721a10da1 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getExitPageUrls_range.xml @@ -5,7 +5,6 @@ <nb_visits>9</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.724</sum_time_generation> <nb_hits_with_time_generation>7</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>6</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -87,7 +83,6 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -106,7 +101,6 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -133,7 +127,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -152,7 +145,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -207,7 +199,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -226,7 +217,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -245,7 +235,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -274,7 +263,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -293,7 +281,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -312,7 +299,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -331,7 +317,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -362,7 +347,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>34</sum_time_spent> - <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -385,7 +369,6 @@ <nb_visits>6</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.02</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -404,7 +387,6 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -423,7 +405,6 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -448,7 +429,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -471,7 +451,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -490,7 +469,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -515,7 +493,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -556,7 +533,6 @@ <nb_visits>5</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -575,7 +551,6 @@ <nb_visits>3</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -598,7 +573,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -637,7 +611,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -678,7 +651,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>7</sum_time_spent> - <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -733,7 +705,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -752,7 +723,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -777,7 +747,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -800,7 +769,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -823,7 +791,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -846,7 +813,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -864,7 +830,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -887,7 +852,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -917,7 +881,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -956,7 +919,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -995,7 +957,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1034,7 +995,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1201,7 +1161,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1240,7 +1199,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml index 123bf616e7..509723308f 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageTitles_range.xml @@ -5,7 +5,6 @@ <nb_visits>21</nb_visits> <nb_hits>30</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.865</sum_time_generation> <nb_hits_with_time_generation>10</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -20,7 +19,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>34</sum_time_spent> - <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -42,7 +40,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -64,7 +61,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -99,7 +95,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -128,7 +123,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -166,7 +160,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -204,7 +197,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -224,7 +216,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -241,7 +232,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -260,7 +250,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -284,7 +273,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>7</sum_time_spent> - <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -301,7 +289,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -323,7 +310,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -345,7 +331,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -367,7 +352,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -389,7 +373,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -411,7 +394,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml index 622ee74c28..94423ac9d9 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_day.xml @@ -5,7 +5,6 @@ <nb_visits>2</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -23,7 +22,6 @@ <nb_visits>2</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -41,7 +39,6 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -56,7 +53,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -73,7 +69,6 @@ <nb_visits>1</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -92,7 +87,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>3</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -118,7 +112,6 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -132,7 +125,6 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -147,7 +139,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -166,7 +157,6 @@ <nb_visits>1</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -182,7 +172,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>3</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml index 505f899146..aaabfb8fc3 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__Actions.getPageUrls_range.xml @@ -5,7 +5,6 @@ <nb_visits>9</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.724</sum_time_generation> <nb_hits_with_time_generation>7</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>6</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>170</sum_time_spent> - <sum_time_generation>2.214</sum_time_generation> <nb_hits_with_time_generation>5</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>4</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>156</sum_time_spent> - <sum_time_generation>0.266</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.023</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -87,7 +83,6 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -106,7 +101,6 @@ <nb_visits>2</nb_visits> <nb_hits>3</nb_hits> <sum_time_spent>14</sum_time_spent> - <sum_time_generation>1.948</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.624</min_time_generation> <max_time_generation>1.324</max_time_generation> @@ -133,7 +127,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -152,7 +145,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -207,7 +199,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -226,7 +217,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -245,7 +235,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.391</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.391</min_time_generation> <max_time_generation>0.391</max_time_generation> @@ -274,7 +263,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -293,7 +281,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -312,7 +299,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -331,7 +317,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.119</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.119</min_time_generation> <max_time_generation>0.119</max_time_generation> @@ -362,7 +347,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>34</sum_time_spent> - <sum_time_generation>0.532</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.058</min_time_generation> <max_time_generation>0.292</max_time_generation> @@ -385,7 +369,6 @@ <nb_visits>6</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>1.02</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -404,7 +387,6 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -423,7 +405,6 @@ <nb_visits>3</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.886</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.343</min_time_generation> <max_time_generation>0.543</max_time_generation> @@ -448,7 +429,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -471,7 +451,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -490,7 +469,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -515,7 +493,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -556,7 +533,6 @@ <nb_visits>5</nb_visits> <nb_hits>7</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -575,7 +551,6 @@ <nb_visits>3</nb_visits> <nb_hits>5</nb_hits> <sum_time_spent>52</sum_time_spent> - <sum_time_generation>0.765</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.294</max_time_generation> @@ -598,7 +573,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -637,7 +611,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -678,7 +651,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>7</sum_time_spent> - <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -697,7 +669,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>7</sum_time_spent> - <sum_time_generation>0.113</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.113</min_time_generation> <max_time_generation>0.113</max_time_generation> @@ -713,7 +684,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -754,7 +724,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -773,7 +742,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.145</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.145</min_time_generation> <max_time_generation>0.145</max_time_generation> @@ -798,7 +766,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -821,7 +788,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.413</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.413</min_time_generation> <max_time_generation>0.413</max_time_generation> @@ -844,7 +810,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -865,7 +830,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -888,7 +852,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -906,7 +869,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -929,7 +891,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>79</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -965,7 +926,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -995,7 +955,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1034,7 +993,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1073,7 +1031,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1112,7 +1069,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1279,7 +1235,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -1318,7 +1273,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml index 4bcc0a36cc..3633fe5914 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_month.xml @@ -4,6 +4,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml index 6cb34eba3d..f301254690 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitFrequency.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits_returning>10</nb_visits_returning> <nb_actions_returning>12</nb_actions_returning> + <nb_visits_converted_returning>9</nb_visits_converted_returning> + <bounce_count_returning>8</bounce_count_returning> + <sum_visit_length_returning>115</sum_visit_length_returning> <max_actions_returning>2</max_actions_returning> <bounce_rate_returning>80%</bounce_rate_returning> <nb_actions_per_visit_returning>1.2</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml index cda8adef5b..327d564f47 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitsSummary.get_month.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>27</nb_visits> <nb_actions>30</nb_actions> + <nb_visits_converted>25</nb_visits_converted> + <bounce_count>25</bounce_count> + <sum_visit_length>305</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>93%</bounce_rate> <nb_actions_per_visit>1.1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml index f7fde03a9d..b0e66b9280 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdTwo_TrackedUsingLogReplay__VisitsSummary.get_month.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml index a2960b4c6d..88bdbcf6cd 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_0__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.635</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.635</min_time_generation> <max_time_generation>0.635</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml index abc6fa2698..3634faa18a 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_dir__Actions.getPageUrls_day.xml @@ -5,7 +5,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.842</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml index d45c7f95d0..b648ce6807 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_dir_range__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.842</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml index 10f380368a..b557287b32 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_dirfilephpfoobarfoo2bar__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml index e52d7bcb8c..04dac45ecd 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectBranch__Actions.getPageTitles_day.xml @@ -5,7 +5,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>36</sum_time_spent> - <sum_time_generation>0.233</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.233</min_time_generation> <max_time_generation>0.233</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml index f87067a882..1517efab30 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageTitles_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.333</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml index c09647b683..2a3958ceba 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_terminalOperator_selectTerminal__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.333</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml index cd19ebdea0..4cec8aa9aa 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_thisiscool__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.523</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.523</min_time_generation> <max_time_generation>0.523</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml index ae50d5ff77..718edc60ac 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_titlesRecursive__Actions.getPageTitles_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>324</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml index de4ab0c169..afffc60a48 100644 --- a/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_LabelFilter_titles__Actions.getPageTitles_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>4</nb_hits> <sum_time_spent>1116</sum_time_spent> - <sum_time_generation>1.879</sum_time_generation> <nb_hits_with_time_generation>3</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>1.233</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml index 4dee40403d..64e9c36af1 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>5</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>5</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml index 4dee40403d..64e9c36af1 100644 --- a/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>5</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>5</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml index 1ba25c866f..eb4e37fdf7 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitFrequency.get_day.xml @@ -3,6 +3,9 @@ <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml index 64fee80803..40498bf45d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitsSummary.get_day.xml @@ -3,6 +3,9 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json index 14ac477f7a..54eec7681d 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json @@ -1 +1 @@ -[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file +[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1621,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1"},{"label":"11-30s","nb_visits":"0"},{"label":"31-60s","nb_visits":"0"},{"label":"1-2 min","nb_visits":"0"},{"label":"2-4 min","nb_visits":"0"},{"label":"4-7 min","nb_visits":"0"},{"label":"7-10 min","nb_visits":"0"},{"label":"10-15 min","nb_visits":"0"},{"label":"15-30 min","nb_visits":"1"},{"label":"30+ min","nb_visits":"0"}]] \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml index 9b05d38afd..e3455beeec 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> @@ -20,6 +23,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>8</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1621</sum_visit_length> <max_actions>7</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv index 0e2dafdcac..ccf95a9d55 100644 Binary files a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv and b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_csv__API.get_month.csv differ diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml index 9d53d86634..9493eb4991 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageTitles_day.xml @@ -5,7 +5,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -25,7 +24,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -49,7 +47,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml index cca989456e..5e51da8014 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getEntryPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -26,7 +25,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -46,7 +44,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml index 317ce3ecc5..64b810c76b 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageTitles_day.xml @@ -5,7 +5,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -25,7 +24,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -50,7 +48,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml index a22586bc87..ef8f599623 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getExitPageUrls_day.xml @@ -7,7 +7,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -44,7 +42,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml index 5f687c3a3f..629847ae61 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitle_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml index 9767e1027b..da8ea736e7 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitlesFollowingSiteSearch_day.xml @@ -7,7 +7,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml index 86e417f60a..cd205048c8 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageTitles_day.xml @@ -5,7 +5,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -25,7 +24,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -49,7 +47,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -70,7 +67,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> @@ -87,7 +83,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>792</sum_time_spent> - <sum_time_generation>0.224</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml index 29b2c94b41..46a13d42c3 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrl_day.xml @@ -7,7 +7,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml index 29b2c94b41..46a13d42c3 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrlsFollowingSiteSearch_day.xml @@ -7,7 +7,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml index ba1081f290..ad64d61bfe 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0.224</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.224</min_time_generation> <max_time_generation>0.224</max_time_generation> @@ -23,7 +22,6 @@ <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> <nb_hits_following_search>1</nb_hits_following_search> - <sum_time_generation>0.024</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.024</min_time_generation> <max_time_generation>0.024</max_time_generation> @@ -41,7 +39,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>180</sum_time_spent> - <sum_time_generation>0.234</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.234</min_time_generation> <max_time_generation>0.234</max_time_generation> @@ -61,7 +58,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> @@ -81,7 +77,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.134</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.134</min_time_generation> <max_time_generation>0.134</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml index 4bcc0a36cc..3633fe5914 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitFrequency.get_day.xml @@ -4,6 +4,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>1</nb_actions_returning> + <nb_visits_converted_returning>1</nb_visits_converted_returning> + <bounce_count_returning>1</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>1</max_actions_returning> <bounce_rate_returning>100%</bounce_rate_returning> <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml index e25296917d..9f63db28ef 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1621</sum_visit_length> <max_actions>8</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>4.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml index 35875116eb..78c6610886 100644 --- a/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_PiwikTracker_trackForceUsingVisitId_insteadOfHeuristics_alsoTestsCampaignTracking__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>8</nb_visits> <nb_actions>7</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>8</bounce_count> + <sum_visit_length>1084</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>0.9</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml index fb2e69c2f2..32b66284be 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_dayAfterVisit__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml index f7fde03a9d..b0e66b9280 100644 --- a/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TimezonesTest_withVisit__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml index 7a310d9af8..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml index 03c203ad85..50c77f2755 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml index 7a310d9af8..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml index 0438a70aa1..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml @@ -3,6 +3,9 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -11,6 +14,9 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml index 0438a70aa1..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -3,6 +3,9 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -11,6 +14,9 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml index 0438a70aa1..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml @@ -3,6 +3,9 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -11,6 +14,9 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml index 7a310d9af8..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml index 03c203ad85..50c77f2755 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml index 7a310d9af8..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml index 0438a70aa1..f520263652 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml @@ -3,6 +3,9 @@ <result idSite="1"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -11,6 +14,9 @@ <result idSite="2"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml index 7a310d9af8..89cd627339 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml index 03c203ad85..50c77f2755 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>10</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7577</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>2</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml index 7a310d9af8..296741c7a0 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml index 051bf3044e..9aa711753b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml index e439efc2c2..31cace930f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_day.xml @@ -7,7 +7,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml index 2f93d22104..8e94360fea 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_month.xml @@ -6,7 +6,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml index 2b73a564fd..5138d96b47 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_week.xml @@ -6,7 +6,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml index 2f93d22104..8e94360fea 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitle_year.xml @@ -6,7 +6,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml index f4d398cab1..41b3ee1ab8 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml @@ -8,7 +8,6 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -32,7 +31,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -48,7 +46,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -66,7 +63,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -85,7 +81,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -105,7 +100,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -123,7 +117,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -139,7 +132,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -159,7 +151,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -177,7 +168,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -196,7 +186,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -216,7 +205,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -234,7 +222,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -250,7 +237,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -270,7 +256,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -288,7 +273,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -307,7 +291,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -327,7 +310,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -345,7 +327,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -361,7 +342,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -381,7 +361,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -399,7 +378,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -418,7 +396,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -438,7 +415,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -456,7 +432,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -472,7 +447,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -492,7 +466,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -510,7 +483,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -529,7 +501,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -549,7 +520,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -567,7 +537,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -583,7 +552,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -607,7 +575,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -622,7 +589,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml index 1313fc9463..d803ad11f9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml @@ -7,7 +7,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -25,7 +24,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -63,7 +60,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> - <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -82,7 +78,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -97,7 +92,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -116,7 +110,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -138,7 +131,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -163,7 +155,6 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -178,7 +169,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml index b0ec6a430b..d04244796f 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml @@ -7,7 +7,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -31,7 +30,6 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> - <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -49,7 +47,6 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> - <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -67,7 +64,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -87,7 +83,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>3240</sum_time_spent> - <sum_time_generation>1.038</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -106,7 +101,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -121,7 +115,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -140,7 +133,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -157,7 +149,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> - <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -175,7 +166,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> - <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -193,7 +183,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -213,7 +202,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>1080</sum_time_spent> - <sum_time_generation>0.346</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -232,7 +220,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -247,7 +234,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -275,7 +261,6 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -290,7 +275,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml index 879183fa6f..8622de5d82 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml @@ -7,7 +7,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -25,7 +24,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -63,7 +60,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> - <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -82,7 +78,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -97,7 +92,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -116,7 +110,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -138,7 +131,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -163,7 +155,6 @@ <nb_visits>1</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.706</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -178,7 +169,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.193</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.193</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml index a11045ca1d..baf847ce36 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml @@ -7,7 +7,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml index 1e93da69c3..00bb5030af 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml @@ -6,7 +6,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml index 6cdaacc101..a8fdd76865 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml @@ -6,7 +6,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml index 1e93da69c3..00bb5030af 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml @@ -6,7 +6,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml index 962ea5a5ed..eda852deae 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml @@ -8,7 +8,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -24,7 +23,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -49,7 +47,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -67,7 +64,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -88,7 +84,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -106,7 +101,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -124,7 +118,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -145,7 +138,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -163,7 +155,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -181,7 +172,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -202,7 +192,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -220,7 +209,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -238,7 +226,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -259,7 +246,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -277,7 +263,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -295,7 +280,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -316,7 +300,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -334,7 +317,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -355,7 +337,6 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -378,7 +359,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml index 5bfdd23d08..faa058da6b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml @@ -7,7 +7,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -28,7 +27,6 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -44,7 +42,6 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -95,7 +91,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -118,7 +113,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml index 9b9d49c696..89ffb01c30 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml @@ -7,7 +7,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -23,7 +22,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -48,7 +46,6 @@ <nb_visits>7</nb_visits> <nb_hits>13</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -64,7 +61,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -85,7 +81,6 @@ <nb_visits>6</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>3.75</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -105,7 +100,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -126,7 +120,6 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>1.25</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -144,7 +137,6 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> @@ -169,7 +161,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -192,7 +183,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml index b5d07b4909..4bccd4e8bc 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml @@ -7,7 +7,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -28,7 +27,6 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -44,7 +42,6 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -95,7 +91,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.696</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.193</min_time_generation> <max_time_generation>0.503</max_time_generation> @@ -118,7 +113,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.203</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.203</min_time_generation> <max_time_generation>0.203</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml index 9623a57b5a..1132f1191d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml @@ -8,6 +8,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -18,6 +21,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -28,6 +34,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -38,6 +47,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -48,6 +60,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml index 419e029106..f6da2a541d 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml @@ -6,6 +6,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml index 59d27cca56..d64e929e8a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml @@ -7,6 +7,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>6</nb_visits_returning> <nb_actions_returning>30</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>5406</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -17,6 +20,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>10</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>1802</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml index 3c7d32de96..dd6204a199 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml @@ -4,6 +4,9 @@ <result date="2010"> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml index 732e4e2d9d..c0f0001ebf 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -16,6 +19,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>2</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>361</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> @@ -26,6 +32,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -36,6 +45,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -46,6 +58,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -56,6 +71,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -66,6 +84,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -79,6 +100,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml index be3285d9ce..d60436c3c9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -24,6 +27,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml index 5db0ca624f..f754acd177 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -16,6 +19,9 @@ <nb_users>0</nb_users> <nb_visits>7</nb_visits> <nb_actions>32</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.6</nb_actions_per_visit> @@ -26,6 +32,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1802</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -43,6 +52,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml index 5e3a2626e1..301adee7ee 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml @@ -4,6 +4,9 @@ <result date="2010"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> @@ -20,6 +23,9 @@ <result date="2010"> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml index 1fbe375a07..eaed13c9ae 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_day.xml @@ -9,7 +9,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -28,7 +27,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -47,7 +45,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -66,7 +63,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -85,7 +81,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml index f97dc7a298..4e3e4c0a67 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_month.xml @@ -6,7 +6,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml index 9f2f51813f..fe4e40c5bc 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_week.xml @@ -7,7 +7,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -26,7 +25,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml index f513cb14de..aa7f84dbc7 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitle_year.xml @@ -6,7 +6,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml index 353e114bf4..9f120e0ee0 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml @@ -7,7 +7,6 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -31,7 +30,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -47,7 +45,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -65,7 +62,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -84,7 +80,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -104,7 +99,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -122,7 +116,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -138,7 +131,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -158,7 +150,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -176,7 +167,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -195,7 +185,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -215,7 +204,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -233,7 +221,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -249,7 +236,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -269,7 +255,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -287,7 +272,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -306,7 +290,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -326,7 +309,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -344,7 +326,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -360,7 +341,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -380,7 +360,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -398,7 +377,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -417,7 +395,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -437,7 +414,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -455,7 +431,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -471,7 +446,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -491,7 +465,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -509,7 +482,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>900</sum_time_spent> - <sum_time_generation>0.496</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -528,7 +500,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -548,7 +519,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.173</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -566,7 +536,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -582,7 +551,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.452</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml index afb8bc369d..7b53ef8a32 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml @@ -6,7 +6,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -42,7 +40,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> - <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -81,7 +77,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -96,7 +91,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -115,7 +109,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -137,7 +130,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml index 25cc49d700..c8f777c165 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml @@ -6,7 +6,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -30,7 +29,6 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> - <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -48,7 +46,6 @@ <nb_visits>12</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>5400</sum_time_spent> - <sum_time_generation>2.976</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -66,7 +63,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -86,7 +82,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>3240</sum_time_spent> - <sum_time_generation>1.038</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -105,7 +100,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -120,7 +114,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>2.712</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -139,7 +132,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -156,7 +148,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> - <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -174,7 +165,6 @@ <nb_visits>4</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>1800</sum_time_spent> - <sum_time_generation>0.992</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -192,7 +182,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -212,7 +201,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>1080</sum_time_spent> - <sum_time_generation>0.346</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -231,7 +219,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -246,7 +233,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.904</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml index 1f6a784e30..0d8b62b451 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml @@ -6,7 +6,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>16</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>7200</sum_time_spent> - <sum_time_generation>3.968</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -42,7 +40,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.584</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -62,7 +59,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>4320</sum_time_spent> - <sum_time_generation>1.384</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.173</max_time_generation> @@ -81,7 +77,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -96,7 +91,6 @@ <nb_visits>8</nb_visits> <nb_hits>8</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>3.616</sum_time_generation> <nb_hits_with_time_generation>8</nb_hits_with_time_generation> <min_time_generation>0.452</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -115,7 +109,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.276</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -137,7 +130,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml index faee51d121..b5ee40f53b 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml @@ -7,7 +7,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -26,7 +25,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -49,7 +47,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -72,7 +69,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -95,7 +91,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -118,7 +113,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml index 8981b83563..b12b6dbe6a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml @@ -6,7 +6,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml index f687ca699e..3227ff9c6a 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml @@ -6,7 +6,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -24,7 +23,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -47,7 +45,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml index d73d8b0e51..071c0d3fa2 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml @@ -6,7 +6,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml index ac0857d9e8..efb03f5be4 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml @@ -7,7 +7,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -23,7 +22,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -48,7 +46,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -66,7 +63,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -87,7 +83,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -105,7 +100,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -123,7 +117,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -144,7 +137,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -162,7 +154,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -180,7 +171,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -201,7 +191,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -219,7 +208,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -237,7 +225,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -258,7 +245,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -276,7 +262,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> @@ -294,7 +279,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>1</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.323</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -315,7 +299,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>360</sum_time_spent> - <sum_time_generation>0.625</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -333,7 +316,6 @@ <nb_uniq_visitors>1</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation /> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml index 7343f7101a..56e3fc8c35 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml @@ -6,7 +6,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -27,7 +26,6 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -61,7 +58,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml index 4829bf6607..7d086860eb 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml @@ -6,7 +6,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.123</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.123</max_time_generation> @@ -22,7 +21,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> @@ -47,7 +45,6 @@ <nb_visits>7</nb_visits> <nb_hits>13</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -63,7 +60,6 @@ <nb_visits>6</nb_visits> <nb_hits>6</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>1.938</sum_time_generation> <nb_hits_with_time_generation>6</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -84,7 +80,6 @@ <nb_visits>6</nb_visits> <nb_hits>12</nb_hits> <sum_time_spent>2160</sum_time_spent> - <sum_time_generation>3.75</sum_time_generation> <nb_hits_with_time_generation>12</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -104,7 +99,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>0.646</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.323</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -125,7 +119,6 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>720</sum_time_spent> - <sum_time_generation>1.25</sum_time_generation> <nb_hits_with_time_generation>4</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -143,7 +136,6 @@ <nb_visits>2</nb_visits> <nb_hits>4</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0</sum_time_generation> <nb_hits_with_time_generation>0</nb_hits_with_time_generation> <min_time_generation /> <max_time_generation>0</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml index a59b068fe3..284466a853 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml @@ -6,7 +6,6 @@ <nb_visits>9</nb_visits> <nb_hits>9</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>2.707</sum_time_generation> <nb_hits_with_time_generation>9</nb_hits_with_time_generation> <min_time_generation>0.123</min_time_generation> <max_time_generation>0.323</max_time_generation> @@ -27,7 +26,6 @@ <nb_visits>9</nb_visits> <nb_hits>17</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.223</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.223</min_time_generation> <max_time_generation>0.223</max_time_generation> @@ -43,7 +41,6 @@ <nb_visits>8</nb_visits> <nb_hits>16</nb_hits> <sum_time_spent>2880</sum_time_spent> - <sum_time_generation>5</sum_time_generation> <nb_hits_with_time_generation>16</nb_hits_with_time_generation> <min_time_generation>0.173</min_time_generation> <max_time_generation>0.452</max_time_generation> @@ -61,7 +58,6 @@ <nb_visits>1</nb_visits> <nb_hits>1</nb_hits> <sum_time_spent>0</sum_time_spent> - <sum_time_generation>0.153</sum_time_generation> <nb_hits_with_time_generation>1</nb_hits_with_time_generation> <min_time_generation>0.153</min_time_generation> <max_time_generation>0.153</max_time_generation> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml index ba889f997d..f760097ff0 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml @@ -7,6 +7,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -17,6 +20,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -27,6 +33,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -37,6 +46,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -47,6 +59,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>1</nb_visits_returning> <nb_actions_returning>5</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>901</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml index 069850fb66..ddce4b63c9 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml @@ -5,6 +5,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml index a3a5ca70bd..d44fe0f184 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml @@ -6,6 +6,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>6</nb_visits_returning> <nb_actions_returning>30</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>5406</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> @@ -16,6 +19,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>2</nb_visits_returning> <nb_actions_returning>10</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>1802</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml index 0996bf12f5..a7e7659d80 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml @@ -3,6 +3,9 @@ <result date="2010"> <nb_visits_returning>8</nb_visits_returning> <nb_actions_returning>40</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>7208</sum_visit_length_returning> <max_actions_returning>5</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml index 9c045ac7ff..057ccb1b63 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>2</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>361</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> @@ -25,6 +31,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -35,6 +44,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -45,6 +57,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -55,6 +70,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -65,6 +83,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>901</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml index d43d13e9f7..30c69614b1 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml index a163de9f75..bb7f2a5509 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>1</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>1</max_actions> <bounce_rate>100%</bounce_rate> <nb_actions_per_visit>1</nb_actions_per_visit> @@ -15,6 +18,9 @@ <nb_users>0</nb_users> <nb_visits>7</nb_visits> <nb_actions>32</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>5767</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.6</nb_actions_per_visit> @@ -25,6 +31,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1802</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml index b4289e642f..10e5329cb6 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml @@ -3,6 +3,9 @@ <result date="2010"> <nb_visits>10</nb_visits> <nb_actions>43</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>7569</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>10%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index b2a1214433..2231592da2 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -1,7 +1,7 @@ All Websites dashboard -label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders_evolution,ecommerce_revenue_evolution,orders,ecommerce_revenue -Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0%,0%,0,$ 0 -Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0%,0%,0,$ 0 +label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders,orders_evolution,ecommerce_revenue,ecommerce_revenue_evolution +Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 +Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 Visits Summary nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate @@ -317,26 +317,26 @@ label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site Unknown,8,40,0%,5,00:15:01,0% Desktop,2,3,0%,1.5,00:03:01,50% -Device brand -label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -Unknown,10,43,0%,4.3,00:12:37,10% - Visitor Browser label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,8,40,0%,5,00:15:01,0% Firefox,1,2,0%,2,00:06:01,0% Opera,1,1,0%,1,00:00:00,100% -Browser Version +Device brand label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate -Unknown,8,40,0%,5,00:15:01,0% -Firefox 3.6,1,2,0%,2,00:06:01,0% -Opera 9.63,1,1,0%,1,00:00:00,100% +Unknown,10,43,0%,4.3,00:12:37,10% Device model label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,10,43,0%,4.3,00:12:37,10% +Browser Version +label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate +Unknown,8,40,0%,5,00:15:01,0% +Firefox 3.6,1,2,0%,2,00:06:01,0% +Opera 9.63,1,1,0%,1,00:00:00,100% + Operating System families label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,8,40,0%,5,00:15:01,0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index d4bfc0bb5d..dbdcd66dc3 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -278,11 +278,6 @@ <a href="#DevicesDetection_getType" style="text-decoration:none; color: rgb(68,68,68);"> Device type </a> - </li> - <li> - <a href="#DevicesDetection_getBrand" style="text-decoration:none; color: rgb(68,68,68);"> - Device brand - </a> </li> <li> <a href="#DevicesDetection_getBrowsers" style="text-decoration:none; color: rgb(68,68,68);"> @@ -290,14 +285,19 @@ </a> </li> <li> - <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);"> - Browser Version + <a href="#DevicesDetection_getBrand" style="text-decoration:none; color: rgb(68,68,68);"> + Device brand </a> </li> <li> <a href="#DevicesDetection_getModel" style="text-decoration:none; color: rgb(68,68,68);"> Device model </a> + </li> + <li> + <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);"> + Browser Version + </a> </li> <li> <a href="#DevicesDetection_getOsFamilies" style="text-decoration:none; color: rgb(68,68,68);"> @@ -4601,8 +4601,8 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;"> - Device brand +<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;"> + Visitor Browser </h2> @@ -4610,7 +4610,7 @@ <table style="border-collapse:collapse; margin-left: 5px;"> <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> <th style="padding: 6px 0;"> -  Device brand   +  Browser   </th> <th style="padding: 6px 0;">  Visits   @@ -4635,23 +4635,73 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/DevicesDetection/images/brand/Unknown.ico'> + <img src='plugins/UserSettings/images/browsers/UNK.gif'>   Unknown </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 10 + 8 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 43 + 40 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4.3 + 5 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:12:37 + 00:15:01 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 10% + 0% + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> + </tr> + + <tr style="background-color: rgb(249,250,250)"> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + <img src='plugins/UserSettings/images/browsers/FF.gif'> +   + Firefox </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 1 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 2 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 2 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:06:01 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 0% + </td> + </tr> + + <tr style=""> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + <img src='plugins/UserSettings/images/browsers/OP.gif'> +   + Opera </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 1 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 1 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 1 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 00:00:00 + </td> + <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> + 100% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4663,8 +4713,8 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;"> - Visitor Browser +<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;"> + Device brand </h2> @@ -4672,7 +4722,7 @@ <table style="border-collapse:collapse; margin-left: 5px;"> <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> <th style="padding: 6px 0;"> -  Browser   +  Device brand   </th> <th style="padding: 6px 0;">  Visits   @@ -4697,73 +4747,83 @@ <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/UserSettings/images/browsers/UNK.gif'> + <img src='plugins/DevicesDetection/images/brand/Unknown.ico'>   Unknown </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 8 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 40 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 5 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:15:01 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> - </tr> - - <tr style="background-color: rgb(249,250,250)"> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/UserSettings/images/browsers/FF.gif'> -   - Firefox </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 10 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 43 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 2 + 4.3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:06:01 + 00:12:37 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% + 10% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% </td> </tr> - + </tbody> + </table> + <br/> + <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> + Back to top + </a> +<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;"> + Device model +</h2> + + + + <table style="border-collapse:collapse; margin-left: 5px;"> + <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> + <th style="padding: 6px 0;"> +  Device model   + </th> + <th style="padding: 6px 0;"> +  Visits   + </th> + <th style="padding: 6px 0;"> +  Actions   + </th> + <th style="padding: 6px 0;"> +  Actions per Visit   + </th> + <th style="padding: 6px 0;"> +  Avg. Time on Website   + </th> + <th style="padding: 6px 0;"> +  Bounce Rate   + </th> + <th style="padding: 6px 0;"> +  Conversion Rate   + </th> + </thead> + <tbody> + <tr style=""> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - <img src='plugins/UserSettings/images/browsers/OP.gif'> -   - Opera </td> + Unknown </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 10 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 43 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 4.3 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:00:00 + 00:12:37 </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 100% + 10% </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> 0% @@ -4887,66 +4947,6 @@ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> Back to top </a> -<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;"> - Device model -</h2> - - - - <table style="border-collapse:collapse; margin-left: 5px;"> - <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;"> - <th style="padding: 6px 0;"> -  Device model   - </th> - <th style="padding: 6px 0;"> -  Visits   - </th> - <th style="padding: 6px 0;"> -  Actions   - </th> - <th style="padding: 6px 0;"> -  Actions per Visit   - </th> - <th style="padding: 6px 0;"> -  Avg. Time on Website   - </th> - <th style="padding: 6px 0;"> -  Bounce Rate   - </th> - <th style="padding: 6px 0;"> -  Conversion Rate   - </th> - </thead> - <tbody> - - <tr style=""> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - Unknown </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 10 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 43 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 4.3 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 00:12:37 - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 10% - </td> - <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 0% - </td> - </tr> - </tbody> - </table> - <br/> - <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop"> - Back to top - </a> <h2 id="DevicesDetection_getOsFamilies" style="color: rgb(126,115,99); font-size: 11pt;"> Operating System families </h2> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index 4aa7be5bbf..ca85e8dede 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>2</nb_users> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>3</bounce_count> + <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index 384d2679e6..7731535795 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -4,6 +4,9 @@ <nb_users>3</nb_users> <nb_visits>8</nb_visits> <nb_actions>12</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>5</bounce_count> + <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>63%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index 4aa7be5bbf..ca85e8dede 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>2</nb_users> <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>3</bounce_count> + <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index 2bb6b1d301..84850ee827 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -2,6 +2,9 @@ <result> <nb_visits>8</nb_visits> <nb_actions>12</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>5</bounce_count> + <sum_visit_length>1983</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>63%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml index 038ad7f337..969fd130e8 100644 --- a/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_UserId_VisitorId_segmentUserId__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>1</nb_users> <nb_visits>2</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>1081</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index eb29de0ae3..d84e6c4f35 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -7,6 +7,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml index 04e74fccbc..d046dca549 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldNotAppear__VisitsSummary.get_month.xml @@ -8,6 +8,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 2e6f22624e..9e481c56c0 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -8,25 +8,27 @@ <dimension>Website</dimension> <metrics> <nb_visits>Visits</nb_visits> - <visits_evolution>Visits Evolution</visits_evolution> <nb_actions>Actions</nb_actions> - <actions_evolution>Actions Evolution</actions_evolution> <nb_pageviews>Pageviews</nb_pageviews> - <pageviews_evolution>Pageviews Evolution</pageviews_evolution> <revenue>Revenue</revenue> - <revenue_evolution>Revenue Evolution</revenue_evolution> <nb_conversions>Conversions</nb_conversions> - <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> <orders>Ecommerce Orders</orders> - <orders_evolution>Ecommerce Orders Evolution</orders_evolution> <ecommerce_revenue>Product Revenue</ecommerce_revenue> - <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> </metrics> <metricsDocumentation> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> <nb_pageviews>The number of times this page was visited.</nb_pageviews> </metricsDocumentation> + <processedMetrics> + <visits_evolution>Visits Evolution</visits_evolution> + <actions_evolution>Actions Evolution</actions_evolution> + <pageviews_evolution>Pageviews Evolution</pageviews_evolution> + <revenue_evolution>Revenue Evolution</revenue_evolution> + <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> + <orders_evolution>Ecommerce Orders Evolution</orders_evolution> + <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=MultiSites&apiAction=getAll&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=MultiSites&apiAction=getAll&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>MultiSites_getAll</uniqueId> @@ -39,25 +41,27 @@ <dimension>Website</dimension> <metrics> <nb_visits>Visits</nb_visits> - <visits_evolution>Visits Evolution</visits_evolution> <nb_actions>Actions</nb_actions> - <actions_evolution>Actions Evolution</actions_evolution> <nb_pageviews>Pageviews</nb_pageviews> - <pageviews_evolution>Pageviews Evolution</pageviews_evolution> <revenue>Revenue</revenue> - <revenue_evolution>Revenue Evolution</revenue_evolution> <nb_conversions>Conversions</nb_conversions> - <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> <orders>Ecommerce Orders</orders> - <orders_evolution>Ecommerce Orders Evolution</orders_evolution> <ecommerce_revenue>Product Revenue</ecommerce_revenue> - <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> </metrics> <metricsDocumentation> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> <nb_pageviews>The number of times this page was visited.</nb_pageviews> </metricsDocumentation> + <processedMetrics> + <visits_evolution>Visits Evolution</visits_evolution> + <actions_evolution>Actions Evolution</actions_evolution> + <pageviews_evolution>Pageviews Evolution</pageviews_evolution> + <revenue_evolution>Revenue Evolution</revenue_evolution> + <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> + <orders_evolution>Ecommerce Orders Evolution</orders_evolution> + <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=MultiSites&apiAction=getOne&period=day&date=2009-01-04</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=MultiSites&apiAction=getOne&period=day&date=2008-12-06,2009-01-04</imageGraphEvolutionUrl> <uniqueId>MultiSites_getOne</uniqueId> diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv index 779689ac0c..26adb45055 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp0__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv index 31027739ab..58e88ae47a 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner0_trans-en__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv index 56267781f4..7315bde871 100644 Binary files a/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv and b/tests/PHPUnit/System/expected/test_csvExport_xp1_inner1_trans-de__VisitsSummary.get_day.csv differ diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml index a7e343ba22..2ecf693474 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentAbandonedCart__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>4682</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentConvertedGoalId1__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml index a7e343ba22..2ecf693474 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentDidNotConvertGoalId1__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>4682</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNewVisitors__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoEcommerce__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml index fb2e69c2f2..32b66284be 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentNoVisit_HaveConvertedNonExistingGoal__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml index 426bed12e0..44b18e613c 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentOrderedSomething__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>3961</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentPageTitleMatch__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml index 345cf57c2f..02458f0645 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningCustomers__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>2165</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>33%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml index 426bed12e0..44b18e613c 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentReturningVisitors__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>3961</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasConvertedGoal__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml index 9316fae5a5..a9d2095dfb 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_SegmentVisitHasNotOrderedAndConvertedGoal__VisitsSummary.get_week.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>721</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml index f095668462..115904be39 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>13</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>5403</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4.3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index ea6ac0f953..17fe768a9c 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -1,7 +1,7 @@ All Websites dashboard label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,orders,ecommerce_revenue,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders_evolution,ecommerce_revenue_evolution Piwik test,5,16,16,$ 13361.11,5,4,$ 13351.11,100%,100%,100%,100%,100%,100%,100% -Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0%,0% +Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0,0 Visits Summary nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml index b6c1430561..c415099916 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitFrequency.get_day.xml @@ -4,6 +4,9 @@ <nb_users_returning>0</nb_users_returning> <nb_visits_returning>0</nb_visits_returning> <nb_actions_returning>0</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>0</bounce_count_returning> + <sum_visit_length_returning>0</sum_visit_length_returning> <max_actions_returning>0</max_actions_returning> <bounce_rate_returning>0%</bounce_rate_returning> <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml index fb2e69c2f2..32b66284be 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>0</nb_visits> <nb_actions>0</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>0</sum_visit_length> <max_actions>0</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>0</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml index 998570088c..d7c74b8645 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitFrequency.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits_returning>6</nb_visits_returning> <nb_actions_returning>9</nb_actions_returning> + <nb_visits_converted_returning>0</nb_visits_converted_returning> + <bounce_count_returning>3</bounce_count_returning> + <sum_visit_length_returning>1083</sum_visit_length_returning> <max_actions_returning>2</max_actions_returning> <bounce_rate_returning>50%</bounce_rate_returning> <nb_actions_per_visit_returning>1.5</nb_actions_per_visit_returning> diff --git a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml index 02e6f04c57..29d972ff8a 100644 --- a/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>6</nb_visits> <nb_actions>9</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>3</bounce_count> + <sum_visit_length>1083</sum_visit_length> <max_actions>2</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>1.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml index 7ed769dfb3..4a5151e912 100644 --- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml +++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__VisitsSummary.get_range.xml @@ -2,6 +2,9 @@ <result> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>2</bounce_count> + <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml index 7ff0123b17..7168091d51 100644 --- a/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>363</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>2.5</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml index f916b85048..9cdfb2d5b7 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml index f916b85048..9cdfb2d5b7 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml index 9ed9610ff2..06b9efca77 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml index f916b85048..9cdfb2d5b7 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml index 9ed9610ff2..06b9efca77 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__VisitsSummary.get_day.xml @@ -4,6 +4,9 @@ <nb_users>0</nb_users> <nb_visits>2</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>1</bounce_count> + <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>50%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml index c14daef152..ab7f9f9a18 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_day.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>2</bounce_count> + <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml index 7eb27f4237..b5e37b20aa 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__VisitsSummary.get_week.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>2</bounce_count> + <sum_visit_length>722</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>2</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml index 3d7e3d62c4..283758c4ec 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_day.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>2</bounce_count> + <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml index f6cf29fc70..4dab22a018 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__VisitsSummary.get_week.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>3</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>2</nb_visits_converted> + <bounce_count>2</bounce_count> + <sum_visit_length>725</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>67%</bounce_rate> <nb_actions_per_visit>1.7</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml index 38cfd3d23f..de4eac0560 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_day.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml index de45b35f0a..b23508240f 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__VisitsSummary.get_week.xml @@ -6,6 +6,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>3</nb_actions> + <nb_visits_converted>1</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>364</sum_visit_length> <max_actions>3</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>3</nb_actions_per_visit> -- cgit v1.2.3 From 36c7c60e59d2f89d3719ef9b810e461ac1df7c61 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 18:45:08 -0800 Subject: Fixing more tests. --- core/API/DataTablePostProcessor.php | 2 +- ...firstSite_lastN__API.getProcessedReport_day.xml | 60 +++++++++++----------- ...eduledReports.generateReport_month.original.csv | 6 +-- ...eportsShouldAppear__VisitsSummary.get_month.xml | 6 +++ ...eportsShouldAppear__VisitsSummary.get_month.xml | 6 +++ 5 files changed, 47 insertions(+), 33 deletions(-) diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index aeadb6f7ab..72facbf41c 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -264,7 +264,7 @@ class DataTablePostProcessor $report = $this->report; $dataTable->filter(function (DataTable $table) use ($report, $allColumns) { - $processedMetrics = Report::getProcessedMetricsForTable($table, $this->report); + $processedMetrics = Report::getProcessedMetricsForTable($table, $report); $allTemporaryMetrics = array(); foreach ($processedMetrics as $metric) { diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml index 31f9f11927..aabc0dcb25 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml @@ -10,25 +10,27 @@ <dimension>Website</dimension> <metrics> <nb_visits>Visits</nb_visits> - <visits_evolution>Visits Evolution</visits_evolution> <nb_actions>Actions</nb_actions> - <actions_evolution>Actions Evolution</actions_evolution> <nb_pageviews>Pageviews</nb_pageviews> - <pageviews_evolution>Pageviews Evolution</pageviews_evolution> <revenue>Revenue</revenue> - <revenue_evolution>Revenue Evolution</revenue_evolution> <nb_conversions>Conversions</nb_conversions> - <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> <orders>Ecommerce Orders</orders> - <orders_evolution>Ecommerce Orders Evolution</orders_evolution> <ecommerce_revenue>Product Revenue</ecommerce_revenue> - <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> </metrics> <metricsDocumentation> <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> <nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions> <nb_pageviews>The number of times this page was visited.</nb_pageviews> </metricsDocumentation> + <processedMetrics> + <visits_evolution>Visits Evolution</visits_evolution> + <actions_evolution>Actions Evolution</actions_evolution> + <pageviews_evolution>Pageviews Evolution</pageviews_evolution> + <revenue_evolution>Revenue Evolution</revenue_evolution> + <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> + <orders_evolution>Ecommerce Orders Evolution</orders_evolution> + <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> + </processedMetrics> <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=MultiSites&apiAction=getAll&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=MultiSites&apiAction=getAll&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> <uniqueId>MultiSites_getAll</uniqueId> @@ -36,18 +38,18 @@ <columns> <label>Website</label> <nb_visits>Visits</nb_visits> - <visits_evolution>Visits Evolution</visits_evolution> <nb_actions>Actions</nb_actions> - <actions_evolution>Actions Evolution</actions_evolution> <nb_pageviews>Pageviews</nb_pageviews> - <pageviews_evolution>Pageviews Evolution</pageviews_evolution> <revenue>Revenue</revenue> - <revenue_evolution>Revenue Evolution</revenue_evolution> <nb_conversions>Conversions</nb_conversions> - <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> <orders>Ecommerce Orders</orders> - <orders_evolution>Ecommerce Orders Evolution</orders_evolution> <ecommerce_revenue>Product Revenue</ecommerce_revenue> + <visits_evolution>Visits Evolution</visits_evolution> + <actions_evolution>Actions Evolution</actions_evolution> + <pageviews_evolution>Pageviews Evolution</pageviews_evolution> + <revenue_evolution>Revenue Evolution</revenue_evolution> + <nb_conversions_evolution>Conversions Evolution</nb_conversions_evolution> + <orders_evolution>Ecommerce Orders Evolution</orders_evolution> <ecommerce_revenue_evolution>Product Revenue Evolution</ecommerce_revenue_evolution> </columns> <reportData> @@ -63,10 +65,10 @@ <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>100%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> @@ -82,10 +84,10 @@ <pageviews_evolution>-50%</pageviews_evolution> <revenue_evolution>-100%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> <row> @@ -99,10 +101,10 @@ <pageviews_evolution>100%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> @@ -118,10 +120,10 @@ <pageviews_evolution>400%</pageviews_evolution> <revenue_evolution>100%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> @@ -137,10 +139,10 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> @@ -156,10 +158,10 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> @@ -175,10 +177,10 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> @@ -194,10 +196,10 @@ <pageviews_evolution>0%</pageviews_evolution> <revenue_evolution>0%</revenue_evolution> <nb_conversions>0</nb_conversions> - <nb_conversions_evolution>0</nb_conversions_evolution> <orders>0</orders> - <orders_evolution>0</orders_evolution> <ecommerce_revenue>$ 0</ecommerce_revenue> + <nb_conversions_evolution>0</nb_conversions_evolution> + <orders_evolution>0</orders_evolution> <ecommerce_revenue_evolution>0</ecommerce_revenue_evolution> </row> </result> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index 2231592da2..b69ad366c5 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -1,7 +1,7 @@ All Websites dashboard -label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders,orders_evolution,ecommerce_revenue,ecommerce_revenue_evolution -Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 -Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,0,$ 0,0 +label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders,ecommerce_revenue,orders_evolution,ecommerce_revenue_evolution +Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0 +Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0 Visits Summary nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml index fee45c6b81..2f7ce19aa5 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite1_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>4</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>4</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>4</nb_actions_per_visit> @@ -16,6 +19,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> diff --git a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml index aa82f70f97..ed3e2b6ade 100644 --- a/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/System/expected/test_VisitsInPast_InvalidateOldReportsWebsite2_OldReportsShouldAppear__VisitsSummary.get_month.xml @@ -5,6 +5,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>5</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>361</sum_visit_length> <max_actions>5</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>5</nb_actions_per_visit> @@ -17,6 +20,9 @@ <nb_users>0</nb_users> <nb_visits>1</nb_visits> <nb_actions>6</nb_actions> + <nb_visits_converted>0</nb_visits_converted> + <bounce_count>0</bounce_count> + <sum_visit_length>1</sum_visit_length> <max_actions>6</max_actions> <bounce_rate>0%</bounce_rate> <nb_actions_per_visit>6</nb_actions_per_visit> -- cgit v1.2.3 From a58c81e24ff5df171358b17f9e46676ccf857d47 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 18:48:04 -0800 Subject: Forgot to add refactored file. --- .../Metrics/EcommerceOnlyEvolutionMetric.php | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 plugins/MultiSites/Columns/Metrics/EcommerceOnlyEvolutionMetric.php diff --git a/plugins/MultiSites/Columns/Metrics/EcommerceOnlyEvolutionMetric.php b/plugins/MultiSites/Columns/Metrics/EcommerceOnlyEvolutionMetric.php new file mode 100644 index 0000000000..cee88af3f5 --- /dev/null +++ b/plugins/MultiSites/Columns/Metrics/EcommerceOnlyEvolutionMetric.php @@ -0,0 +1,50 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Plugins\MultiSites\Columns\Metrics; + +use Piwik\DataTable; +use Piwik\DataTable\Row; +use Piwik\Plugins\CoreHome\Columns\Metrics\EvolutionMetric; +use Piwik\Site; + +/** + * Ecommerce evolution metric adapter. This is a special processed metric for MultiSites API methods. It will + * only be calculated for sites that have ecommerce enabled. The site is determined by the label + * of each row. + */ +class EcommerceOnlyEvolutionMetric extends EvolutionMetric +{ + private $isRevenueEvolution; + + public function __construct($wrapped, DataTable $pastData, $evolutionMetricName = false, $quotientPrecision = 0) + { + parent::__construct($wrapped, $pastData, $evolutionMetricName, $quotientPrecision); + + $this->isRevenueEvolution = $this->getName() == 'revenue_evolution'; + } + + public function compute(Row $row) + { + $columnName = $this->getWrappedName(); + $currentValue = $this->getMetric($row, $columnName); + + // if the site this is for doesn't support ecommerce & this is for the revenue_evolution column, + // we don't add the new column + if (($currentValue === false + || !$this->isRevenueEvolution) + && !Site::isEcommerceEnabledFor($row->getColumn('label')) + ) { + $row->deleteColumn($columnName); + + return false; + } + + return parent::compute($row); + } +} \ No newline at end of file -- cgit v1.2.3 From 1b3ee953b17893114214b62f037a81db8915ae68 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 18:55:45 -0800 Subject: Fixing merge test failures. --- ..._report_in_csv__ScheduledReports.generateReport_month.original.csv | 2 +- ...l_tables_only__ScheduledReports.generateReport_month.original.html | 4 ++-- .../expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml | 2 +- ...d_report_in_csv__ScheduledReports.generateReport_week.original.csv | 2 +- ...ml_tables_only__ScheduledReports.generateReport_week.original.html | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index b69ad366c5..a6f8e9e9fe 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -331,7 +331,7 @@ Device model label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,10,43,0%,4.3,00:12:37,10% -Browser Version +Browser version label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,8,40,0%,5,00:15:01,0% Firefox 3.6,1,2,0%,2,00:06:01,0% diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index dbdcd66dc3..92f2806cd4 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -296,7 +296,7 @@ </li> <li> <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);"> - Browser Version + Browser version </a> </li> <li> @@ -4836,7 +4836,7 @@ Back to top </a> <h2 id="DevicesDetection_getBrowserVersions" style="color: rgb(126,115,99); font-size: 11pt;"> - Browser Version + Browser version </h2> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 9e481c56c0..c85690126f 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -1893,7 +1893,7 @@ </row> <row> <category>Visitor Devices</category> - <name>Browser Version</name> + <name>Browser version</name> <module>DevicesDetection</module> <action>getBrowserVersions</action> <dimension>Browser version</dimension> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv index 17fe768a9c..5610bff163 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv @@ -482,7 +482,7 @@ Device brand label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Unknown,5,16,80%,3.2,00:22:49,20% -Browser Version +Browser version label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate Firefox 3.6,5,16,80%,3.2,00:22:49,20% diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index b2e8666729..5c5d3de802 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -351,7 +351,7 @@ </li> <li> <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);"> - Browser Version + Browser version </a> </li> <li> @@ -6382,7 +6382,7 @@ Back to top </a> <h2 id="DevicesDetection_getBrowserVersions" style="color: rgb(126,115,99); font-size: 11pt;"> - Browser Version + Browser version </h2> -- cgit v1.2.3 From edae22dc793608cc713ac11baf6cfa5706302c49 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 15:57:37 +1300 Subject: UI test build --- tests/PHPUnit/UI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI index 1866a23780..ec6b869650 160000 --- a/tests/PHPUnit/UI +++ b/tests/PHPUnit/UI @@ -1 +1 @@ -Subproject commit 1866a237805aa4d984f8efa14c25971a2e1391e1 +Subproject commit ec6b8696508f65cf9105692715586c7f6e45603a -- cgit v1.2.3 From 9c165f4ce96b96ac0d77d6d86ebf21ca49405f1c Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 16:05:39 +1300 Subject: Fixes #3147 Add rel="noreferrer" to all outgoing links . This works in Firefox so far and only for "left clicks". Not perfect, but hopefully other browsers will implement this in the future, as it's a useful privacy enhancing feature! --- core/API/DocumentationGenerator.php | 16 +++---- core/Error.php | 2 +- core/Plugin/ControllerAdmin.php | 2 +- core/Session.php | 2 +- core/Updates/0.6-rc1.php | 4 +- core/Updates/1.2-rc1.php | 2 +- core/testMinimumPhpVersion.php | 14 +++--- plugins/API/API.php | 4 +- plugins/API/templates/listAllAPI.twig | 2 +- plugins/Actions/API.php | 2 +- plugins/Actions/Reports/GetSiteSearchKeywords.php | 2 +- .../CoreAdminHome/templates/generalSettings.twig | 12 ++--- .../templates/trackingCodeGenerator.twig | 10 ++-- .../enrichedheadline.directive.html | 2 + plugins/CoreHome/javascripts/dataTable.js | 2 +- .../ReportRenderer/_htmlReportHeader.twig | 2 +- plugins/CoreHome/templates/_dataTableCell.twig | 2 +- plugins/CoreHome/templates/_donate.twig | 2 +- plugins/CoreHome/templates/_headerMessage.twig | 4 +- .../CoreHome/templates/_warningInvalidHost.twig | 4 +- plugins/CoreHome/templates/getPromoVideo.twig | 6 +-- .../CorePluginsAdmin/templates/browsePlugins.twig | 2 +- plugins/CorePluginsAdmin/templates/macros.twig | 4 +- .../CorePluginsAdmin/templates/pluginDetails.twig | 2 +- plugins/CorePluginsAdmin/templates/safemode.twig | 2 +- plugins/CoreUpdater/templates/oneClickResults.twig | 2 +- .../templates/runUpdaterAndExit_done.twig | 4 +- .../templates/runUpdaterAndExit_welcome.twig | 4 +- .../templates/_dataTableViz_tagCloud.twig | 2 +- plugins/CustomVariables/API.php | 2 +- .../CustomVariables/Reports/GetCustomVariables.php | 2 +- .../Reports/GetCustomVariablesValuesFromNameId.php | 2 +- plugins/DBStats/templates/index.twig | 2 +- plugins/Dashboard/API.php | 2 +- plugins/ExampleAPI/API.php | 2 +- plugins/ExampleRssWidget/RssRenderer.php | 2 +- plugins/Feedback/templates/index.twig | 54 +++++++++++----------- plugins/Goals/API.php | 2 +- plugins/Goals/Goals.php | 2 +- plugins/Goals/Visualizations/Goals.php | 2 +- plugins/Goals/templates/_addEditGoal.twig | 8 ++-- plugins/Goals/templates/_formAddGoal.twig | 2 +- plugins/Goals/templates/addNewGoal.twig | 2 +- plugins/Installation/FormSuperUser.php | 2 +- .../templates/_systemCheckSection.twig | 8 ++-- plugins/Installation/templates/finished.twig | 4 +- plugins/Installation/templates/reuseTables.twig | 2 +- plugins/Installation/templates/systemCheck.twig | 2 +- plugins/Installation/templates/trackingCode.twig | 4 +- plugins/LanguagesManager/API.php | 2 +- .../translationsearch.directive.html | 2 +- plugins/Live/API.php | 4 +- plugins/Live/templates/_actionsList.twig | 2 +- .../Live/templates/_dataTableViz_visitorLog.twig | 6 +-- plugins/Live/templates/getLastVisitsStart.twig | 2 +- plugins/Live/templates/getVisitorProfilePopup.twig | 2 +- plugins/Login/Controller.php | 2 +- plugins/Login/templates/login.twig | 2 +- plugins/MobileMessaging/SMSProvider.php | 6 +-- .../MultiSites/angularjs/site/site.directive.html | 4 +- plugins/Overlay/templates/index.twig | 4 +- .../PrivacyManager/templates/privacySettings.twig | 6 +-- plugins/Provider/Reports/GetProvider.php | 2 +- plugins/Referrers/API.php | 4 +- plugins/Referrers/Controller.php | 4 +- plugins/Referrers/Reports/GetCampaigns.php | 2 +- .../Reports/GetKeywordsFromCampaignId.php | 2 +- plugins/SEO/templates/getRank.twig | 4 +- plugins/ScheduledReports/API.php | 2 +- plugins/ScheduledReports/templates/_addReport.twig | 2 +- .../ScheduledReports/templates/_listReports.twig | 2 +- plugins/SecurityInfo | 2 +- .../SegmentEditor/templates/_segmentSelector.twig | 2 +- plugins/SitesManager/API.php | 2 +- .../templates/_displayJavascriptCode.twig | 4 +- plugins/UserCountry/LocationProvider/Default.php | 2 +- .../UserCountry/LocationProvider/GeoIp/Pecl.php | 2 +- plugins/UserCountry/LocationProvider/GeoIp/Php.php | 2 +- .../LocationProvider/GeoIp/ServerBased.php | 4 +- plugins/UserCountry/Reports/Base.php | 8 ++-- plugins/UserCountry/Reports/GetCountry.php | 2 +- plugins/UserCountry/templates/adminIndex.twig | 2 +- plugins/UsersManager/API.php | 2 +- plugins/UsersManager/Model.php | 2 +- plugins/VisitorGenerator | 2 +- plugins/VisitsSummary/Controller.php | 2 +- plugins/Widgetize/javascripts/widgetize.js | 2 +- plugins/Widgetize/templates/index.twig | 8 ++-- 88 files changed, 174 insertions(+), 172 deletions(-) diff --git a/core/API/DocumentationGenerator.php b/core/API/DocumentationGenerator.php index 6a140ac8fb..3c88f62027 100644 --- a/core/API/DocumentationGenerator.php +++ b/core/API/DocumentationGenerator.php @@ -132,13 +132,13 @@ class DocumentationGenerator $lastNUrls = ''; if (preg_match('/(&period)|(&date)/', $exampleUrl)) { $exampleUrlRss = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last10', 'period' => 'day') + $parametersToSet); - $lastNUrls = ", RSS of the last <a target=_blank href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; + $lastNUrls = ", RSS of the last <a target='_blank' href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; } $exampleUrl = $prefixUrls . $exampleUrl; $str .= " [ Example in - <a target=_blank href='$exampleUrl&format=xml$token_auth'>XML</a>, - <a target=_blank href='$exampleUrl&format=JSON$token_auth'>Json</a>, - <a target=_blank href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> + <a target='_blank' href='$exampleUrl&format=xml$token_auth'>XML</a>, + <a target='_blank' href='$exampleUrl&format=JSON$token_auth'>Json</a>, + <a target='_blank' href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> $lastNUrls ]"; } else { @@ -350,13 +350,13 @@ class DocumentationGenerator $lastNUrls = ''; if (preg_match('/(&period)|(&date)/', $exampleUrl)) { $exampleUrlRss = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last10', 'period' => 'day') + $parametersToSet); - $lastNUrls = ", RSS of the last <a target=_blank href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; + $lastNUrls = ", RSS of the last <a target='_blank' href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>"; } $exampleUrl = $prefixUrls . $exampleUrl; $str .= " [ Example in - <a target=_blank href='$exampleUrl&format=xml$token_auth'>XML</a>, - <a target=_blank href='$exampleUrl&format=JSON$token_auth'>Json</a>, - <a target=_blank href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> + <a target='_blank' href='$exampleUrl&format=xml$token_auth'>XML</a>, + <a target='_blank' href='$exampleUrl&format=JSON$token_auth'>Json</a>, + <a target='_blank' href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a> $lastNUrls ]"; } else { diff --git a/core/Error.php b/core/Error.php index c56e3301a7..d8fa0706fc 100644 --- a/core/Error.php +++ b/core/Error.php @@ -148,7 +148,7 @@ class Error $htmlString = ''; $htmlString .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'> <strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik\Version') ? Version::VERSION : '') . ") - and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/> + and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' rel='noreferrer' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/> "; $htmlString .= Error::getErrNoString($message->errno); $htmlString .= ":</strong> <em>{$message->errstr}</em> in <strong>{$message->errfile}</strong>"; diff --git a/core/Plugin/ControllerAdmin.php b/core/Plugin/ControllerAdmin.php index 746395e88e..008cb4d2f4 100644 --- a/core/Plugin/ControllerAdmin.php +++ b/core/Plugin/ControllerAdmin.php @@ -131,7 +131,7 @@ abstract class ControllerAdmin extends Controller $message = sprintf("You are using the PHP accelerator & optimizer eAccelerator which is known to be not compatible with Piwik. We have disabled eAccelerator, which might affect the performance of Piwik. Read the %srelated ticket%s for more information and how to fix this problem.", - '<a target="_blank" href="https://github.com/piwik/piwik/issues/4439">', '</a>'); + '<a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik/issues/4439">', '</a>'); $notification = new Notification($message); $notification->context = Notification::CONTEXT_WARNING; diff --git a/core/Session.php b/core/Session.php index f67b2e4caf..edd468c95e 100644 --- a/core/Session.php +++ b/core/Session.php @@ -120,7 +120,7 @@ class Session extends Zend_Session $enableDbSessions = ''; if (DbHelper::isInstalled()) { $enableDbSessions = "<br/>If you still experience issues after trying these changes, - we recommend that you <a href='http://piwik.org/faq/how-to-install/#faq_133' target='_blank'>enable database session storage</a>."; + we recommend that you <a href='http://piwik.org/faq/how-to-install/#faq_133' rel='noreferrer' target='_blank'>enable database session storage</a>."; } $pathToSessions = Filechecks::getErrorMessageMissingPermissions(Filesystem::getPathToPiwikRoot() . '/tmp/sessions/'); diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php index 9f293dda97..9a946251ad 100644 --- a/core/Updates/0.6-rc1.php +++ b/core/Updates/0.6-rc1.php @@ -42,8 +42,8 @@ class Updates_0_6_rc1 extends Updates { // first we disable the plugins and keep an array of warnings messages $pluginsToDisableMessage = array( - 'SearchEnginePosition' => "SearchEnginePosition plugin was disabled, because it is not compatible with the new Piwik 0.6. \n You can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/502'>Click here.</a>", - 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 0.6. \nYou can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>" + 'SearchEnginePosition' => "SearchEnginePosition plugin was disabled, because it is not compatible with the new Piwik 0.6. \n You can download the latest version of the plugin, compatible with Piwik 0.6.\n<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/502'>Click here.</a>", + 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 0.6. \nYou can download the latest version of the plugin, compatible with Piwik 0.6.\n<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>" ); $disabledPlugins = array(); foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) { diff --git a/core/Updates/1.2-rc1.php b/core/Updates/1.2-rc1.php index e268ad8570..658dffeb27 100644 --- a/core/Updates/1.2-rc1.php +++ b/core/Updates/1.2-rc1.php @@ -129,7 +129,7 @@ class Updates_1_2_rc1 extends Updates { // first we disable the plugins and keep an array of warnings messages $pluginsToDisableMessage = array( - 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 1.2. \nYou can download the latest version of the plugin, compatible with Piwik 1.2.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>", + 'GeoIP' => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 1.2. \nYou can download the latest version of the plugin, compatible with Piwik 1.2.\n<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>", 'EntryPage' => "EntryPage plugin is not compatible with this version of Piwik, it was disabled.", ); $disabledPlugins = array(); diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php index a24780077d..eec5a50d1b 100644 --- a/core/testMinimumPhpVersion.php +++ b/core/testMinimumPhpVersion.php @@ -52,11 +52,11 @@ if ($minimumPhpInvalid) { $composerInstall = "Download and run <a href=\"https://getcomposer.org/Composer-Setup.exe\"><b>Composer-Setup.exe</b></a>, it will install the latest Composer version and set up your PATH so that you can just call composer from any directory in your command line. " . " <br>Then run this command in a terminal in the piwik directory: <br> $ php composer.phar update "; } - $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' target='_blank'>composer</a> tool is not yet installed. You can install Composer in a few easy steps:\n\n". + $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' rel='noreferrer' target='_blank'>composer</a> tool is not yet installed. You can install Composer in a few easy steps:\n\n". "<br/>" . $composerInstall. " This will initialize composer for Piwik and download libraries we use in vendor/* directory.". "\n\n<br/><br/>Then reload this page to access your analytics reports." . - "\n\n<br/><br/>For more information check out this FAQ: <a href='http://piwik.org/faq/how-to-install/faq_18271/' target='_blank'>How do I use Piwik from the Git repository?</a>." . + "\n\n<br/><br/>For more information check out this FAQ: <a href='http://piwik.org/faq/how-to-install/faq_18271/' rel='noreferrer' target='_blank'>How do I use Piwik from the Git repository?</a>." . "\n\n<br/><br/>Note: if for some reasons you cannot install composer, instead install the latest Piwik release from ". "<a href='http://builds.piwik.org/piwik.zip'>builds.piwik.org</a>.</p>"; } @@ -122,11 +122,11 @@ if (!function_exists('Piwik_GetErrorMessagePage')) { if ($optionalLinks) { $optionalLinks = '<ul> - <li><a target="_blank" href="http://piwik.org">Piwik.org homepage</a></li> - <li><a target="_blank" href="http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li> - <li><a target="_blank" href="http://piwik.org/docs/">Piwik Documentation</a></li> - <li><a target="_blank" href="http://forum.piwik.org/">Piwik Forums</a></li> - <li><a target="_blank" href="http://demo.piwik.org">Piwik Online Demo</a></li> + <li><a rel="noreferrer" target="_blank" href="http://piwik.org">Piwik.org homepage</a></li> + <li><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li> + <li><a rel="noreferrer" target="_blank" href="http://piwik.org/docs/">Piwik Documentation</a></li> + <li><a rel="noreferrer" target="_blank" href="http://forum.piwik.org/">Piwik Forums</a></li> + <li><a rel="noreferrer" target="_blank" href="http://demo.piwik.org">Piwik Online Demo</a></li> </ul>'; } if ($optionalLinkBack) { diff --git a/plugins/API/API.php b/plugins/API/API.php index c65c04fffe..7802d3ffd8 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -30,7 +30,7 @@ use Piwik\Version; require_once PIWIK_INCLUDE_PATH . '/core/Config.php'; /** - * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing + * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' rel='noreferrer' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing * human readable and more complete outputs than normal API methods. * * Some of the information that is returned by the Metadata API: @@ -43,7 +43,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Config.php'; * <li>the method "getSuggestedValuesForSegment" returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will return the most often used values first.</li> * </ul> * The Metadata API is for example used by the Piwik Mobile App to automatically display all Piwik reports, with translated report & columns names and nicely formatted values. - * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API documentation page</a> + * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' rel='noreferrer' target='_blank'>Metadata API documentation page</a> * * @method static \Piwik\Plugins\API\API getInstance() */ diff --git a/plugins/API/templates/listAllAPI.twig b/plugins/API/templates/listAllAPI.twig index e4cf96174c..6ccd5db38f 100644 --- a/plugins/API/templates/listAllAPI.twig +++ b/plugins/API/templates/listAllAPI.twig @@ -16,7 +16,7 @@ <p>{{ 'API_PluginDescription'|translate }}</p> <p> - <strong>{{ 'API_MoreInformation'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api'>","</a>","<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api/reference'>","</a>")|raw }}</strong> + <strong>{{ 'API_MoreInformation'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api'>","</a>","<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api/reference'>","</a>")|raw }}</strong> </p> <h2>{{ 'API_UserAuthentication'|translate }}</h2> diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index ed161bdfec..1bddaab3c8 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -25,7 +25,7 @@ use Piwik\Tracker\PageUrl; * The Actions API lets you request reports for all your Visitor Actions: Page URLs, Page titles (Piwik Events), * File Downloads and Clicks on external websites. * - * For example, "getPageTitles" will return all your page titles along with standard <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' target='_blank'>Actions metrics</a> for each row. + * For example, "getPageTitles" will return all your page titles along with standard <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>Actions metrics</a> for each row. * * It is also possible to request data for a specific Page Title with "getPageTitle" * and setting the parameter pageName to the page title you wish to request. diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php index 61fc0a84ed..32ce9e3b4b 100644 --- a/plugins/Actions/Reports/GetSiteSearchKeywords.php +++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php @@ -20,7 +20,7 @@ class GetSiteSearchKeywords extends SiteSearchBase $this->dimension = new Keyword(); $this->name = Piwik::translate('Actions_WidgetSearchKeywords'); $this->documentation = Piwik::translate('Actions_SiteSearchKeywordsDocumentation') . '<br/><br/>' . Piwik::translate('Actions_SiteSearchIntro') . '<br/><br/>' - . '<a href="http://piwik.org/docs/site-search/" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>'; + . '<a href="http://piwik.org/docs/site-search/" rel="noreferrer" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>'; $this->metrics = array('nb_visits', 'nb_pages_per_search', 'exit_rate'); $this->order = 15; $this->widgetTitle = 'Actions_WidgetSearchKeywords'; diff --git a/plugins/CoreAdminHome/templates/generalSettings.twig b/plugins/CoreAdminHome/templates/generalSettings.twig index 772d5d600c..d7f49b07e9 100644 --- a/plugins/CoreAdminHome/templates/generalSettings.twig +++ b/plugins/CoreAdminHome/templates/generalSettings.twig @@ -24,13 +24,13 @@ <input id="enableBrowserTriggerArchiving-no" type="radio" value="0" name="enableBrowserTriggerArchiving"{% if enableBrowserTriggerArchiving==0 %} checked="checked"{% endif %} /> <label for="enableBrowserTriggerArchiving-no">{{ 'General_No'|translate }}</label><br/> - <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }}</span> + <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>","</a>")|raw }}</span> </fieldset> <td> {% set browserArchivingHelp %} {{ 'General_ArchivingInlineHelp'|translate }} <br/> - {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }} + {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>","</a>")|raw }} {% endset %} {{ piwik.inlineHelp(browserArchivingHelp) }} </td> @@ -100,9 +100,9 @@ </fieldset> <td> {% set checkReleaseHelp %} - {{ 'CoreAdminHome_DevelopmentProcess'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_DevelopmentProcess'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' rel='noreferrer' target='_blank'>","</a>")|raw }} <br/> - {{ 'CoreAdminHome_StableReleases'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/user-feedback/' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_StableReleases'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/user-feedback/' rel='noreferrer' target='_blank'>","</a>")|raw }} {% endset %} {{ piwik.inlineHelp(checkReleaseHelp) }} </td> @@ -225,7 +225,7 @@ <td id="inlineHelpCustomLogo"> {% set giveUsFeedbackText %}"{{ 'General_GiveUsYourFeedback'|translate }}"{% endset %} {% set customLogoHelp %} - {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' rel='noreferrer' target='_blank'>","</a>")|raw }} {% endset %} {{ piwik.inlineHelp(customLogoHelp) }} </td> @@ -344,7 +344,7 @@ {% endset %} <code>{{ iframeOptOut|escape }}</code> <br/> - {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> {% endblock %} diff --git a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig index b3bfbf8d6b..bd54182b76 100644 --- a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig +++ b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig @@ -18,11 +18,11 @@ <p> {{ 'CoreAdminHome_JSTrackingIntro1'|translate }} <br/><br/> - {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }} <br/><br/> {{ 'CoreAdminHome_JSTrackingIntro4'|translate('<a href="#image-tracking-link">','</a>')|raw }} <br/><br/> - {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }} + {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }} </p> <div> @@ -167,7 +167,7 @@ <label for="custom-campaign-query-params-check">{{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParam'|translate }}</label> <div class="small-form-description"> - {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="http://piwik.org/faq/general/#faq_119" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="http://piwik.org/faq/general/#faq_119" rel="noreferrer" target="_blank">','</a>')|raw }} </div> <table style="display:none;" id="js-campaign-query-param-extra"> @@ -206,7 +206,7 @@ <p> {{ 'CoreAdminHome_ImageTrackingIntro1'|translate }} {{ 'CoreAdminHome_ImageTrackingIntro2'|translate("<em><noscript></noscript></em>")|raw }} <br/><br/> - {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="http://piwik.org/docs/tracking-api/reference/" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="http://piwik.org/docs/tracking-api/reference/" rel="noreferrer" target="_blank">','</a>')|raw }} </p> <div> @@ -276,7 +276,7 @@ <h2>{{ 'CoreAdminHome_ImportingServerLogs'|translate }}</h2> <p> - {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="http://piwik.org/log-analytics/" target="_blank">','</a>')|raw }} + {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="http://piwik.org/log-analytics/" rel="noreferrer" target="_blank">','</a>')|raw }} </p> {% endblock %} diff --git a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html index 53f04ecac1..2a03f809c4 100644 --- a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html +++ b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html @@ -4,6 +4,7 @@ <span ng-show="view.showIcons"> <a ng-if="helpUrl && !inlineHelp" + rel="noreferrer" target="_blank" href="{{ helpUrl }}" title="{{ 'CoreHome_ExternalHelp'|translate }}" @@ -22,6 +23,7 @@ <div class="inlineHelp" ng-show="view.showIcons && view.showInlineHelp"> <div ng-bind-html="inlineHelp"></div> <a ng-if="helpUrl" + rel="noreferrer" target="_blank" href="{{ helpUrl }}" class="readMore">{{ 'General_MoreDetails'|translate }}</a> diff --git a/plugins/CoreHome/javascripts/dataTable.js b/plugins/CoreHome/javascripts/dataTable.js index 60b703ecbd..ac59e4ff2b 100644 --- a/plugins/CoreHome/javascripts/dataTable.js +++ b/plugins/CoreHome/javascripts/dataTable.js @@ -1708,7 +1708,7 @@ $.extend(DataTable.prototype, UIControl.prototype, { }, handleSummaryRow: function (domElem) { - var details = _pk_translate('General_LearnMore', [' (<a href="http://piwik.org/faq/how-to/faq_54/" target="_blank">', '</a>)']); + var details = _pk_translate('General_LearnMore', [' (<a href="http://piwik.org/faq/how-to/faq_54/" rel="noreferrer" target="_blank">', '</a>)']); domElem.find('tr.summaryRow').each(function () { var labelSpan = $(this).find('.label .value'); diff --git a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig index e594377e35..a471b38adf 100644 --- a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig +++ b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig @@ -4,7 +4,7 @@ </head> <body style="color: rgb({{ reportTextColor }});"> -<a id="reportTop" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a> +<a id="reportTop" rel="noreferrer" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a> <h1 style="color: rgb({{ reportTitleTextColor }}); font-size: {{ reportTitleTextSize }}pt;"> {{ reportTitle }} diff --git a/plugins/CoreHome/templates/_dataTableCell.twig b/plugins/CoreHome/templates/_dataTableCell.twig index 0b040fe86b..1dd22bf024 100644 --- a/plugins/CoreHome/templates/_dataTableCell.twig +++ b/plugins/CoreHome/templates/_dataTableCell.twig @@ -2,7 +2,7 @@ {% set tooltipIndex = column ~ '_tooltip' %} {% if row.getMetadata(tooltipIndex) %}<span class="cell-tooltip" data-tooltip="{{ row.getMetadata(tooltipIndex) }}">{% endif %} {% if not row.getIdSubDataTable() and column=='label' and row.getMetadata('url') %} - <a target="_blank" href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|rawSafeDecoded }}'> + <a rel="noreferrer" target="_blank" href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|rawSafeDecoded }}'> {% if not row.getMetadata('logo') %} <img class="link" width="10" height="9" src="plugins/Morpheus/images/link.gif"/> {% endif %} diff --git a/plugins/CoreHome/templates/_donate.twig b/plugins/CoreHome/templates/_donate.twig index 1fff9d4015..d7dbde58c2 100755 --- a/plugins/CoreHome/templates/_donate.twig +++ b/plugins/CoreHome/templates/_donate.twig @@ -37,7 +37,7 @@ title="{{ 'CoreHome_SubscribeAndBecomePiwikSupporter'|translate }}"/> <a class="donate-spacer">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a> <a href="index.php?module=CoreHome&action=redirectToPaypal&idSite=1&cmd=_s-xclick&hosted_button_id=RPL23NJURMTFA&bb2_screener_=1357583494+83.233.186.82" - target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a> + rel="noreferrer" target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a> </div> <!-- to cache images --> diff --git a/plugins/CoreHome/templates/_headerMessage.twig b/plugins/CoreHome/templates/_headerMessage.twig index d25fc17bdc..0d13585f1a 100644 --- a/plugins/CoreHome/templates/_headerMessage.twig +++ b/plugins/CoreHome/templates/_headerMessage.twig @@ -31,12 +31,12 @@ <br/> {% endif %} {% if latest_version_available and isSuperUser %} - {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>","</a>","<a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>","</a>")|raw }} + {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>","</a>","<a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' rel='noreferrer' target='_blank'>","</a>")|raw }} <br/> {{ 'General_YouAreCurrentlyUsing'|translate(piwik_version) }} {% elseif latest_version_available and not isPiwikDemo and hasSomeViewAccess and not isUserIsAnonymous %} {% set updateSubject = 'General_NewUpdatePiwikX'|translate(latest_version_available)|e('url') %} - {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }} + {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/' rel='noreferrer' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' rel='noreferrer' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }} {% elseif isSuperUser and adminMenu is defined and adminMenu %} {{ updateCheck|raw }} <br /> diff --git a/plugins/CoreHome/templates/_warningInvalidHost.twig b/plugins/CoreHome/templates/_warningInvalidHost.twig index d3a2661a86..71d2716893 100644 --- a/plugins/CoreHome/templates/_warningInvalidHost.twig +++ b/plugins/CoreHome/templates/_warningInvalidHost.twig @@ -1,14 +1,14 @@ {# untrusted host warning #} {% if (isValidHost is defined and invalidHostMessage is defined and isValidHost == false) %} {% set invalidHostText %} - <a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank"><img src="plugins/Morpheus/images/help.png"/></a> + <a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank"><img src="plugins/Morpheus/images/help.png"/></a> <strong>{{ 'General_Warning'|translate }}: </strong>{{ invalidHostMessage|raw }} <br> <br> <small>{{ invalidHostMessageHowToFix|raw }} - <br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank">{{ 'General_Help'|translate }} + <br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank">{{ 'General_Help'|translate }} <img style="vertical-align: bottom;" src="plugins/Morpheus/images/help.png"/></a><br/> </small> {% endset %} diff --git a/plugins/CoreHome/templates/getPromoVideo.twig b/plugins/CoreHome/templates/getPromoVideo.twig index 36d94381a9..0a0bd0fb63 100755 --- a/plugins/CoreHome/templates/getPromoVideo.twig +++ b/plugins/CoreHome/templates/getPromoVideo.twig @@ -8,7 +8,7 @@ </div> </div> - <a id="piwik-promo-videos-link" href="http://piwik.org/blog/2012/12/piwik-how-to-videos/" target="_blank"> + <a id="piwik-promo-videos-link" href="http://piwik.org/blog/2012/12/piwik-how-to-videos/" rel="noreferrer" target="_blank"> {{ 'CoreHome_ViewAllPiwikVideoTutorials'|translate }} </a> @@ -16,12 +16,12 @@ <span>{{ 'CoreHome_ShareThis'|translate }}:</span> {# facebook #} - <a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" target="_blank"> + <a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" rel="noreferrer" target="_blank"> <img src="plugins/Referrers/images/socials/facebook.com.png" /> </a> {# twitter #} - <a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" target="_blank"> + <a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" rel="noreferrer" target="_blank"> <img src="plugins/Referrers/images/socials/twitter.com.png" /> </a> diff --git a/plugins/CorePluginsAdmin/templates/browsePlugins.twig b/plugins/CorePluginsAdmin/templates/browsePlugins.twig index 9259081a0c..2624dd00e9 100644 --- a/plugins/CorePluginsAdmin/templates/browsePlugins.twig +++ b/plugins/CorePluginsAdmin/templates/browsePlugins.twig @@ -55,6 +55,6 @@ {% set marketplaceSellPluginSubject = 'CorePluginsAdmin_MarketplaceSellPluginSubject'|translate %} {{ 'CorePluginsAdmin_GetEarlyAccessForPaidPlugins'|translate("<a href='mailto:hello@piwik.org?subject=" ~ marketplaceSellPluginSubject ~ "'>", "</a>")|raw }} <br/> - {{ 'CorePluginsAdmin_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=http://developer.piwik.org/plugins" target="_blank">', '</a>')|raw }} + {{ 'CorePluginsAdmin_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=http://developer.piwik.org/plugins" rel="noreferrer" target="_blank">', '</a>')|raw }} </div> {% endblock %} diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig index 8c057ed06f..f5c9220721 100644 --- a/plugins/CorePluginsAdmin/templates/macros.twig +++ b/plugins/CorePluginsAdmin/templates/macros.twig @@ -190,7 +190,7 @@ </div> {% if plugin.info.license is defined %} <div class="plugin-license"> - {% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %} + {% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" rel="noreferrer" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %} </div> {% endif %} {% if plugin.info.authors is defined %} @@ -200,7 +200,7 @@ {% spaceless %} {% for author in plugin.info.authors if author.name %} {% if author.homepage is defined %} - <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" target="_blank">{{ author.name }}</a> + <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ aurel="noreferrer" target="_blank"" target="_blank">{{ author.name }}</a> {% else %} {{ author.name }} {% endif %} diff --git a/plugins/CorePluginsAdmin/templates/pluginDetails.twig b/plugins/CorePluginsAdmin/templates/pluginDetails.twig index 2487ef41d6..077f3755c5 100644 --- a/plugins/CorePluginsAdmin/templates/pluginDetails.twig +++ b/plugins/CorePluginsAdmin/templates/pluginDetails.twig @@ -69,7 +69,7 @@ {{ pluginsMacro.missingRequirementsPleaseUpdateNotice(plugin) }} {% if plugin.canBeUpdated %} <p class="updateAvailableNotice">{{ 'CorePluginsAdmin_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }} - {% if plugin.repositoryChangelogUrl %}<a target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %} + {% if plugin.repositoryChangelogUrl %}<a rel="noreferrer" target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %} </p> {% endif %} diff --git a/plugins/CorePluginsAdmin/templates/safemode.twig b/plugins/CorePluginsAdmin/templates/safemode.twig index e2608c147e..53de56181b 100644 --- a/plugins/CorePluginsAdmin/templates/safemode.twig +++ b/plugins/CorePluginsAdmin/templates/safemode.twig @@ -63,7 +63,7 @@ <p> If this error continues to happen, you may be able to fix this issue by disabling one or more of the Third-Party plugins. You can enable them again in the - <a target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a> or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under + <a rel="noreferrer" target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a> or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under settings at any time. {% if pluginCausesIssue %} diff --git a/plugins/CoreUpdater/templates/oneClickResults.twig b/plugins/CoreUpdater/templates/oneClickResults.twig index 555e1ef568..7696e724ae 100644 --- a/plugins/CoreUpdater/templates/oneClickResults.twig +++ b/plugins/CoreUpdater/templates/oneClickResults.twig @@ -14,7 +14,7 @@ <br/> <div class="warning"> <img src="plugins/Morpheus/images/warning_medium.png"/> - {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>","</a>")|raw }} + {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>","</a>")|raw }} </div> <br/> <br/> diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig index 0a2eaa5efe..8ddf66876d 100644 --- a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig +++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig @@ -1,6 +1,6 @@ {% extends '@CoreUpdater/layout.twig' %} {% set helpMessage %} - {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }} + {{ 'CoreUpdater_HelpMessageContent'|translate('<a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }} {% endset %} {% block content %} @@ -24,7 +24,7 @@ <ul> <li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li> <li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li> - <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' target='_blank'>(see FAQ)</a></li> + <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' rel='noreferrer' target='_blank'>(see FAQ)</a></li> <li>{{ 'CoreUpdater_ErrorDIYHelp_4'|translate }}</li> <li>{{ 'CoreUpdater_ErrorDIYHelp_5'|translate }}</li> </ul> diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig index b6318e5c6a..c468beb3db 100644 --- a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig +++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig @@ -4,7 +4,7 @@ {% spaceless %} <span style="float:right;">{{ postEvent('Template.topBar')|raw }}</span> {% set helpMessage %} - {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }} + {{ 'CoreUpdater_HelpMessageContent'|translate('<a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }} {% endset %} {% if coreError %} @@ -49,7 +49,7 @@ {% endif %} <ul> <li>{{ 'CoreUpdater_TheUpgradeProcessMayFailExecuteCommand'|translate(commandUpgradePiwik)|raw }}</li> - <li>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fpiwik.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</li> + <li>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fpiwik.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</li> <li>{{ 'CoreUpdater_YouCouldManuallyExecuteSqlQueries'|translate }}<br/> <a href="#titleUpdate" id="showSql" style="margin-left:20px;">› {{ 'CoreUpdater_ClickHereToViewSqlQueries'|translate }}</a> diff --git a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig index 1513daca34..d7f328b923 100644 --- a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig +++ b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig @@ -5,7 +5,7 @@ {# we strike tags with 0 hits #} {% if value.value == 0 %}valueIsZero{% endif %}"> {% if labelMetadata[value.word].url is not sameas(false) %} - <a href="{{ labelMetadata[value.word].url }}" target="_blank"> + <a href="{{ labelMetadata[value.word].url }}" rel="noreferrer" target="_blank"> {% endif %} {% if labelMetadata[value.word].logo is not sameas(false) %} <img src="{{ labelMetadata[value.word].logo }}" width="{{ value.logoWidth }}" /> diff --git a/plugins/CustomVariables/API.php b/plugins/CustomVariables/API.php index 1f03f873fe..727ef7d42c 100644 --- a/plugins/CustomVariables/API.php +++ b/plugins/CustomVariables/API.php @@ -16,7 +16,7 @@ use Piwik\Piwik; use Piwik\Plugins\Actions\Actions\ActionSiteSearch; /** - * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' target='_blank'>Custom Variables</a> names and values. + * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' rel='noreferrer' target='_blank'>Custom Variables</a> names and values. * * @method static \Piwik\Plugins\CustomVariables\API getInstance() */ diff --git a/plugins/CustomVariables/Reports/GetCustomVariables.php b/plugins/CustomVariables/Reports/GetCustomVariables.php index 3edc0d276c..2ddedc4e97 100644 --- a/plugins/CustomVariables/Reports/GetCustomVariables.php +++ b/plugins/CustomVariables/Reports/GetCustomVariables.php @@ -20,7 +20,7 @@ class GetCustomVariables extends Base $this->dimension = new CustomVariableName(); $this->name = Piwik::translate('CustomVariables_CustomVariables'); $this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation', - array('<br />', '<a href="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>')); $this->actionToLoadSubTables = 'getCustomVariablesValuesFromNameId'; $this->order = 10; $this->widgetTitle = 'CustomVariables_CustomVariables'; diff --git a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php index 8b88fb20bb..e4f57af4fc 100644 --- a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php +++ b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php @@ -20,7 +20,7 @@ class GetCustomVariablesValuesFromNameId extends Base $this->dimension = new CustomVariableValue(); $this->name = Piwik::translate('CustomVariables_CustomVariables'); $this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation', - array('<br />', '<a href="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>')); $this->isSubtableReport = true; $this->order = 15; } diff --git a/plugins/DBStats/templates/index.twig b/plugins/DBStats/templates/index.twig index 32a8e78d08..3d0d578f26 100755 --- a/plugins/DBStats/templates/index.twig +++ b/plugins/DBStats/templates/index.twig @@ -5,7 +5,7 @@ <h2 id="databaseUsageSummary">{{ 'DBStats_DatabaseUsage'|translate }}</h2> <p> {{ 'DBStats_MainDescription'|translate(totalSpaceUsed) }}<br/> - {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>Piwik Auto Archiving</a>")|raw }} + {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>Piwik Auto Archiving</a>")|raw }} <br/> <br/> </p> diff --git a/plugins/Dashboard/API.php b/plugins/Dashboard/API.php index 21003135c5..ec41bb626f 100644 --- a/plugins/Dashboard/API.php +++ b/plugins/Dashboard/API.php @@ -11,7 +11,7 @@ use Piwik\Piwik; use Piwik\WidgetsList; /** - * This API is the <a href='http://piwik.org/docs/analytics-api/reference/' target='_blank'>Dashboard API</a>: it gives information about dashboards. + * This API is the <a href='http://piwik.org/docs/analytics-api/reference/' rel='noreferrer' target='_blank'>Dashboard API</a>: it gives information about dashboards. * * @method static \Piwik\Plugins\Dashboard\API getInstance() */ diff --git a/plugins/ExampleAPI/API.php b/plugins/ExampleAPI/API.php index 63e66fac9b..f0d331c010 100644 --- a/plugins/ExampleAPI/API.php +++ b/plugins/ExampleAPI/API.php @@ -16,7 +16,7 @@ use Piwik\Version; /** * The ExampleAPI is useful to developers building a custom Piwik plugin. * - * Please see the <a href='https://github.com/piwik/piwik/blob/master/plugins/ExampleAPI/API.php' target='_blank'>source code in in the file plugins/ExampleAPI/API.php</a> for more documentation. + * Please see the <a href='https://github.com/piwik/piwik/blob/master/plugins/ExampleAPI/API.php' rel='noreferrer' target='_blank'>source code in in the file plugins/ExampleAPI/API.php</a> for more documentation. * @method static \Piwik\Plugins\ExampleAPI\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/ExampleRssWidget/RssRenderer.php b/plugins/ExampleRssWidget/RssRenderer.php index 7990b1acb8..829b6dfa2c 100644 --- a/plugins/ExampleRssWidget/RssRenderer.php +++ b/plugins/ExampleRssWidget/RssRenderer.php @@ -62,7 +62,7 @@ class RssRenderer $date = @strftime("%B %e, %Y", strtotime($post->pubDate)); $link = $post->link; - $output .= '<li><a class="rss-title" title="" target="_blank" href="?module=Proxy&action=redirect&url=' . $link . '">' . $title . '</a>' . + $output .= '<li><a class="rss-title" title="" rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=' . $link . '">' . $title . '</a>' . '<span class="rss-date">' . $date . '</span>'; if ($this->showDescription) { $output .= '<div class="rss-description">' . $post->description . '</div>'; diff --git a/plugins/Feedback/templates/index.twig b/plugins/Feedback/templates/index.twig index e72ad2a5da..ba194dc9eb 100644 --- a/plugins/Feedback/templates/index.twig +++ b/plugins/Feedback/templates/index.twig @@ -12,13 +12,13 @@ <div class="header_full"> <p>{{ 'General_PiwikIsACollaborativeProjectYouCanContributeAndDonate'|translate( - "<a href='?module=Proxy&action=redirect&url=http://piwik.org' target='_blank'>", + "<a href='?module=Proxy&action=redirect&url=http://piwik.org' rel='noreferrer' target='_blank'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/get-involved/'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/get-involved/'>", "</a>", "<a href='#donate'>", "</a>", - "<a href='?module=Proxy&action=redirect&url=http://piwik.org/team/' target='_blank'>", + "<a href='?module=Proxy&action=redirect&url=http://piwik.org/team/' rel='noreferrer' target='_blank'>", "</a>" )|raw }} </p> @@ -28,9 +28,9 @@ <h2>{{ 'Do you need help?'|translate }}</h2> <div class="header_full"> - <p> • {{ 'Feedback_ViewUserGuides'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/'>","</a>")|raw }}.</p> - <p> • {{ 'Feedback_ViewAnswersToFAQ'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/faq/'>","</a>")|raw }}.</p> - <p> • {{ 'Feedback_VisitTheForums'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://forum.piwik.org/'>","</a>")|raw }}.</p> + <p> • {{ 'Feedback_ViewUserGuides'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/'>","</a>")|raw }}.</p> + <p> • {{ 'Feedback_ViewAnswersToFAQ'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/faq/'>","</a>")|raw }}.</p> + <p> • {{ 'Feedback_VisitTheForums'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://forum.piwik.org/'>","</a>")|raw }}.</p> <br/> </div> @@ -38,13 +38,13 @@ <div class="header_full"> <p>{{ 'Feedback_HowToCreateTicket'|translate( - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-bug-report'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-bug-report'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-feature-request'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-feature-request'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues'>", "</a>", - "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/new'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/new'>", "</a>" )|raw }}</p> <br/> @@ -54,7 +54,7 @@ <div class="header_full"> <p>{{ 'Feedback_GetInTouch'|translate }} - <a target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/contact/" + <a rel='noreferrer' target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/contact/" >{{ 'Feedback_ContactThePiwikTeam'|translate }}</a> </p> <br/> @@ -68,35 +68,35 @@ <hr/> <ul class="social"> <li> - <a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a> - <a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/">Newsletter</a> + <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a> + <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/">Newsletter</a> </li> <li> - <a target="_blank" href="http://www.facebook.com/Piwik"><img class="icon" src="plugins/Feedback/images/facebook.png"></a> - <a target="_blank" href="http://www.facebook.com/Piwik">Facebook</a> + <a rel="noreferrer" target="_blank" href="http://www.facebook.com/Piwik"><img class="icon" src="plugins/Feedback/images/facebook.png"></a> + <a rel="noreferrer" target="_blank" href="http://www.facebook.com/Piwik">Facebook</a> </li> <li> - <a target="_blank" href="http://twitter.com/piwik"><img class="icon" src="plugins/Feedback/images/twitter.png"></a> - <a target="_blank" href="http://twitter.com/piwik">Twitter</a> + <a rel="noreferrer" target="_blank" href="http://twitter.com/piwik"><img class="icon" src="plugins/Feedback/images/twitter.png"></a> + <a rel="noreferrer" target="_blank" href="http://twitter.com/piwik">Twitter</a> </li> <li> - <a target="_blank" href="http://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a> - <a target="_blank" href="http://www.linkedin.com/groups?gid=867857">Linkedin</a> + <a rel="noreferrer" target="_blank" href="http://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a> + <a rel="noreferrer" target="_blank" href="http://www.linkedin.com/groups?gid=867857">Linkedin</a> </li> <li> - <a target="_blank" href="https://github.com/piwik/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a> - <a target="_blank" href="https://github.com/piwik/piwik">GitHub</a> + <a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a> + <a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik">GitHub</a> </li> </ul> <ul class="menu"> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/blog/">Blog</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/about/sponsors/">Sponsors</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://developer.piwik.org">Developers</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://plugins.piwik.org">Marketplace</a></li> - <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/thank-you-all/">Credits</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/blog/">Blog</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/about/sponsors/">Sponsors</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://developer.piwik.org">Developers</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://plugins.piwik.org">Marketplace</a></li> + <li><a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/thank-you-all/">Credits</a></li> </ul> <p class="claim"><small>{{ 'Feedback_PrivacyClaim'|translate( - "<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/privacy/'>", + "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/privacy/'>", "</a>" )|raw}}</small></p> </div> diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 735b647866..076269ff6f 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -35,7 +35,7 @@ use Piwik\Tracker\GoalManager; * If you wish to request specific metrics about Ecommerce goals, you can set the parameter &idGoal=ecommerceAbandonedCart to get metrics about abandoned carts (including Lost revenue, and number of items left in the cart) * or &idGoal=ecommerceOrder to get metrics about Ecommerce orders (number of orders, visits with an order, subtotal, tax, shipping, discount, revenue, items ordered) * - * See also the documentation about <a href='http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>Tracking Goals</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>Tracking Goals</a> in Piwik. * * @method static \Piwik\Plugins\Goals\API getInstance() */ diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index 381c37f7ee..a5659183ba 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -24,7 +24,7 @@ class Goals extends \Piwik\Plugin public function getInformation() { $suffix = Piwik::translate('SitesManager_PiwikOffersEcommerceAnalytics', - array('<a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">', '</a>')); + array('<a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">', '</a>')); $info = parent::getInformation(); $info['description'] .= ' ' . $suffix; return $info; diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php index 9808621b14..c373e5bac7 100644 --- a/plugins/Goals/Visualizations/Goals.php +++ b/plugins/Goals/Visualizations/Goals.php @@ -57,7 +57,7 @@ class Goals extends HtmlTable if (1 == Common::getRequestVar('documentationForGoalsPage', 0, 'int')) { // TODO: should not use query parameter $this->config->documentation = Piwik::translate('Goals_ConversionByTypeReportDocumentation', - array('<br />', '<br />', '<a href="http://piwik.org/docs/tracking-goals-web-analytics/" target="_blank">', '</a>')); + array('<br />', '<br />', '<a href="http://piwik.org/docs/tracking-goals-web-analytics/" rel="noreferrer" target="_blank">', '</a>')); } parent::beforeRender(); diff --git a/plugins/Goals/templates/_addEditGoal.twig b/plugins/Goals/templates/_addEditGoal.twig index f9449d8ce9..f7373b6b8e 100644 --- a/plugins/Goals/templates/_addEditGoal.twig +++ b/plugins/Goals/templates/_addEditGoal.twig @@ -4,7 +4,7 @@ <p>{{ 'Goals_NewGoalDescription'|translate }} {{ 'Goals_NewWhatDoYouWantUsersToDo'|translate }} {{ 'Goals_NewGoalYouWillBeAbleTo'|translate }}</p> - <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }} + <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> {% else %} <div class="clear"></div> @@ -13,7 +13,7 @@ <ul class='listCircle'> <li><a onclick='' name='linkAddNewGoal'>{{ 'Goals_CreateNewGOal'|translate }}</a></li> <li><a onclick='' name='linkEditGoals'>{{ 'Goals_ViewAndEditGoals'|translate }}</a></li> - <li>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}</li> + <li>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }}</li> <li> {% if not ecommerceEnabled %} @@ -21,11 +21,11 @@ <a href='{{ linkTo({'module':'SitesManager','action':'index' }) }}'>{{ 'SitesManager_WebsitesManagement'|translate }}</a> {% endset %} {% set ecommerceReportText %} - <a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a> + <a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a> {% endset %} {{ 'Goals_Optional'|translate }} {{ 'Goals_Ecommerce'|translate }}: {{ 'Goals_YouCanEnableEcommerceReports'|translate(ecommerceReportText,websiteManageText)|raw }} {% else %} - {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate('<a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">',"</a>")|raw }} + {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate('<a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">',"</a>")|raw }} {% endif %} </li> </ul> diff --git a/plugins/Goals/templates/_formAddGoal.twig b/plugins/Goals/templates/_formAddGoal.twig index 7bff75f8cb..e2da3c1ffb 100644 --- a/plugins/Goals/templates/_formAddGoal.twig +++ b/plugins/Goals/templates/_formAddGoal.twig @@ -67,7 +67,7 @@ <tbody id="manual_trigger_section" style="display:none;"> <tr> <td colspan="2" class="first"> - {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }} + {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }} </td> </tr> </tbody> diff --git a/plugins/Goals/templates/addNewGoal.twig b/plugins/Goals/templates/addNewGoal.twig index e4cbaea787..6d227bc11c 100644 --- a/plugins/Goals/templates/addNewGoal.twig +++ b/plugins/Goals/templates/addNewGoal.twig @@ -6,6 +6,6 @@ {{ 'Goals_NoGoalsNeedAccess'|translate|raw }} </p> <p> - {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }} + {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> {% endif %} diff --git a/plugins/Installation/FormSuperUser.php b/plugins/Installation/FormSuperUser.php index aef40d6a40..87adc47259 100644 --- a/plugins/Installation/FormSuperUser.php +++ b/plugins/Installation/FormSuperUser.php @@ -61,7 +61,7 @@ class FormSuperUser extends QuickForm2 $this->addElement('checkbox', 'subscribe_newsletter_piwikpro', null, array( 'content' => '  ' . Piwik::translate('Installation_PiwikProNewsletter', - array("<a href='http://piwik.pro' style='color:#444;' target='_blank'>", "</a>") + array("<a href='http://piwik.pro' style='color:#444;' rel='noreferrer' target='_blank'>", "</a>") ), )); diff --git a/plugins/Installation/templates/_systemCheckSection.twig b/plugins/Installation/templates/_systemCheckSection.twig index f9a4b6d474..871b06d981 100755 --- a/plugins/Installation/templates/_systemCheckSection.twig +++ b/plugins/Installation/templates/_systemCheckSection.twig @@ -209,7 +209,7 @@ {{ warning }} <span class="warn">{{ 'SitesManager_AdvancedTimezoneSupportNotFound'|translate }} </span> <br/> - <a href="http://php.net/manual/en/datetime.installation.php" target="_blank">Timezone PHP documentation</a> + <a href="http://php.net/manual/en/datetime.installation.php" rel="noreferrer" target="_blank">Timezone PHP documentation</a> . {% endif %} </td> @@ -311,12 +311,12 @@ {% elseif infos.extra.geolocation_using_non_recommended %} {{ warning }} <span class="warn">{{ 'UserCountry_GeoIpLocationProviderNotRecomnended'|translate }} - {{ 'UserCountry_GeoIpLocationProviderDesc_ServerBased2'|translate('<a href="http://piwik.org/docs/geo-locate/" target="_blank">', '', '', '</a>')|raw }}</span> + {{ 'UserCountry_GeoIpLocationProviderDesc_ServerBased2'|translate('<a href="http://piwik.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>')|raw }}</span> <br/> {% else %} {{ warning }} <span class="warn">{{ 'UserCountry_DefaultLocationProviderDesc1'|translate }} - {{ 'UserCountry_DefaultLocationProviderDesc2'|translate('<a href="http://piwik.org/docs/geo-locate/" target="_blank">', '', '', '</a>')|raw }} </span> + {{ 'UserCountry_DefaultLocationProviderDesc2'|translate('<a href="http://piwik.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>')|raw }} </span> </span> {% endif %} </td> @@ -340,7 +340,7 @@ <em><strong>{{ 'General_Error'|translate }}:</strong></em> {{ infos.extra.load_data_infile_error|raw }} {% endif %} - <p>Troubleshooting: <a target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/faq/troubleshooting/%23faq_194">FAQ on piwik.org</a></p> + <p>Troubleshooting: <a rel='noreferrer' target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/faq/troubleshooting/%23faq_194">FAQ on piwik.org</a></p> {% endif %} </td> </tr> diff --git a/plugins/Installation/templates/finished.twig b/plugins/Installation/templates/finished.twig index 468fe0600b..6e428916fb 100644 --- a/plugins/Installation/templates/finished.twig +++ b/plugins/Installation/templates/finished.twig @@ -11,8 +11,8 @@ {{ 'Installation_CollaborativeProject'|translate }} </p> <p> - {{ 'Installation_GetInvolved'|translate('<a target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }} - {{ 'General_HelpTranslatePiwik'|translate("<a target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }} + {{ 'Installation_GetInvolved'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }} + {{ 'General_HelpTranslatePiwik'|translate("<a rel='noreferrer' target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }} </p> <p>{{ 'Installation_WeHopeYouWillEnjoyPiwik'|translate }}</p> <p><i>{{ 'Installation_HappyAnalysing'|translate }}</i></p> diff --git a/plugins/Installation/templates/reuseTables.twig b/plugins/Installation/templates/reuseTables.twig index 909c6d5c95..12eb53bca6 100644 --- a/plugins/Installation/templates/reuseTables.twig +++ b/plugins/Installation/templates/reuseTables.twig @@ -26,7 +26,7 @@ <ul> <li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li> <li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li> - <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' target='_blank'>(see FAQ)</a></li> + <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' rel='noreferrer' target='_blank'>(see FAQ)</a></li> <li>{{ 'CoreUpdater_ErrorDIYHelp_4'|translate }}</li> <li>{{ 'CoreUpdater_ErrorDIYHelp_5'|translate }}</li> </ul> diff --git a/plugins/Installation/templates/systemCheck.twig b/plugins/Installation/templates/systemCheck.twig index f142e4edef..a8bb2c2e99 100644 --- a/plugins/Installation/templates/systemCheck.twig +++ b/plugins/Installation/templates/systemCheck.twig @@ -24,7 +24,7 @@ <br/> <p> <img src='plugins/Morpheus/images/link.gif'/>   - <a href="?module=Proxy&action=redirect&url=http://piwik.org/docs/requirements/" target="_blank">{{ 'Installation_Requirements'|translate }}</a> + <a href="?module=Proxy&action=redirect&url=http://piwik.org/docs/requirements/" rel="noreferrer" target="_blank">{{ 'Installation_Requirements'|translate }}</a> </p> {% include "@Installation/_systemCheckLegend.twig" %} {% endif %} diff --git a/plugins/Installation/templates/trackingCode.twig b/plugins/Installation/templates/trackingCode.twig index 3ca7992cfa..f58e4efaff 100644 --- a/plugins/Installation/templates/trackingCode.twig +++ b/plugins/Installation/templates/trackingCode.twig @@ -11,7 +11,7 @@ {{ trackingHelp|raw }} <br/><br/> <h2>{{ 'Installation_LargePiwikInstances'|translate }}</h2> -{{ 'Installation_JsTagArchivingHelp1'|translate('<a target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }} -{{ 'General_ReadThisToLearnMore'|translate('<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }} +{{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }} +{{ 'General_ReadThisToLearnM rel="noreferrer" target="_blank"<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }} {% endblock %} \ No newline at end of file diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php index eaa5263ff6..2c8d74978a 100644 --- a/plugins/LanguagesManager/API.php +++ b/plugins/LanguagesManager/API.php @@ -19,7 +19,7 @@ use Piwik\Plugin\Manager as PluginManager; * The LanguagesManager API lets you access existing Piwik translations, and change Users languages preferences. * * "getTranslationsForLanguage" will return all translation strings for a given language, - * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' target='_blank'>40+ translations</a>!). + * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' rel='noreferrer' target='_blank'>40+ translations</a>!). * This is mostly useful to developers who integrate Piwik API results in their own application. * * You can also request the default language to load for a user via "getLanguageForUser", diff --git a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html index 55ee2281fe..c21cffd24a 100644 --- a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html +++ b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html @@ -2,7 +2,7 @@ <p class="adminTable"> This page helps you to find existing translations that you can reuse in your Plugin. - If you want to know more about translations have a look at our <a href="http://developer.piwik.org/guides/internationalization" target="_blank">Internationalization guide</a>. + If you want to know more about translations have a look at our <a href="http://developer.piwik.org/guides/internationalization" rel="noreferrer" target="_blank">Internationalization guide</a>. Enter a search term to find translations and their corresponding keys: </p> diff --git a/plugins/Live/API.php b/plugins/Live/API.php index d15cca9e36..402150924a 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -44,12 +44,12 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/UserCountry/functions.php'; * browser, type of screen, resolution, supported browser plugins (flash, java, silverlight, pdf, etc.), various dates & times format to make * it easier for API users... and more! * - * With the parameter <a href='http://piwik.org/docs/analytics-api/segmentation/' target='_blank'>'&segment='</a> you can filter the + * With the parameter <a href='http://piwik.org/docs/analytics-api/segmentation/' rel='noreferrer' target='_blank'>'&segment='</a> you can filter the * returned visits by any criteria (visitor IP, visitor ID, country, keyword used, time of day, etc.). * * The method "getCounters" is used to return a simple counter: visits, number of actions, number of converted visits, in the last N minutes. * - * See also the documentation about <a href='http://piwik.org/docs/real-time/' target='_blank'>Real time widget and visitor level reports</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/real-time/' rel='noreferrer' target='_blank'>Real time widget and visitor level reports</a> in Piwik. * @method static \Piwik\Plugins\Live\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/Live/templates/_actionsList.twig b/plugins/Live/templates/_actionsList.twig index 8463d0e461..cc798f4f6e 100644 --- a/plugins/Live/templates/_actionsList.twig +++ b/plugins/Live/templates/_actionsList.twig @@ -101,7 +101,7 @@ and previousAction.url|default(false) == action.url %} {# For events, do not show (url) if the Event URL is the same as the URL last displayed #} {% else %} - <a href="{{ action.url }}" target="_blank" class="{% if action.eventCategory|default(false) is empty %}action-list-url{# don't put URL on new line for events #}{% endif %} truncated-text-line" + <a href="{{ action.url }}" rel="noreferrer" target="_blank" rel="noreferrer" class="{% if action.eventCategory|default(false) is empty %}action-list-url{# don't put URL on new line for events #}{% endif %} truncated-text-line" {% if overrideLinkStyle is not defined or overrideLinkStyle %}style="{% if action.type=='action' and action.pageTitle|default(false) is not empty %}margin-left: 9px;{% endif %}text-decoration:underline;"{% endif %}> {% if action.eventCategory|default(false) is not empty %} (url) diff --git a/plugins/Live/templates/_dataTableViz_visitorLog.twig b/plugins/Live/templates/_dataTableViz_visitorLog.twig index e91ee9a75a..922ed2057b 100644 --- a/plugins/Live/templates/_dataTableViz_visitorLog.twig +++ b/plugins/Live/templates/_dataTableViz_visitorLog.twig @@ -71,7 +71,7 @@ <div class="referrer"> {% if visitor.getColumn('referrerType') == 'website' %} {{ 'Referrers_ColumnWebsite'|translate }}: - <a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}" + <a href="{{ visitor.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}" style="text-decoration:underline;"> {{ visitor.getColumn('referrerName') }} </a> @@ -91,7 +91,7 @@ <span {% if not showKeyword %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitor.getColumn('referrerName') }}</span> {% if showKeyword %}{{ 'Referrers_Keywords'|translate }}: <br/> - <a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" style="text-decoration:underline;"> + <a href="{{ visitor.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" style="text-decoration:underline;"> "{{ visitor.getColumn('referrerKeyword') }}"</a> {% endif %} {% set keyword %}{{ visitor.getColumn('referrerKeyword') }}{% endset %} @@ -134,7 +134,7 @@ GPS (lat/long): {{ visitor.getColumn('latitude') }},{{ visitor.getColumn('longit {% if visitor.getColumn('provider') %} <br/> {{ 'Provider_ColumnProvider'|translate }}: - <a href="{{ visitor.getColumn('providerUrl') }}" target="_blank" title="{{ visitor.getColumn('providerUrl') }}" style="text-decoration:underline;"> + <a href="{{ visitor.getColumn('providerUrl') }}" rel="noreferrer" target="_blank" title="{{ visitor.getColumn('providerUrl') }}" style="text-decoration:underline;"> {{ visitor.getColumn('providerName') }} </a> {% endif %} diff --git a/plugins/Live/templates/getLastVisitsStart.twig b/plugins/Live/templates/getLastVisitsStart.twig index c762688f58..7b9f6a4d9d 100644 --- a/plugins/Live/templates/getLastVisitsStart.twig +++ b/plugins/Live/templates/getLastVisitsStart.twig @@ -42,7 +42,7 @@ {% if visitor.referrerType is defined and visitor.referrerType != 'direct' %} {{ 'General_FromReferrer'|translate }} {% if visitor.referrerUrl is not empty %} - <a href="{{ visitor.referrerUrl }}" target="_blank"> + <a href="{{ visitor.referrerUrl }}" rel="noreferrer" target="_blank"> {% endif %} {% if visitor.searchEngineIcon is defined %} <img src="{{ visitor.searchEngineIcon }}" /> diff --git a/plugins/Live/templates/getVisitorProfilePopup.twig b/plugins/Live/templates/getVisitorProfilePopup.twig index 9e68dde96b..0a25de6a39 100644 --- a/plugins/Live/templates/getVisitorProfilePopup.twig +++ b/plugins/Live/templates/getVisitorProfilePopup.twig @@ -26,7 +26,7 @@ {%- if visitorData.userId is not empty %}: <span title="{{'General_UserId'|translate}}: {{ visitorData.userId|raw }}">{{ visitorData.userId|raw }}</span>{% endif -%} <img class="loadingPiwik" style="display:none;" src="plugins/Morpheus/images/loading-blue.gif"/> </h1> - <a href="http://piwik.org/docs/user-profile/" class="reportDocumentationIcon" target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"></a> + <a href="http://piwik.org/docs/user-profile/" class="reportDocumentationIcon" rel="noreferrer" target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"></a> {% if visitorData.nextVisitorId is not empty %}<a class="visitor-profile-next-visitor" href="#" title="{{ 'Live_NextVisitor'|translate }}">→</a>{% endif %} </div> <div class="visitor-profile-latest-visit"> diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php index 62c8b40740..ed790ec899 100644 --- a/plugins/Login/Controller.php +++ b/plugins/Login/Controller.php @@ -194,7 +194,7 @@ class Controller extends \Piwik\Plugin\Controller protected function getMessageExceptionNoAccess() { - $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('http://piwik.org/faq/how-to-install/#faq_98') . '" target="_blank">', '</a>')); + $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('http://piwik.org/faq/how-to-install/#faq_98') . '" rel="noreferrer" target="_blank">', '</a>')); // Should mention trusted_hosts or link to FAQ return $message; } diff --git a/plugins/Login/templates/login.twig b/plugins/Login/templates/login.twig index aca53736f6..bc756aebc4 100644 --- a/plugins/Login/templates/login.twig +++ b/plugins/Login/templates/login.twig @@ -54,7 +54,7 @@ {% if isCustomLogo %} {% set poweredByPiwik %} - <i><a href="http://piwik.org/" target="_blank">{{ linkTitle }}</a></i> + <i><a href="http://piwik.org/" rel="noreferrer" target="_blank">{{ linkTitle }}</a></i> {% endset %} {% endif %} diff --git a/plugins/MobileMessaging/SMSProvider.php b/plugins/MobileMessaging/SMSProvider.php index c9212971e2..c3794f7d7b 100644 --- a/plugins/MobileMessaging/SMSProvider.php +++ b/plugins/MobileMessaging/SMSProvider.php @@ -24,15 +24,15 @@ abstract class SMSProvider extends BaseFactory const MAX_UCS2_CHARS_IN_ONE_CONCATENATED_SMS = 67; public static $availableSMSProviders = array( - 'Clockwork' => 'You can use <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/"><img src="plugins/MobileMessaging/images/Clockwork.png"/></a> to send SMS Reports from Piwik.<br/> + 'Clockwork' => 'You can use <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/"><img src="plugins/MobileMessaging/images/Clockwork.png"/></a> to send SMS Reports from Piwik.<br/> <ul> - <li> First, <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/">get an API Key from Clockwork</a> (Signup is free!) + <li> First, <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/">get an API Key from Clockwork</a> (Signup is free!) </li><li> Enter your Clockwork API Key on this page. </li> </ul> <br/><em>About Clockwork: </em><ul> <li>Clockwork gives you fast, reliable high quality worldwide SMS delivery, over 450 networks in every corner of the globe. </li><li>Cost per SMS message is around ~0.08USD (0.06EUR). - </li><li>Most countries and networks are supported but we suggest you check the latest position on their coverage map <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/sms-coverage/">here</a>. + </li><li>Most countries and networks are supported but we suggest you check the latest position on their coverage map <a rel="noreferrer" target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/sms-coverage/">here</a>. </li> </ul> ', diff --git a/plugins/MultiSites/angularjs/site/site.directive.html b/plugins/MultiSites/angularjs/site/site.directive.html index a976edccbc..dbca619b87 100644 --- a/plugins/MultiSites/angularjs/site/site.directive.html +++ b/plugins/MultiSites/angularjs/site/site.directive.html @@ -3,7 +3,7 @@ <a title="View reports" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}">{{ website.label }}</a> <span style="width: 10px; margin-left:3px;"> - <a target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}"> + <a rel="noreferrer" target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}"> <img src="plugins/Morpheus/images/link.gif"/></a> </span> </td> @@ -30,7 +30,7 @@ <td ng-if="showSparklines" style="width:180px;"> <div ng-if="!website.isGroup" class="sparkline" style="width: 100px; margin: auto;"> - <a target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}" + <a rel="noreferrer" target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}" title="{{ 'General_GoTo'|translate:('Dashboard_DashboardOf'|translate:website.label) }}"> <img alt="" ng-src="{{ sparklineImage(website) }}" width="100" height="25" /> </a> diff --git a/plugins/Overlay/templates/index.twig b/plugins/Overlay/templates/index.twig index 7984e8302b..7c400b9e57 100644 --- a/plugins/Overlay/templates/index.twig +++ b/plugins/Overlay/templates/index.twig @@ -8,7 +8,7 @@ {% block content %} <div class="overlay-sidebar-container"> - <a id="Overlay_Title" href="http://piwik.org/docs/page-overlay/" target="_blank"> + <a id="Overlay_Title" href="http://piwik.org/docs/page-overlay/" rel="noreferrer" target="_blank"> {{ 'Overlay_Overlay'|translate }} <img src="plugins/Morpheus/images/help.png" alt="Documentation"/> </a> @@ -37,7 +37,7 @@ </p> <p> - <a href="http://piwik.org/docs/page-overlay/#toc-page-overlay-troubleshooting" target="_blank"> + <a href="http://piwik.org/docs/page-overlay/#toc-page-overlay-troubleshooting" rel="noreferrer" target="_blank"> {{ 'Overlay_ErrorNotLoadingLink'|translate }} </a> </p> diff --git a/plugins/PrivacyManager/templates/privacySettings.twig b/plugins/PrivacyManager/templates/privacySettings.twig index 588e0537c3..dc989fbf04 100644 --- a/plugins/PrivacyManager/templates/privacySettings.twig +++ b/plugins/PrivacyManager/templates/privacySettings.twig @@ -6,7 +6,7 @@ <h2 piwik-enriched-headline help-url="http://piwik.org/docs/privacy/">{{ 'PrivacyManager_TeaserHeadline'|translate }}</h2> <p>{{ 'PrivacyManager_Teaser'|translate('<a href="#anonymizeIPAnchor">',"</a>",'<a href="#deleteLogsAnchor">',"</a>",'<a href="#optOutAnchor">',"</a>")|raw }} - {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<strong><a href="http://piwik.org/privacy/" target="_blank">','</a></strong>')|raw }}</p> + {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<strong><a href="http://piwik.org/privacy/" rel="noreferrer" target="_blank">','</a></strong>')|raw }}</p> <h2 id="anonymizeIPAnchor">{{ 'PrivacyManager_UseAnonymizeIp'|translate }}</h2> <form method="post" action="{{ {'action':'saveSettings', 'form':'formMaskLength', 'token_auth':token_auth} | urlRewriteWithParameters }}" id="formMaskLength"> <div id='anonymizeIpSettings'> @@ -118,7 +118,7 @@ <span id="privacyManagerDeleteLogDescription" style="margin-top: 10px;display:inline-block;"> {% set deleteLogDescription %} {{ 'PrivacyManager_DeleteLogDescription2'|translate|raw }} - <a href="http://piwik.org/faq/general/#faq_125" target="_blank"> + <a href="http://piwik.org/faq/general/#faq_125" rel="noreferrer" target="_blank"> {{ 'General_ClickHere'|translate }} </a> {% endset %} @@ -307,7 +307,7 @@ {% set iframeOptOut %}<iframe style="border: 0; height: 200px; width: 600px;" src="{{ optOutUrl }}"></iframe>{% endset %} <code>{{ iframeOptOut|e('html') }}</code> <br/> - {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' target='_blank'>","</a>")|raw }} + {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' rel='noreferrer' target='_blank'>","</a>")|raw }} </p> <div style="height:100px;"></div> diff --git a/plugins/Provider/Reports/GetProvider.php b/plugins/Provider/Reports/GetProvider.php index 739124088c..e7cfcfa753 100644 --- a/plugins/Provider/Reports/GetProvider.php +++ b/plugins/Provider/Reports/GetProvider.php @@ -35,7 +35,7 @@ class GetProvider extends Report if (! Common::getRequestVar('disableLink', 0, 'int')) { $message .= ' ' . Piwik::translate( 'General_SeeThisFaq', - array('<a href="http://piwik.org/faq/general/faq_52/" target="_blank">', '</a>') + array('<a href="http://piwik.org/faq/general/faq_52/" rel="noreferrer" target="_blank">', '</a>') ); } $view->config->show_footer_message = $message; diff --git a/plugins/Referrers/API.php b/plugins/Referrers/API.php index 01854ac9f1..5172729e86 100644 --- a/plugins/Referrers/API.php +++ b/plugins/Referrers/API.php @@ -21,11 +21,11 @@ use Piwik\Piwik; /** * The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website. * - * For example, "getKeywords" returns all search engine keywords (with <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set). + * For example, "getKeywords" returns all search engine keywords (with <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set). * "getReferrerType" returns the Referrer overview report. "getCampaigns" returns the list of all campaigns (and all campaign keywords if the parameter &expanded=1 is set). * * The methods "getKeywordsForPageUrl" and "getKeywordsForPageTitle" are used to output the top keywords used to find a page. - * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referrers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website. + * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referrers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' rel='noreferrer' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website. * @method static \Piwik\Plugins\Referrers\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php index f01c61f647..71960c379b 100644 --- a/plugins/Referrers/Controller.php +++ b/plugins/Referrers/Controller.php @@ -354,8 +354,8 @@ function DisplayTopKeywords($url = "") echo "<p>This widget is designed to work in your website directly. This widget makes it easy to use Piwik to <i>automatically display the list of Top Keywords</i>, for each of your website Page URLs.</p> <p> - <b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a target='_blank' href='$topPageUrl'>$topPageUrl</a>, - in format JSON: you would dynamically fetch the data using <a target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p> + <b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a rel='noreferrer' target='_blank' href='$topPageUrl'>$topPageUrl</a>, + in format JSON: you would dynamically fetch the data using <a rel='noreferrer' target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p> <p><b>PHP Function ready to use!</b> - If you use PHP on your website, we have prepared a small code snippet that you can copy paste in your Website PHP files. You can then simply call the function <code>DisplayTopKeywords();</code> anywhere in your template, at the bottom of the content or in your blog sidebar. If you run this code in your page $topPageUrl, it would output the following:"; diff --git a/plugins/Referrers/Reports/GetCampaigns.php b/plugins/Referrers/Reports/GetCampaigns.php index fbc0835a3b..a09affa70c 100644 --- a/plugins/Referrers/Reports/GetCampaigns.php +++ b/plugins/Referrers/Reports/GetCampaigns.php @@ -20,7 +20,7 @@ class GetCampaigns extends Base $this->dimension = new Campaign(); $this->name = Piwik::translate('Referrers_Campaigns'); $this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation', - array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer" target="_blank">', '</a>')); $this->actionToLoadSubTables = 'getKeywordsFromCampaignId'; $this->hasGoalMetrics = true; $this->order = 9; diff --git a/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php b/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php index 6230faec9f..0a12e87fde 100644 --- a/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php +++ b/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php @@ -20,7 +20,7 @@ class GetKeywordsFromCampaignId extends Base $this->dimension = new Keyword(); $this->name = Piwik::translate('Referrers_Campaigns'); $this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation', - array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>')); + array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer" target="_blank">', '</a>')); $this->isSubtableReport = true; $this->order = 10; } diff --git a/plugins/SEO/templates/getRank.twig b/plugins/SEO/templates/getRank.twig index 08839997b3..491e36ea57 100644 --- a/plugins/SEO/templates/getRank.twig +++ b/plugins/SEO/templates/getRank.twig @@ -18,14 +18,14 @@ {{ 'General_Error'|translate }} {% else %} {% set cleanUrl %} - <a href="http://{{ urlToRank }}" target="_blank">{{ urlToRank }}</a> + <a href="http://{{ urlToRank }}" rel="noreferrer" target="_blank">{{ urlToRank }}</a> {% endset %} {{ 'SEO_SEORankingsFor'|translate(cleanUrl)|raw }} <table cellspacing="2" style="margin:auto;line-height:1.5em;padding-top:10px;"> {% for rank in ranks %} <tr> {% set seoLink %}{% if rank.logo_link is defined %}<a class="linkContent" href="?module=Proxy&action=redirect&url={{ rank.logo_link|url_encode }}" - target="_blank" + rel="noreferrer" target="_blank" {% if rank.logo_tooltip is not empty %}title="{{ rank.logo_tooltip }}"{% endif %}>{% endif %}{% endset %} {% set majesticLink %}{{ seoLink }}Majestic</a>{% endset %} <td>{% if rank.logo_link is defined %}{{ seoLink|raw }}{% endif %}<img diff --git a/plugins/ScheduledReports/API.php b/plugins/ScheduledReports/API.php index 3798c166da..54cbf41125 100644 --- a/plugins/ScheduledReports/API.php +++ b/plugins/ScheduledReports/API.php @@ -31,7 +31,7 @@ use Piwik\Translate; * * You can also get the list of all existing reports via "getReports", create new reports via "addReport", * or manage existing reports with "updateReport" and "deleteReport". - * See also the documentation about <a href='http://piwik.org/docs/email-reports/' target='_blank'>Scheduled Email reports</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/email-reports/' rel='noreferrer' target='_blank'>Scheduled Email reports</a> in Piwik. * * @method static \Piwik\Plugins\ScheduledReports\API getInstance() */ diff --git a/plugins/ScheduledReports/templates/_addReport.twig b/plugins/ScheduledReports/templates/_addReport.twig index c059692ecb..3fbc21b98b 100644 --- a/plugins/ScheduledReports/templates/_addReport.twig +++ b/plugins/ScheduledReports/templates/_addReport.twig @@ -41,7 +41,7 @@ <div class="entityInlineHelp"> {% set SegmentEditor_DefaultAllVisits %}{{ 'SegmentEditor_DefaultAllVisits'|translate }}{% endset %} {% set SegmentEditor_AddNewSegment %}{{ 'SegmentEditor_AddNewSegment'|translate }}{% endset %} - {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }} + {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" rel="noreferrer" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }} </div> </td> </tr> diff --git a/plugins/ScheduledReports/templates/_listReports.twig b/plugins/ScheduledReports/templates/_listReports.twig index 5497dfc98e..b9359f21a0 100644 --- a/plugins/ScheduledReports/templates/_listReports.twig +++ b/plugins/ScheduledReports/templates/_listReports.twig @@ -75,7 +75,7 @@ 'outputType':downloadOutputType, 'language':language, 'format': (report.format in ['html', 'csv']) ? report.format : false }) }}" - target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but"> + rel="noreferrer" target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but"> <img src='{{ reportFormatsByReportType[report.type][report.format] }}' border="0"/> {{ 'General_Download'|translate }} </a> diff --git a/plugins/SecurityInfo b/plugins/SecurityInfo index c76e640f24..36fa09c377 160000 --- a/plugins/SecurityInfo +++ b/plugins/SecurityInfo @@ -1 +1 @@ -Subproject commit c76e640f2404371566a65a640c41af85075e336e +Subproject commit 36fa09c37715435b96731dceae7ebab05a7d6a01 diff --git a/plugins/SegmentEditor/templates/_segmentSelector.twig b/plugins/SegmentEditor/templates/_segmentSelector.twig index 1d1b2275d8..a3a8ee90ae 100644 --- a/plugins/SegmentEditor/templates/_segmentSelector.twig +++ b/plugins/SegmentEditor/templates/_segmentSelector.twig @@ -139,7 +139,7 @@ </div> <div class="segment-footer"> <div piwik-rate-feature title="Segment Editor" style="display:inline-block;float: left;margin-top: 2px;margin-right: 10px;"></div> - <span class="segmentFooterNote">The Segment Editor was <a class='crowdfundingLink' href='http://crowdfunding.piwik.org/custom-segments-editor/' target='_blank'>crowdfunded</a> with the awesome support of 80 companies and Piwik users worldwide!</span> + <span class="segmentFooterNote">The Segment Editor was <a class='crowdfundingLink' href='http://crowdfunding.piwik.org/custom-segments-editor/' rel='noreferrer' target='_blank'>crowdfunded</a> with the awesome support of 80 companies and Piwik users worldwide!</span> <a class="delete" href="#">{{ 'General_Delete'|translate }}</a> <a class="close" href="#">{{ 'General_Close'|translate }}</a> <button class="saveAndApply">{{ 'SegmentEditor_SaveAndApply'|translate }}</button> diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php index 24bb750f12..445715eda8 100644 --- a/plugins/SitesManager/API.php +++ b/plugins/SitesManager/API.php @@ -41,7 +41,7 @@ use Piwik\UrlHelper; * Some methods will affect all websites globally: "setGlobalExcludedIps" will set the list of IPs to be excluded on all websites, * "setGlobalExcludedQueryParameters" will set the list of URL parameters to remove from URLs for all websites. * The existing values can be fetched via "getExcludedIpsGlobal" and "getExcludedQueryParametersGlobal". - * See also the documentation about <a href='http://piwik.org/docs/manage-websites/' target='_blank'>Managing Websites</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/manage-websites/' rel='noreferrer' target='_blank'>Managing Websites</a> in Piwik. * @method static \Piwik\Plugins\SitesManager\API getInstance() */ class API extends \Piwik\Plugin\API diff --git a/plugins/SitesManager/templates/_displayJavascriptCode.twig b/plugins/SitesManager/templates/_displayJavascriptCode.twig index 9684358aee..d82826b3be 100644 --- a/plugins/SitesManager/templates/_displayJavascriptCode.twig +++ b/plugins/SitesManager/templates/_displayJavascriptCode.twig @@ -3,7 +3,7 @@ <div class='trackingHelp'> <p>{{ 'Installation_JSTracking_Intro'|translate }}</p> - <p>{{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" target="_blank">','</a>')|raw }}</p> + <p>{{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }}</p> <h3>{{ 'General_JsTrackingTag'|translate }}</h3> @@ -12,7 +12,7 @@ <pre class="code-pre"><code>{{ jsTag|raw }}</code></pre> <br/> - <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}</p> + <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}</p> <p>{{ 'Installation_JSTracking_EndNote'|translate('<em>','</em>')|raw }}</p> </div> \ No newline at end of file diff --git a/plugins/UserCountry/LocationProvider/Default.php b/plugins/UserCountry/LocationProvider/Default.php index 1681efb4f7..ab93545dd9 100755 --- a/plugins/UserCountry/LocationProvider/Default.php +++ b/plugins/UserCountry/LocationProvider/Default.php @@ -104,7 +104,7 @@ class DefaultProvider extends LocationProvider $desc = Piwik::translate('UserCountry_DefaultLocationProviderDesc1') . ' ' . Piwik::translate('UserCountry_DefaultLocationProviderDesc2', array('<strong>', '<em>', '</em>', '</strong>')) - . '<p><em><a href="http://piwik.org/faq/how-to/#faq_163" target="_blank">' + . '<p><em><a href="http://piwik.org/faq/how-to/#faq_163" rel="noreferrer" target="_blank">' . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases') . '</em></a></p>'; return array('id' => self::ID, 'title' => self::TITLE, 'description' => $desc, 'order' => 1); diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php index 3326248ecc..f5f28c9719 100755 --- a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php +++ b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php @@ -218,7 +218,7 @@ class Pecl extends GeoIp $desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl1') . '<br/><br/>' . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl2'); $installDocs = '<em>' - . '<a target="_blank" href="http://piwik.org/faq/how-to/#faq_164">' + . '<a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_164">' . Piwik::translate('UserCountry_HowToInstallGeoIpPecl') . '</a>' . '</em>'; diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Php.php b/plugins/UserCountry/LocationProvider/GeoIp/Php.php index 2a3fda9dee..abaa88139d 100755 --- a/plugins/UserCountry/LocationProvider/GeoIp/Php.php +++ b/plugins/UserCountry/LocationProvider/GeoIp/Php.php @@ -297,7 +297,7 @@ class Php extends GeoIp $desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php1') . '<br/><br/>' . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php2', array('<strong><em>', '</em></strong>', '<strong><em>', '</em></strong>')); - $installDocs = '<em><a target="_blank" href="http://piwik.org/faq/how-to/#faq_163">' + $installDocs = '<em><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_163">' . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases') . '</em></a>'; diff --git a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php index b7df996637..90a73b8c79 100755 --- a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php +++ b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php @@ -223,10 +223,10 @@ class ServerBased extends GeoIp . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_ServerBased2', array('<strong><em>', '</em></strong>', '<strong><em>', '</em></strong>')); $installDocs = - '<em><a target="_blank" href="http://piwik.org/faq/how-to/#faq_165">' + '<em><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_165">' . Piwik::translate('UserCountry_HowToInstallApacheModule') . '</a></em><br/><em>' - . '<a target="_blank" href="http://piwik.org/faq/how-to/#faq_166">' + . '<a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_166">' . Piwik::translate('UserCountry_HowToInstallNginxModule') . '</a></em>'; diff --git a/plugins/UserCountry/Reports/Base.php b/plugins/UserCountry/Reports/Base.php index 9e62b0a6b6..f7a4f34203 100644 --- a/plugins/UserCountry/Reports/Base.php +++ b/plugins/UserCountry/Reports/Base.php @@ -23,9 +23,9 @@ abstract class Base extends \Piwik\Plugin\Report protected function getGeoIPReportDocSuffix() { return Piwik::translate('UserCountry_GeoIPDocumentationSuffix', - array('<a target="_blank" href="http://www.maxmind.com/?rId=piwik">', + array('<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">', '</a>', - '<a target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">', + '<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">', '</a>') ); } @@ -50,11 +50,11 @@ abstract class Base extends \Piwik\Plugin\Report $footerMessage .= ' ' . Piwik::translate('UserCountry_NoDataForGeoIPReport2', array('<a target="_blank" href="' . Url::getCurrentQueryStringWithParametersModified($params) . '">', '</a>', - '<a target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">', + '<a rel="noreferrer" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">', '</a>')); } else { $footerMessage .= ' ' . Piwik::translate('UserCountry_ToGeolocateOldVisits', - array('<a target="_blank" href="http://piwik.org/faq/how-to/#faq_167">', '</a>')); + array('<a rel="noreferrer" target="_blank" href="http://piwik.org/faq/how-to/#faq_167">', '</a>')); } $view->config->show_footer_message = $footerMessage; diff --git a/plugins/UserCountry/Reports/GetCountry.php b/plugins/UserCountry/Reports/GetCountry.php index 17d8e8a83c..88363e1efa 100644 --- a/plugins/UserCountry/Reports/GetCountry.php +++ b/plugins/UserCountry/Reports/GetCountry.php @@ -40,7 +40,7 @@ class GetCountry extends Base // if we're using the default location provider, add a note explaining how it works $footerMessage = Piwik::translate("General_Note") . ': ' . Piwik::translate('UserCountry_DefaultLocationProviderExplanation', - array('<a target="_blank" href="http://piwik.org/docs/geo-locate/">', '</a>')); + array('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/geo-locate/">', '</a>')); $view->config->show_footer_message = $footerMessage; } diff --git a/plugins/UserCountry/templates/adminIndex.twig b/plugins/UserCountry/templates/adminIndex.twig index 65d83cba31..587abe25bd 100755 --- a/plugins/UserCountry/templates/adminIndex.twig +++ b/plugins/UserCountry/templates/adminIndex.twig @@ -15,7 +15,7 @@ <h3 style="margin-top:0;">{{ 'UserCountry_HowToSetupGeoIP'|translate }}</h3> <p>{{ 'UserCountry_HowToSetupGeoIPIntro'|translate }}</p> <ul style="list-style:disc;margin-left:2em;"> - <li>{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz">','</a>','<a target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li> + <li>{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz">','</a>','<a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li> <li>{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'GeoLiteCity.dat'",'<strong>','</strong>')|raw }}</li> <li>{{ 'UserCountry_HowToSetupGeoIP_Step3'|translate('<strong>','</strong>','<span style="color:green"><strong>','</strong></span>')|raw }}</li> <li>{{ 'UserCountry_HowToSetupGeoIP_Step4'|translate }}</li> diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php index 751e61dbbc..1e651eef13 100644 --- a/plugins/UsersManager/API.php +++ b/plugins/UsersManager/API.php @@ -28,7 +28,7 @@ use Piwik\Tracker\Cache; * Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite", * or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated * via the method "setUserAccess". - * See also the documentation about <a href='http://piwik.org/docs/manage-users/' target='_blank'>Managing Users</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/manage-users/' rel='noreferrer' target='_blank'>Managing Users</a> in Piwik. */ class API extends \Piwik\Plugin\API { diff --git a/plugins/UsersManager/Model.php b/plugins/UsersManager/Model.php index 3d69f0ab14..f6b453e4e9 100644 --- a/plugins/UsersManager/Model.php +++ b/plugins/UsersManager/Model.php @@ -22,7 +22,7 @@ use Piwik\Piwik; * Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite", * or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated * via the method "setUserAccess". - * See also the documentation about <a href='http://piwik.org/docs/manage-users/' target='_blank'>Managing Users</a> in Piwik. + * See also the documentation about <a href='http://piwik.org/docs/manage-users/' rel='noreferrer' target='_blank'>Managing Users</a> in Piwik. */ class Model { diff --git a/plugins/VisitorGenerator b/plugins/VisitorGenerator index f516179c7e..0ed78a595d 160000 --- a/plugins/VisitorGenerator +++ b/plugins/VisitorGenerator @@ -1 +1 @@ -Subproject commit f516179c7e7d5ae3cf28123c8e09f168e03dfca6 +Subproject commit 0ed78a595d4d12965cd66f85a7a09b91ec94b55a diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index 63fe8ef205..b94c440f1d 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -61,7 +61,7 @@ class Controller extends \Piwik\Plugin\Controller . Piwik::translate('General_ColumnNbActionsDocumentation') . '<br />' . '<b>' . Piwik::translate('General_ColumnNbUsers') . ':</b> ' - . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />' + . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />' . '<b>' . Piwik::translate('General_ColumnActionsPerVisit') . ':</b> ' . Piwik::translate('General_ColumnActionsPerVisitDocumentation'); diff --git a/plugins/Widgetize/javascripts/widgetize.js b/plugins/Widgetize/javascripts/widgetize.js index c341c7c5c3..3e7d8787b6 100644 --- a/plugins/Widgetize/javascripts/widgetize.js +++ b/plugins/Widgetize/javascripts/widgetize.js @@ -64,7 +64,7 @@ function widgetize() { '</span>' + '</div>' + '<div> <label for="embedThisWidgetDirectLink">› Direct Link</label>' + - '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>' + '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>' + '</div>' ); diff --git a/plugins/Widgetize/templates/index.twig b/plugins/Widgetize/templates/index.twig index 4ef49917bd..4763473a62 100644 --- a/plugins/Widgetize/templates/index.twig +++ b/plugins/Widgetize/templates/index.twig @@ -35,14 +35,14 @@ <p> <strong>› Widget authentication:</strong> If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions - to the anonymous user in the <a href='index.php?module=UsersManager' target='_blank'>Users Management section</a>. + to the anonymous user in the <a href='index.php?module=UsersManager' rel='noreferrer' target='_blank'>Users Management section</a>. <br/>Alternatively, if you are publishing widgets on a password protected or private page, you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret token_auth parameter (found in the - <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' target='_blank'>API page</a>) in the widget URL. + <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' rel='noreferrer' target='_blank'>API page</a>) in the widget URL. </p> <p><strong>› Widgetize the full dashboard:</strong> You can also display the full Piwik dashboard in your application or website in an IFRAME - (<a href='' target='_blank' id='linkDashboardUrl'>see example</a>). + (<a href='' rel='noreferrer' target='_blank' id='linkDashboardUrl'>see example</a>). The date parameter can be set to a specific calendar date, "today", or "yesterday". The period parameter can be set to "day", "week", "month", or "year". The language parameter can be set to the language code of a translation, such as language=fr. @@ -50,7 +50,7 @@ </p> <p> - <strong>› Widgetize the all websites dashboard in an IFRAME</strong> (<a href='' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>) + <strong>› Widgetize the all websites dashboard in an IFRAME</strong> (<a href='' rel='noreferrer' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>) <span id='exportAllWebsitesDashboard'></span> </p> -- cgit v1.2.3 From a3d51aa45295105752f16e252a8e11eb59002d8e Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 16:08:18 +1300 Subject: ui screenshots build --- tests/PHPUnit/UI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI index ec6b869650..c58aec8c6f 160000 --- a/tests/PHPUnit/UI +++ b/tests/PHPUnit/UI @@ -1 +1 @@ -Subproject commit ec6b8696508f65cf9105692715586c7f6e45603a +Subproject commit c58aec8c6f42bd3fa576cd3237d6305b35b37525 -- cgit v1.2.3 From 431d286025a2211b5914b9d3a1d9062343311f5e Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 19:33:32 -0800 Subject: Fixing Contents system tests. --- .../tests/System/expected/test_Contents__Actions.getPageUrls_day.xml | 1 - .../tests/System/expected/test_Contents__Actions.getPageUrls_month.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml index e284dab998..fde347f2b5 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_day.xml @@ -6,7 +6,6 @@ <nb_uniq_visitors>2</nb_uniq_visitors> <nb_hits>2</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> diff --git a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml index 7b8a261169..3dc775d40a 100644 --- a/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml +++ b/plugins/Contents/tests/System/expected/test_Contents__Actions.getPageUrls_month.xml @@ -5,7 +5,6 @@ <nb_visits>2</nb_visits> <nb_hits>2</nb_hits> <sum_time_spent>540</sum_time_spent> - <sum_time_generation>0.666</sum_time_generation> <nb_hits_with_time_generation>2</nb_hits_with_time_generation> <min_time_generation>0.333</min_time_generation> <max_time_generation>0.333</max_time_generation> -- cgit v1.2.3 From 0407ed8c25b993c443396729e34b59c8440fd425 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 16:44:41 +1300 Subject: Fixing build --- tests/PHPUnit/Integration/LogTest.php | 2 +- .../expected/test_ArchiveCronTest_archive_php_cron_output.txt | 2 +- ...rchKeywords_firstSite_lastN__API.getProcessedReport_day.xml | 2 +- ...hKeywords_firstSite_lastN__API.getProcessedReport_month.xml | 2 +- ...omVariables_firstSite_lastN__API.getProcessedReport_day.xml | 2 +- ...Variables_firstSite_lastN__API.getProcessedReport_month.xml | 2 +- ...s_only__ScheduledReports.generateReport_month.original.html | 2 +- .../test_apiGetReportMetadata__API.getReportMetadata_day.xml | 10 +++++----- ...es_only__ScheduledReports.generateReport_week.original.html | 2 +- ...thCustomVariables__subtable__API.getProcessedReport_day.xml | 2 +- tests/PHPUnit/UI | 2 +- tmp/.gitkeep | 0 12 files changed, 15 insertions(+), 15 deletions(-) delete mode 100644 tmp/.gitkeep diff --git a/tests/PHPUnit/Integration/LogTest.php b/tests/PHPUnit/Integration/LogTest.php index 386b348fda..7ad09dc8f7 100644 --- a/tests/PHPUnit/Integration/LogTest.php +++ b/tests/PHPUnit/Integration/LogTest.php @@ -43,7 +43,7 @@ dummy backtrace' public static $expectedErrorOutput = array( 'screen' => '<div style=\'word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;\'> <strong>There is an error. Please report the message (Piwik 2.0) - and full backtrace in the <a href=\'?module=Proxy&action=redirect&url=http://forum.piwik.org\' target=\'_blank\'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/> + and full backtrace in the <a href=\'?module=Proxy&action=redirect&url=http://forum.piwik.org\' rel=\'noreferrer\' target=\'_blank\'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/> Unknown error (102):</strong> <em>dummy error string</em> in <strong>dummyerrorfile.php</strong> on line <strong>145</strong> <br /><br />Backtrace --><div style="font-family:Courier;font-size:10pt"><br /> dummy backtrace</div><br /> diff --git a/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt b/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt index 814737fdd4..d798a525ca 100644 --- a/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt +++ b/tests/PHPUnit/System/expected/test_ArchiveCronTest_archive_php_cron_output.txt @@ -6,6 +6,6 @@ To get help use '/path/to/php /home/travis/build/piwik/piwik/tests/PHPUnit/proxy See also: http://piwik.org/docs/setup-auto-archiving/ If you cannot use the console because it requires CLI -try 'php archive.php -- url=http://your.piwik/path' +try 'php archive.php --url=http://your.piwik/path' ------------------------------------------------------- diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml index 84b4b19ea1..33d6ccdef5 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_day.xml @@ -8,7 +8,7 @@ <module>Actions</module> <action>getSiteSearchKeywords</action> <dimension>Keyword</dimension> - <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.<br/><br/>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br/><br/><a href="http://piwik.org/docs/site-search/" target="_blank">Learn more about Tracking how your visitors use your Search engine.</a></documentation> + <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.<br/><br/>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br/><br/><a href="http://piwik.org/docs/site-search/" rel="noreferrer" target="_blank">Learn more about Tracking how your visitors use your Search engine.</a></documentation> <metrics> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml index 133ef2f538..03d88f3fb6 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_Actions.getSiteSearchKeywords_firstSite_lastN__API.getProcessedReport_month.xml @@ -8,7 +8,7 @@ <module>Actions</module> <action>getSiteSearchKeywords</action> <dimension>Keyword</dimension> - <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.<br/><br/>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br/><br/><a href="http://piwik.org/docs/site-search/" target="_blank">Learn more about Tracking how your visitors use your Search engine.</a></documentation> + <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.<br/><br/>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br/><br/><a href="http://piwik.org/docs/site-search/" rel="noreferrer" target="_blank">Learn more about Tracking how your visitors use your Search engine.</a></documentation> <metrics> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml index 349f30ef0e..ea51e28ebb 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_day.xml @@ -8,7 +8,7 @@ <module>CustomVariables</module> <action>getCustomVariables</action> <dimension>Custom Variable name</dimension> - <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" target="_blank">Custom Variables documentation on piwik.org</a></documentation> + <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">Custom Variables documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> diff --git a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml index d2c8572231..614b64b566 100644 --- a/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml +++ b/tests/PHPUnit/System/expected/test_SiteSearch_CustomVariables.getCustomVariables_firstSite_lastN__API.getProcessedReport_month.xml @@ -8,7 +8,7 @@ <module>CustomVariables</module> <action>getCustomVariables</action> <dimension>Custom Variable name</dimension> - <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" target="_blank">Custom Variables documentation on piwik.org</a></documentation> + <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">Custom Variables documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_actions>Actions</nb_actions> diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 5f93dac2dc..eaa74412eb 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -4,7 +4,7 @@ </head> <body style="color: rgb(68,68,68);"> -<a id="reportTop" target="_blank" href=""><img title="Go to Piwik" border="0" alt="Piwik" src='plugins/Morpheus/images/logo-header.png'/></a> +<a id="reportTop" rel="noreferrer" target="_blank" href=""><img title="Go to Piwik" border="0" alt="Piwik" src='plugins/Morpheus/images/logo-header.png'/></a> <h1 style="color: rgb(126,115,99); font-size: 11pt;"> Site 1 diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml index 27d565b42f..ec32885540 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml @@ -848,7 +848,7 @@ <module>Actions</module> <action>getSiteSearchKeywords</action> <dimension>Keyword</dimension> - <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.<br/><br/>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br/><br/><a href="http://piwik.org/docs/site-search/" target="_blank">Learn more about Tracking how your visitors use your Search engine.</a></documentation> + <documentation>This report lists the Search Keywords that visitors searched for on your internal Search Engine.<br/><br/>Tracking searches that visitors make on your website is a very effective way to learn more about what your audience is looking for, it can help find ideas for new content, new Ecommerce products that potential customers might be searching for, and generally improve the visitors' experience on your website.<br/><br/><a href="http://piwik.org/docs/site-search/" rel="noreferrer" target="_blank">Learn more about Tracking how your visitors use your Search engine.</a></documentation> <metrics> <nb_visits>Searches</nb_visits> <nb_pages_per_search>Search Results pages</nb_pages_per_search> @@ -1119,7 +1119,7 @@ <module>Referrers</module> <action>getCampaigns</action> <dimension>Campaign</dimension> - <documentation>This report shows which campaigns led visitors to your website. <br /> For more information about tracking campaigns, read the <a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">campaigns documentation on piwik.org</a></documentation> + <documentation>This report shows which campaigns led visitors to your website. <br /> For more information about tracking campaigns, read the <a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer" target="_blank">campaigns documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1468,7 +1468,7 @@ <module>UserCountry</module> <action>getRegion</action> <dimension>Region</dimension> - <documentation>This report shows which region your visitors were in when they accessed your website.<br/>In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial <a target="_blank" href="http://www.maxmind.com/?rId=piwik">Maxmind</a> GeoIP databases are more accurate than the free ones. To see how accurate they are, click <a target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">here</a>.</documentation> + <documentation>This report shows which region your visitors were in when they accessed your website.<br/>In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial <a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">Maxmind</a> GeoIP databases are more accurate than the free ones. To see how accurate they are, click <a rel="noreferrer" target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">here</a>.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1501,7 +1501,7 @@ <module>UserCountry</module> <action>getCity</action> <dimension>City</dimension> - <documentation>This report shows the cities your visitors were in when they accessed your website.<br/>In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial <a target="_blank" href="http://www.maxmind.com/?rId=piwik">Maxmind</a> GeoIP databases are more accurate than the free ones. To see how accurate they are, click <a target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">here</a>.</documentation> + <documentation>This report shows the cities your visitors were in when they accessed your website.<br/>In order to see data for this report, you must setup GeoIP in the Geolocation admin tab. The commercial <a rel="noreferrer" target="_blank" href="http://www.maxmind.com/?rId=piwik">Maxmind</a> GeoIP databases are more accurate than the free ones. To see how accurate they are, click <a rel="noreferrer" target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">here</a>.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -1534,7 +1534,7 @@ <module>CustomVariables</module> <action>getCustomVariables</action> <dimension>Custom Variable name</dimension> - <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" target="_blank">Custom Variables documentation on piwik.org</a></documentation> + <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">Custom Variables documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html index e87b70f40d..96199543a9 100644 --- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -4,7 +4,7 @@ </head> <body style="color: rgb(68,68,68);"> -<a id="reportTop" target="_blank" href=""><img title="Go to Piwik" border="0" alt="Piwik" src='plugins/Morpheus/images/logo-header.png'/></a> +<a id="reportTop" rel="noreferrer" target="_blank" href=""><img title="Go to Piwik" border="0" alt="Piwik" src='plugins/Morpheus/images/logo-header.png'/></a> <h1 style="color: rgb(126,115,99); font-size: 11pt;"> Piwik test diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml index 104b5cfd27..29e569654b 100644 --- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml @@ -8,7 +8,7 @@ <module>CustomVariables</module> <action>getCustomVariablesValuesFromNameId</action> <dimension>Custom Variable value</dimension> - <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" target="_blank">Custom Variables documentation on piwik.org</a></documentation> + <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">Custom Variables documentation on piwik.org</a></documentation> <isSubtableReport>1</isSubtableReport> <metrics> <nb_visits>Visits</nb_visits> diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI index c58aec8c6f..fc31cff5f4 160000 --- a/tests/PHPUnit/UI +++ b/tests/PHPUnit/UI @@ -1 +1 @@ -Subproject commit c58aec8c6f42bd3fa576cd3237d6305b35b37525 +Subproject commit fc31cff5f41c1aba77ab03226f52ae721b91e0ac diff --git a/tmp/.gitkeep b/tmp/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 -- cgit v1.2.3 From 935c3597ab0c4b1288f5ba82af634b342a75daaa Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 27 Nov 2014 16:50:00 +1300 Subject: Fix typos which should fix screenshot build --- plugins/CorePluginsAdmin/templates/macros.twig | 2 +- plugins/CorePluginsAdmin/templates/safemode.twig | 3 ++- plugins/Installation/templates/trackingCode.twig | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig index f5c9220721..3f6ad112c0 100644 --- a/plugins/CorePluginsAdmin/templates/macros.twig +++ b/plugins/CorePluginsAdmin/templates/macros.twig @@ -200,7 +200,7 @@ {% spaceless %} {% for author in plugin.info.authors if author.name %} {% if author.homepage is defined %} - <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ aurel="noreferrer" target="_blank"" target="_blank">{{ author.name }}</a> + <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" rel="noreferrer" target="_blank">{{ author.name }}</a> {% else %} {{ author.name }} {% endif %} diff --git a/plugins/CorePluginsAdmin/templates/safemode.twig b/plugins/CorePluginsAdmin/templates/safemode.twig index 53de56181b..4321d3f8c3 100644 --- a/plugins/CorePluginsAdmin/templates/safemode.twig +++ b/plugins/CorePluginsAdmin/templates/safemode.twig @@ -63,7 +63,8 @@ <p> If this error continues to happen, you may be able to fix this issue by disabling one or more of the Third-Party plugins. You can enable them again in the - <a rel="noreferrer" target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a> or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under + <a rel="noreferrer" target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a> + or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under settings at any time. {% if pluginCausesIssue %} diff --git a/plugins/Installation/templates/trackingCode.twig b/plugins/Installation/templates/trackingCode.twig index f58e4efaff..08e78abeda 100644 --- a/plugins/Installation/templates/trackingCode.twig +++ b/plugins/Installation/templates/trackingCode.twig @@ -11,7 +11,7 @@ {{ trackingHelp|raw }} <br/><br/> <h2>{{ 'Installation_LargePiwikInstances'|translate }}</h2> -{{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }} -{{ 'General_ReadThisToLearnM rel="noreferrer" target="_blank"<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }} +{{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }} +{{ 'General_ReadThisToLearnMore'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }} {% endblock %} \ No newline at end of file -- cgit v1.2.3 From eeb7e8d5a28968e72b9e9e74b7e09535e5aaa818 Mon Sep 17 00:00:00 2001 From: diosmosis <benaka@piwik.pro> Date: Wed, 26 Nov 2014 19:57:27 -0800 Subject: Fix UI tests regression for all websites dashboard. --- plugins/API/ProcessedReport.php | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index 3aa69325e2..52fd98c657 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -399,6 +399,7 @@ class ProcessedReport if (!empty($reportMetadata['processedMetrics']) && !empty($reportMetadata['metrics']['nb_visits']) && @$reportMetadata['category'] != Piwik::translate('Goals_Ecommerce') + && $apiModule !== 'MultiSites' ) { $deleteRowsWithNoVisits = empty($reportMetadata['constantRowsCount']) ? '1' : '0'; $parameters['filter_add_columns_when_show_all_columns'] = $deleteRowsWithNoVisits; -- cgit v1.2.3