Заметка 112

7 дней, а новой части книги по WP-Recall нету?

О, да. 4-я часть книги опустошила меня - давно я столько текста не выдавал - ниразу.
Поэтому чтоб развеяться (всё равно знаю дедлайны просрал) я сел писать. Код.

Давно просили, да и я заикался, что в дополнении дней рождений: Birthday in Profile необходима функция автопоздравлений. А я заглянул в код и понял что простым рефакторингом не отделаюсь. И переписываю его на 90% точно.
Основная часть, что было, переписано, используя ООП.

Что сделано:
Умная генерация файла кеша с днями рождениями - теперь он не два раза в день обновляется (хотя и так) но и при внесении изменений в дату рождения пользователя. Ну а если дата не поменялась - ничего не трогает. Экспериментировал чтобы ловил по совпадению месяца - но идею откинул - т.к. есть свои тонкости, которые лишь усложнят логику генерации файла-кеша.
Добавил 2 хука - один срабатывает когда впервые поле дня рождения заполнили, второй когда изменили - полезно будет для наград и для моей системы логирования пользовательских действий Universe Activity
Написан отдельный класс, чтобы получать актуальный массив исключая прошедший день (когда часы с 23:59 на новый день перепрыгнули), и создав 2 ветки массива - сегодняшние дни рождения и предстоящие. Этот класс позволит в дальнейшем упростить реализацию некоторых фишек. О них ниже:

Ну а планы?

Автопоздравления: автоматическая отправка писем именинникам от имени ресурса. И возможно указать время отправки (примерный час отправки). И контроль неотправленных поздравлений - чтобы в 99% случаев отправка удалась.
Текст сообщений - простой или на основе страницы: Создаете страницу в админке - ее пичкаете картинками, фанфарами - все это отправится на почту имениннику. Поддержка шаблонов типа %username% - чтобы отправлять персонализированное письмо Ивановой Марфе и Петрову Джону.

Интеграция с системой контроля за пользователями и активностью на сайте - допом Universe Activity

Самое вкусное оставлю в секрете. Но будет крутая опция для мотивации и вообще удобства пользователей. Она мне нужна на этом сайте!

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

Вкусность: у каждого пользователя появится в опциях вариант видимости дня рождения: Показывать дату рождения (и возраст), Показывать только месяц и день и Не показывать дату рождения. Но в последнем случае он все равно от администрации получит поздравление. В общем настройки приватности дня рождения для каждого пользователя.

Если вдохновение позволит заведу новую карточку именинника - повеселее.

Если у пользователя сегодня ДР - в его кабинете в самом верху будет праздничное украшение - чтоб все видели у кого сегодня праздник.

- такие вот наполеоновские планы на доп. Торопиться с ним не буду - возьмусь вскоре за написание очередной главы книги. И буду чередовать виды деятельности - чтоб не закисать ))

Обновление этого допа конечно не стоит ждать в этом месяце - работы полно. Но приоритет на него самый наивысший - на уровне книги.

Тут тружусь:

Кусок рабочего места
Все заметки автора

3 комментария

Оставьте комментарий

Авторизация
*
*
Регистрация
*
*
*
Настоящим подтверждаю, что я ознакомлен и согласен с условиями политики конфиденциальности
Генерация пароля
Написать
*
*