I am trying to allow files that are within the /sites/default/files/private/
directory to available to users with correct role and this is working correctly within all browsers (including IE9) except for the IE8 browser. It does not appear to be a particular file type since it does not work with either .pdf's or .doc's extension. It their something special that I need to do to the "mime type" so that IE8 will successfully download these files?
I have listed below hook_file_download
which determines when a requested file download is allowed based on a combination of the page $url
and the requesting users role and I highlighted in bold the bottom of the function where it determines the mime type that is returned.
function atf_retirees_file_download($uri) {
$user = $GLOBALS['user'];
$roles = $user->roles;
$pos_inside_atf_alias = stripos($uri, '/inside-atf/');
$pos_nibin_alias = stripos($uri, '/nibin-user-area/');
if (($pos_inside_atf_alias === false && $pos_nibin_alias === false) || ($pos_inside_atf_alias !== false && !(in_array('ATF Retirees', $roles) || in_array('administrator', $roles))) || ($pos_nibin_alias !== false && !(in_array('NIBIN User Area', $roles) || in_array('administrator', $roles)))) {
return -1;
} else {
**$mime_type = file_get_mimetype($uri);
return array('Content-Type' => $mime_type);**
}
}