Ошибка в функции eval()

Главные вкладки

Аватар пользователя Sennheiser Sennheiser 29 марта 2018 в 14:09

Всем привет!
Выскакивает вот это:

Notice: Undefined variable: term в функции eval() (строка 7 в файле /home/...../modules/php/php.module(80) : eval()'d code).

Не отследил когда именно стало появляться это уведомление. Как найти источник ошибки(точнее уведомления) ? Подскажите пожалуйста как исправить?

Комментарии

Аватар пользователя Semantics Semantics 29 марта 2018 в 14:10
1

PHP-фильтром грешили, значит и в нём код некорректный.
А уж где...
Попробуй найди, крайне неудобная штука для отладки

Аватар пользователя Semantics Semantics 29 марта 2018 в 14:36

И код в блоках и других местах тогда покажется как plain text, а в нём могут быть пароли, например, для подключения к БД

Аватар пользователя ivnish ivnish 29 марта 2018 в 14:49

Соглашусь с Semantics. Нельзя бездумно отключать PHP filter. Только после анализа где он используется и замены его на что-то более безопасное

Аватар пользователя Sennheiser Sennheiser 29 марта 2018 в 14:56

Короче, нашёл этот блок.
Он выводится только на терминах определённых словарей как раз с помощью PHP фильтра (источник http://xandeadx.ru/blog/drupal/650)

Сам код неправильный наверно:

<?php
if (
  
arg(0) == 'taxonomy' &&
  
arg(1) == 'term' &&
  (
$term taxonomy_term_load(arg(2))) &&
  
$term->vocabulary_machine_name == 'rubrics' ||
  
$term->vocabulary_machine_name == 'catalog'
) {
  return 
TRUE;
}
?>

Нужно чтоб блок отображался на всех терминах словарей rubrics и catalog
Как исправить?

Аватар пользователя bumble bumble 29 марта 2018 в 15:12
1

itcrowd72 wrote:

Нельзя бездумно отключать PHP filter

Скорее, включать. Нельзя. Даже после обдумываний.
А про то чтоб размещать пароли там - за такие мысли даже нужно током бить, больно...