diff options
author | Joas Schilling <213943+nickvergessen@users.noreply.github.com> | 2022-01-26 16:31:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-26 16:31:21 +0100 |
commit | fe6ceba03a5405baf8da99aeb1914196f1eb0c7a (patch) | |
tree | bb5318a7bb51953d6e9a71cd0840318a9affd387 /lib | |
parent | a145edd00db95135bee6f584e21301267fb5ac16 (diff) | |
parent | f03468342e8e8ad36e52e422fe3778daf849e403 (diff) | |
download | nextcloud-server-fe6ceba03a5405baf8da99aeb1914196f1eb0c7a.tar.gz nextcloud-server-fe6ceba03a5405baf8da99aeb1914196f1eb0c7a.zip |
Merge pull request #30822 from nextcloud/bugfix/29287/remove-create-function-calls
Remove createPluralFunction which is replaced by Symfony\Translations…
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/L10N/Factory.php | 65 | ||||
-rw-r--r-- | lib/public/L10N/IFactory.php | 9 |
2 files changed, 0 insertions, 74 deletions
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 @@ -128,15 +128,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: * 2. if applicable, the trunk of 1 (e.g. "fu" instead of "fu_BAR" |