$postfix", E_USER_WARNING); return; } $fpath = $fallback; } /* load $lang from file */ /* * utf encoded files may output whitespaces known as BOM, we must * capture this chars */ ob_start(); include_once ($fpath); if (!isset($lang)) { return $GLOBALS ['lang']; } ob_end_clean(); $GLOBALS ['lang'] = array_merge_recursive($lang, $old_lang); return $GLOBALS ['lang']; } function lang_getconf($id) { global $lang; $fpath = LANG_DIR . "$id/lang.conf.php"; if (file_exists($fpath)) { include ($fpath); return $langconf; } else trigger_error("Error loading config for language \"$file\"", E_USER_WARNING); } class lang_indexer extends fs_filelister { var $_directory = LANG_DIR; function _checkFile($directory, $file) { if (is_dir("$directory/$file")) { if (!preg_match('![a-z]{2}-[a-z]{2}!', $file)) return 0; $this->_list [$file] = lang_getconf($file); } return 0; } } function lang_list() { $obj = new lang_indexer(); return $obj->getList(); } ?>