Доступные темы оформления:

Автор Тема: Как отправить личные сообщения (рассылка) напрямую в базу?  (Прочитано 4039 раз)

maestrosite.ru

  • Администратор
  • *****
  • Сообщений: 54
    • Сказать спасибо
При невозможности разослать личные сообщения пользователям стандартными средствами форума, можно отправить ЛС прямыми запросами в БД.

Пример отправки сообщений пользователям, входящим в административную группу.
1. Текст сообщения един для всех получателей, поэтому подстановка персональных переменных для каждого пользователя, например, обращение по имени, невозможно.
2. Теги HTML и BB-коды будут применяться в нормальном режиме.
INSERT `smf_personal_messages` SET msgtime = UNIX_TIMESTAMP(NOW()),
    from_name = '***Forum admin***',
    subject = '***b, i, u***',
    body = '***message body***

html: <b>bold</b> <i>italic</i> <u>underline</u>

bbc: [b]bold[/b] [i]italic[/i] [u]underline[/u]';

SELECT LAST_INSERT_ID() INTO @id_pm;
UPDATE `smf_personal_messages` SET id_pm_head = id_pm WHERE id_pm = @id_pm;
INSERT `smf_pm_recipients` (`id_pm`, `id_member`, `bcc`, `is_new`)
    SELECT @id_pm, `id_member`, 1, 1 FROM smf_members
    WHERE is_activated=1
-- здесь необходимое условие выбора получателей:
AND id_group = 1;
UPDATE `smf_members`, `smf_pm_recipients`
SET `is_new` = 1, `unread_messages` = `unread_messages`+1
WHERE `smf_pm_recipients`.`id_member` = `smf_members`.`id_member` AND `id_pm` = @id_pm;

Выбранные получатели увидят следующее сообщение:
Цитировать
***message body***

html: bold italic underline

bbc: bold italic underline
Всегда можно сказать "спасибо"!

 

Пример блока

Как без установки портала вывести на главной странице колонку справа? Например, для вывода рекламы