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

InstantCMS 2.X

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

#1 10 ноября 2019 в 22:31
Сложность состоит в том, что есть тип контента, в который могут добавлять материалы определенные группы пользователей, и видят только свои материалы.
Так вот хочу сделать так что бы некоторые пользователи видели друг друга материалы и могли добавлять в связях материалы (так сказать подгруппы пользователей)
Пытался решить вопрос с "Управлением приватностью" и "дружбой", но что то не увенчалось успехом!
#2 24 ноября 2019 в 23:57
Обновляю тему и по подробней опишу что пришло в голову, но все же нужна помощь в реализации!

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

Возможно ли такое?
#3 25 ноября 2019 в 00:32
Думаю, надо делать так:
content_{$ctype['name']}_before_list
content_{$ctype['name']}_before_item
Делаем вот такие 2 хука и в них прописываем условие показа типа
  1. if($user->id1245678 == $item['id1245678']) ...
а именно в первом:

  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.  
Во втором

  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.  
Как-то так…
#4 25 ноября 2019 в 05:09

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

@Grey4ik
Зачем?
Пользователь с ID = 123 добавил новость и у этой новости будет поле user_id = 123
Разве это не одно и тоже?

То что Вы хотите, решается с помощью приватности, лучше напишите что не получилось?
#5 25 ноября 2019 в 10:29


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

@Grey4ik
Зачем?
Пользователь с ID = 123 добавил новость и у этой новости будет поле user_id = 123
Разве это не одно и тоже?

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

Evanescence

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


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

islyaeFF

На счет этого попробую покрутить-прикрутить…
#6 26 ноября 2019 в 10:54



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

@Grey4ik
Компонент группы, подгруппы пользователей — дополнительные роли. В группах тоже можно подобное.
(могу ошибаться)

@Inna

Расскажите пожалуйста по подробней, а то чего то не получилось у меня с группами!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.