| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\CustomJsTracker\TrackingCode; |
|
|
| use Piwik\Piwik; |
|
|
| class PiwikJsManipulator |
| { |
| public const HOOK = '/*!!! pluginTrackerHook */'; |
| |
| |
| |
| private $content; |
|
|
| |
| private $pluginTrackerFiles; |
|
|
| public function __construct($content, PluginTrackerFiles $pluginTrackerFiles) |
| { |
| $this->content = $content; |
| $this->pluginTrackerFiles = $pluginTrackerFiles; |
| } |
|
|
| public function manipulateContent() |
| { |
| $files = $this->pluginTrackerFiles->find(); |
|
|
| foreach ($files as $file) { |
| $trackerExtension = $this->getSignatureWithContent($file->getName(), $file->getContent()); |
|
|
| |
| $this->content = str_replace(array(self::HOOK, '/*!! pluginTrackerHook */'), self::HOOK . $trackerExtension, $this->content); |
| } |
|
|
| $content = $this->content; |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Piwik::postEvent('CustomJsTracker.manipulateJsTracker', array(&$content)); |
| $this->content = $content; |
|
|
| return $this->content; |
| } |
|
|
| |
| |
| |
| |
| |
| private function getSignatureWithContent($name, $content) |
| { |
| return sprintf( |
| "\n\n/* GENERATED: %s */\n%s\n/* END GENERATED: %s */\n", |
| $name, |
| $content, |
| $name |
| ); |
| } |
| } |
|
|