Все формы стали битыми.
Поверхостное расследование показало, что атрибут action искажался смешным образом.
вместо положенного значения uri он преобразовался в url
На вскидку не страшно )
Но почему-то url с ведущим слешем не является синтаксически верным: /http://my.domain.org/admin/content/taxonomy
Ошибка оказалась в функции выдирания uri из окружения сервера.
$HOME$/includes/bootstrap.inc reques_uri()
Изначально не учитывалась возможность редиректов на друпал
Поправленная версия работает нормально.
/**
* Since $_SERVER['REQUEST_URI'] is only available on Apache, we
* generate an equivalent using other environment variables.
*/
function request_uri() {
if (isset($_SERVER['REDIRECT_URL'])){
$uri = $_SERVER['REDIRECT_URL'];
}
elseif (isset($_SERVER['REQUEST_URI'])) {
$uri = $_SERVER['REQUEST_URI'];
}
elseif (isset($_SERVER['argv'])) {
$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['argv'][0];
}
elseif (isset($_SERVER['QUERY_STRING'])) {
$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['QUERY_STRING'];
}
else {
$uri = $_SERVER['SCRIPT_NAME'];
}
// Prevent multiple slashes to avoid cross site requests via the FAPI.
$uri = '/'. ltrim($uri, '/');
return $uri;
}
Комментариев нет:
Отправить комментарий