Перейти к публикации
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.

Отображения бана в чате 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?

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

Сейчас на странице 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.