Przeglądaj źródła

Delete eval() from Fork\__() function

Everybody's crazy for safety O_o
Visman 4 lat temu
rodzic
commit
9d5a4754fd
1 zmienionych plików z 5 dodań i 9 usunięć
  1. 5 9
      app/functions.php

+ 5 - 9
app/functions.php

@@ -44,13 +44,9 @@ function __(?string $arg, /* mixed */ ...$args): string
     $tr = $lang->get($arg);
     $tr = $lang->get($arg);
 
 
     if (\is_array($tr)) {
     if (\is_array($tr)) {
-        if (
-            isset($args[0])
-            && \is_int($args[0])
-        ) {
-            $n = \array_shift($args);
-            eval('$n = (int) ' . $tr['plural']);
-            $tr = $tr[$n];
+        if (\is_int(\reset($args))) {
+            $tr   = $lang->getForm($tr, \reset($args));
+            $args = \array_slice($args, 1);
         } else {
         } else {
             $tr = $tr[0];
             $tr = $tr[0];
         }
         }
@@ -58,8 +54,8 @@ function __(?string $arg, /* mixed */ ...$args): string
 
 
     if (empty($args)) {
     if (empty($args)) {
         return $tr;
         return $tr;
-    } elseif (\is_array($args[0])) {
-        return \strtr($tr, \array_map('\ForkBB\e', $args[0]));
+    } elseif (\is_array(\reset($args))) {
+        return \strtr($tr, \array_map('\ForkBB\e', \reset($args)));
     } else {
     } else {
         $args = \array_map('\ForkBB\e', $args);
         $args = \array_map('\ForkBB\e', $args);
         return \sprintf($tr, ...$args);
         return \sprintf($tr, ...$args);