Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
HooLIGUN

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

Recommended Posts

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

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

 

Нужно так

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Делал, нет

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

Share this post


Link to post
Share on other sites

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

 

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

  • Upvote 1

Share this post


Link to post
Share on other sites

'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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

Не понял.

 

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

В 3.1.4 точно нет.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Ajax.zip

Share this post


Link to post
Share on other sites
member->form_hash}&type=archive" seotitle="false" base="public"}">Archive

  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...