Current File : /home/pacjaorg/public_html/km/components/com_djclassifieds/models/userpayments.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 DjclassifiedsModelUserpayments extends DJClassifiedsModel
{
private static $_items_query = '';
function getItems()
{
$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);
$order = $app->input->get('order', 'p.date');
$ord_t = $app->input->get('ord_t', 'desc');
$ord = "p.date ";
if($order == "type"){
$ord = "p.type ";
}elseif($order == "method"){
$ord = "p.method ";
}elseif($order=="price"){
$ord = "p.price ";
}elseif($order=="status"){
$ord = "p.status ";
}
$ord .= $ord_t == 'desc' ? 'DESC' : 'ASC';
$query = "SELECT p.*, (CASE p.type WHEN '1' THEN pp.name WHEN '3' THEN plan.name WHEN '4' THEN i_order_name ELSE i.name END) name, i.name as i_name, pp.name as pp_name, plan.name as plan_name, u.name as u_name, o.u_order_id, o.u_order_name, o.u_order_email, i_order_name, i_order_id "
."FROM #__djcf_payments p "
."LEFT JOIN #__djcf_items i ON i.id=p.item_id "
."LEFT JOIN #__djcf_points pp ON pp.id=p.item_id "
."LEFT JOIN #__djcf_plans plan ON plan.id=p.item_id "
."LEFT JOIN (SELECT o.item_id, o.id, i.user_id as u_order_id,i.name as i_order_name,o.item_id as i_order_id, u.name as u_order_name, u.email as u_order_email
FROM #__djcf_orders o, #__djcf_items i, #__users u WHERE o.item_id= i.id AND i.user_id=u.id ) o ON o.id=p.item_id "
."LEFT JOIN #__users u ON u.id=p.user_id "
."WHERE p.user_id=".$user->id." "
.($par->get('userpayments_method', 'all') == 'except_points' ? "AND p.method != 'points' " : "")
.($par->get('userpayments_status', 'all') == 'completed' ? "AND p.status = 'Completed' " : "")
."ORDER BY ".$ord;
$app->triggerEvent('onDJClassifiedsUserpaymentsQuery', array(&$query, &$limitstart, &$limit));
self::$_items_query = $query;
$items = $this->_getList($query, $limitstart, $limit);
return $items;
}
function getCountItems()
{
$db = JFactory::getDBO();
$query = "SELECT count(id) FROM (".self::$_items_query.") as q";
$db->setQuery($query);
$items_count = $db->loadResult();
return $items_count;
}
}