diff options
Diffstat (limited to 'plugins/Transitions')
-rw-r--r-- | plugins/Transitions/API.php | 12 | ||||
-rw-r--r-- | plugins/Transitions/templates/transitions.js | 5 |
2 files changed, 16 insertions, 1 deletions
diff --git a/plugins/Transitions/API.php b/plugins/Transitions/API.php index 4d1a0aea8b..5b25514edf 100644 --- a/plugins/Transitions/API.php +++ b/plugins/Transitions/API.php @@ -143,8 +143,18 @@ class Piwik_Transitions_API switch ($actionType) { case 'url': + $originalActionName = $actionName; $actionName = Piwik_Common::unsanitizeInputValue($actionName); - return $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url'); + $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url'); + + if ($id < 0) + { + // an example where this is needed is urls containing < or > + $actionName = $originalActionName; + $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url'); + } + + return $id; case 'title': $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_name'); diff --git a/plugins/Transitions/templates/transitions.js b/plugins/Transitions/templates/transitions.js index 2dec90d31e..dfc4d32114 100644 --- a/plugins/Transitions/templates/transitions.js +++ b/plugins/Transitions/templates/transitions.js @@ -17,6 +17,11 @@ function DataTable_RowActions_Transitions(dataTable) { DataTable_RowActions_Transitions.prototype = new DataTable_RowAction; +/** Static helper method to launch transitions from anywhere */ +DataTable_RowActions_Transitions.launchForUrl = function(url) { + broadcast.propagateNewPopoverParameter('RowAction', 'Transitions:url:' + url); +}; + DataTable_RowActions_Transitions.isPageUrlReport = function(module, action) { return module == 'Actions' && (action == 'getPageUrls' || action == 'getEntryPageUrls' || action == 'getExitPageUrls' || action == 'getPageUrlsFollowingSiteSearch'); |