Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Пустые жалобы на сообщения (2.3.6.)

Суть проблемы такова. Стали приходить пустые жалобы на сообщения по кнопке жалоба. Если ранее приходили с текстом и ссылкой на тему, то теперь просто пустое сообщение. Может кто то сталкивался ?

Рекомендованные сообщения

@PaulZibert, проверьте языковые файлы Внешний вид -> Список языков -> Изменить

Файл lang_email_content, строка report_post

 

ПС

А они вообще куда пустые приходят, в личных уведомлениях или на емайл?

  • Автор

@PaulZibert, проверьте языковые файлы Внешний вид -> Список языков -> Изменить

файл lang_email_content, строка report_post

 

ПС

А они вообще куда пустые приходят, в личных уведомлениях или на емайл?

В ЛС. Проверю !

  • Автор

Проверил !

Сейчас там такая строка:

 

<#MOD_NAME#>,

Всем модераторам было отправлено уведомление от <#USERNAME#> через кнопку «Жалоба».
------------------------------------------------
Тема: <#TOPIC#>
------------------------------------------------
Ссылка на сообщение: <#LINK_TO_POST#>
------------------------------------------------
Жалоба:

<#REPORT#>

------------------------------------------------

  • Автор

Может кто то ещё сталкивался ?

  • 3 года спустя...

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

Подобная проблема была ранее тоже после смены хостинга где новый php.

Путем гугления собрал все воедино и через TextReplacer поискал по всем файлам на наличие "report"

Изза новой версии PHP разработчикам и эксплуататорам движков и скриптов, использующих кодировку отличную от utf-8 предлагается либо переходить на utf-8, либо исправлять все вхождения функций htmlspecialchars() и htmlentities() на такой, полный, формат:

htmlspecialchars($str, ФЛАГ, 'кодировка сайта');

Однако, можно попробовать использовать более универсальный код:

htmlspecialchars($str, NULL, '');

 

Решение:

Открываем .../sources/action_public/misc/contact_member.php

Примерно строка 399

Старое

$report = $this->ipsclass->my_nl2br( htmlspecialchars($report, ENT_COMPAT) );

Заменить на новое

$report = $this->ipsclass->my_nl2br( htmlspecialchars($report, ENT_COMPAT, '') );

 

Тут же немного смотрим ниже

Примерно строка 450

Старое

$this->lib->msg_post    = $this->lib->postlib->parser->pre_display_parse( $this->lib->postlib->parser->pre_db_parse( htmlspecialchars( $this->email->message, ENT_QUOTES ) ) );

Заменить на новое

$this->lib->msg_post    = $this->lib->postlib->parser->pre_display_parse( $this->lib->postlib->parser->pre_db_parse( htmlspecialchars( $this->email->message, ENT_QUOTES, '' ) ) );

Изменено пользователем butik2

Передача пустой строки больше смахивает на костыль нежели на универсальный код. Универсальный подход это указать кодировку форума - $this->ipsclass->vars['gb_char_set']

Код можно применить независимо от кодировки сайта. И будет работать. Поэтому он универсальный. А вот касаемо IPB, тут уже лучше указывать точную кодировку, но это не означает, что просто пустая строка не к месту. Это наоборот подчеркивает универсальность способа.

Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию.

... а значит универсальности в нем мало когда форум будет работать в кодировке отличной от кодировки скрипта, default_charset или локали. Самый универсальный метод это использовать настройки форума.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.