Автоподписка вступивших в группу на контент этой группы. 500 руб. за решение.

#1 11 июня 2020 в 13:54
Ну собственно из заголовка всё понятно, нужно решение по автоподписке пользователей, на контент этой группы. 500 руб. за решение.
То есть, если в типе контента в "настройках", включена подписка, и в "связь с группами" стоит галочка "создание в группах", то в группах появляется контент привязанный к этой группе, на этот контент и нужно делать автоподписку при вступлении в эту группу.
#2 12 июня 2020 в 01:06
Хук group_before_join можно использовать.
  1. <?php
  2.  
  3. class onUsersGroupBeforeJoin extends cmsAction {
  4.  
  5. public function run($data){
  6.  
  7. $group = $data['group'];
  8.  
  9. $group_content = array_keys($data['group']['content_counts']);
  10.  
  11. $target = array();
  12.  
  13. $subscribe['user_id'] = $this->cms_user->id;
  14. $subscribe['confirm_token'] = string_random(32, $this->cms_user->email);
  15.  
  16. foreach ($group_content as $ctype){
  17. $target['controller'] = 'content';
  18. $target['subject'] = $ctype;
  19. $target['params'] = array('filters' => array(array('field' => 'parent_id', 'condition' => 'eq', 'value' => $group['id'] ), array('field' => 'parent_type', 'condition' => 'eq', 'value' => 'group')));
  20. $target['hash'] = md5(serialize($target));
  21. $target['subject_url'] = 'groups/'. $group['id'] .'/content/'. $ctype;
  22.  
  23. $ctype_name = $this->model_content->getContentTypeByName($ctype);
  24.  
  25. $target['title'] = $group['title']. ' - ' . $ctype_name['title'];
  26.  
  27. $this->model_subscriptions->subscribe($target, $subscribe);
  28.  
  29. $target = false;
  30. }
  31.  
  32. return $data;
  33.  
  34. }
  35.  
  36. }
#3 12 июня 2020 в 07:37
Как это использовать, что куда копировать?
#4 12 июня 2020 в 09:47

Как это использовать, что куда копировать?

Vladimir
Сделал отдельным компонентом:
/users/files/download7663.html
#5 12 июня 2020 в 10:14
Супер! Куда отблагодарить?
#6 12 июня 2020 в 10:15
Ris, а подписка оформляется на весь тип контента получается?
Условно тип контента новости связан с группами и при вступлении в любую группу человек подписывается на этот тип контента?
#7 12 июня 2020 в 10:20

Ris, а подписка оформляется на весь тип контента получается?

Александр
Подписка оформляется на весь контент группы, в которую вступает пользователь.
Как есть кнопки в типах контента группы, так они все оказываются с надписью "Отписаться".

Супер! Куда отблагодарить?

Vladimir
Напишу в личку.
#8 12 июня 2020 в 17:27

Супер! Куда отблагодарить?

Vladimir
Это я Ris подсказал. Вернее он незаконно прочитал мои мысли.

Напишу в личку.

Ris
Я вам тожен напишу! Со мной поделитесь?
#9 12 июня 2020 в 17:43

Я вам тожен напишу! Со мной поделитесь?

GoodMade
По данному заданию Ris вас уже опередил! Но, у меня время от времени появляются задания, можем посотрудничать!?
#10 13 июня 2020 в 14:37

можем посотрудничать!?

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