Стоп слова для комментариев

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

Аватар пользователя deminua deminua 31 мая 2013 в 14:35

Как реализовать список стоп слов при публикации коммента?

Советы, "копать rules" или "тригер" я знаю что там можно, но:
Действия (тригеры) - создал - не снимает с публикации.
Rules - все настроил кроме основного, как создать правило? регулярка или как там, и куда список писать?

Комментарии

Аватар пользователя deminua deminua 31 мая 2013 в 15:31

нашел еще такое сообщение в журнале:
The condition Text comparison () fails the integrity check and cannot be executed. Error: Data selector comment:comment-body:value for parameter text is invalid.

Аватар пользователя Frantsuzzz Frantsuzzz 2 июня 2013 в 0:09

Свой модуль сделать. Там работы на 5 минут. Вот пример с проверкой комментария на количество ссылок и наличие русских букв. Прикрутите проверку на наличие стоп слов и будет Вам праздник.

function mymodule_form_alter(&$form, &$form_state, $form_id)
{
if (strpos($form_id, 'comment_node_')!==false) // Небольшой трюк, чтобы срабатывало на всех формах комментирования.
$form['#validate'][] = 'mymodule_antispam_validation';
}

//В этой функции делаем проверку
function mymodule_antispam_validation($form, &$form_state)
{
$text = $form_state['input']['comment_body']['und'][0]['value'];
if (substr_count($text, '') >=2 or // По наличию закрывающего тега . Если встречается более чем 1 раза.
strpos($text, '[/url]')!==false or // По наличию bbCode ссылки.
!preg_match("/[а-яА-я]/", $text)) { // По полному отсутвию букв русского алфавита.
form_set_error('comment_body', 'Ваше сообщение возможно содержит спам, потому не игнорируйте кириллицу и не пытайтесь разместить здесь лишние ссылки.');
}
}