<?php /** * @package Joomla.Site * @subpackage mod_banners * * @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Environment\Browser; /** * Helper for mod_banners * * @since 1.5 */ class ModBannersHelper { /** * Retrieve list of banners * * @param \Joomla\Registry\Registry &$params module parameters * * @return mixed */ public static function &getList(&$params) { JModelLegacy::addIncludePath(JPATH_ROOT . '/components/com_banners/models', 'BannersModel'); $document = JFactory::getDocument(); $app = JFactory::getApplication(); $keywords = explode(',', $document->getMetaData('keywords')); $config = ComponentHelper::getParams('com_banners'); $model = JModelLegacy::getInstance('Banners', 'BannersModel', array('ignore_request' => true)); $model->setState('filter.client_id', (int) $params->get('cid')); $model->setState('filter.category_id', $params->get('catid', array())); $model->setState('list.limit', (int) $params->get('count', 1)); $model->setState('list.start', 0); $model->setState('filter.ordering', $params->get('ordering')); $model->setState('filter.tag_search', $params->get('tag_search')); $model->setState('filter.keywords', $keywords); $model->setState('filter.language', $app->getLanguageFilter()); $banners = $model->getItems(); if ($banners) { if ($config->get('track_robots_impressions', 1) == 1 || !Browser::getInstance()->isRobot()) { $model->impress(); } } return $banners; } }