#107
7 дней, а новой части книги по WP-Recall нету?
О, да. 4-я часть книги опустошила меня - давно я столько текста не выдавал - ниразу.
Поэтому чтоб развеяться (всё равно знаю дедлайны просрал) я сел писать. Код.
Давно просили, да и я заикался, что в дополнении дней рождений: Birthday in Profile необходима функция автопоздравлений. А я заглянул в код и понял что простым рефакторингом не отделаюсь. И переписываю его на 90% точно.
Основная часть, что было, переписано, используя ООП.
Что сделано:
Умная генерация файла кеша с днями рождениями - теперь он не два раза в день обновляется (хотя и так) но и при внесении изменений в дату рождения пользователя. Ну а если дата не поменялась - ничего не трогает. Экспериментировал чтобы ловил по совпадению месяца - но идею откинул - т.к. есть свои тонкости, которые лишь усложнят логику генерации файла-кеша.
Добавил 2 хука - один срабатывает когда впервые поле дня рождения заполнили, второй когда изменили - полезно будет для наград и для моей системы логирования пользовательских действий Universe Activity
Написан отдельный класс, чтобы получать актуальный массив исключая прошедший день (когда часы с 23:59 на новый день перепрыгнули), и создав 2 ветки массива - сегодняшние дни рождения и предстоящие. Этот класс позволит в дальнейшем упростить реализацию некоторых фишек. О них ниже:
Ну а планы?
Автопоздравления: автоматическая отправка писем именинникам от имени ресурса. И возможно указать время отправки (примерный час отправки). И контроль неотправленных поздравлений - чтобы в 99% случаев отправка удалась.
Текст сообщений - простой или на основе страницы: Создаете страницу в админке - ее пичкаете картинками, фанфарами - все это отправится на почту имениннику. Поддержка шаблонов типа %username% - чтобы отправлять персонализированное письмо Ивановой Марфе и Петрову Джону.
Интеграция с системой контроля за пользователями и активностью на сайте - допом Universe Activity
Самое вкусное оставлю в секрете. Но будет крутая опция для мотивации и вообще удобства пользователей. Она мне нужна на этом сайте!
Давно напрашивается виджет: обозначать именинников, которые подписаны в группах - возможно появится - тем более новый класс позволяет выборку сделать максимально просто.
Вкусность: у каждого пользователя появится в опциях вариант видимости дня рождения: Показывать дату рождения (и возраст), Показывать только месяц и день и Не показывать дату рождения. Но в последнем случае он все равно от администрации получит поздравление. В общем настройки приватности дня рождения для каждого пользователя.
Если вдохновение позволит заведу новую карточку именинника - повеселее.
Если у пользователя сегодня ДР - в его кабинете в самом верху будет праздничное украшение - чтоб все видели у кого сегодня праздник.
- такие вот наполеоновские планы на доп. Торопиться с ним не буду - возьмусь вскоре за написание очередной главы книги. И буду чередовать виды деятельности - чтоб не закисать ))
Обновление этого допа конечно не стоит ждать в этом месяце - работы полно. Но приоритет на него самый наивысший - на уровне книги.
Тут тружусь:
что за джип на рабочем месте?)
Купил игрушку - в детстве не было таких. Гоняет - аж на стену забирается - скоростная хреновина. Всё жду лета - на стадионе ей порулить. Дома у меня на неё реакции хватает только когда аккум садится ))
понял, типа хобби, смотришь на машинку и думаешь о лете, согревает)