Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Пустые жалобы на сообщения (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 или локали. Самый универсальный метод это использовать настройки форума.

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.