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

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

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

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

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

Отображения бана в чате 3.4.9

Хочу сделать отображение блокировки чата около ника юзера (в чате)

Никак не могу получить массив с данными от пользователя-автора сообщения

 

Нужно так

post-48258-0-84482300-1567756422_thumb.png

Сделал примерно вот так, но это доп запрос на каждое сообщение, а их в чате куча и получается куча запросов валит сервер

$ban_memberid = $d['member_id'];
$getban = $this->DB->buildAndFetch( 
array( 
'select' => 'count(*) as banned',
'from'   => 'members',
'where'  => "member_id = '$ban_memberid' and members_cache LIKE '%shoutbox_banned\\";i:1%'"
));
if ($getban['banned'] == '1'){
$ban = '<span class="ipsBadge ipsBadge_red">Чат заблокирован</span>';
}

Делаю в шаблоне skin_shoutbox->shout_row *

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

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

Сделайте var_dump($d) и посмотрите, есть ли кеш.

  • Автор

Делал, нет

Пытался найти в каком файле сидит массив $d , чтобы добавить туда нужное мне - не нашел

\admin\applications_addon\other\shoutbox\sources\classes\library.php

 

'add_join' => array( 0 => array( 'select' => 'm.member_id, m.member_group_id

  • Автор

'add_join' => array( 0 => array( 'select' => 'm.member_id, m.member_group_id, m.members_display_name, m.members_seo_name, mgroup_others,members_cache',

Не помогло

upd

Обновил кеш чата, появилось) Спасибо

Не подскажите,как его обработать?

s:15:"shoutbox_banned";i:1;s:23:"shoutbox_banned_howlong";i:24;s:20:"shoutbox_banned_time";i:1567767610;

Поидее где то в движке есть обработчик

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

Не подскажите,как его обработать?

$cache = IPSMember::unpackMemberCache( $d['members_cache'] );

либо получить значение(я) по ключу

$shoutbox_banned = IPSMember::getFromMemberCache( $d, 'shoutbox_banned' );

  • Автор

Привязки к id пользователя же нет?

Не понял.

 

В переменной $d содержатся данные по юзеру.

  • Автор

Да, тест echo для $shoutbox_banned сбил меня с толку.

Спасибо, всё заработало.

  • 1 месяц спустя...

Не хотел создавать новую тему, поэтому вопрос тоже по Чату: Как можно архив shoutbox выводить не в аджакс-окне, а по ссылке, в обычном окне?

Должна быть такая реализация. Как правило аджакс блоки дублируются отдельными страницами.

Должна быть такая реализация. Как правило аджакс блоки дублируются отдельными страницами.

В 3.1.4 точно нет.

Должны быть прямые ссылки. Только там будет либо json, либо html без форматирования.

Должны быть прямые ссылки. Только там будет либо json, либо html без форматирования.

Да вот ищу, не могу найти. А где поискать? Смотрел в shoutbox.ajax.js, coreAjax.php и shoutbox.js

Ajax.zip

member->form_hash}&type=archive" seotitle="false" base="public"}">Archive

<a href="{parse url="app=shoutbox&module=ajax&section=coreAjax&secure_key={$this->member->form_hash}&type=archive" seotitle="false" base="public"}">Archive</a>

Спасибо. Правда для такой страницы придётся в шаблоне всё подключать. Малость неудобно, лучше отказаться от этой идеи.

 

Что бы не было оффтопа: этот метод отображения бана в чате, подходит и для 3.1.4?

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

Аккаунт

Навигация

Поиск

Поиск

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

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