From f03468342e8e8ad36e52e422fe3778daf849e403 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 24 Jan 2022 09:27:01 +0100 Subject: Remove createPluralFunction which is replaced by Symfony\Translations lib Signed-off-by: Joas Schilling --- lib/private/L10N/Factory.php | 65 -------------------------------------------- lib/public/L10N/IFactory.php | 9 ------ 2 files changed, 74 deletions(-) (limited to 'lib') diff --git a/lib/private/L10N/Factory.php b/lib/private/L10N/Factory.php index 426ddf6c380..7fcfab37fa6 100644 --- a/lib/private/L10N/Factory.php +++ b/lib/private/L10N/Factory.php @@ -595,71 +595,6 @@ class Factory implements IFactory { return $this->serverRoot . '/core/l10n/'; } - - /** - * Creates a function from the plural string - * - * Parts of the code is copied from Habari: - * https://github.com/habari/system/blob/master/classes/locale.php - * @param string $string - * @return string - */ - public function createPluralFunction($string) { - if (isset($this->pluralFunctions[$string])) { - return $this->pluralFunctions[$string]; - } - - if (preg_match('/^\s*nplurals\s*=\s*(\d+)\s*;\s*plural=(.*)$/u', $string, $matches)) { - // sanitize - $nplurals = preg_replace('/[^0-9]/', '', $matches[1]); - $plural = preg_replace('#[^n0-9:\(\)\?\|\&=!<>+*/\%-]#', '', $matches[2]); - - $body = str_replace( - ['plural', 'n', '$n$plurals',], - ['$plural', '$n', '$nplurals',], - 'nplurals=' . $nplurals . '; plural=' . $plural - ); - - // add parents - // important since PHP's ternary evaluates from left to right - $body .= ';'; - $res = ''; - $p = 0; - $length = strlen($body); - for ($i = 0; $i < $length; $i++) { - $ch = $body[$i]; - switch ($ch) { - case '?': - $res .= ' ? ('; - $p++; - break; - case ':': - $res .= ') : ('; - break; - case ';': - $res .= str_repeat(')', $p) . ';'; - $p = 0; - break; - default: - $res .= $ch; - } - } - - $body = $res . 'return ($plural>=$nplurals?$nplurals-1:$plural);'; - $function = create_function('$n', $body); - $this->pluralFunctions[$string] = $function; - return $function; - } else { - // default: one plural form for all cases but n==1 (english) - $function = create_function( - '$n', - '$nplurals=2;$plural=($n==1?0:1);return ($plural>=$nplurals?$nplurals-1:$plural);' - ); - $this->pluralFunctions[$string] = $function; - return $function; - } - } - /** * @inheritDoc */ diff --git a/lib/public/L10N/IFactory.php b/lib/public/L10N/IFactory.php index 0c8c945caab..35713862f07 100644 --- a/lib/public/L10N/IFactory.php +++ b/lib/public/L10N/IFactory.php @@ -127,15 +127,6 @@ interface IFactory { */ public function localeExists($locale); - /** - * Creates a function from the plural string - * - * @param string $string - * @return string Unique function name - * @since 14.0.0 - */ - public function createPluralFunction($string); - /** * iterate through language settings (if provided) in this order: * 1. returns the forced language or: -- cgit v1.2.3