From 3e7b61a4ce29626ced2748140517d9dd1568496c Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sat, 12 Nov 2016 20:22:30 +0100
Subject: [PATCH] V0.8: Add summary line to the EU Sales report

---
 .../en-GB/en-GB.plg_vmextended_eurecap.ini    |  5 +++-
 .../en-GB.plg_vmextended_eurecap.sys.ini      |  5 +++-
 views/eurecap/tmpl/default.php                | 28 +++++++++++++++++--
 3 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/language/en-GB/en-GB.plg_vmextended_eurecap.ini b/language/en-GB/en-GB.plg_vmextended_eurecap.ini
index fe7eac0..8cd9dc6 100644
--- a/language/en-GB/en-GB.plg_vmextended_eurecap.ini
+++ b/language/en-GB/en-GB.plg_vmextended_eurecap.ini
@@ -71,4 +71,7 @@ VMEXT_EU_RECAP_ORDERS="Orders"
 VMEXT_EU_RECAP_ORDERTOTALS="Total revenue"
 VMEXT_EU_RECAP_ORDERTAXES="Taxes"
 
-VMEXT_EU_RECAP_CANCELLED="EU Sales Report settings cancelled."
\ No newline at end of file
+VMEXT_EU_RECAP_CANCELLED="EU Sales Report settings cancelled."
+
+VMEXT_EU_RECAP_SUMMARY="Total"
+VMEXT_EU_RECAP_ORDERCOUNT="%d Order(s)"
\ No newline at end of file
diff --git a/language/en-GB/en-GB.plg_vmextended_eurecap.sys.ini b/language/en-GB/en-GB.plg_vmextended_eurecap.sys.ini
index fe7eac0..8cd9dc6 100644
--- a/language/en-GB/en-GB.plg_vmextended_eurecap.sys.ini
+++ b/language/en-GB/en-GB.plg_vmextended_eurecap.sys.ini
@@ -71,4 +71,7 @@ VMEXT_EU_RECAP_ORDERS="Orders"
 VMEXT_EU_RECAP_ORDERTOTALS="Total revenue"
 VMEXT_EU_RECAP_ORDERTAXES="Taxes"
 
-VMEXT_EU_RECAP_CANCELLED="EU Sales Report settings cancelled."
\ No newline at end of file
+VMEXT_EU_RECAP_CANCELLED="EU Sales Report settings cancelled."
+
+VMEXT_EU_RECAP_SUMMARY="Total"
+VMEXT_EU_RECAP_ORDERCOUNT="%d Order(s)"
\ No newline at end of file
diff --git a/views/eurecap/tmpl/default.php b/views/eurecap/tmpl/default.php
index a9072b2..de6c8e0 100644
--- a/views/eurecap/tmpl/default.php
+++ b/views/eurecap/tmpl/default.php
@@ -22,6 +22,9 @@ if (!class_exists('CurrencyDisplay'))
     require(VMPATH_ADMIN . DS . 'helpers' . DS . 'currencydisplay.php');
 $myCurrencyDisplay = CurrencyDisplay::getInstance();
 
+$totalOrders = 0;
+$totalRevenue = 0;
+$totalTax = 0;
 
 ?>
 
@@ -134,6 +137,7 @@ $myCurrencyDisplay = CurrencyDisplay::getInstance();
                         $orders = array_combine($oids, $onrs);
                         $links = array();
                         foreach ($orders as $oid=>$onr) {
+							$totalOrders += 1;
                             $orderlink = JROUTE::_ ('index.php?option=com_virtuemart&view=orders&task=edit&virtuemart_order_id=' . $oid, FALSE);
                             $links[] = JHtml::_ ('link', JRoute::_ ($orderlink, FALSE), $onr, array('title' => $onr));
                         }
@@ -141,11 +145,15 @@ $myCurrencyDisplay = CurrencyDisplay::getInstance();
                     ?>
                     </td>
                     <td align="right">
-		                <?php echo $myCurrencyDisplay->priceDisplay($r['sum_order_total']); ?>
+		                <?php 
+							$totalRevenue += $r['sum_order_total'];
+							echo $myCurrencyDisplay->priceDisplay($r['sum_order_total']); ?>
                     </td>
 <?php if ($this->include_taxed_orders) { ?>
                     <td align="right">
-		                <?php echo $myCurrencyDisplay->priceDisplay($r['sum_order_tax']); ?>
+		                <?php 
+							$totalTax += $r['sum_order_tax'];
+							echo $myCurrencyDisplay->priceDisplay($r['sum_order_tax']); ?>
                     </td>
 <?php } ?>
                 </tr>
@@ -155,6 +163,22 @@ $myCurrencyDisplay = CurrencyDisplay::getInstance();
 	    ?>
             </tbody>
             <tfoot>
+                <tr style="border-top: 2px solid;">
+                    <th align="center"></th>
+                    <th align="center" ></th>
+                    <th align="left"><?php echo vmText::_('VMEXT_EU_RECAP_SUMMARY'); ?></th>
+                    <th align="left"></th>
+                    <th align="left"><?php echo vmText::sprintf('VMEXT_EU_RECAP_ORDERCOUNT', $totalOrders); ?></th>
+                    <th align="right">
+		                <?php echo $myCurrencyDisplay->priceDisplay($totalRevenue); ?>
+                    </th>
+<?php if ($this->include_taxed_orders) { ?>
+                    <th align="right">
+		                <?php echo $myCurrencyDisplay->priceDisplay($totalTax); ?>
+                    </th>
+<?php } ?>
+                </tr>
+             
                 <tr>
                     <td colspan="10">
                         <?php if ($this->pagination) echo $this->pagination->getListFooter(); ?>
-- 
GitLab