Перейти к содержанию

Rules PHP array


Envy

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

Привет! Что добавить сюда в код Rules, чтобы он возвратил значение array айди абсолютно всех пользователей, зареганых на момент времни, когда сработало правило?

 

0FEN8TL.png

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

А можно хотя бы в общих чертах озвучить ТЗ а то больно похоже на то что "из пушки по воробьям"

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

6 часов назад, MIXOH сказал:

А можно хотя бы в общих чертах озвучить ТЗ а то больно похоже на то что "из пушки по воробьям"

Хочу сделать, чтобы при создании сообщения в определенной теме, всем пользователям отправлялось уведомление об этом

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

5 минут назад, rustav сказал:

Envy, ты садист, знал об этом?

чего так?  :/

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

Envy, хотя бы сделать возможность, что бы пользователь сам мог решить, нужны ему такие уведомления или нет. Думаю можно реализовать через автоматическую подписку на тему

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

Аа, я думал по теме что-нибудь будет) ну это уже сам решу, спасибо)

Изменено пользователем Envy
Ссылка на комментарий
Поделиться на другие сайты

Envy, по теме написал, что вполне реально реализовать через автоматическую подписку на конкретную тему всех пользователь.  Или тебе надо всплывающее какое-то сообщение?

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

Только что, rustav сказал:

Envy, по теме написал, что вполне реально реализовать через автоматическую подписку на конкретную тему всех пользователь.  Или тебе надо всплывающее какое-то сообщение?

Аа сори туплю) можешь ткнуть носом где находится авто подписка на тему?

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

Ну если таки делать на Rules то код можно вставить например такой:
 

$groups = array( 3,4 );

return iterator_to_array(new \IPS\Patterns\ActiveRecordIterator(\IPS\Db::i()->select('*', 'core_members',\IPS\Db::i()->in('member_group_id', $groups ) ),'IPS\Member'));

Переменная $groups это массив ID использующихся у вас групп пользователей. Если вам нужно делать рассылку пользователям из нескольких групп, указываете свои (в данном примере по-умолчанию 3 - Member, 4 -Administrator), соответственно если рассылка только в пределах одной группы, можете вообще убрать этот массив и в параметре заменить переменную $groups на явное значение.

Конечно решение с использованием Rules более гибкое и настраиваемое, но если вам нужно просто регулярно делать некую простенькую информационную рассылку, то как верно заметил @rustav проще использовать просто автоподписку на тему.

 

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

6 часов назад, MIXOH сказал:

Ну если таки делать на Rules то код можно вставить например такой:
 


$groups = array( 3,4 );

return iterator_to_array(new \IPS\Patterns\ActiveRecordIterator(\IPS\Db::i()->select('*', 'core_members',\IPS\Db::i()->in('member_group_id', $groups ) ),'IPS\Member'));

Переменная $groups это массив ID использующихся у вас групп пользователей. Если вам нужно делать рассылку пользователям из нескольких групп, указываете свои (в данном примере по-умолчанию 3 - Member, 4 -Administrator), соответственно если рассылка только в пределах одной группы, можете вообще убрать этот массив и в параметре заменить переменную $groups на явное значение.

Конечно решение с использованием Rules более гибкое и настраиваемое, но если вам нужно просто регулярно делать некую простенькую информационную рассылку, то как верно заметил @rustav проще использовать просто автоподписку на тему.

 

подскажи пожалуйста еще, как сделать, чтоб в оповещении ссылка бралась из контента темы, т.е (это если что уже совсем другое правило, к первому отношения не имеет) я создал оповещение при создании темы в определенном разделе, при этом название темы - текст оповещения, как сделать чтоб пост темы (я сую туда ссылку) был этой самой ссылкой. я так понимаю можно только через php, пробовал делать return $content->content();  и без этих скобок, нифига не получается, оставляет ссылку на созданную тему

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

14 часов назад, Envy сказал:

подскажи пожалуйста еще, как сделать, чтоб в оповещении ссылка бралась из контента темы, т.е (это если что уже совсем другое правило, к первому отношения не имеет) я создал оповещение при создании темы в определенном разделе, при этом название темы - текст оповещения, как сделать чтоб пост темы (я сую туда ссылку) был этой самой ссылкой. я так понимаю можно только через php, пробовал делать return $content->content();  и без этих скобок, нифига не получается, оставляет ссылку на созданную тему

Апну тему

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

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

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

Гость
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...