From 4b524499703763110847ebf2881b7e5b4a052119 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 6 Oct 2011 02:31:38 +0000 Subject: [PATCH] =?utf8?q?Fixes=20for=20r84057=20LanguageTr=20uc/lc:=20*?= =?utf8?q?=20Fixed=20inappropriate=20use=20of=20empty(),=20see=20style=20g?= =?utf8?q?uide=20*=20Made=20uc()=20and=20lc()=20respect=20the=20$first=20p?= =?utf8?q?arameter.=20Not=20doing=20this=20completely=20broke=20the=20Turk?= =?utf8?q?ish=20wikipedia,=20sending=20links=20like=20[[=C4=B0ngilizce]]?= =?utf8?q?=20to=20[[=C4=B0ng=C4=B0l=C4=B0zce]].=20*=20Use=20str=5Freplace(?= =?utf8?q?)=20instead=20of=20preg=5Freplace().=20It's=20not=20necessary=20?= =?utf8?q?to=20use=20a=20unicode-aware=20replacement=20algorithm=20to=20do?= =?utf8?q?=20UTF-8=20string=20replacements,=20due=20to=20details=20of=20th?= =?utf8?q?e=20UTF-8=20encoding=20format.=20I'm=20not=20sure=20how=20Hashar?= =?utf8?q?=20concluded=20that=20strtr()=20will=20produce=20garbage.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- languages/classes/LanguageTr.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/languages/classes/LanguageTr.php b/languages/classes/LanguageTr.php index 5692c02367..0a2673c5c5 100644 --- a/languages/classes/LanguageTr.php +++ b/languages/classes/LanguageTr.php @@ -17,7 +17,7 @@ class LanguageTr extends Language { * @return string */ function ucfirst ( $string ) { - if ( !empty( $string ) && $string[0] == 'i' ) { + if ( strlen( $string ) && $string[0] == 'i' ) { return 'İ' . substr( $string, 1 ); } else { return parent::ucfirst( $string ); @@ -29,7 +29,7 @@ class LanguageTr extends Language { * @return mixed|string */ function lcfirst ( $string ) { - if ( !empty( $string ) && $string[0] == 'I' ) { + if ( strlen( $string ) && $string[0] == 'I' ) { return 'ı' . substr( $string, 1 ); } else { return parent::lcfirst( $string ); @@ -45,7 +45,15 @@ class LanguageTr extends Language { * @return string */ function uc( $string, $first = false ) { - $string = preg_replace( '/i/', 'İ', $string ); + if ( strlen( $string ) ) { + if ( $first ) { + if ( $string[0] === 'i' ) { + $string = 'İ' . substr( $string, 1 ); + } + } else { + $string = str_replace( 'i', 'İ', $string ); + } + } return parent::uc( $string, $first ); } @@ -58,7 +66,15 @@ class LanguageTr extends Language { * @return string */ function lc( $string, $first = false ) { - $string = preg_replace( '/I/', 'ı', $string ); + if ( strlen( $string ) ) { + if ( $first ) { + if ( $string[0] == 'I' ) { + $string = 'ı' . substr( $string, 1 ); + } + } else { + $string = str_replace( 'I', 'ı', $string ); + } + } return parent::lc( $string, $first ); } -- 2.20.1