Kod PHP:
<?php
/**
* @version CVS: 1.5.2
* @package Com_Ksiazki
* @author Ciubas <biuro@mappo.pl>
* @copyright 2017 Ciubas
* @license GNU General Public License v2 lub późniejsza; zobacz LICENSE.txt
*/
defined('_JEXEC') or die;
jimport('joomla.application.component.modellist');
/**
* Methods supporting a list of Ksiazki records.
*
* @since 1.6
*/
class KsiazkiModelKsiazki extends JModelList
{
/**
* Constructor.
*
* @param array $config An optional associative array of configuration settings.
*
* @see JController
* @since 1.6
*/
public function __construct($config = array())
{
if (empty($config['filter_fields']))
{
$config['filter_fields'] = array(
'id', 'a.id',
'ordering', 'a.ordering',
'state', 'a.state',
'created_by', 'a.created_by',
'modified_by', 'a.modified_by',
'tytul', 'a.tytul',
'autor', 'a.autor',
'okladka', 'a.okladka',
'isbn', 'a.isbn',
'format', 'a.format',
'cena', 'a.cena',
'sprzedaz', 'a.sprzedaz',
'data_premiery', 'a.data_premiery',
'opis_krotki', 'a.opis_krotki',
'opis_dlugi', 'a.opis_dlugi',
'recenzje', 'a.recenzje',
'patronaty', 'a.patronaty',
'link_papier_g', 'a.link_papier_g',
'link_papier', 'a.link_papier',
'link_ebook_g', 'a.link_ebook_g',
'link_ebook', 'a.link_ebook',
'link_audio_g', 'a.link_audio_g',
'link_audio', 'a.link_audio',
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering Elements order
* @param string $direction Order direction
*
* @return void
*
* @throws Exception
*
* @since 1.6
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$list = $app->getUserState($this->context . '.list');
$ordering = isset($list['filter_order']) ? $list['filter_order'] : null;
$direction = isset($list['filter_order_Dir']) ? $list['filter_order_Dir'] : null;
$list['limit'] = (int) JFactory::getConfig()->get('list_limit', 20);
$list['start'] = $app->input->getInt('start', 0);
$list['ordering'] = $ordering;
$list['direction'] = $direction;
$app->setUserState($this->context . '.list', $list);
$app->input->set('list', null);
// List state information.
parent::populateState($ordering, $direction);
// parent::populateState('data_premiery', 'ASC'); //sortowanie po dacie premiery!
$app = JFactory::getApplication();
$ordering = $app->getUserStateFromRequest($this->context . '.ordercol', 'filter_order', $ordering);
$direction = $app->getUserStateFromRequest($this->context . '.orderdirn', 'filter_order_Dir', $ordering);
$this->setState('list.ordering', $ordering);
$this->setState('list.direction', $direction);
$start = $app->getUserStateFromRequest($this->context . '.limitstart', 'limitstart', 0, 'int');
$limit = $app->getUserStateFromRequest($this->context . '.limit', 'limit', 0, 'int');
if ($limit == 0)
{
$limit = $app->get('list_limit', 0);
}
$this->setState('list.limit', $limit);
$this->setState('list.start', $start);
}