Jump to content
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 *

Edited by HooLIGUN

Featured Replies

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

  • Author

Делал, нет

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

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

 

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

  • Author

'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;

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

Edited by HooLIGUN

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

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

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

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

  • Author

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

Не понял.

 

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

  • Author

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

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

  • 1 month later...

Не хотел создавать новую тему, поэтому вопрос тоже по Чату: Как можно архив 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?

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

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.