If the back-link determined by zen_back_link (in /includes/functions/functions_general.php) contains an ampersand, the resulting HTML does not validate. Here's a change that corrects the problem:
Code:
function zen_back_link($link_only = false) {
if (sizeof($_SESSION['navigation']->path)-2 >= 0) {
$back = sizeof($_SESSION['navigation']->path)-2;
$link = zen_href_link($_SESSION['navigation']->path[$back]['page'], zen_array_to_string($_SESSION['navigation']->path[$back]['get'], array('action')), $_SESSION['navigation']->path[$back]['mode']);
} else {
if (isset($_SERVER['HTTP_REFERER']) && preg_match("~^".HTTP_SERVER."~i", $_SERVER['HTTP_REFERER']) ) {
//if (isset($_SERVER['HTTP_REFERER']) && strstr($_SERVER['HTTP_REFERER'], str_replace(array('http://', 'https://'), '', HTTP_SERVER) ) ) {
$link= $_SERVER['HTTP_REFERER'];
} else {
$link = zen_href_link(FILENAME_DEFAULT);
}
$_SESSION['navigation'] = new navigationHistory;
}
$link = str_replace('&', '&', $link);
if ($link_only == true) {
return $link;
} else {
return '<a href="' . $link . '">';
}
}
Bookmarks