diff --git a/plugins/Transitions/API.php b/plugins/Transitions/API.php index 1ab38f89ae3b7ca0daed9c6152b00d64d7ea5b51..89823d89c9fc2dd29840877342beef5932974e4f 100644 --- a/plugins/Transitions/API.php +++ b/plugins/Transitions/API.php @@ -222,7 +222,8 @@ class API extends \Piwik\Plugin\API if ($actionType != 'title') { // specific setup for page urls $types[Action::TYPE_PAGE_URL] = 'followingPages'; - $dimension = 'if ( idaction_url IS NULL, idaction_name, idaction_url )'; + $dimension = 'if ( %s.idaction_url IS NULL, %s.idaction_name, %s.idaction_url )'; + $dimension = str_replace('%s', 'log_link_visit_action', $dimension ); // site search referrers are logged with url=NULL // when we find one, we have to join on name $joinLogActionColumn = $dimension; @@ -405,7 +406,8 @@ class API extends \Piwik\Plugin\API if ($dimension == 'idaction_url_ref') { // site search referrers are logged with url_ref=NULL // when we find one, we have to join on name_ref - $dimension = 'if ( idaction_url_ref IS NULL, idaction_name_ref, idaction_url_ref )'; + $dimension = 'if ( %s.idaction_url_ref IS NULL, %s.idaction_name_ref, %s.idaction_url_ref )'; + $dimension = str_replace('%s', 'log_link_visit_action', $dimension ); $joinLogActionOn = $dimension; } else { $joinLogActionOn = $dimension; diff --git a/tests/PHPUnit/System/TransitionsTest.php b/tests/PHPUnit/System/TransitionsTest.php index 44d38dc9db6732a5469d60763fe83d92483d0451..b319558c90e080754cad4450b35c1b2a9b426a03 100644 --- a/tests/PHPUnit/System/TransitionsTest.php +++ b/tests/PHPUnit/System/TransitionsTest.php @@ -91,6 +91,15 @@ class TransitionsTest extends SystemTestCase 'limitBeforeGrouping' => 2 ) )); + $return[] = array('Transitions.getTransitionsForPageTitle', array( + 'idSite' => self::$fixture->idSite, + 'date' => self::$fixture->dateTime, + 'periods' => array('day'), + 'testSuffix' => '_withSegment', + 'otherRequestParameters' => array( + 'pageTitle' => 'page title - page/one.html', + ) + )); return $return; } diff --git a/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageTitle_day.xml b/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageTitle_day.xml new file mode 100644 index 0000000000000000000000000000000000000000..26c278c975dfdfcc4e25941502de850c3e43c735 --- /dev/null +++ b/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageTitle_day.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <date>Sat, Mar 6</date> + <previousPages> + <row> + <label>page title - the/third_page.html?foo=bar</label> + <referrals>3</referrals> + </row> + <row> + <label>page title - sub/dir/page2.html</label> + <referrals>2</referrals> + </row> + <row> + <label>page title - the/third_page.html?foo=baz#anchor1</label> + <referrals>1</referrals> + </row> + <row> + <label>page title - the/third_page.html?foo=baz#anchor2</label> + <referrals>1</referrals> + </row> + </previousPages> + <previousSiteSearches> + <row> + <label>mykwd</label> + <referrals>1</referrals> + </row> + <row> + <label>anotherkwd</label> + <referrals>1</referrals> + </row> + </previousSiteSearches> + <pageMetrics> + <loops>5</loops> + <pageviews>17</pageviews> + <entries>3</entries> + <exits>3</exits> + </pageMetrics> + <followingPages> + <row> + <label>page title - sub/dir/page2.html</label> + <referrals>2</referrals> + </row> + <row> + <label>page title - the/third_page.html?foo=bar</label> + <referrals>2</referrals> + </row> + <row> + <label>page title - the/third_page.html?foo=baz#anchor1</label> + <referrals>2</referrals> + </row> + <row> + <label>page title - the/third_page.html?foo=baz#anchor2</label> + <referrals>1</referrals> + </row> + <row> + <label>page title - page3.html</label> + <referrals>1</referrals> + </row> + </followingPages> + <followingSiteSearches> + <row> + <label>anotherkwd</label> + <referrals>1</referrals> + </row> + </followingSiteSearches> + <outlinks> + <row> + <label>http://www.anothersite.com/to/outlink/page.html</label> + <referrals>1</referrals> + </row> + <row> + <label>http://anothersite.com/to/outlink/page2.html</label> + <referrals>1</referrals> + </row> + </outlinks> + <downloads> + <row> + <label>http://example.org/downloads/33.tar.gz</label> + <referrals>1</referrals> + </row> + <row> + <label>https://example.org/downloads/35.tar.gz</label> + <referrals>1</referrals> + </row> + </downloads> + <referrers> + <row> + <label>Direct Entries</label> + <shortName>direct</shortName> + <visits>1</visits> + <details> + </details> + </row> + <row> + <label>From Search Engines</label> + <shortName>search</shortName> + <visits>1</visits> + <details> + <row> + <label><>&\"the pdo extension is required for this adapter but the extension is not loaded</label> + <referrals>1</referrals> + </row> + </details> + </row> + <row> + <label>From Websites</label> + <shortName>website</shortName> + <visits>1</visits> + <details> + <row> + <label>http://www.external.com.vn/referrerPage-counted.html</label> + <referrals>1</referrals> + </row> + </details> + </row> + </referrers> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageUrl_day.xml b/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageUrl_day.xml index 3f6cf26e8765c4a0a6a2bf305949566f164b2f77..865d25db4e8a57c729071b0a1d9a89c4d327046c 100644 --- a/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageUrl_day.xml +++ b/tests/PHPUnit/System/expected/test_Transitions_withSegment__Transitions.getTransitionsForPageUrl_day.xml @@ -1,6 +1,112 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <error message="SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'idaction_url' in field list is ambiguous - - --> To temporarily debug this error further, set const PIWIK_PRINT_ERROR_BACKTRACE=true; in index.php" /> + <date>Sat, Mar 6</date> + <previousPages> + <row> + <label>example.org/the/third_page.html?foo=bar</label> + <referrals>3</referrals> + </row> + <row> + <label>example.org/sub/dir/page2.html</label> + <referrals>2</referrals> + </row> + <row> + <label>Others</label> + <referrals>2</referrals> + </row> + </previousPages> + <previousSiteSearches> + <row> + <label>anotherkwd</label> + <referrals>1</referrals> + </row> + </previousSiteSearches> + <pageMetrics> + <loops>2</loops> + <pageviews>18</pageviews> + <entries>4</entries> + <exits>7</exits> + </pageMetrics> + <followingPages> + <row> + <label>example.org/the/third_page.html?foo=baz</label> + <referrals>3</referrals> + </row> + <row> + <label>example.org/sub/dir/page2.html</label> + <referrals>2</referrals> + </row> + <row> + <label>Others</label> + <referrals>3</referrals> + </row> + </followingPages> + <followingSiteSearches> + <row> + <label>anotherkwd</label> + <referrals>1</referrals> + </row> + </followingSiteSearches> + <outlinks> + <row> + <label>http://www.anothersite.com/to/outlink/page.html</label> + <referrals>1</referrals> + </row> + <row> + <label>http://anothersite.com/to/outlink/page2.html</label> + <referrals>1</referrals> + </row> + </outlinks> + <downloads> + <row> + <label>http://example.org/downloads/33.tar.gz</label> + <referrals>1</referrals> + </row> + <row> + <label>https://example.org/downloads/35.tar.gz</label> + <referrals>1</referrals> + </row> + </downloads> + <referrers> + <row> + <label>Direct Entries</label> + <shortName>direct</shortName> + <visits>1</visits> + <details> + </details> + </row> + <row> + <label>From Search Engines</label> + <shortName>search</shortName> + <visits>1</visits> + <details> + <row> + <label><>&\"the pdo extension is required for this adapter but the extension is not loaded</label> + <referrals>1</referrals> + </row> + </details> + </row> + <row> + <label>From Websites</label> + <shortName>website</shortName> + <visits>1</visits> + <details> + <row> + <label>http://www.external.com.vn/referrerPage-counted.html</label> + <referrals>1</referrals> + </row> + </details> + </row> + <row> + <label>From Campaigns</label> + <shortName>campaign</shortName> + <visits>1</visits> + <details> + <row> + <label>testcampaign testkeyword</label> + <referrals>1</referrals> + </row> + </details> + </row> + </referrers> </result> \ No newline at end of file