|
|
@@ -64,12 +64,16 @@ class Minz_Translate {
|
|
|
$list_langs = array();
|
|
|
|
|
|
foreach (self::$path_list as $path) {
|
|
|
- $path_langs = array_values(array_diff(
|
|
|
- scandir($path),
|
|
|
- array('..', '.')
|
|
|
- ));
|
|
|
-
|
|
|
- $list_langs = array_merge($list_langs, $path_langs);
|
|
|
+ $scan = scandir($path);
|
|
|
+ if (is_array($scan)) {
|
|
|
+ $path_langs = array_values(array_diff(
|
|
|
+ $scan,
|
|
|
+ array('..', '.')
|
|
|
+ ));
|
|
|
+ if (is_array($path_langs)) {
|
|
|
+ $list_langs = array_merge($list_langs, $path_langs);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return array_unique($list_langs);
|
|
|
@@ -80,12 +84,10 @@ class Minz_Translate {
|
|
|
* @param $path a path containing i18n directories (e.g. ./en/, ./fr/).
|
|
|
*/
|
|
|
public static function registerPath($path) {
|
|
|
- if (in_array($path, self::$path_list)) {
|
|
|
- return;
|
|
|
+ if (!in_array($path, self::$path_list) && is_dir($path)) {
|
|
|
+ self::$path_list[] = $path;
|
|
|
+ self::loadLang($path);
|
|
|
}
|
|
|
-
|
|
|
- self::$path_list[] = $path;
|
|
|
- self::loadLang($path);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -94,7 +96,7 @@ class Minz_Translate {
|
|
|
*/
|
|
|
private static function loadLang($path) {
|
|
|
$lang_path = $path . '/' . self::$lang_name;
|
|
|
- if (!file_exists($lang_path) || is_null(self::$lang_name)) {
|
|
|
+ if (!file_exists($lang_path) || self::$lang_name == '') {
|
|
|
// The lang path does not exist, nothing more to do.
|
|
|
return;
|
|
|
}
|