X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=languages%2FConverterRule.php;h=4a330ad6acde781474f26678ce559978ecb27fe6;hb=4905504faded8f85a9b3d68b27da5c9e2f11bd06;hp=8be2d6aed0b697a3d86ac20ea301d751db0962e4;hpb=ee975d6d1a376bb08d2b1731f97abc96f6e26b1d;p=lhc%2Fweb%2Fwiklou.git diff --git a/languages/ConverterRule.php b/languages/ConverterRule.php index 8be2d6aed0..4a330ad6ac 100644 --- a/languages/ConverterRule.php +++ b/languages/ConverterRule.php @@ -153,25 +153,27 @@ class ConverterRule { $to = trim( $v[1] ); $v = trim( $v[0] ); $u = explode( '=>', $v, 2 ); + $vv = $this->mConverter->validateVariant( $v ); // if $to is empty (which is also used as $from in bidtable), // strtr() could return a wrong result. - if ( count( $u ) == 1 && $to !== '' && in_array( $v, $variants ) ) { - $bidtable[$v] = $to; + if ( count( $u ) == 1 && $to !== '' && $vv ) { + $bidtable[$vv] = $to; } elseif ( count( $u ) == 2 ) { $from = trim( $u[0] ); $v = trim( $u[1] ); + $vv = $this->mConverter->validateVariant( $v ); // if $from is empty, strtr() could return a wrong result. - if ( array_key_exists( $v, $unidtable ) - && !is_array( $unidtable[$v] ) + if ( array_key_exists( $vv, $unidtable ) + && !is_array( $unidtable[$vv] ) && $from !== '' - && in_array( $v, $variants ) ) { - $unidtable[$v] = [ $from => $to ]; - } elseif ( $from !== '' && in_array( $v, $variants ) ) { - $unidtable[$v][$from] = $to; + && $vv ) { + $unidtable[$vv] = [ $from => $to ]; + } elseif ( $from !== '' && $vv ) { + $unidtable[$vv][$from] = $to; } } // syntax error, pass - if ( !isset( $this->mConverter->mVariantNames[$v] ) ) { + if ( !isset( $this->mConverter->mVariantNames[$vv] ) ) { $bidtable = []; $unidtable = []; break;