| Current Path : /var/www/html/administrator/components/com_jdonation/model/ |
| Current File : /var/www/html/administrator/components/com_jdonation/model/campaign.php |
<?php
use Joomla\CMS\Filesystem\Folder;
use Joomla\CMS\Filesystem\File;
/**
* @version 5.6.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 DonationModelCampaign extends OSFModelAdmin
{
function store($input, $ignore = array()){
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
$row = $this->getTable();
$id = $input->getInt('id', 0);
$delete = $input->getInt('remove_photo',0);
$payment_methods = $input->get('payment_methods',array(), 'ARRAY');
if($id > 0)
{
$row->load((int)$id);
}
if(is_uploaded_file($_FILES['photo']['tmp_name']))
{
$filename = $_FILES['photo']['name'];
$filename = time() . str_replace(" ", "_", $filename);
if (!Folder::exists(JPATH_ROOT . '/images/jdonation'))
{
Folder::create(JPATH_ROOT . '/images/jdonation');
}
File::upload($_FILES['photo']['tmp_name'], JPATH_ROOT . '/images/jdonation/' . $filename);
$row->campaign_photo = $filename;
$input->set('campaign_photo',$filename);
}
elseif($delete == 1)
{
$filename = "";
$input->set('campaign_photo',$filename);
if(($row->campaign_photo != "") && (File::exists(JPATH_ROOT.'/images/jdonation/'.$row->campaign_photo)))
{
Jfile::delete(JPATH_ROOT.'/images/jdonation/'.$row->campaign_photo);
}
}
$remove_owner = $input->getInt('remove_owner',0);
if($remove_owner == 1)
{
$input->set('user_id',0);
}
if(count($payment_methods) > 0)
{
$payment_methods = implode(",", $payment_methods);
$input->set('payment_plugins', $payment_methods);
}
$recurring_frequencies = $input->get('recurring_frequencies', array(),'array');
if(count($recurring_frequencies))
{
$recurring_frequencies = implode(",", $recurring_frequencies);
$input->set('recurring_frequencies', $recurring_frequencies);
}
else
{
$input->set('recurring_frequencies', '');
}
parent::store($input,$ignore);
}
/**
* Load campaign data from database
*
* @see OSFModelAdmin::loadData()
*/
protected function loadData()
{
parent::loadData();
$db = $this->getDbo();
$query = $db->getQuery(true);
$query->select('SUM(amount)')
->from('#__jd_donors')
->where('campaign_id=' . $this->state->id)
->where('published = 1');
$db->setQuery($query);
$this->data->donated_amount = floatval($db->loadResult());
}
}