Файловый менеджер - Редактировать - /var/www/html/components/com_jdonation/helper/data.php
Ðазад
<?php use Joomla\CMS\Factory; use Joomla\Application\Web\WebClient; use Joomla\CMS\Language\Text; use Joomla\CMS\HTML\HTMLHelper; /** * @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 */ abstract class DonationHelperData { public static function csvExport($rows, $config, $rowFields, $fieldValues) { if (count($rows)) { $UserBrowser = Factory::getApplication()->client->browser; $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream'; $filename = "donor_list"; header('Content-Encoding: UTF-8'); header('Content-Type: ' . $mime_type . ' ;charset=UTF-8'); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); if ($UserBrowser == WebClient::IE) { header('Content-Disposition: attachment; filename="' . $filename . '.csv"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); } else { header('Content-Disposition: attachment; filename="' . $filename . '.csv"'); header('Pragma: no-cache'); } $fp = fopen('php://output', 'w'); fwrite($fp, "\xEF\xBB\xBF"); $delimiter = isset($config->csv_delimiter) ? $config->csv_delimiter : ','; $fields = array(); if ($config->use_campaign) { $fields[] = Text::_('Campaign'); } if (count($rowFields)) { foreach ($rowFields as $rowField) { $fields[] = Text::_($rowField->title); } } $fields[] = Text::_('Donation type'); $fields[] = Text::_('Frequency'); $fields[] = Text::_('Payments/Times'); $fields[] = Text::_('Donation Amount'); $fields[] = Text::_('Donation Date'); $fields[] = Text::_('Payment method'); $fields[] = Text::_('Status'); $fields[] = Text::_('Transaction ID'); if($config->activate_tributes && $config->add_honoree_in_csv) { $fields[] = Text::_('Dedicate'); } fputcsv($fp, $fields, $delimiter); foreach ($rows as $r) { $fields = array(); if ($config->use_campaign) { $fields[] = $r->title; } foreach ($rowFields as $rowField) { if ($rowField->is_core) { $fields[] = @$r->{$rowField->name}; } else { $fieldValue = @$fieldValues[$r->id][$rowField->id]; if (is_string($fieldValue) && is_array(json_decode($fieldValue))) { $fieldValue = implode(', ', json_decode($fieldValue)); } $fields[] = $fieldValue; } } if ($r->donation_type == 'R') { $fields[] = 'Recurring'; } else { $fields[] = 'One time'; } switch ($r->r_frequency) { case 'd': $fields[] = 'Daily'; break; case 'w': $fields[] = 'Weekly'; break; case 'm': $fields[] = 'Monthly'; break; case 'q': $fields[] = 'Quaterly'; break; case 's': $fields[] = 'Semi-Annually'; break; case 'a': $fields[] = 'Annually'; break; default: $fields[] = ''; break; } if ($r->donation_type == 'R') { if (!$r->r_times) { $numberDonations = 'Un-limit'; } else { $numberDonations = $r->r_times; } $fields[] = $r->payment_made . '/' . $numberDonations; } else { $fields[] = ''; } $fields[] = number_format($r->amount, 2); //modified on 14th Feb to remove parameter NULL in JHTML Date $fields[] = HTMLHelper::_('date', $r->created_date, $config->date_format); $method = os_payments::getPaymentMethod($r->payment_method); if ($method) { $fields[] = $method->getTitle(); } else { $fields[] = ''; } if($r->published == 1){ $fields[] = Text::_('JD_PAID'); }else{ $fields[] = Text::_('JD_UNPAID'); } $fields[] = $r->transaction_id; if($config->activate_tributes && $config->add_honoree_in_csv) { if($r->show_dedicate == 1) { $fields[] = DonationHelper::getDedicateType($r->dedicate_type)." - ".$r->dedicate_name; } else { $fields[] = ''; } } fputcsv($fp, $fields, $delimiter); } fclose($fp); Factory::getApplication()->close(); } } public static function csvExportRevenue($data, $config) { if (count($data)) { $UserBrowser = Factory::getApplication()->client->browser; $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream'; $filename = "revenue"; header('Content-Encoding: UTF-8'); header('Content-Type: ' . $mime_type . ' ;charset=UTF-8'); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); if ($UserBrowser == WebClient::IE) { header('Content-Disposition: attachment; filename="' . $filename . '.csv"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); } else { header('Content-Disposition: attachment; filename="' . $filename . '.csv"'); header('Pragma: no-cache'); } $fp = fopen('php://output', 'w'); fwrite($fp, "\xEF\xBB\xBF"); $delimiter = isset($config->csv_delimiter) ? $config->csv_delimiter : ','; $fields = array(); $fields[] = Text::_('Month'); $fields[] = Text::_('Number of donations'); $fields[] = Text::_('Total donated').''.$config->currency_symbol; fputcsv($fp, $fields, $delimiter); foreach ($data as $r) { $fields = array(); $fields[] = $r->month; $fields[] = $r->total; $fields[] = $r->total_donated; fputcsv($fp, $fields, $delimiter); } fclose($fp); Factory::getApplication()->close(); } } public static function pdfExport($rows, $config, $rowFields, $fieldValues) { require_once JPATH_ROOT . "/components/com_jdonation/tcpdf/tcpdf.php"; //require_once JPATH_ROOT . "/components/com_jdonation/tcpdf/config/lang/eng.php"; $config = DonationHelper::getConfig(); $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor(Factory::getConfig()->get('sitename')); $pdf->SetTitle('Donors List'); $pdf->SetSubject('Donors List'); $pdf->SetKeywords('Donors List'); $pdf->setHeaderFont([PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN]); $pdf->setFooterFont([PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA]); $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); $pdf->SetMargins(PDF_MARGIN_LEFT, 0, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); $font = empty($config->pdf_font) ? 'times' : $config->pdf_font; // True type font if (substr($font, -4) == '.ttf') { $font = TCPDF_FONTS::addTTFfont(JPATH_ROOT . '/components/com_jdonation/tcpdf/fonts/' . $font, 'TrueTypeUnicode', '', 96); } $pdf->SetFont($font, '', 8); $pdf->AddPage('P','A4'); $pdfOutput = DonationHelperHtml::loadCommonLayout('common/donors_list.php', ['rows' => $rows, 'rowFields' => $rowFields, 'fieldValues' => $fieldValues, 'config' => $config]); $pdf->writeHTML($pdfOutput, true, false, false, false, ''); //Filename $filePath = JPATH_ROOT . '/media/com_jdonation/donors.pdf'; $pdf->Output($filePath, 'F'); return $filePath; } public static function pdfExportRevenue($campaigns, $config) { require_once JPATH_ROOT . "/components/com_jdonation/tcpdf/tcpdf.php"; //require_once JPATH_ROOT . "/components/com_jdonation/tcpdf/config/lang/eng.php"; $config = DonationHelper::getConfig(); $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor(Factory::getConfig()->get('sitename')); $pdf->SetTitle('Donors List'); $pdf->SetSubject('Donors List'); $pdf->SetKeywords('Donors List'); $pdf->setHeaderFont([PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN]); $pdf->setFooterFont([PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA]); $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); $pdf->SetMargins(PDF_MARGIN_LEFT, 0, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); $font = empty($config->pdf_font) ? 'times' : $config->pdf_font; // True type font if (substr($font, -4) == '.ttf') { $font = TCPDF_FONTS::addTTFfont(JPATH_ROOT . '/components/com_jdonation/tcpdf/fonts/' . $font, 'TrueTypeUnicode', '', 96); } $pdf->SetFont($font, '', 8); $pdf->AddPage('P','A4'); $pdfOutput = DonationHelperHtml::loadCommonLayout('common/pdf_revenue.php', ['campaigns' => $campaigns, 'config' => $config]); $pdf->writeHTML($pdfOutput, true, false, false, false, ''); //Filename $filePath = JPATH_ROOT . '/media/com_jdonation/donation-report-'.date('Y-m-d').'.pdf'; $pdf->Output($filePath, 'F'); return $filePath; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка