Spaces:
No application file
No application file
| namespace Mautic\CoreBundle\Twig\Helper; | |
| use Mautic\CoreBundle\Helper\CoreParametersHelper; | |
| final class AnalyticsHelper | |
| { | |
| private string $code; | |
| public function __construct(CoreParametersHelper $parametersHelper) | |
| { | |
| $this->code = htmlspecialchars_decode((string) $parametersHelper->get('google_analytics')); | |
| } | |
| public function getCode(): string | |
| { | |
| return $this->code; | |
| } | |
| /** | |
| * @param string $content | |
| */ | |
| public function addCode($content): string | |
| { | |
| // Add analytics | |
| $analytics = $this->getCode(); | |
| // Check for html doc | |
| if (!str_contains($content, '<html')) { | |
| $content = "<html>\n<head>{$analytics}</head>\n<body>{$content}</body>\n</html>"; | |
| } elseif (!str_contains($content, '<head>')) { | |
| $content = str_replace('<html>', "<html>\n<head>\n{$analytics}\n</head>", $content); | |
| } elseif (!empty($analytics)) { | |
| $content = str_replace('</head>', $analytics."\n</head>", $content); | |
| } | |
| return $content; | |
| } | |
| public function getName(): string | |
| { | |
| return 'analytics'; | |
| } | |
| } | |