%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_djimageslider/models/
Upload File :
Create Path :
Current File : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_djimageslider/models/items.php

<?php

/**

 * @version $Id: items.php 5 2013-01-11 10:22:28Z szymon $

 * @package DJ-ImageSlider

 * @subpackage DJ-ImageSlider Component

 * @copyright Copyright (C) 2012 DJ-Extensions.com, All rights reserved.

 * @license http://www.gnu.org/licenses GNU/GPL

 * @author url: http://dj-extensions.com

 * @author email contact@dj-extensions.com

 * @developer Szymon Woronowski - szymon.woronowski@design-joomla.eu

 *

 *

 * DJ-ImageSlider is free software: you can redistribute it and/or modify

 * it under the terms of the GNU General Public License as published by

 * the Free Software Foundation, either version 3 of the License, or

 * (at your option) any later version.

 *

 * DJ-ImageSlider is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

 * GNU General Public License for more details.

 *

 * You should have received a copy of the GNU General Public License

 * along with DJ-ImageSlider. If not, see <http://www.gnu.org/licenses/>.

 *

 */



// Check to ensure this file is included in Joomla!

defined('_JEXEC') or die( 'Restricted access' );



jimport('joomla.application.component.modellist');



class DJImageSliderModelItems extends JModelList

{

	public function __construct($config = array())

	{

		if (empty($config['filter_fields'])) {

			$config['filter_fields'] = array(

				'id', 'a.id',

				'title', 'a.title',

				'alias', 'a.alias',

				'catid', 'a.catid', 'category_title',

				'ordering', 'a.ordering',

				'checked_out', 'a.checked_out',

				'checked_out_time', 'a.checked_out_time',

				'published', 'a.published',

				'access', 'a.access', 'access_level',

				'created', 'a.created',

				'created_by', 'a.created_by',

				'language', 'a.language'

			);

		}



		parent::__construct($config);

	}

	

	protected function populateState($ordering = null, $direction = null)

	{

		// Initialise variables.

		$app = JFactory::getApplication();



		$search = $this->getUserStateFromRequest($this->context.'.filter.search', 'filter_search');

		$this->setState('filter.search', $search);



		$published = $this->getUserStateFromRequest($this->context.'.filter.published', 'filter_published', '');

		$this->setState('filter.published', $published);



		$category = $this->getUserStateFromRequest($this->context.'.filter.category', 'filter_category', '');

		$this->setState('filter.category', $category);

		

		// List state information.

		parent::populateState('a.ordering', 'asc');

	}



	protected function getStoreId($id = '')

	{

		// Compile the store id.

		$id	.= ':'.$this->getState('filter.search');

		$id	.= ':'.$this->getState('filter.published');

		$id	.= ':'.$this->getState('filter.category');

		

		return parent::getStoreId($id);

	}

	

	protected function getListQuery()

	{

		// Create a new query object.

		$db = $this->getDbo();

		$query = $db->getQuery(true);



		// Select the required fields from the table.

		$query->select(

			$this->getState(

				'list.select',

				'a.*'

			)

		);

		$query->from('#__djimageslider AS a');

		

		// Join over the categories.

		$query->select('c.title AS category_title');

		$query->join('LEFT', '#__categories AS c ON c.id = a.catid');

		

		// Join over the users for the checked out user.

		$query->select('uc.name AS editor');

		$query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out');

		

		// Filter by published state

		$published = $this->getState('filter.published');

		if (is_numeric($published)) {

			$query->where('a.published = ' . (int) $published);

		}

		else if ($published === '') {

			$query->where('(a.published = 0 OR a.published = 1)');

		}

		

		// Filter by category state

		$category = $this->getState('filter.category');

		if (is_numeric($category)) {

			$query->where('a.catid = ' . (int) $category);

		}

		

		// Filter by search in title.

		$search = $this->getState('filter.search');

		if (!empty($search)) {

			if (stripos($search, 'id:') === 0) {

				$query->where('a.id = '.(int) substr($search, 3));

			}

			else {

				$search = $db->Quote('%'.$db->escape($search, true).'%');

				$query->where('(a.title LIKE '.$search.' OR a.alias LIKE '.$search.')');

			}

		}

		

		// Add the list ordering clause.

		$orderCol	= $this->state->get('list.ordering');

		$orderDirn	= $this->state->get('list.direction');

		if ($orderCol == 'a.ordering' || $orderCol == 'category_title') {

			$orderCol = 'category_title '.$orderDirn.', a.ordering';

		}

		$query->order($db->escape($orderCol.' '.$orderDirn));

		

		return $query;

	}

	

}


Zerion Mini Shell 1.0