Борьба с ссылками

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

Аватар пользователя Супрун Иван Супрун Иван 25 октября 2012 в 14:59

Здравствуйте!

Помогите пожалуйста реализовать следующее.
В идеале хочу что бы при добавлении материала (объявление, запись в блог, форум, комментарий) если в тексте обнаружена ссылка, то материал не сохранялся А выдавалась ошибка, как если это бывает если к примеру не заполнено обязательное поле, и выбивалось сообщение в котором говорилось бы о том что в тексте найдена ссылка, удалите ее и нажмите сохранить еще раз.

Что у меня получилось сделать: когда создается материал с ссылкой — он сохраняется но сразу же снимается с публикации а пользователю показывается сообщение о том что сообщение было снято с публикации за ссылку. Но это не очень хорошо, в таком случае пользователь либо создаст еще точно такой пост уже без ссылки или будет ждать когда модератор проверит неопубликованные записи.
Реализовано это так:

Установил модуль rules
Создал два правила
1. для события After saving new content
и
2. для события After updating existing content

Выбрал для обоих условия Execute custom PHP code indent

<?php$text=$node->body;
$count_t=substr_count($text,'http://');
return $count_t>0;?>

Добавил действия:
- снять с публикации
- показать сообщение, что материал отправлен на модерацию

но и тут проблемы, этот код не работает для комментариев и для тех типов материалов, где стандартное поле body не используется а вместо него другое текстовое поле.

Хотелось бы сделать так как я описал в начале(я не програмист но очень друпал понравился за его гибкость, ушел с глюченой джумлы, подскажите пожалуйста), но если нельзя, то подскажите как изменить код что бы он работал для комментариев и для полей где стандартное поле body отсутствует. Всем за ранее спасибо!

Комментарии

Аватар пользователя Geldora Geldora 25 октября 2012 в 15:44

Для комментариев используйте block anonymous links

Для всего остального - лучше отключите в Фильтрах возможность добавления ссылок...