Valider 80c456d1 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Prendre en compte le nombre de caracteres (CHAR_LENGTH) dans sql_multi de...

Prendre en compte le nombre de caracteres (CHAR_LENGTH) dans sql_multi de mysql pour extraire la langue voulue, sinon les chaines utf8 accentuées sont mal interprétées. (christophe2) Ferme #1605
parent d1d030c6
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+6 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -665,18 +665,18 @@ function spip_mysql_multi ($objet, $lang) {
		"     CONCAT( ".
		"          LEFT(".$objet.", INSTR(".$objet.", '<multi>')-1), ".
		"          IF( ".
		"               INSTR(TRIM(RIGHT(".$objet.", LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))),'[".$lang."]') = 0, ".
		"               INSTR(TRIM(RIGHT(".$objet.", CHAR_LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))),'[".$lang."]') = 0, ".
		"               IF( ".
		"                     TRIM(RIGHT(".$objet.", LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))) REGEXP '^\\[[a-z\_]{2,}\\]', ".
		"                     TRIM(RIGHT(".$objet.", CHAR_LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))) REGEXP '^\\[[a-z\_]{2,}\\]', ".
		"                     INSERT( ".
		"                          TRIM(RIGHT(".$objet.", LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))), ".
		"                          TRIM(RIGHT(".$objet.", CHAR_LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))), ".
		"                          1, ".
		"                          INSTR(TRIM(RIGHT(".$objet.", LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))), ']'), ".
		"                          INSTR(TRIM(RIGHT(".$objet.", CHAR_LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))), ']'), ".
		"                          '' ".
		"                     ), ".
		"                     TRIM(RIGHT(".$objet.", LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))) ".
		"                     TRIM(RIGHT(".$objet.", CHAR_LENGTH(".$objet.") -(6+INSTR(".$objet.", '<multi>')))) ".
		"                ), ".
		"               TRIM(RIGHT(".$objet.", ( LENGTH(".$objet.") - (INSTR(".$objet.", '[".$lang."]')+ LENGTH('[".$lang."]')-1) ) )) ".
		"               TRIM(RIGHT(".$objet.", ( CHAR_LENGTH(".$objet.") - (INSTR(".$objet.", '[".$lang."]')+ CHAR_LENGTH('[".$lang."]')-1) ) )) ".
		"          ) ".
		"     ) ".
		"))) AS multi";