From e5ae1698cac8f0eb222e23170cf3459bdff103c5 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 10 Jul 2007 17:36:59 +0000 Subject: more failsafe "glob()" method. git-svn-id: file:///svn/phpbb/trunk@7863 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_module.php | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'phpBB/includes/functions_module.php') diff --git a/phpBB/includes/functions_module.php b/phpBB/includes/functions_module.php index 073dfa60ad..ec7f7e230b 100644 --- a/phpBB/includes/functions_module.php +++ b/phpBB/includes/functions_module.php @@ -127,9 +127,25 @@ class p_master if (file_exists($user->lang_path . 'mods')) { $add_files = array(); - $info_files = glob($user->lang_path . 'mods/info_' . strtolower($this->p_class) . '_*.' . $phpEx, GLOB_NOSORT); + $info_files = @glob($user->lang_path . 'mods/info_' . strtolower($this->p_class) . '_*.' . $phpEx, GLOB_NOSORT); - if ($info_files !== false && sizeof($info_files)) + if (!is_array($info_files)) + { + $dir = @opendir($user->lang_path . 'mods'); + + if ($dir) + { + while (($entry = readdir($dir)) !== false) + { + if (strpos($entry, 'info_' . strtolower($this->p_class) . '_') === 0 && substr(strrchr($entry, '.'), 1) == $phpEx) + { + $add_files[] = 'mods/' . substr(basename($entry), 0, -(strlen($phpEx) + 1)); + } + } + closedir($dir); + } + } + else { foreach ($info_files as $file) { -- cgit v1.2.1