исправлено R566 ошибка ajax.php

Dr_Brown

Пользователь
#1
Не очищается в админке datastore и весь кеш, пишет ошибка в ajax.php, в том числе и на демо сайте.
 
S

sockrat

Гость
#4
значит нужно везде сделать так?
Код:
// URLs
$bb_cfg['ajax_url']    = '/ajax.php';    #  "http://{$_SERVER['SERVER_NAME']}/ajax.php"
$bb_cfg['login_url']  = '/login.php';    #  "http://{$domain_name}/login.php"
$bb_cfg['pm_url']      = '/privmsg.php';  #  "http://{$domain_name}/privmsg.php"
$bb_cfg['posting_url'] = '/posting.php';  #  "http://{$domain_name}/posting.php"
нет?
 

drew

Пользователь
#5
sockrat, нет, только там где я указал. И больше ничего не надо делать,
PHP:
'S_LOGIN_ACTION'            => BB_ROOT . LOGIN_URL,
 

drew

Пользователь
#8
Dr_Brown, это нигде не менять. Был приведен пример почему в других случаях не надо ставить слеш.
 

Phoenix

Пользователь
#10
Exile, по факту ошибка не исправлена, ибо если движок будет расположен в папке, то будет тоже самое...
Добавленный в R567 слеш перед ajax.php, указывает путь на корневой каталог сервера, что является неверным, при расположении движка, скажем в папке "forum".
Вариант 1:
Если взглянуть в page_header.tpl на строчку до ревизии 566, на которой возникает ошибка, то изначально она выглядела так:
PHP:
var ajax = new Ajax('{SITE_URL}ajax.php', 'POST', 'json');
Где в качестве пути брался полный URL до файла ajax.php, что исключало ошибку в разделе администрирования, когда путь уже был относительно папки "admin".
Текущая строка имеет вид:
PHP:
var ajax = new Ajax('{$bb_cfg['ajax_url']}', 'POST', 'json');
Логичней было:
PHP:
var ajax = new Ajax('{SITE_URL}{$bb_cfg['ajax_url']}', 'POST', 'json');
Если смысл был в отказе от URL ссылки, то тогда:
PHP:
// так:
var ajax = new Ajax('{#BB_ROOT}{$bb_cfg['ajax_url']}', 'POST', 'json');
 
// либо так:
var ajax = new Ajax('{$bb_cfg['script_path']}{$bb_cfg['ajax_url']}', 'POST', 'json');
 
// или:
var ajax = new Ajax('{FORUM_PATH}{$bb_cfg['ajax_url']}', 'POST', 'json');
... ну и соответственно слеш из конфига перед ajax.php убрать
Вариант 2:
Заменить строку в конфиге на:
PHP:
$bb_cfg['ajax_url']    = $bb_cfg['script_path'] . 'ajax.php';
 
Сверху