Доступ определенной группе пользователей 2.X

Нужно решить задачку что бы определенный круг пользователь видели материалы компонента.

 
Посетитель
no avatar
Сообщений: 10
Сложность состоит в том, что есть тип контента, в который могут добавлять материалы определенные группы пользователей, и видят только свои материалы.
Так вот хочу сделать так что бы некоторые пользователи видели друг друга материалы и могли добавлять в связях материалы (так сказать подгруппы пользователей)
Пытался решить вопрос с "Управлением приватностью" и "дружбой", но что то не увенчалось успехом!
Посетитель
no avatar
Сообщений: 10
Обновляю тему и по подробней опишу что пришло в голову, но все же нужна помощь в реализации!

Суть заключается в таком:
1. Есть пользователь, у него есть поле в профиле допустим "id1245678"
2. Есть поле в типе контента (id пользователя), при создании которого автоматом в поле вписывается "id1245678"
3. Как реализовать показ контента путем сравнения двух полей: поля у зареганного пользователя и поле типа контента?

Возможно ли такое?
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 268
Думаю, надо делать так:
content_{$ctype['name']}_before_list
content_{$ctype['name']}_before_item
Делаем вот такие 2 хука и в них прописываем условие показа типа
Код PHP:
  1. if($user->id1245678 == $item['id1245678']) ...
а именно в первом:

Код PHP:
  1.  
  2. function run($items) {
  3. $user = cmsUser::getInstance();
  4. foreach ($items as $key => $item) {
  5. if($user->id1245678 != $item['id1245678']) unset($items[$key]);
  6. }
  7. return $items;
  8. }
  9.  
  10.  
Во втором

Код PHP:
  1. function run($data) {
  2.  
  3. $item = $data[1];
  4. $user = cmsUser::getInstance();
  5.  
  6. if($user->id1245678 != $item['id1245678']) cmsCore::error404();
  7.  
  8. return $data;
  9. }
  10.  
Как-то так...
Редактировалось: 2 раз (Последний: 25 ноября 2019 в 01:07)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1241
@Grey4ik:
1. Есть пользователь, у него есть поле в профиле допустим "id1245678"
2. Есть поле в типе контента (id пользователя), при создании которого автоматом в поле вписывается "id1245678"
3. Как реализовать показ контента путем сравнения двух полей: поля у зареганного пользователя и поле типа контента?
Зачем?
Пользователь с ID = 123 добавил новость и у этой новости будет поле user_id = 123
Разве это не одно и тоже?

То что Вы хотите, решается с помощью приватности, лучше напишите что не получилось?
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
no avatar
Сообщений: 10
Evanescence:

@Grey4ik:
1. Есть пользователь, у него есть поле в профиле допустим "id1245678"
2. Есть поле в типе контента (id пользователя), при создании которого автоматом в поле вписывается "id1245678"
3. Как реализовать показ контента путем сравнения двух полей: поля у зареганного пользователя и поле типа контента?
Зачем?
Пользователь с ID = 123 добавил новость и у этой новости будет поле user_id = 123
Разве это не одно и тоже?

То что Вы хотите, решается с помощью приватности, лучше напишите что не получилось?

На счет приватности решается видеть или не видеть всем, поле которое я назвал "id1245678" это обычное строковое поле в профиле карточки, то есть это не сам ID пользователя.

islyaeFF:

Думаю, надо делать так:
content_{$ctype['name']}_before_list
content_{$ctype['name']}_before_item
Делаем вот такие 2 хука и в них прописываем условие показа типа

На счет этого попробую покрутить-прикрутить....
Редактировалось: 1 раз (Последний: 25 ноября 2019 в 10:30)
Посетитель
no avatar
Сообщений: 10
@Inna:

@Grey4ik:

Сложность состоит в том, что есть тип контента, в который могут добавлять материалы определенные группы пользователей, и видят только свои материалы.
Так вот хочу сделать так что бы некоторые пользователи видели друг друга материалы и могли добавлять в связях материалы (так сказать подгруппы пользователей)
Пытался решить вопрос с "Управлением приватностью" и "дружбой", но что то не увенчалось успехом!
Компонент группы, подгруппы пользователей — дополнительные роли. В группах тоже можно подобное.
(могу ошибаться)

Расскажите пожалуйста по подробней, а то чего то не получилось у меня с группами!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.