diff options
author | Stefan Giehl <stefan@piwik.org> | 2017-07-07 13:16:14 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-07 13:16:14 +0300 |
commit | 427b25aabd382a7d41b86db6f8982b07c73b32f9 (patch) | |
tree | e6f52fbda8e1c6f5621e74386ec174ea43ba40f0 /plugins | |
parent | 08098d90b920073d831dc984de898a6ddb109fe8 (diff) |
Disallow empty values when tracking content actions (#11844)
* trim content values before tracking
* fix archiving for invalid content entries
* rebuilt piwik.js
* ensure content values are correct
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Actions/ArchivingHelper.php | 2 | ||||
-rw-r--r-- | plugins/Contents/Columns/ContentInteraction.php | 6 | ||||
-rw-r--r-- | plugins/Contents/Columns/ContentName.php | 9 | ||||
-rw-r--r-- | plugins/Contents/Columns/ContentPiece.php | 6 | ||||
-rw-r--r-- | plugins/Contents/Columns/ContentTarget.php | 5 |
5 files changed, 17 insertions, 11 deletions
diff --git a/plugins/Actions/ArchivingHelper.php b/plugins/Actions/ArchivingHelper.php index bf5415f130..71386274c8 100644 --- a/plugins/Actions/ArchivingHelper.php +++ b/plugins/Actions/ArchivingHelper.php @@ -53,7 +53,7 @@ class ArchivingHelper unset($row[PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT]); } - if (in_array($row['type'], array(Action::TYPE_CONTENT, Action::TYPE_EVENT, Action::TYPE_EVENT_NAME))) { + if (in_array($row['type'], array(Action::TYPE_CONTENT, Action::TYPE_EVENT, Action::TYPE_EVENT_NAME, Action::TYPE_CONTENT_PIECE, Action::TYPE_CONTENT_TARGET))) { continue; } diff --git a/plugins/Contents/Columns/ContentInteraction.php b/plugins/Contents/Columns/ContentInteraction.php index 149ed94059..a50467f9d6 100644 --- a/plugins/Contents/Columns/ContentInteraction.php +++ b/plugins/Contents/Columns/ContentInteraction.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\Contents\Columns; use Piwik\Piwik; use Piwik\Plugin\Dimension\ActionDimension; use Piwik\Plugins\Actions\Segment; +use Piwik\Plugins\Contents\Actions\ActionContent; use Piwik\Tracker\Action; use Piwik\Tracker\Request; @@ -40,12 +41,11 @@ class ContentInteraction extends ActionDimension public function onLookupAction(Request $request, Action $action) { - $interaction = $request->getParam('c_i'); - - if (empty($interaction)) { + if (!($action instanceof ActionContent)) { return false; } + $interaction = $request->getParam('c_i'); $interaction = trim($interaction); if (strlen($interaction) > 0) { diff --git a/plugins/Contents/Columns/ContentName.php b/plugins/Contents/Columns/ContentName.php index 5ed5485791..6168a48725 100644 --- a/plugins/Contents/Columns/ContentName.php +++ b/plugins/Contents/Columns/ContentName.php @@ -8,9 +8,11 @@ */ namespace Piwik\Plugins\Contents\Columns; +use Piwik\Exception\InvalidRequestParameterException; use Piwik\Piwik; use Piwik\Plugin\Dimension\ActionDimension; use Piwik\Plugins\Actions\Segment; +use Piwik\Plugins\Contents\Actions\ActionContent; use Piwik\Tracker\Action; use Piwik\Tracker\Request; @@ -40,18 +42,17 @@ class ContentName extends ActionDimension public function onLookupAction(Request $request, Action $action) { - $contentName = $request->getParam('c_n'); - - if (empty($contentName)) { + if (!($action instanceof ActionContent)) { return false; } + $contentName = $request->getParam('c_n'); $contentName = trim($contentName); if (strlen($contentName) > 0) { return $contentName; } - return false; + throw new InvalidRequestParameterException('Param `c_n` must not be empty or filled with whitespaces'); } }
\ No newline at end of file diff --git a/plugins/Contents/Columns/ContentPiece.php b/plugins/Contents/Columns/ContentPiece.php index 6affe9a3d0..4cd0722e5a 100644 --- a/plugins/Contents/Columns/ContentPiece.php +++ b/plugins/Contents/Columns/ContentPiece.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\Contents\Columns; use Piwik\Piwik; use Piwik\Plugin\Dimension\ActionDimension; use Piwik\Plugins\Actions\Segment; +use Piwik\Plugins\Contents\Actions\ActionContent; use Piwik\Tracker\Action; use Piwik\Tracker\Request; @@ -40,12 +41,11 @@ class ContentPiece extends ActionDimension public function onLookupAction(Request $request, Action $action) { - $contentPiece = $request->getParam('c_p'); - - if (empty($contentPiece)) { + if (!($action instanceof ActionContent)) { return false; } + $contentPiece = $request->getParam('c_p'); $contentPiece = trim($contentPiece); if (strlen($contentPiece) > 0) { diff --git a/plugins/Contents/Columns/ContentTarget.php b/plugins/Contents/Columns/ContentTarget.php index 26c7a0d7a2..9e81c687f3 100644 --- a/plugins/Contents/Columns/ContentTarget.php +++ b/plugins/Contents/Columns/ContentTarget.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\Contents\Columns; use Piwik\Piwik; use Piwik\Plugin\Dimension\ActionDimension; use Piwik\Plugins\Actions\Segment; +use Piwik\Plugins\Contents\Actions\ActionContent; use Piwik\Tracker\Action; use Piwik\Tracker\Request; @@ -40,6 +41,10 @@ class ContentTarget extends ActionDimension public function onLookupAction(Request $request, Action $action) { + if (!($action instanceof ActionContent)) { + return false; + } + $contentTarget = $request->getParam('c_t'); $contentTarget = trim($contentTarget); |