<?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;
    }
}
