From c5102ea4939811614cd461f63ef436f1144e4f8a Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Fri, 16 Sep 2016 11:05:19 +0200 Subject: [PATCH] [com_banners] - publishing time does not honor timezone (#11978) * [com_banners ] - publishing time does not honor timezone * impress only when needed impress only when needed * CS fix cs fix --- components/com_banners/models/banners.php | 5 +++-- modules/mod_banners/helper.php | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/components/com_banners/models/banners.php b/components/com_banners/models/banners.php index 3d3502d94f8cb..aea8d854e4066 100644 --- a/components/com_banners/models/banners.php +++ b/components/com_banners/models/banners.php @@ -64,6 +64,7 @@ protected function getListQuery() $keywords = $this->getState('filter.keywords'); $randomise = ($ordering == 'random'); $nullDate = $db->quote($db->getNullDate()); + $nowDate = $db->quote(JFactory::getDate()->toSql()); $query->select( 'a.id as id,' @@ -80,8 +81,8 @@ protected function getListQuery() ->from('#__banners as a') ->join('LEFT', '#__banner_clients AS cl ON cl.id = a.cid') ->where('a.state=1') - ->where('(' . $query->currentTimestamp() . ' >= a.publish_up OR a.publish_up = ' . $nullDate . ')') - ->where('(' . $query->currentTimestamp() . ' <= a.publish_down OR a.publish_down = ' . $nullDate . ')') + ->where('(a.publish_up = ' . $nullDate . ' OR a.publish_up <= ' . $nowDate . ')') + ->where('(a.publish_down = ' . $nullDate . ' OR a.publish_down >= ' . $nowDate . ')') ->where('(a.imptotal = 0 OR a.impmade <= a.imptotal)'); if ($cid) diff --git a/modules/mod_banners/helper.php b/modules/mod_banners/helper.php index 4bb10a381f9f9..4f7dde06e8ad0 100644 --- a/modules/mod_banners/helper.php +++ b/modules/mod_banners/helper.php @@ -42,7 +42,11 @@ public static function &getList(&$params) $model->setState('filter.language', $app->getLanguageFilter()); $banners = $model->getItems(); - $model->impress(); + + if ($banners) + { + $model->impress(); + } return $banners; }