Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plugins/Actions/DataTable/Filter/Actions.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@ public function filter($table)
$row->setMetadata('segmentValue', urlencode(trim($label)));
}
}
} elseif ($this->actionType == Action::TYPE_PAGE_URL && $urlPrefix) { // folder for older data w/ no folder URL metadata
} elseif ($this->actionType == Action::TYPE_PAGE_URL) { // folder for older data w/ no folder URL metadata
if ($label === $notDefinedUrl) {
// segmenting by an "empty" value is currently broken for actions, so we do not set a segment value to hide row actions like segmented visit log
$row->setMetadata('segment', null);
} else {
} elseif ($urlPrefix) {
$row->setMetadata('segment', 'pageUrl=^' . urlencode(urlencode($urlPrefix . '/' . $label)));
}
}
Expand Down
54 changes: 54 additions & 0 deletions plugins/Actions/tests/Unit/DataTableFilterActionsTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/

namespace Piwik\Plugins\Actions\tests\Unit;

use Piwik\DataTable;
use Piwik\DataTable\Row;
use Piwik\Plugins\Actions\ArchivingHelper;
use Piwik\Plugins\Actions\DataTable\Filter\Actions as ActionsFilter;
use Piwik\Tests\Framework\Fixture;
use Piwik\Tracker\Action;

require_once PIWIK_INCLUDE_PATH . '/plugins/Actions/Actions.php';

/**
* @group Actions
* @group DataTableFilterActionsTest
* @group Plugins
*/
class DataTableFilterActionsTest extends \PHPUnit\Framework\TestCase
{
public function setUp(): void
{
Fixture::loadAllTranslations();
}

public function tearDown(): void
{
Fixture::resetTranslations();
}

public function testFilterSetsNullSegmentForUnknownPageUrlEvenWithoutSiteUrlPrefix()
{
ArchivingHelper::reloadConfig();

$table = new DataTable();
$notDefinedUrl = ArchivingHelper::getUnknownActionName(Action::TYPE_PAGE_URL);
$row = new Row([Row::COLUMNS => ['label' => $notDefinedUrl]]);
$table->addRow($row);

$filter = new ActionsFilter($table, Action::TYPE_PAGE_URL);
$filter->filter($table);

$allMetadata = $row->getMetadata();
$this->assertArrayHasKey('segment', $allMetadata);
$this->assertNull($allMetadata['segment']);
}
}
Loading