Current File : /home/pacjaorg/public_html/km/administrator/components/com_djclassifieds/models/offers.php
<?php
/**
 * @package DJ-Classifieds
 * @copyright Copyright (C) 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
 */

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

class DjClassifiedsModelOffers extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields'])) {
			$config['filter_fields'] = array(
				'o.id', 'i.name',				
				'id', 'u.name','u.email',				
				'i.ui_name', 'i.ui_email',
				'o.price','o.date',
				'status'
			);
		}

		parent::__construct($config);
	}
	
	protected function populateState($ordering = null, $direction = null)
	{
		// Initialise variables.
		// List state information.
		parent::populateState('o.id', 'desc');
		$app = JFactory::getApplication();

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

		$status = $this->getUserStateFromRequest($this->context.'.filter.status', 'filter_status', '');
		$this->setState('filter.status', $status);
				
	}

	protected function getStoreId($id = '')
	{
		// Compile the store id.
		$id	.= ':'.$this->getState('filter.search');
		$id	.= ':'.$this->getState('filter.status');
		
		return parent::getStoreId($id);
	}
	
	public function _buildWhere()
	{		
		$app = JFactory::getApplication();
		$where= '';
		
		$status = $this->getState('filter.status');

		if (is_numeric($status)) {
			if($status>-1 && $status<3){
				$where .= " AND o.status = '".$status."' AND o.paid = 0 ";	
			}else if($status == 3){
				$where .= " AND o.paid = 1 AND o.confirmed = 0 ";
			}else if($status == 4){
				$where .= " AND o.confirmed = 1 AND o.request = 0 ";
			}else if($status == 5){
				$where .= " AND o.request = 1 ";
			}else if($status == 6){
				$where .= " AND o.admin_paid = 1 ";
			}
			
		}

		$search = $this->getState('filter.search');		
		if (!empty($search)) {
			$db = JFactory::getDBO();
			$search_id = $db->Quote($db->escape($search, true));
			$search = $db->Quote('%'.$db->escape($search, true).'%');
			$where .= " AND (i.name LIKE ".$search." OR u.name LIKE ".$search." OR u.email LIKE ".$search." OR i.ui_name LIKE ".$search." OR i.ui_email LIKE ".$search." OR o.id=".$search_id." OR o.item_id=".$search_id.")";
		}
		
		return $where;
	}
	
	public function getListQuery()
	{
		$orderCol	= $this->state->get('list.ordering');
		$orderDirn	= $this->state->get('list.direction');		

		$query = "SELECT o.*, i.name as i_name, u.name as u_name, u.email as u_email, i.ui_name, i.ui_email, ui_id FROM #__djcf_offers o "
			."LEFT JOIN (SELECT i.*, u.name as ui_name, u.email as ui_email, u.id as ui_id FROM #__djcf_items i, #__users u 
						WHERE u.id=i.user_id ) i ON i.id=o.item_id "
			."LEFT JOIN #__users u ON u.id=o.user_id "
			." WHERE 1 ".$this->_buildWhere()." ORDER BY ".$orderCol." ".$orderDirn;
			
		return $query;
	}

}
?>
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!