hotdj 33 Опубликовано: 8 мая 2011 Рассказать Опубликовано: 8 мая 2011 Зачастую на одном из сайтов пользователи оставляют комментарии в 5 букв, хотя минимальное кол-во символов в админке равно 20. Делается всё просто, пишется 3 буквы а потом зажимать пробел, и тогда такой комментарий дле пропускает с лёгкостью. По моему нужно убрать такую штуку, чтобы больше одного пробела одновременно обрезалось, и не давало добавить коммент. Цитата Ссылка на сообщение Поделиться на других сайтах
ibred 31 Опубликовано: 9 мая 2011 Рассказать Опубликовано: 9 мая 2011 (изменено) Зачастую на одном из сайтов пользователи оставляют комментарии в 5 букв, хотя минимальное кол-во символов в админке равно 20. Делается всё просто, пишется 3 буквы а потом зажимать пробел, и тогда такой комментарий дле пропускает с лёгкостью. По моему нужно убрать такую штуку, чтобы больше одного пробела одновременно обрезалось, и не давало добавить коммент. Баг есть баг, но эффективней просто на просто не учитывать пробел, как символ. В DLE 8.2 я использовал конструкцию: $comments1 = preg_replace("/ /i", "", $comments); // Не учитываем пробелы if( strlen(trim(strip_tags($comments1))) < 15){ // Не учитываем изображения и смайлы, и если текст меньше 15 символов, то.. $stop[] = $lang['news_err_0']; // Ошибка. $CN_HALT = TRUE; } Только меня теперь мучает вопрос, как это прикрутить к версии 9.2 Изменено 9 мая 2011 пользователем ibred Цитата Ссылка на сообщение Поделиться на других сайтах
hotdj 33 Опубликовано: 10 мая 2011 Рассказать Опубликовано: 10 мая 2011 Автор Владимир, расскажите пожалуйста как быть ? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 11 мая 2011 Рассказать Опубликовано: 11 мая 2011 hotdj, Решение описано выше и работает оно также и на актуальных версиях без проблем. Видимо просто вставляете этот код не туда. Цитата Ссылка на сообщение Поделиться на других сайтах
ibred 31 Опубликовано: 11 мая 2011 Рассказать Опубликовано: 11 мая 2011 hotdj, Решение описано выше и работает оно также и на актуальных версиях без проблем. Видимо просто вставляете этот код не туда. Я вот и сам разобраться не могу. Может подскажите куда вставить данный код? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 11 мая 2011 Рассказать Опубликовано: 11 мая 2011 Например после if( dle_strlen( $comments, $config['charset'] ) > $config['comments_maxlen'] ) { $stop[] = $lang['news_err_3']; $CN_HALT = TRUE; }[/code] 1 Цитата Ссылка на сообщение Поделиться на других сайтах
hotdj 33 Опубликовано: 13 мая 2011 Рассказать Опубликовано: 13 мая 2011 Автор hotdj, Решение описано выше и работает оно также и на актуальных версиях без проблем. Видимо просто вставляете этот код не туда. Я не собираюсь его никуда вставлять. Считаю что это должно быть новой версии обязательно. Т.к. если выстраивается максимальное кол-ов символов в админке, то пробел не считается символом, и его нужно резать. Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 13 мая 2011 Рассказать Опубликовано: 13 мая 2011 (изменено) Вместо if( intval($config['comments_minlen']) AND dle_strlen( $_POST['comments'], $config['charset'] ) < $config['comments_minlen'] ) { пишем if( intval($config['comments_minlen']) AND (dle_strlen( $_POST['comments'], $config['charset'] ) < $config['comments_minlen'] OR strlen(trim(strip_tags(preg_replace("/ /i",'',$_POST['comments'])))) < $config['comments_minlen'] )) { в районе 40 строки addcomments.php Можно упростить, но в подробности не вдавался. А еще в редактирование бы вставить , а то написал и исправил тут же... на 3 буквы с пробелами... Изменено 13 мая 2011 пользователем Wanderers Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 13 мая 2011 Рассказать Опубликовано: 13 мая 2011 это должно быть новой версии обязательно уверен, что будет. Владимир рацухи принимает к сведению. а пока что - заюзай у себя этот код) Цитата Ссылка на сообщение Поделиться на других сайтах
ibred 31 Опубликовано: 13 мая 2011 Рассказать Опубликовано: 13 мая 2011 Например после if( dle_strlen( $comments, $config['charset'] ) > $config['comments_maxlen'] ) { $stop[] = $lang['news_err_3']; $CN_HALT = TRUE; } Все отлично работает. Благодарю Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.