Перейти к контенту

Дифференциация в опциях личных сообщений


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

Начну с того что поиск перерыл и ничего по сабжу не нашёл.

 

Пытался сам найти творческое решение к задаче.

Суть: форум посещает одна известная личность.

Цель: чтоб юзеры не засыпали её личными сообщениями.

Вместе с тем все юзеры должны иметь возможность приватиться между собой. Также не хочется этой персоне отрубать опцию ЛС. Типа сама она должна иметь право посылать ЛС (а вдруг ей приспичит ;)) и получать от админов/модеров.

Поначалу создал новую группу VIP. Но в настройках ничего дельного не нашёл. Либо отрубить полностью/либо оставить. А то что надо (отрубить входящие за исключением от админов) - такого нету :D

 

Может как то возможно сделать такой мод чтоб любые ЛС на имя определённого юзера проходили модерацию? Полагаю это гимор конкретный.

 

 

Заранее благодарю за помощь

Ссылка на комментарий
Поделиться на других сайтах

ну есть система минибанов- не принимать сообщения от таких-то.. просто переделать ее в систему разрешений от таких-то..
Ссылка на комментарий
Поделиться на других сайтах

borchuk

дык скажи этой личности в профиле настроить друзей, от которых будут идти сообщения. А остальные - враги. Возможно придётся подделать что-нибудь, я не помню, есть возможность белого списка или нет. Чёрный точно есть.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
ну есть система минибанов- не принимать сообщения от таких-то.. просто переделать ее в систему разрешений от таких-то..

На запрос минибан - поиск выдаёт этот топик :D

На запрос miniban - вообще ничего

 

Поиск в Гугле также ничего дельного не принёс.

 

 

Пробую решить задачу своими силами.

Как осуществить - приблизительно представляю себе, но поскольку не знаком с синтаксом и ещё всякими нюансами, то прошу помощи тех для кого это не представляет проблемы.

 

Значит так:

Список друзей/врагов для получения(блокировки) личных сообщений базируется на мемберах. Типа allow - да или нет. и всё это хранится в таблице ibf_contacts

 

 

1. В таблицу ibf_contacts я хочу добавить колонку groupcontact_id чтоб в одной таблице можно было блокировать/разрешать как на уровне мембера так и на уровне группы.

Делается оно вроде так:

ALTER TABLE `ibf_contacts` ADD `grcont_id` MEDIUMINT( 8 ) NOT NULL AFTER `contact_id`;

Если не так, то поправьте меня ;)

 

2. Во время отправления ЛС проверка на тему "а не заблокировал ли нас получатель" находится в файле

sources\lib\msg_functions.php

//-----------------------------------------
// Has the reciepient blocked us? 
//-----------------------------------------

$DB->simple_construct( array( 'select' => 'contact_id, allow_msg', 'from' => 'contacts', 'where' => "contact_id=".$this->from_member['id']." AND member_id=".$this->send_to_member['id'] ) );
$DB->simple_exec();

$can_msg = $DB->fetch_row();

if ( (isset($can_msg['contact_id'])) and ($can_msg['allow_msg'] != 1) )
 {
   $ibforums->input['MID'] = $this->send_to_member['id'];
   $this->error = $ibforums->lang['msg_blocked'];
    return;
  }

 

 

Вот собственно в эту часть кода надо внести изменения так чтоб проверка была как среди мемберов так и среди групп.

Желательный порядок действий:

1) Если отправитель является мембером-другом данного юзера - то сообщение отправляется

2)Если отправитель является членом группы, которой разрешено отправлять данному юзеру - то сообщение отправляется

3)Если отправитель является мембером-врагом данного юзера - то сообщение НЕ ОТПРАВЛЯЕТСЯ

4)Если отправитель является членом группы, которой запрещено отправлять данному юзеру - то сообщение НЕ ОТПРАВЛЯЕТСЯ

5) else сообщение отправляется

 

очерёдность пунктов для того чтобы если мемберу Васе (члену группы Мемберс) разрешено отправлять, а группе Мемберс - запрещено - то чтобы сообщение отправилось. Типа ALLOW важнее чем DENY.

 

Буду благодарен если кто нибудь перепишет этот кусочек кода.

 

Сам интерфейс относительно групп в UCP добавлять не нужно.

Мне этим надо воспользоваться относительно одного юзера только. Так что внесу в БД вручную.

Ссылка на комментарий
Поделиться на других сайтах

Kafel

сам вот жду может кто откликнется.... :D

для человека знающего PHP - это пустяки... 15-20 минут к готовому коду добавить то что я просил...

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Люди, проблема стоит особенно остро.....

Ну очень нужна помощь....

Я ведь спроектировал приблизительно как оно должно быть....

Помогите только с синтаксом... пожалуйста!!!!!!!!!!!!!!!!

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.