Merge "Moved WAN cache and relayer to /libs"
[lhc/web/wiklou.git] / languages / Language.php
index 22842f1..e1a2047 100644 (file)
@@ -2945,7 +2945,7 @@ class Language {
                        }
 
                        // Break down Hangul syllables to grab the first jamo
-                       $code = utf8ToCodepoint( $matches[1] );
+                       $code = UtfNormal\Utils::utf8ToCodepoint( $matches[1] );
                        if ( $code < 0xac00 || 0xd7a4 <= $code ) {
                                return $matches[1];
                        } elseif ( $code < 0xb098 ) {
@@ -3037,7 +3037,7 @@ class Language {
         */
        function normalize( $s ) {
                global $wgAllUnicodeFixes;
-               $s = UtfNormal::cleanUp( $s );
+               $s = UtfNormal\Validator::cleanUp( $s );
                if ( $wgAllUnicodeFixes ) {
                        $s = $this->transformUsingPairFile( 'normalize-ar.ser', $s );
                        $s = $this->transformUsingPairFile( 'normalize-ml.ser', $s );
@@ -3928,13 +3928,9 @@ class Language {
                        }
                }
 
-               // Since usually only infinite or indefinite is only on list, so try
-               // equivalents if still here.
-               $indefs = array( 'infinite', 'infinity', 'indefinite' );
-               if ( in_array( $str, $indefs ) ) {
-                       foreach ( $indefs as $val ) {
-                               $show = array_search( $val, $duration, true );
-                               if ( $show !== false ) {
+               if ( wfIsInfinity( $str ) ) {
+                       foreach ( $duration as $show => $value ) {
+                               if ( wfIsInfinity( $value ) ) {
                                        return htmlspecialchars( trim( $show ) );
                                }
                        }
@@ -4487,21 +4483,20 @@ class Language {
        /**
         * Decode an expiry (block, protection, etc) which has come from the DB
         *
-        * @todo FIXME: why are we returnings DBMS-dependent strings???
-        *
         * @param string $expiry Database expiry String
         * @param bool|int $format True to process using language functions, or TS_ constant
         *     to return the expiry in a given timestamp
+        * @param string $inifinity If $format is not true, use this string for infinite expiry
         * @return string
         * @since 1.18
         */
-       public function formatExpiry( $expiry, $format = true ) {
-               static $infinity;
-               if ( $infinity === null ) {
-                       $infinity = wfGetDB( DB_SLAVE )->getInfinity();
+       public function formatExpiry( $expiry, $format = true, $infinity = 'infinity' ) {
+               static $dbInfinity;
+               if ( $dbInfinity === null ) {
+                       $dbInfinity = wfGetDB( DB_SLAVE )->getInfinity();
                }
 
-               if ( $expiry == '' || $expiry == $infinity ) {
+               if ( $expiry == '' || $expiry === 'infinity' || $expiry == $dbInfinity ) {
                        return $format === true
                                ? $this->getMessageFromDB( 'infiniteblock' )
                                : $infinity;