/** * Extrae el valor de un array multidimensional a partir de un string separado por '.' * * @param [string] $string Cadena que indica el valor a buscar en el array separada por '.' * @param [array] $array Array con valores * @param [array] &$val Valor actual * @return [string] */ function getArrayValueFromString($string, $array, &$val = array()) { $parts = explode('.', $string, 2); $val = empty($val) ? $array[$parts[0]] : $val[$parts[0]]; if (count($parts) >= 2) { return getArrayValueFromString($parts[1], $array, $val); } else { return $val; } }
public function url($uri, $idioma = '') { $lang = $idioma != '' ? $idioma : getLang(); $data = (require realpath(__DIR__ . DIRECTORY_SEPARATOR . '..') . '/lang/' . $lang . '.php'); if ($lang == DEFAULT_LANG) { $url = $uri != 'home' ? BASE_URL . getArrayValueFromString('url.' . $uri, $data) : BASE_URL; } else { $url = $uri != 'home' ? BASE_URL . $lang . '/' . getArrayValueFromString('url.' . $uri, $data) : BASE_URL . $lang; } return $url; }
public function translate($text, $idioma = '') { $lang = $idioma != '' ? $idioma : getLang(); $data = (require realpath(__DIR__ . DIRECTORY_SEPARATOR . '..') . '/lang/' . $lang . '.php'); return getArrayValueFromString($text, $data); }