diff --git a/language.php b/language.php index 395548e..48dad17 100644 --- a/language.php +++ b/language.php @@ -214,9 +214,9 @@ class language $category = $this->languageCategoryText ($category); $temporaries = glob ("$repLocale/$languageCode.$codeset/$category/*-*.mo"); $moFile = "$repLocale/$languageCode.$codeset/$category/$package.mo"; - $linkBase = $this->cacheDir."/$languageCode.$codeset/$category/". - "$package-"; - $link = $linkBase.filemtime($moFile).".mo"; + $linkBase = $this->cacheDir."/".filemtime($moFile)."/"; + $linkEnd = "$languageCode.$codeset/$category/$package.mo"; + $link = $linkBase.$linkEnd; if (! file_exists ($moFile)) { return ""; @@ -235,8 +235,15 @@ class language if (! file_exists ($link) || ! is_readable ($link) || filemtime ($moFile) > filemtime ($link)) { - $files = glob ("$linkBase*"); - array_map ("unlink", $files); + $files = glob ($this->cacheDir."/*/".$linkEnd); + foreach ($files as $file) + { + unlink ($file); + // Remove the empty dirs. If not empty, do not display an error + @rmdir (dirname ($file)); + @rmdir (dirname (dirname ($file))); + @rmdir (dirname (dirname (dirname ($file)))); + } copy ($moFile, $link); chmod ($link, 0666); }