Zachery
10-16-2013, 10:00 PM
IE11 has some issues with vB5 as it stands now due to bad browser detection. These changes should address the issues at hand until the software is patched.
In core/includes/functions.php find:
// detect macintosh
Add above:
// Detect Modern IE11+
if (strpos($useragent, 'trident') !== false AND !$is['opera'] AND !$is['ie'])
{
preg_match('#rv:([0-9\.-]+)#', $useragent, $regs);
$is['ie'] = $regs[1];
}
Next, find:
if (strpos($useragent, 'gecko') !== false AND !$is['safari'] AND !$is['konqueror'])
And replace it with
if (strpos($useragent, 'gecko') !== false AND !$is['safari'] AND !$is['konqueror'] AND !$is['ie'])
Next, we have one more change to make:
In /includes/vb5/frontend/controller.php Find
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
{
header('Content-type: text/plain; charset=UTF-8');
}
Add after
// IE11+ detection, MS changed the UA
elseif (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false))
{
header('Content-type: text/plain; charset=UTF-8');
}
In core/includes/functions.php find:
// detect macintosh
Add above:
// Detect Modern IE11+
if (strpos($useragent, 'trident') !== false AND !$is['opera'] AND !$is['ie'])
{
preg_match('#rv:([0-9\.-]+)#', $useragent, $regs);
$is['ie'] = $regs[1];
}
Next, find:
if (strpos($useragent, 'gecko') !== false AND !$is['safari'] AND !$is['konqueror'])
And replace it with
if (strpos($useragent, 'gecko') !== false AND !$is['safari'] AND !$is['konqueror'] AND !$is['ie'])
Next, we have one more change to make:
In /includes/vb5/frontend/controller.php Find
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
{
header('Content-type: text/plain; charset=UTF-8');
}
Add after
// IE11+ detection, MS changed the UA
elseif (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false))
{
header('Content-type: text/plain; charset=UTF-8');
}