From 4c070a499ce7462d5ce9fb5d9cbf85d503fbcf8c Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sun, 15 Sep 2019 10:01:20 +0200 Subject: [PATCH] Perf issue : faire un strpos des le debut pour verifier la presence de l'argument de _T() --- ecrire/inc/utils.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 7be7c984e9..b223241549 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -847,17 +847,16 @@ function _L($text, $args = array(), $options = array()) { include_spip('inc/texte_mini'); } foreach ($args as $name => $value) { - if ($options['sanitize']) { - $value = echapper_html_suspect($value); - $value = interdire_scripts($value, -1); - } - if (!empty($options['class'])) { - $value = "<span class='".$options['class']."'>$value</span>"; - } - $t = str_replace("@$name@", $value, $text); - if ($text !== $t) { + if (strpos($text, "@$name@") !== false) { + if ($options['sanitize']) { + $value = echapper_html_suspect($value); + $value = interdire_scripts($value, -1); + } + if (!empty($options['class'])) { + $value = "<span class='".$options['class']."'>$value</span>"; + } + $text = str_replace("@$name@", $value, $text); unset($args[$name]); - $text = $t; } } // Si des variables n'ont pas ete inserees, le signaler -- GitLab