Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix build #14183

Merged
merged 12 commits into from
Mar 12, 2019
18 changes: 9 additions & 9 deletions plugins/Actions/API.php
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public function getPageUrls($idSite, $period, $date, $segment = false, $expanded

$dataTable = Archive::createDataTableFromArchive('Actions_actions_url', $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable, $depth);

$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_PAGE_URL);

if ($flat) {
$dataTable->filter(function(DataTable $dataTable) {
Expand Down Expand Up @@ -196,7 +196,7 @@ public function getPageUrl($pageUrl, $idSite, $period, $date, $segment = false)
$callBackParameters = array('Actions_actions_url', $idSite, $period, $date, $segment, $expanded = false, $flat = false, $idSubtable = null);
$dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $pageUrl, Action::TYPE_PAGE_URL);
$this->addPageProcessedMetrics($dataTable);
$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_PAGE_URL);
return $dataTable;
}

Expand All @@ -206,7 +206,7 @@ public function getPageTitles($idSite, $period, $date, $segment = false, $expand

$dataTable = Archive::createDataTableFromArchive('Actions_actions', $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable);

$this->filterActionsDataTable($dataTable, $isPageTitleType = true);
$this->filterActionsDataTable($dataTable, Action::TYPE_PAGE_TITLE);

return $dataTable;
}
Expand Down Expand Up @@ -246,7 +246,7 @@ public function getPageTitle($pageName, $idSite, $period, $date, $segment = fals
$callBackParameters = array('Actions_actions', $idSite, $period, $date, $segment, $expanded = false, $flat = false, $idSubtable = null);
$dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $pageName, Action::TYPE_PAGE_TITLE);
$this->addPageProcessedMetrics($dataTable);
$this->filterActionsDataTable($dataTable, $isPageTitleType = true);
$this->filterActionsDataTable($dataTable, Action::TYPE_PAGE_TITLE);
return $dataTable;
}

Expand All @@ -255,7 +255,7 @@ public function getDownloads($idSite, $period, $date, $segment = false, $expande
Piwik::checkUserHasViewAccess($idSite);

$dataTable = Archive::createDataTableFromArchive('Actions_downloads', $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable);
$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_DOWNLOAD);
return $dataTable;
}

Expand All @@ -265,7 +265,7 @@ public function getDownload($downloadUrl, $idSite, $period, $date, $segment = fa

$callBackParameters = array('Actions_downloads', $idSite, $period, $date, $segment, $expanded = false, $flat = false, $idSubtable = null);
$dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $downloadUrl, Action::TYPE_DOWNLOAD);
$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_DOWNLOAD);
return $dataTable;
}

Expand All @@ -274,7 +274,7 @@ public function getOutlinks($idSite, $period, $date, $segment = false, $expanded
Piwik::checkUserHasViewAccess($idSite);

$dataTable = Archive::createDataTableFromArchive('Actions_outlink', $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable);
$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_OUTLINK);
return $dataTable;
}

Expand All @@ -284,7 +284,7 @@ public function getOutlink($outlinkUrl, $idSite, $period, $date, $segment = fals

$callBackParameters = array('Actions_outlink', $idSite, $period, $date, $segment, $expanded = false, $flat = false, $idSubtable = null);
$dataTable = $this->getFilterPageDatatableSearch($callBackParameters, $outlinkUrl, Action::TYPE_OUTLINK);
$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_OUTLINK);
return $dataTable;
}

Expand All @@ -294,7 +294,7 @@ public function getSiteSearchKeywords($idSite, $period, $date, $segment = false)

