Доброе время суток, Уважаемые!
Описываю проблему с которой столкнулся. И свято верю избавится с Вашей помощью.

Есть как минимум 2 компонента, которые группируют созданные материалы по датам (
mod_k2_tools и
mod_articlebydates). Удивляет, что компоненты написаны обособленно друг от друга, но болячка одна и та же. А именно: при создании материалов (статей, новостей)
с 00-00 часов до 03-00 часов 22 мая (для Москвы) эти материалы добавятся к группе материалов созданных
21 мая (то есть днём ранее). Соответственно я догоняю, что это происходит из-за того, что происходит группировка по датам в базе данных, которые указаны по Гринвичу. Соответственно, надо как-то прибавлять к извлекаемой дате (в моём случае это "
publish_up") из базы 3 часа... Все возможные способы, которые подсказывал
Google не помогают.
p.s. Ноль в php и mysql, но методом тыка чаще всего достигаю поставленной задачи.
p.p.s Поиск по сайту результатов не дал.
Код хелпера mod_articlebydates
<?php
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
class ModArticleByDates {
public function getArticles($args){
$db = &JFactory::getDBO();
$nullDate = $db->getNullDate();
$date =& JFactory::getDate();
$now = $date->toMySQL();
$category_id = $args['category_id'];
$no_of_items_select = $args['no_of_items_select'];
$no_of_chars = $args['no_of_chars'];
$order_by = $args['order_by'];
$query = "select cn.id, ca.alias as catalias, cn.alias as conalias, ";
$query .= "if (length(cn.title)>".$no_of_chars;
$query .= ",concat(substring(cn.title,1,".$no_of_chars."),'...'), ";
$query .= "cn.title) as title, ";
$query .= "publish_up ";
$query .= "from #__content as cn , ";
$query .= "#__categories as ca ";
$query .= "where cn.catid in (".$category_id.")";
$query .= " and state = 1 and ca.id=cn.catid ";
$query .= ' and ( publish_up = '.$db->Quote($nullDate).' or publish_up <= '.$db->Quote($now).' )';
$query .= ' and ( publish_down = '.$db->Quote($nullDate).' or publish_down >= '.$db->Quote($now).' )';
$query .= " order by publish_up ".$order_by;
$query .= " limit ".$no_of_items_select;
$db->setQuery($query, $limitstart, $count);
$rows = $db->loadObjectList();
$items = ($items = $db->loadObjectList())?$items:array();
}