Амперсенд (или амперсанд) играет роль разделителя get-параметров в адресной строке запроса веб-страницы.
Дело в том, что, в соответствиями с требованиями новых стандартов, амперсенд в адресе веб-страницы должен быть прописан не "&", а "&". Визуально в адресной строке браузера это выглядит одинаково, как "&". PHP-Fusion этих стандартов придерживается.
Скрипты Sape (Linkfeed) берут адрес страницы с "&" и ищут в базе соответствующие записи. А так как в базе вместо "&" стоят "&", то соответствия не находят и ссылок не выводят.
Проблема решается небольшими поправками в скриптах sape.php (linkfeed.php).
Итак. Для linkfeed.php:
У меня это в районе 150-й строки, находим такой фрагмент:
if (array_key_exists($this->lc_request_uri, $this->lc_links) && is_array($this->lc_links[$this->lc_request_uri])) {
$this->lc_links_page = $this->lc_links[$this->lc_request_uri];
}
и добавляем прямо над ним строку:
$this->lc_request_uri = str_replace ("amp;", "", $this->lc_request_uri);//alipapa added
Для sape.php:
в одном файле это была 393-я строка, в другом - 432-я. Надо найти следующие строки:
function set_data($data) { $this->_links = $data;
И сразу под ними вставить:
$this->_request_uri = str_replace ("amp;", "", $this->_request_uri);//alipapa added
Теперь, когда из копии адресной строки удалены дополнительные "amp;", все ссылки размещаются, ошибки исчезают. Успешной вам торговли!
(c) [ ссылка скрыта ] (
регистрация |
вход )