From 1497bd1f36567a5ba39346af879abfbcc2539665 Mon Sep 17 00:00:00 2001 From: Reedy Date: Sun, 27 May 2012 13:10:08 +0100 Subject: [PATCH] Remove old compat methods/functions for mb_ functions PHP docs suggest all were added well before our minimum version, and as such should exist Change-Id: I6921b1374df0b997b3519699556528973882565a --- languages/Language.php | 113 ++++++++--------------------------------- 1 file changed, 21 insertions(+), 92 deletions(-) diff --git a/languages/Language.php b/languages/Language.php index ec2038395f..de45d37f32 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -19,9 +19,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { global $wgLanguageNames; require_once( dirname( __FILE__ ) . '/Names.php' ); -if ( function_exists( 'mb_strtoupper' ) ) { - mb_internal_encoding( 'UTF-8' ); -} +mb_internal_encoding( 'UTF-8' ); /** * a fake language converter @@ -2152,24 +2150,6 @@ class Language { return mb_strtoupper( $matches[0] ); } - /** - * @param $matches array - * @return string - */ - function ucCallback( $matches ) { - list( $wikiUpperChars ) = self::getCaseMaps(); - return strtr( $matches[1], $wikiUpperChars ); - } - - /** - * @param $matches array - * @return string - */ - function lcCallback( $matches ) { - list( , $wikiLowerChars ) = self::getCaseMaps(); - return strtr( $matches[1], $wikiLowerChars ); - } - /** * @param $matches array * @return string @@ -2178,15 +2158,6 @@ class Language { return mb_strtoupper( $matches[0] ); } - /** - * @param $matches array - * @return string - */ - function ucwordsCallbackWiki( $matches ) { - list( $wikiUpperChars ) = self::getCaseMaps(); - return strtr( $matches[0], $wikiUpperChars ); - } - /** * Make a string's first character uppercase * @@ -2215,27 +2186,14 @@ class Language { * @return string */ function uc( $str, $first = false ) { - if ( function_exists( 'mb_strtoupper' ) ) { - if ( $first ) { - if ( $this->isMultibyte( $str ) ) { - return mb_strtoupper( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 ); - } else { - return ucfirst( $str ); - } - } else { - return $this->isMultibyte( $str ) ? mb_strtoupper( $str ) : strtoupper( $str ); - } - } else { + if ( $first ) { if ( $this->isMultibyte( $str ) ) { - $x = $first ? '^' : ''; - return preg_replace_callback( - "/$x([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)/", - array( $this, 'ucCallback' ), - $str - ); + return mb_strtoupper( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 ); } else { - return $first ? ucfirst( $str ) : strtoupper( $str ); + return ucfirst( $str ); } + } else { + return $this->isMultibyte( $str ) ? mb_strtoupper( $str ) : strtoupper( $str ); } } @@ -2263,27 +2221,14 @@ class Language { * @return mixed|string */ function lc( $str, $first = false ) { - if ( function_exists( 'mb_strtolower' ) ) { - if ( $first ) { - if ( $this->isMultibyte( $str ) ) { - return mb_strtolower( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 ); - } else { - return strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 ); - } - } else { - return $this->isMultibyte( $str ) ? mb_strtolower( $str ) : strtolower( $str ); - } - } else { + if ( $first ) { if ( $this->isMultibyte( $str ) ) { - $x = $first ? '^' : ''; - return preg_replace_callback( - "/$x([A-Z]|[\\xc0-\\xff][\\x80-\\xbf]*)/", - array( $this, 'lcCallback' ), - $str - ); + return mb_strtolower( mb_substr( $str, 0, 1 ) ) . mb_substr( $str, 1 ); } else { - return $first ? strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 ) : strtolower( $str ); + return strtolower( substr( $str, 0, 1 ) ) . substr( $str, 1 ); } + } else { + return $this->isMultibyte( $str ) ? mb_strtolower( $str ) : strtolower( $str ); } } @@ -2307,19 +2252,11 @@ class Language { $replaceRegexp = "/^([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)| ([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)/"; // function to use to capitalize a single char - if ( function_exists( 'mb_strtoupper' ) ) { - return preg_replace_callback( - $replaceRegexp, - array( $this, 'ucwordsCallbackMB' ), - $str - ); - } else { - return preg_replace_callback( - $replaceRegexp, - array( $this, 'ucwordsCallbackWiki' ), - $str - ); - } + return preg_replace_callback( + $replaceRegexp, + array( $this, 'ucwordsCallbackMB' ), + $str + ); } else { return ucwords( strtolower( $str ) ); } @@ -2341,19 +2278,11 @@ class Language { // find first letter after word break $replaceRegexp = "/^([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)|$breaks([a-z]|[\\xc0-\\xff][\\x80-\\xbf]*)/"; - if ( function_exists( 'mb_strtoupper' ) ) { - return preg_replace_callback( - $replaceRegexp, - array( $this, 'ucwordbreaksCallbackMB' ), - $str - ); - } else { - return preg_replace_callback( - $replaceRegexp, - array( $this, 'ucwordsCallbackWiki' ), - $str - ); - } + return preg_replace_callback( + $replaceRegexp, + array( $this, 'ucwordbreaksCallbackMB' ), + $str + ); } else { return preg_replace_callback( '/\b([\w\x80-\xff]+)\b/', -- 2.20.1