summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2022-01-26 16:31:21 +0100
committerGitHub <noreply@github.com>2022-01-26 16:31:21 +0100
commitfe6ceba03a5405baf8da99aeb1914196f1eb0c7a (patch)
treebb5318a7bb51953d6e9a71cd0840318a9affd387 /lib
parenta145edd00db95135bee6f584e21301267fb5ac16 (diff)
parentf03468342e8e8ad36e52e422fe3778daf849e403 (diff)
downloadnextcloud-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.php65
-rw-r--r--lib/public/L10N/IFactory.php9
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"