Current File : /home/pacjaorg/public_html/km/components/com_djclassifieds/models/saleshistory.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 DjclassifiedsModelSalesHistory extends DJClassifiedsModel
{
public static $_items_query = '';
function getOrders()
{
$app = JFactory::getApplication();
$user = JFactory::getUser();
$par = $app->getParams('com_djclassifieds');
$limit = $app->input->getInt('limit', $par->get('limit_djitem_show','7'));
$limitstart = $app->input->getInt('limitstart', 0);
$u_name = $par->get('authorname','name')=='name' ? 'u.name as username' : 'u.username';
$query = "SELECT o.*, i.name as i_name, i.alias as i_alias, i.cat_id, i.currency, i.region_id, c.id c_id, c.alias as c_alias, r.id r_id, r.name as r_name, r.alias as r_alias, ".$u_name.", u.email, p.group_id "
."FROM (SELECT id, user_id, item_id, item_name, price, quantity, date, 0 is_auction FROM #__djcf_orders WHERE status=1 "
.($par->get('show_auctions', '0') ? "UNION ALL SELECT id, user_id, item_id, '', price, 1, date, 1 FROM #__djcf_auctions WHERE win=1 " : "")
.") o "
."INNER JOIN #__djcf_items i ON o.item_id=i.id "
."LEFT JOIN #__users u ON o.user_id=u.id "
."LEFT JOIN #__djcf_profiles p ON o.user_id=p.user_id "
."LEFT JOIN #__djcf_categories c ON c.id=i.cat_id "
."LEFT JOIN #__djcf_regions r ON r.id=i.region_id "
."WHERE i.user_id=".$user->id." "
."ORDER BY o.date DESC";
$app->triggerEvent('onDJClassifiedsSaleshistoryQuery', array(&$query, &$limitstart, &$limit));
self::$_items_query = $query;
$orders = $this->_getList($query, $limitstart, $limit);
if($orders){
$items_img = DJClassifiedsImage::getAdsImages(implode(',', array_map(function($v){return $v->item_id;}, $orders)), true);
for($i=0;$i<count($orders);$i++){
$orders[$i]->i_user_pd = new stdClass(); // backward compatibility
$orders[$i]->i_user_pd->value = $this->getPurchaseDetails($orders[$i]->user_id); // backward compatibility
$orders[$i]->images = !empty($items_img[$orders[$i]->item_id]) ? $items_img[$orders[$i]->item_id] : array();
$orders[$i]->item_uri = DJClassifiedsSEO::getItemRoute($orders[$i]->item_id.':'.$orders[$i]->i_alias,$orders[$i]->cat_id.':'.$orders[$i]->c_alias,$orders[$i]->region_id.':'.$orders[$i]->r_alias);
$orders[$i]->profile_uri = DJClassifiedsSEO::getViewUri('profile', array('group_id' => $orders[$i]->group_id)).'&uid='.DJClassifiedsSEO::getUserSlug($orders[$i]->user_id, $orders[$i]->username);
}
}
return $orders;
}
function getCountOrders()
{
$db = JFactory::getDBO();
$query = "SELECT count(id) FROM (".self::$_items_query.") as q";
$db->setQuery($query);
$items_count = $db->loadResult();
return $items_count;
}
}