diff --git a/e107_files/bbcode/file.bb b/e107_files/bbcode/file.bb
index 6e67f92b1..8c9126027 100644
--- a/e107_files/bbcode/file.bb
+++ b/e107_files/bbcode/file.bb
@@ -2,7 +2,6 @@ global $pref, $fromadmin;
if ((e_PAGE == 'page.php') || (array_key_exists('forum_attach', $pref) && $pref['forum_attach'] && FILE_UPLOADS || ADMIN || $fromadmin))
{
- $image = (file_exists(THEME."images/file.png") ? THEME."images/file.png" : e_IMAGE."generic/".IMODE."/file.png");
list($fname, $uc) = explode("^", $parm."^");
if($uc)
{
@@ -11,5 +10,21 @@ if ((e_PAGE == 'page.php') || (array_key_exists('forum_attach', $pref) && $pref[
return;
}
}
+
+ $ext = substr($fname, strrpos($fname, ".")+1);
+
+ if(is_readable(THEME."images/".$ext.".png")){
+ $image = THEME."images/".$ext.".png";
+
+ }elseif(is_readable(e_IMAGES."packs/".IMODE."/generic/".$ext.".png")){
+ $image = e_IMAGES."packs/".IMODE."/generic/".$ext.".png";
+
+ }elseif(is_readable(THEME."images/file.png")){
+ $image = THEME."images/file.png";
+
+ }else{
+ $image = e_IMAGES."packs/".IMODE."/generic/file.png";
+ }
+
return "
".$code_text."";
}