Минимальное количество символов в сообщении - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Минимальное количество символов в сообщении Минимальное количество символов для отправки сообщения

#1 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 732
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 27 Январь 2017 - 14:08

Здравствуйте. Перечитал все подобные темы, никак не могу настроить минимальное количество символов для отправки сообщения (и новых тем), для борьбы с мелким спамом.

Метод отсюда - http://ipbskins.ru/f...й-в-ipboard-3х/ почему-то не работает вообще на версии 3.4.9.

Также есть хук (FC33) Minimum Character Limit, но он работает тоже как-то странно, то ограничивает отправку коротких сообщений, то нет. Точно не ограничивает, если отправить несколько сообщений подряд...

P.S. - где-то уже вроде отписывались по проблемам с этим хукам, но к сожалению не смог найти эту тему.

Не подскажите, пожалуйста, в чем там проблема? Хук прикрепляю. Заранее огромное спасибо

Вложений


0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 27 Январь 2017 - 14:57

Просмотреть сообщениеStrategius сказал(а):

Метод отсюда - http://ipbskins.ru/f...й-в-ipboard-3х/ почему-то не работает вообще на версии 3.4.9.

В 3.1 редактор другой.
В 3.4 пост идет с тегами. Если Вы отправляете символ a (англ.), то пост будет
<p>a</p>
. А значение выражения (strlen( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) )) будет равна 8. Если Вы отправите а (русс), то значение будет 9.
Используйте mb_strlen() или IPSText::mbstrlen(). Для удаления тегов - strip_tags() или IPSText::stripTags()
1

#3 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 732
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 27 Январь 2017 - 15:17

Странно, если поменять оригинальную строку

if ( strlen( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) < 1 AND !$this->getIsPreview() )

На

if ( mb_strlen( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) < 10 AND !$this->getIsPreview() )

То вообще нет изменений. А если поменять на то:

if ( strip_tags( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) < 10 AND !$this->getIsPreview() )

То сообщение вообще не отправляется с любым кол-вом символов...
0

#4 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 27 Январь 2017 - 15:53

В первом случае Вы получаете значение (кол-во) вместе с тегами.
Во втором - строку, из которой удалены теги.

Нужно совместить.
1

#5 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 732
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 27 Январь 2017 - 16:41

newbie, огромное спасибо за подсказку!

Для 3.4.x

admin\applications\forums\sources\classes\post\classPost.php

Найти (3 раза):

strlen( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) < 1

Заменить на:

mb_strlen( strip_tags ( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) ) < 10

< 10 - минимальная длина сообщений в символах.

Сообщение изменено: Strategius (27 Январь 2017 - 16:45)

0

#6 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 27 Январь 2017 - 17:10

Есть в этом один интересный нюанс - если вставить смайлик, то ограничение на кол-во символов оно не влияет. Поставь хоть ограничение в сто символов, смайлик проходит без проблем.
0

#7 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 27 Январь 2017 - 17:37

Просмотреть сообщениеHaktar сказал(а):

Есть в этом один интересный нюанс - если вставить смайлик, то ограничение на кол-во символов оно не влияет. Поставь хоть ограничение в сто символов, смайлик проходит без проблем

Как так?
У Вас 3.1.4. Проверил. Смайлы не проходят.
Смайл - тег img. А мы теги вырезаем strip_tags.
0

#8 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 732
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 27 Январь 2017 - 17:42

Цитата

Смайлы не проходят

В 3.4 проходят как ни странно...
0

#9 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 27 Январь 2017 - 19:56

Просмотреть сообщениеnewbie сказал(а):

У Вас 3.1.4. Проверил. Смайлы не проходят.
Смайл - тег img. А мы теги вырезаем strip_tags.

Хм... Может это ещё зависит от каких либо настроек?

Все остальные символы, и бб-коды и html-код - не проходит.
0

#10 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 048
  • Регистрация: 20-Март 09
  • Репутация: 2 417
  • IPB version:3.1.x
 

Отправлено 28 Январь 2017 - 01:02

Сделайте var_dump( mb_strlen( strip_tags ( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) ) ); exit;
и посмотрите что содержит очищенная строка.
0

#11 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 28 Январь 2017 - 01:59

Просмотреть сообщениеsiv1987 сказал(а):

var_dump( mb_strlen( strip_tags ( trim( IPSText::removeControlCharacters( IPSText::br2nl( $post['post'] ) ) ) ) ) ); exit;

Это поставить вместо чего?
0

#12 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 28 Январь 2017 - 08:46

Просмотреть сообщениеHaktar сказал(а):

Это поставить вместо чего?

Перед условием.
0

#13 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 28 Январь 2017 - 15:25

Просмотреть сообщениеnewbie сказал(а):

Перед условием.

Выдаёт int(число символов напечатанных в форму)

А вот если смайл вписать, то выдаёт - int(0)
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна