| Current Path : /var/www/html/components/com_jdonation/model/ |
| Current File : /var/www/html/components/com_jdonation/model/usercampaigns.php |
<?php
use Joomla\CMS\Factory;
/**
* @version 5.7.0
* @package Joomla
* @subpackage Joom Donation
* @author Tuan Pham Ngoc
* @copyright Copyright (C) 2009 - 2023 Ossolution Team
* @license GNU/GPL, see LICENSE.php
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
class DonationModelUsercampaigns extends OSFModelList
{
function __construct($config = array())
{
$config['table'] = '#__jd_campaigns';
parent::__construct($config);
}
protected function buildQueryColumns($query)
{
$query->select('tbl.*, DATEDIFF(end_date, CURDATE()) AS days_left, SUM(b.amount) as total_donated, COUNT(b.id) As number_donors');
if (!Factory::getApplication()->isClient('administrator'))
{
$fieldSuffix = DonationHelper::getFieldSuffix();
if ($fieldSuffix)
{
DonationHelper::getMultilingualFields($query, array('tbl.title', 'tbl.description'), $fieldSuffix);
}
}
return $this;
}
protected function buildQueryJoins($query)
{
$query->leftJoin('#__jd_donors AS b ON (tbl.id = b.campaign_id AND b.published = 1)');
return $this;
}
protected function buildQueryWhere($query)
{
$query->where('tbl.user_id = '. (int) Factory::getUser()->get('id'));
parent::buildQueryWhere($query);
return $this;
}
protected function buildQueryGroup($query)
{
$query->group('tbl.id');
return $this;
}
}