Блок «Дни рождения» для плагина LsBlocks

Для версии 0.4.2
Скачать архив с файлами блока (+сам модуль lsblocks+блок с топом юзеров по карме, по публикациям, по комментариям)

Блок сделан на основе модулядля 0.3
Но в отличие от него работает на новой версии ЛС + при выводе событий учитывает разрыв в виде Нового года (т.е. сегодня будет показывать дни рождения января 2011 и будет показывать их как события позднее декабря 2010).
Т.е. теперь корректно отображается список за определенный период до и после текущей даты, даже если он затрагивает смену года.


Непосредственно к Дням рождения относятся файлы BlockBirthdays.class.php, block.Birthdays.tpl + в config.php есть настраиваемые параметры

Понадобятся активированные плагины
-lsblocks
-aceblockmanager

Подключаем с помощью aceblockmanager (в конфиг этого модуля)
$config['blocks'][]=array(
        'block'=>'TopUsers', // название блока
        'position'=>'right', // позиционирование блока
		'priority'=>20,
        'params'=>array(
        'plugin'=>'lsblocks', //
         ),
        'include'=>'index', // на каких страницах показывать
);
$config['blocks'][]=array(
        'block'=>'Birthdays', // название блока
        'position'=>'right', // позиционирование блока
		'priority'=>50,
        'params'=>array(
        'plugin'=>'lsblocks', //
         ),
        'include'=>'people', // на каких страницах показывать
);


В закладке Люди должен появиться блок. Блок не будет показан, если в заданном в конфиге периоде нет дней рождения (сейчас это 7 дней до и 14 дней после текущей даты)

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

И еще, не могу запостить в раздел livestreet.ru/blog/addons/
так что размещаю пока в дневнике.

8 комментариев

avatar
Спасибо!

Можно ли обойтись без установки плагинов:
— lsblocks
— aceblockmanager
а использовать только файлы связанные с блоком дней рождений?

Взял BlockBirthdays.class.php, block.Birthdays.tpl (положил в соответсвующие места) и в config.php livestreet прописал Birthdays для страницы people, но не прокатило :)
avatar
можете вообще обойтись без конфига
для этого найдите все вхождения Config::Get('plugin.lsblocks.birthdays.хххххх в BlockBirthdays.class.php и замените их на конкретные значения
avatar
Убрал в BlockBirthdays.class.php везде что было связано с plugins. Выставил значения из конфига. Завелось. Но мне кажется я неправильно перенес значения даты и времени, т.к. выглядят они вот так:
28 декабря 1975, 00:00
Времени ведь быть не должно, верно?
Строчка с датой выглядит вот так:
$this->Viewer_Assign("BIRTHDAYS_DATE_FORMAT",Config::Get('birthdays.j F'));
avatar
$this->Viewer_Assign(«BIRTHDAYS_DATE_FORMAT»,'j F');
avatar
Протупил, все ок
$this->Viewer_Assign("BIRTHDAYS_DATE_FORMAT",'j F');

Спасибо еще раз, с наступающим :))
avatar
:) взаимно
avatar
На всякий случай сообщю, что при установке блока дней рождений, потребление памяти на странице с людьми очень возрастает.

С блоком:
* Memory: * middle: 4.44 * max: 48.88

Без блока:
* Memory: * middle: 3.07 * max: 3.29

Это из за каких то адских запросов? Или же можно не обращать внимания на max значение?
avatar
увы, у меня не тот уровень, чтобы решить этот вопрос :(
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.