Как разделить все элементы информационной системы на 2 группы по дате?

#
Как разделить все элементы информационной системы на 2 группы по дате?
Всем привет. Встала задача: разделить все элементы информационной системы на 2 группы по дате публикации, а именно до настоящего времени и после. Дата публикации выставляется вручную при добавлении элемента инфосистемы.
Сначала думал реализовать всю логику в XSLT, но во время реализации понял что пересчёт datetime в unixtime слишком сложный алгоритм для XSL (особенно с учётом високосных лет), да и вынесение относительно сложной логики во вьюху - не есть хорошо.
Поэтому хочу реализовать перевод datetime (который сейчас выводится в informationsystem_item) в unixtime на php (например через strtotime()) и выводить это значение в XML для каждого элемента инфосистемы, а также вывести текущее time() в узле informationsystem а в XSLT уже сравнивая эти значения группировать элементы. Но проблема в том, что я не пойму откуда берётся и где именно передаётся datetime для элемента (который в узле informationsystem_item). Подскажите, кто знает.

PS: текущий time() я передал в XML в типовой динамической странице вот так:
$Informationsystem_Controller_Show->addEntity(Core::factory('Core_Xml_Entity')->name('current_timestamp')->value(time()))
#
Re: Как разделить все элементы информационной системы на 2 группы по дате?
tmdes писал(а):
пересчёт datetime в unixtime слишком сложный алгоритм для XSL

А зачем вам тут unixtime?
Для xsl есть дешевый и эффективный хак с преобразованием даты в сравнимые числа по принципу ГГГГММДД или ГГГГММДДЧЧММСС, т.е., например, 29 октября 2013 года будет заведомо больше чем 1 сентября того же года: 20131029 > 20130901
Числа получаются тупо с помощью substring

А если хочется вынести целиком в контроллер, то нужно повесить хук на событие informationsystem_item.onBeforeRedeclaredGetXml и в вызываемом обсервере написать что-то типа
$object->addEntity(Core::factory('Core_Xml_Entity')->name('unix_datetime')->value(Core_Date::sql2timestamp($object->datetime));
Заказов не беру. Консультирую редко.
#
Re: Как разделить все элементы информационной системы на 2 группы по дате?
Точно, я как то раньше о таком алгоритме и не подумал. Решение как всегда на поверхности и очень простое. Спасибо.
Авторизация