Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
HooLIGUN

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

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

09/06/19 07:55 (изменено)

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

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

 

Нужно так

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
09/06/19 11:02 (изменено)

'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 содержатся данные по юзеру.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...