Всем привет!
Выскакивает вот это:
Notice: Undefined variable: term в функции eval() (строка 7 в файле /home/...../modules/php/php.module(80) : eval()'d code).
Не отследил когда именно стало появляться это уведомление. Как найти источник ошибки(точнее уведомления) ? Подскажите пожалуйста как исправить?
Комментарии
PHP-фильтром грешили, значит и в нём код некорректный.
А уж где...
Попробуй найди, крайне неудобная штука для отладки
Смотрите кастомные блоки в первую очередь
Надо в модулях отключить php filter
И засветить код на сайте, где могут быть пароли к бд, например?
Не угадал, убрать код PHP из фильтров
И код в блоках и других местах тогда покажется как plain text, а в нём могут быть пароли, например, для подключения к БД
Вы такое вписываете и даже если обнаружите не уберёте? Однако ...
Просто думать нужно, перед тем как вредные советы давать
Не могу с тобой не согласиться, думать надо всегда не забывать, я рад что ты это понимаешь.
Соглашусь с Semantics. Нельзя бездумно отключать PHP filter. Только после анализа где он используется и замены его на что-то более безопасное
Короче, нашёл этот блок.
Он выводится только на терминах определённых словарей как раз с помощью 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
Как исправить?
Правильное решение - это создать блок программно в своём модуле, а PHP фильтр отключить
Это условие видимости, а блок может и вьюсовый
да, вьюсовый
В том же посте кстати указан и модуль, который позволяет избавиться от этой конструкции.
Скорее, включать. Нельзя. Даже после обдумываний.
А про то чтоб размещать пароли там - за такие мысли даже нужно током бить, больно...
Не даром в 8-ке из сore убрали.