validate со следующим содержимым:
<?php
function text_error(){
return false;
die();
}
if(isset($_POST['org'])){
if($hook->getValue('org')!=''){
$modx->log(xPDO::LOG_LEVEL_ERROR, 'Ошибка заполнения формы: не пустое поле антиспама');
$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($_POST, 1));
text_error();
}else{
return true;
}
}else{
$modx->log(xPDO::LOG_LEVEL_ERROR, 'Ошибка заполнения формы: нет поля антиспама');
$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($_POST, 1));
text_error();
}
В вызов формы хук validate — название выше созданного сниппета
&hooks=validate, email, FormItSaveForm
Ну и пишем небольшой скриптик на JavaScript (с jQuery)
$('.ajax_form').each(function(){
$(this).append('<input type="text" name="org" value="" class="_org" style="visibility:hidden; height: 0; min-height: 0; width: 0; padding: 0; border:none;margin:0"/>');
});
Я бы логирование отключил, иначе журнал разрастется, особенно если спама много =)
Есть logControl 😉
А что это не помогает?
Обсуждают сегодня