|
12 | 12 | use Piwik\Container\StaticContainer; |
13 | 13 | use Piwik\Development; |
14 | 14 | use Piwik\Piwik; |
| 15 | +use Piwik\Url; |
15 | 16 | use Piwik\Plugins\TagManager\Context\Storage\StorageInterface; |
16 | 17 | use Piwik\Plugins\TagManager\Context\WebContext\JavaScriptTagManagerLoader; |
17 | 18 | use Piwik\Plugins\TagManager\Context\BaseContext\TemplateLocator; |
| 19 | +use Piwik\Plugins\TagManager\Input\AccessValidator; |
18 | 20 | use Piwik\Plugins\TagManager\Model\Container; |
19 | 21 | use Piwik\Plugins\TagManager\Model\Environment; |
20 | 22 | use Piwik\Plugins\TagManager\Model\Salt; |
21 | 23 | use Piwik\Plugins\TagManager\Model\Tag; |
22 | 24 | use Piwik\Plugins\TagManager\Model\Trigger; |
23 | 25 | use Piwik\Plugins\TagManager\Model\Variable; |
| 26 | +use Piwik\Plugins\TagManager\SystemSettings; |
| 27 | +use Piwik\Plugins\TagManager\Template\Trigger\PageViewTrigger; |
24 | 28 | use Piwik\Plugins\TagManager\Template\Variable\VariablesProvider; |
25 | 29 | use Piwik\SettingsPiwik; |
26 | 30 |
|
@@ -285,8 +289,37 @@ public function getInstallInstructionsReact($container, $environment) |
285 | 289 | return [[ |
286 | 290 | 'description' => Piwik::translate('TagManager_ContextWebInstallInstructions', array('"<head>"')), |
287 | 291 | 'embedCode' => $embedCode, |
288 | | - 'helpUrl' => 'https://developer.matomo.org/guides/tagmanager/embedding' |
| 292 | + 'helpUrl' => 'https://developer.matomo.org/guides/tagmanager/embedding', |
| 293 | + 'pageViewTriggerEditUrl' => $this->getPageViewTriggerEditUrl($container['idsite'], $container['idcontainer']) |
289 | 294 | ]]; |
290 | 295 | } |
291 | 296 |
|
| 297 | + private function getPageViewTriggerEditUrl($idSite, $idContainer) |
| 298 | + { |
| 299 | + $url = ''; |
| 300 | + $settings = new SystemSettings(); |
| 301 | + $validator = new AccessValidator($settings); |
| 302 | + if (!$validator->hasWriteCapability($idSite)) { |
| 303 | + return $url; |
| 304 | + } |
| 305 | + $container = Request::processRequest('TagManager.getContainer', ['idSite' => $idSite, 'idContainer' => $idContainer]); |
| 306 | + if (!empty($container['draft']['idcontainerversion'])) { |
| 307 | + $triggers = Request::processRequest('TagManager.getContainerTriggers', ['idSite' => $idSite, 'idContainer' => $idContainer, 'idContainerVersion' => $container['draft']['idcontainerversion']]); |
| 308 | + if (!empty($triggers)) { |
| 309 | + foreach ($triggers as $trigger) { |
| 310 | + if (!empty($trigger['type']) && $trigger['type'] == PageViewTrigger::ID) { |
| 311 | + $url = SettingsPiwik::getPiwikUrl() . 'index.php?' . Url::getQueryStringFromParameters([ |
| 312 | + 'module' => 'TagManager', |
| 313 | + 'action' => 'manageTriggers', |
| 314 | + 'idSite' => $idSite, |
| 315 | + 'idContainer' => $idContainer, |
| 316 | + ]) . '#idTrigger=' . $trigger['idtrigger']; |
| 317 | + break; |
| 318 | + } |
| 319 | + } |
| 320 | + } |
| 321 | + } |
| 322 | + return $url; |
| 323 | + } |
| 324 | + |
292 | 325 | } |
0 commit comments