mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-08-14 18:49:17 -07:00
Revert "[SECURITY] Fix OS command injection."
This commit is contained in:
parent
9620bfbf35
commit
39e9b6397b
115 changed files with 1980 additions and 1340 deletions
|
@ -1,8 +1,6 @@
|
|||
<?php
|
||||
// Functions for internationalization
|
||||
|
||||
require_once(__DIR__.'/exec.php');
|
||||
|
||||
/**
|
||||
* Translates string to given language in first parameter, key given in second parameter (dynamically loads required language). Works like spritf from second parameter
|
||||
* @global array $LANG Associative array of language pharses
|
||||
|
@ -18,19 +16,19 @@ function _translate() {
|
|||
$key = $args[1];
|
||||
|
||||
if (!isset($LANG[$l])) {
|
||||
require_once(__DIR__."/i18n/$l.php");
|
||||
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$l.'.php');
|
||||
}
|
||||
|
||||
if (!isset($LANG[$l][$key])) {
|
||||
$text = $key;
|
||||
$text=$key;
|
||||
} else {
|
||||
$text = $LANG[$l][$key];
|
||||
$text=$LANG[$l][$key];
|
||||
}
|
||||
|
||||
array_shift($args);
|
||||
if (count($args) > 1) {
|
||||
if (count($args)>1) {
|
||||
$args[0] = $text;
|
||||
return call_user_func_array('sprintf', $args);
|
||||
return call_user_func_array("sprintf",$args);
|
||||
} else {
|
||||
return $text;
|
||||
}
|
||||
|
@ -44,8 +42,8 @@ function _translate() {
|
|||
*/
|
||||
function __() {
|
||||
$args = func_get_args();
|
||||
array_unshift($args, $_SESSION['language']);
|
||||
return call_user_func_array('_translate', $args);
|
||||
array_unshift($args,$_SESSION['language']);
|
||||
return call_user_func_array("_translate",$args);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -88,15 +86,16 @@ function detect_user_language($fallback='en') {
|
|||
arsort($accept_langs_sorted);
|
||||
|
||||
// List languages
|
||||
v_exec('v-list-sys-languages', ['json'], false, $output);
|
||||
$languages = json_decode($output, true);
|
||||
exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var);
|
||||
$languages = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
||||
// Find best matching language
|
||||
foreach ($accept_langs_sorted as $req_lang => $dummy) {
|
||||
foreach ($accept_langs_sorted as $user_lang => $dummy) {
|
||||
$decision = '';
|
||||
foreach ($languages as $prov_lang) {
|
||||
if (strlen($decision) > strlen($prov_lang)) continue;
|
||||
if (stripos($req_lang, $prov_lang) !== false) {
|
||||
if (strpos($user_lang, $prov_lang) !== false) {
|
||||
$decision = $prov_lang;
|
||||
}
|
||||
}
|
||||
|
@ -110,4 +109,4 @@ function detect_user_language($fallback='en') {
|
|||
// Store result for reusing
|
||||
$user_lang = $fallback;
|
||||
return $user_lang;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue