Current File : /home/pacjaorg/public_html/km/components/com_djclassifieds/models/userofferssub.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 DjclassifiedsModelUserOffersSub extends DJClassifiedsModel
{
function getOffers()
{
$app = JFactory::getApplication();
$db = JFactory::getDBO();
$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);
$query = "SELECT o.*, i.name as i_name, i.alias as i_alias, i.cat_id, i.c_name, i.c_alias, i.region_id, i.r_name, i.r_alias, i.user_id as i_user_id, i.username, i.u_email as email, i.group_id, i.currency "
."FROM #__djcf_offers o "
."LEFT JOIN (SELECT i.*, c.id c_id, c.name c_name, c.alias as c_alias, u.".$par->get('authorname','name')." as username, u.email as u_email, p.group_id, r.id r_id, r.name as r_name, r.alias as r_alias "
."FROM #__djcf_categories c "
."INNER JOIN #__djcf_items i ON c.id=i.cat_id "
."LEFT JOIN #__users u ON u.id=i.user_id "
."LEFT JOIN #__djcf_profiles p ON i.user_id=p.user_id "
."LEFT JOIN #__djcf_regions r ON r.id=i.region_id) i ON i.id=o.item_id "
."WHERE o.user_id=".$user->id." "
."ORDER BY o.date DESC";
$offers = $this->_getList($query, $limitstart, $limit);
if($offers){
$uid_arr = array();
$id_arr = array();
foreach($offers as $offer){
$id_arr[] = $offer->id;
if($offer->user_id){
$uid_arr[] = $offer->user_id;
}
}
$items_img = DJClassifiedsImage::getAdsImages(implode(',', $id_arr), true);
$user_items_c = array();
if($uid_arr){
$date_now = JFactory::getDate()->toSQL();
$query = "SELECT user_id, COUNT(i.id) as user_items_c "
."FROM #__djcf_items i "
."WHERE i.published=1 AND i.date_exp>".$db->q($date_now)." AND i.user_id IN (".implode(',', $uid_arr).") "
."GROUP BY user_id";
$db->setQuery($query);
$user_items_c = $db->loadObjectList('user_id');
}
for($i=0;$i<count($offers);$i++){
$offers[$i]->i_user_items_count = '';
if(isset($user_items_c[$offers[$i]->i_user_id])){
$offers[$i]->i_user_items_count= $user_items_c[$offers[$i]->i_user_id]->user_items_c;
}
$offers[$i]->images = !empty($items_img[$offers[$i]->id]) ? $items_img[$offers[$i]->id] : array();
$offers[$i]->item_uri = DJClassifiedsSEO::getItemRoute($offers[$i]->item_id.':'.$offers[$i]->i_alias,$offers[$i]->cat_id.':'.$offers[$i]->c_alias,$offers[$i]->region_id.':'.$offers[$i]->r_alias);
$offers[$i]->profile_uri = DJClassifiedsSEO::getViewUri('profile', array('group_id' => $offers[$i]->group_id)).'&uid='.DJClassifiedsSEO::getUserSlug($offers[$i]->i_user_id, $offers[$i]->username);
}
}
return $offers;
}
function getCountOffers()
{
$db = JFactory::getDBO();
$user = JFactory::getUser();
$query = "SELECT count(id) FROM #__djcf_offers WHERE user_id=".$user->id;
$db->setQuery($query);
$offers_count = $db->loadResult();
return $offers_count;
}
}