Просмотр исходного кода

Minz fix translate (#1927)

Fix https://github.com/FreshRSS/FreshRSS/issues/1797
Alexandre Alapetite 7 лет назад
Родитель
Сommit
32676d59a3
1 измененных файлов с 14 добавлено и 12 удалено
  1. 14 12
      lib/Minz/Translate.php

+ 14 - 12
lib/Minz/Translate.php

@@ -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;
 		}