Возникло желание сделать рассылку, для поздравления всех пользователей сайта...
Была взята последняя 5.x-1.x-dev версия, подспутно найдены 2 небольших бага в админке
<?php
/**
* Callback function to activate the specified subscriptions.
*
* @param $snid array of snid's
*/
function simplenews_activate_subscription($snid) {
- db_query('UPDATE {simplenews_subscriptions} SET a_status = 1 WHERE snid IN(%s)', implode(',', (int) $snid));
+ db_query('UPDATE {simplenews_subscriptions} SET a_status = 1 WHERE snid IN(%s)', implode(',', $snid));
}
/**
* Callback function to inactivate the specified subscriptions.
*
* @param $snid array of snid's
*/
function simplenews_inactivate_subscription($snid) {
- db_query('UPDATE {simplenews_subscriptions} SET a_status = 0 WHERE snid IN(%s)', implode(',', (int) $snid));
+ db_query('UPDATE {simplenews_subscriptions} SET a_status = 0 WHERE snid IN(%s)', implode(',', $snid));
}
?>Для быстрой подписки всех пользователей:
1 - Сделаем всех пользователей активными подписчиками и даже тех, кто отписался на текущий момент
INSERT INTO {simplenews_subscriptions} (a_status, s_status, mail, uid)
SELECT 1, 0, u.mail, u.uid
FROM {users} u
WHERE u.status=1
AND NOT EXISTS (SELECT 1 FROM {simplenews_subscriptions} ss WHERE ss.uid = u.uid)
2 - На странице рассылок (admin/content/newsletters/types) найдем нужную нам подписку, точнее её ID (при наведении на правку подписки) и прикрепим всех пользователей к данной подписке (в данном случае это 2 - номер рассылки)
INSERT INTO {simplenews_snid_tid} (snid, tid)
SELECT ss.snid, 2
FROM {simplenews_subscriptions} ss
WHERE NOT EXISTS (SELECT 1 FROM {simplenews_snid_tid} sst WHERE sst.tid = 2 AND sst.snid = ss.snid)
Теперь можно делать новое письмо и рассылать его!
PS: к таблицам нужно добавить свои префиксы!!!