Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/Twig.php')
-rwxr-xr-xcore/Twig.php54
1 files changed, 10 insertions, 44 deletions
diff --git a/core/Twig.php b/core/Twig.php
index 9f17e0b218..5ac84993f1 100755
--- a/core/Twig.php
+++ b/core/Twig.php
@@ -53,7 +53,14 @@ function piwik_fix_lbrace($string)
$replace = array_map(function ($val) { return $val . '⁣' . $val; }, $chars);
}
- return str_replace($search, $replace, $string);
+ $replacedString = str_replace($search, $replace, $string);
+
+ // try to replace characters until there are no changes
+ if ($string !== $replacedString) {
+ return piwik_fix_lbrace($replacedString);
+ }
+
+ return $string;
}
function piwik_escape_filter(Twig_Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false) {
@@ -166,9 +173,6 @@ class Twig
$this->addFilter_percent();
$this->addFilter_percentage();
$this->addFilter_percentEvolution();
- $this->addFilter_piwikProAdLink();
- $this->addFilter_piwikProOnPremisesAdLink();
- $this->addFilter_piwikProCloudAdLink();
$this->addFilter_prettyDate();
$this->addFilter_safeDecodeRaw();
$this->addFilter_number();
@@ -411,47 +415,9 @@ class Twig
$this->twig->addFilter($percentage);
}
- protected function addFilter_piwikProAdLink()
- {
- $ads = $this->getPiwikProAdvertising();
- $piwikProAd = new Twig_SimpleFilter('piwikProCampaignParameters', function ($url, $campaignName, $campaignMedium, $campaignContent = '') use ($ads) {
- $url = $ads->addPromoCampaignParametersToUrl($url, $campaignName, $campaignMedium, $campaignContent);
- return $url;
- });
- $this->twig->addFilter($piwikProAd);
- }
-
- protected function addFilter_piwikProOnPremisesAdLink()
- {
- $twigEnv = $this->getTwigEnvironment();
- $ads = $this->getPiwikProAdvertising();
- $piwikProAd = new Twig_SimpleFilter('piwikProOnPremisesPromoUrl', function ($medium, $content = '') use ($twigEnv, $ads) {
-
- $url = $ads->getPromoUrlForOnPremises($medium, $content);
-
- return twig_escape_filter($twigEnv, $url, 'html_attr');
-
- }, array('is_safe' => array('html_attr')));
- $this->twig->addFilter($piwikProAd);
- }
-
- protected function addFilter_piwikProCloudAdLink()
- {
- $twigEnv = $this->getTwigEnvironment();
- $ads = $this->getPiwikProAdvertising();
- $piwikProAd = new Twig_SimpleFilter('piwikProCloudPromoUrl', function ($medium, $content = '') use ($twigEnv, $ads) {
-
- $url = $ads->getPromoUrlForCloud($medium, $content);
-
- return twig_escape_filter($twigEnv, $url, 'html_attr');
-
- }, array('is_safe' => array('html_attr')));
- $this->twig->addFilter($piwikProAd);
- }
-
- private function getPiwikProAdvertising()
+ private function getProfessionalServicesAdvertising()
{
- return StaticContainer::get('Piwik\PiwikPro\Advertising');
+ return StaticContainer::get('Piwik\ProfessionalServices\Advertising');
}
protected function addFilter_number()