$dataTable = $this->getSiteSearchKeywordsRaw($idSite, $period, $date, $segment);
$dataTable->deleteColumn(PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
$this->filterActionsDataTable($dataTable, $isPageTitleType = false);
$this->filterActionsDataTable($dataTable, Action::TYPE_SITE_SEARCH);
$dataTable->filter('ReplaceColumnNames');
$dataTable->filter('AddSegmentByLabel', array('siteSearchKeyword'));
$this->addPagesPerSearchColumn($dataTable);
Expand Down
17 changes: 10 additions & 7 deletions plugins/Actions/DataTable/Filter/Actions.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,21 @@
use Piwik\DataTable\BaseFilter;
use Piwik\DataTable\Row;
use Piwik\DataTable;
use Piwik\Tracker\Action;

class Actions extends BaseFilter
{
private $isPageTitleType;
private $actionType;
/**
* Constructor.
*
* @param DataTable $table The table to eventually filter.
* @param bool $isPageTitleType Whether we are handling page title or regular URL
*/
public function __construct($table, $isPageTitleType)
public function __construct($table, $actionType)
{
parent::__construct($table);
$this->isPageTitleType = $isPageTitleType;
$this->actionType = $actionType;
}

/**
Expand All @@ -40,10 +41,12 @@ public function filter($table)

$defaultActionName = Config::getInstance()->General['action_default_name'];

$isPageTitleType = $this->actionType == Action::TYPE_PAGE_TITLE;

// for BC, we read the old style delimiter first (see #1067)
$actionDelimiter = @Config::getInstance()->General['action_category_delimiter'];
if (empty($actionDelimiter)) {
if ($this->isPageTitleType) {
if ($isPageTitleType) {
$actionDelimiter = Config::getInstance()->General['action_title_category_delimiter'];
} else {
$actionDelimiter = Config::getInstance()->General['action_url_category_delimiter'];
Expand All @@ -58,21 +61,21 @@ public function filter($table)
if ($url) {
$row->setMetadata('segmentValue', urldecode($url));
} else if ($folderUrlStart) {
$row->setMetadata('segment', 'pageUrl=^' . urlencode($folderUrlStart));
$row->setMetadata('segment', 'pageUrl=^' . urlencode(urlencode($folderUrlStart)));
} else if ($pageTitlePath) {
if ($row->getIdSubDataTable()) {
$row->setMetadata('segment', 'pageTitle=^' . urlencode(urlencode(trim(urldecode($pageTitlePath)))));
} else {
$row->setMetadata('segmentValue', trim(urldecode($pageTitlePath)));
}
} else if ($this->isPageTitleType && !in_array($label, [DataTable::LABEL_SUMMARY_ROW])) {
} else if ($isPageTitleType && !in_array($label, [DataTable::LABEL_SUMMARY_ROW])) {
// for older data w/o page_title_path metadata
if ($row->getIdSubDataTable()) {
$row->setMetadata('segment', 'pageTitle=^' . urlencode(urlencode(trim(urldecode($label)))));
} else {
$row->setMetadata('segmentValue', trim(urldecode($label)));
}
} else if (!$this->isPageTitleType && $urlPrefix) { // folder for older data w/ no folder URL metadata
} else if ($this->actionType == Action::TYPE_PAGE_URL && $urlPrefix) { // folder for older data w/ no folder URL metadata
$row->setMetadata('segment', 'pageUrl=^' . urlencode(urlencode($urlPrefix . '/' . $label)));
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/CustomDimensions
Submodule CustomDimensions updated 0 files
6 changes: 4 additions & 2 deletions tests/PHPUnit/System/BackwardsCompatibility1XTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,11 @@ public function getApiForTesting()
'VisitTime.getVisitInformationPerLocalTime',
'VisitTime.getVisitInformationPerServerTime',

// the Action.getPageTitles test fails for unknown reason, so skipping it
// the Actions.getPageTitles test fails for unknown reason, so skipping it
// eg. https://travis-ci.org/piwik/piwik/jobs/24449365
'Action.getPageTitles',
'Actions.getPageTitles',
'Actions.getEntryPageTitles', // segment values can differ due to missing metadata in old reports
'Actions.getExitPageTitles',

// Outlinks now tracked with URL Fragment which was not the case in 1.X
'Actions.get',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fcategory</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fcategory</segment>
<subtable>
<row>
<label>/Page1</label>
Expand Down Expand Up @@ -139,7 +139,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>100%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2FContact</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252FContact</segment>
<subtable>
<row>
<label>/ThankYou</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fcategory</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fcategory</segment>
<subtable>
<row>
<label>/Page1</label>
Expand Down Expand Up @@ -123,7 +123,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>100%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2FContact</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252FContact</segment>
<subtable>
<row>
<label>/ThankYou</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fcategory</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fcategory</segment>
<subtable>
<row>
<label>/Page1</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fcategory</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fcategory</segment>
<subtable>
<row>
<label>/Page1</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fcategory</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fcategory</segment>
<subtable>
<row>
<label>/Page1</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<nb_hits>1</nb_hits>
<sum_time_spent>72</sum_time_spent>
<avg_bandwidth>0</avg_bandwidth>
<segment>pageUrl=^http%253A%252F%252Fsite.com%252Fpiwik.org</segment>
<subtable>
<row>
<label>/path/again/latest.zip</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0.15</avg_time_generation>
<url>http://example.org/dir1/sub/dir/page0.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir1%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir1%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir1/sub/dir/page0.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -46,7 +46,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0.3</avg_time_generation>
<url>http://example.org/dir1/sub/dir/page1.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir1%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir1%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir1/sub/dir/page1.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -70,7 +70,7 @@
<exit_rate>100%</exit_rate>
<avg_time_generation>0.45</avg_time_generation>
<url>http://example.org/dir1/sub/dir/page2.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir1%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir1%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir1/sub/dir/page2.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -97,7 +97,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0.3</avg_time_generation>
<url>http://example.org/dir2/sub/dir/page0.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir2%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir2%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir2/sub/dir/page0.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -119,7 +119,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0.6</avg_time_generation>
<url>http://example.org/dir2/sub/dir/page1.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir2%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir2%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir2/sub/dir/page1.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -143,7 +143,7 @@
<exit_rate>100%</exit_rate>
<avg_time_generation>0.9</avg_time_generation>
<url>http://example.org/dir2/sub/dir/page2.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir2%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir2%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir2/sub/dir/page2.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -170,7 +170,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0.45</avg_time_generation>
<url>http://example.org/dir3/sub/dir/page0.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir3%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir3%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir3/sub/dir/page0.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -192,7 +192,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0.9</avg_time_generation>
<url>http://example.org/dir3/sub/dir/page1.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir3%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir3%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir3/sub/dir/page1.html</Actions_PageUrl>
</row>
<row>
Expand All @@ -216,7 +216,7 @@
<exit_rate>100%</exit_rate>
<avg_time_generation>1.35</avg_time_generation>
<url>http://example.org/dir3/sub/dir/page2.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir3%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir3%252Fsub%252Fdir</segment>
<Actions_PageUrl>/dir3/sub/dir/page2.html</Actions_PageUrl>
</row>
<row>
Expand Down Expand Up @@ -267,7 +267,7 @@
<exit_rate>0%</exit_rate>
<avg_time_generation>0</avg_time_generation>
<url>http://example.org/sub/dir/dir1/page1.html</url>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fsub%2Fdir%2Fdir1</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fsub%252Fdir%252Fdir1</segment>
<Actions_PageUrl>/sub/dir/dir1/page1.html</Actions_PageUrl>
</row>
</result>
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<bounce_rate>0%</bounce_rate>
<exit_rate>33%</exit_rate>
<avg_time_generation>0.3</avg_time_generation>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir1%2Fsub</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir1%252Fsub</segment>
<subtable>
<row>
<label>dir</label>
Expand All @@ -45,7 +45,7 @@
<bounce_rate>0%</bounce_rate>
<exit_rate>33%</exit_rate>
<avg_time_generation>0.3</avg_time_generation>
<segment>pageUrl=^http%3A%2F%2Fpiwik.net%2Fdir1%2Fsub%2Fdir</segment>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fdir1%252Fsub%252Fdir</segment>
<subtable>
<row>
<label>/page0.html</label>
Expand Down
Loading