Version Notes
Currency fix
Gift Card Data form sales_flat_quote moved to mt_giftcard_quote
Gift Card Data form sales_flat_order moved to mt_giftcard_order
Download this release
Release Info
Developer | Edvinas Stulpinas |
Extension | MT_Giftcard |
Version | 1.1.2 |
Comparing to | |
See all releases |
Code changes from version 1.1.1 to 1.1.2
- app/code/community/MT/Giftcard/Block/Adminhtml/Sales/Creditmemo/Create/Total/Giftcard.php +38 -74
- app/code/community/MT/Giftcard/Block/Adminhtml/Sales/Invoice/Total/Giftcard.php +32 -0
- app/code/community/MT/Giftcard/Block/Adminhtml/Sales/Total/Giftcard.php +40 -29
- app/code/community/MT/Giftcard/Block/Checkout/Cart/Giftcard.php +44 -56
- app/code/community/MT/Giftcard/Block/Payment/Giftcard/Form.php +9 -0
- app/code/community/MT/Giftcard/Block/Payment/Giftcard/Form/Giftcard.php +4 -1
- app/code/community/MT/Giftcard/Block/Sales/Order/Creditmemo/Totals/Giftcard.php +42 -0
- app/code/community/MT/Giftcard/Block/Sales/Order/Email/Items/Invoice/Giftcard.php +36 -36
- app/code/community/MT/Giftcard/Block/Sales/Order/Email/Items/Order/Giftcard.php +36 -36
- app/code/community/MT/Giftcard/Block/Sales/Order/Info/Buttons.php +25 -25
- app/code/community/MT/Giftcard/Block/Sales/Order/Item/Renderer/Giftcard.php +34 -34
- app/code/community/MT/Giftcard/Block/Sales/Order/Totals/Giftcard.php +28 -28
- app/code/community/MT/Giftcard/Helper/Data.php +111 -160
- app/code/community/MT/Giftcard/Model/Core/Email/Template.php +80 -57
- app/code/community/MT/Giftcard/Model/Core/Email/Template/Init.php +4 -1
- app/code/community/MT/Giftcard/Model/Giftcard.php +202 -129
- app/code/community/MT/Giftcard/Model/Giftcard/Action.php +155 -152
- app/code/community/MT/Giftcard/Model/Observer.php +189 -198
- app/code/community/MT/Giftcard/Model/Order.php +87 -0
- app/code/community/MT/Giftcard/Model/Quote.php +195 -0
- app/code/community/MT/Giftcard/Model/Resource/Giftcard/Collection.php +0 -1
- app/code/community/MT/Giftcard/Model/Resource/Order.php +8 -0
- app/code/community/MT/Giftcard/Model/Resource/Order/Collection.php +9 -0
- app/code/community/MT/Giftcard/Model/Resource/Quote.php +8 -0
- app/code/community/MT/Giftcard/Model/Resource/Quote/Collection.php +9 -0
- app/code/community/MT/Giftcard/Model/Resource/Series.php +0 -1
- app/code/community/MT/Giftcard/Model/Resource/Series/Collection.php +0 -2
- app/code/community/MT/Giftcard/Model/Sales/Order/Creditmemo/Total/Giftcard.php +14 -19
- app/code/community/MT/Giftcard/Model/Sales/Quote/Total/Giftcard.php +44 -53
- app/code/community/MT/Giftcard/Model/Series.php +5 -0
- app/code/community/MT/Giftcard/controllers/Checkout/CartController.php +225 -312
- app/code/community/MT/Giftcard/etc/adminhtml.xml +20 -1
- app/code/community/MT/Giftcard/etc/config.xml +352 -353
- app/code/community/MT/Giftcard/sql/giftcard_setup/mysql4-upgrade-1.1.1-1.1.2.php +40 -0
- app/design/adminhtml/default/default/layout/mt/giftcard.xml +157 -188
- app/design/adminhtml/default/default/template/mt/giftcard/sales/creditmemo/create/total/giftcard.phtml +28 -14
- app/design/frontend/base/default/layout/mt/giftcard.xml +173 -116
- app/design/frontend/base/default/template/mt/giftcard/checkout/cart/giftcard.phtml +74 -68
- app/design/frontend/base/default/template/mt/giftcard/payment/giftcard/form.phtml +8 -1
- app/design/frontend/base/default/template/mt/giftcard/payment/giftcard/form/giftcard.phtml +13 -2
- package.xml +8 -5
- skin/frontend/base/default/css/mt/giftcard/giftcard.css +3 -1
- skin/frontend/base/default/js/mt/giftcard/giftcardcheckout.js +116 -111
app/code/community/MT/Giftcard/Block/Adminhtml/Sales/Creditmemo/Create/Total/Giftcard.php
CHANGED
@@ -1,75 +1,39 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Adminhtml_Sales_Creditmemo_Create_Total_Giftcard
|
4 |
-
extends Mage_Core_Block_Template
|
5 |
-
{
|
6 |
-
|
7 |
-
|
8 |
-
public function initTotals()
|
9 |
-
{
|
10 |
-
$
|
11 |
-
$giftCards
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
'
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
$parent->addTotal($total);
|
21 |
-
return $this;
|
22 |
-
}
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
$
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
foreach ($giftCards as $key => $giftCard) {
|
40 |
-
if (!isset($giftCard['code'])) {
|
41 |
-
unset($giftCard[$key]);
|
42 |
-
continue;
|
43 |
-
}
|
44 |
-
|
45 |
-
$model = Mage::getModel('giftcard/giftcard')->loadByCode($giftCard['code']);
|
46 |
-
if (!is_numeric($model->getId())) {
|
47 |
-
unset($giftCards[$key]);
|
48 |
-
continue;
|
49 |
-
}
|
50 |
-
|
51 |
-
|
52 |
-
$giftCards[$key]['source'] = $model;
|
53 |
-
$giftCards[$key]['total'] = 0;
|
54 |
-
|
55 |
-
if (isset($giftCard['discount']))
|
56 |
-
$giftCards[$key]['total'] = $giftCard['discount']*-1;
|
57 |
-
|
58 |
-
if (isset($giftCard['refunded']))
|
59 |
-
$giftCards[$key]['total']-=$giftCard['refunded'];
|
60 |
-
|
61 |
-
if ($giftCards[$key]['total'] < 0)
|
62 |
-
$giftCards[$key]['total'] = 0;
|
63 |
-
|
64 |
-
$giftCards[$key]['total'] = Mage::getModel('directory/currency')->format(
|
65 |
-
$giftCards[$key]['total'],
|
66 |
-
array('display'=>Zend_Currency::NO_SYMBOL),
|
67 |
-
false
|
68 |
-
);
|
69 |
-
}
|
70 |
-
$this->_giftCardArray = $giftCards;
|
71 |
-
}
|
72 |
-
|
73 |
-
return $this->_giftCardArray;
|
74 |
-
}
|
75 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Adminhtml_Sales_Creditmemo_Create_Total_Giftcard
|
4 |
+
extends Mage_Core_Block_Template
|
5 |
+
{
|
6 |
+
private $__giftCardOrderCollection = null;
|
7 |
+
|
8 |
+
public function initTotals()
|
9 |
+
{
|
10 |
+
$giftCards = $this->getGiftCardOrderCollection();
|
11 |
+
if ($giftCards->count() == 0)
|
12 |
+
return $this;
|
13 |
+
|
14 |
+
$total = new Varien_Object(array(
|
15 |
+
'code' => 'mt_gift_card_total',
|
16 |
+
'block_name' => 'gift_card_total'
|
17 |
+
));
|
18 |
+
|
19 |
+
$parent = $this->getParentBlock();
|
20 |
+
$parent->addTotal($total);
|
21 |
+
return $this;
|
22 |
+
}
|
23 |
+
|
24 |
+
public function getOrder()
|
25 |
+
{
|
26 |
+
$parent = $this->getParentBlock();
|
27 |
+
return $parent->getOrder();
|
28 |
+
}
|
29 |
+
|
30 |
+
public function getGiftCardOrderCollection()
|
31 |
+
{
|
32 |
+
if ($this->__giftCardOrderCollection == null) {
|
33 |
+
$order = $this->getOrder();
|
34 |
+
$collection = Mage::getModel('giftcard/order')->getCollectionByOrderId($order->getId());
|
35 |
+
$this->__giftCardOrderCollection = $collection;
|
36 |
+
}
|
37 |
+
return $this->__giftCardOrderCollection;
|
38 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
app/code/community/MT/Giftcard/Block/Adminhtml/Sales/Invoice/Total/Giftcard.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Adminhtml_Sales_Invoice_Total_Giftcard
|
4 |
+
extends Mage_Core_Block_Abstract
|
5 |
+
{
|
6 |
+
public function initTotals()
|
7 |
+
{
|
8 |
+
$parent = $this->getParentBlock();
|
9 |
+
$order = $parent->getOrder();
|
10 |
+
$value = $order->getMtGiftCardTotal();
|
11 |
+
if ($value < 0) {
|
12 |
+
$collection = Mage::getModel('giftcard/order')->getCollectionByOrderId($order->getId());
|
13 |
+
foreach ($collection as $item) {
|
14 |
+
if ($item->getDiscount() == 0) {
|
15 |
+
continue;
|
16 |
+
}
|
17 |
+
|
18 |
+
$totalDiscounted = new Varien_Object(array(
|
19 |
+
'code' => 'mt_gift_card_total_discount_'.$item->getId(),
|
20 |
+
'value' => -$item->getDiscount(),
|
21 |
+
'base_value' => -$item->getBaseDiscount(),
|
22 |
+
'label' => $this->__('Discounted from Gift Card (%s)',$item->getGiftCardCode()),
|
23 |
+
'field' => 'mt_gift_card_total_discount_'.$item->getId()
|
24 |
+
));
|
25 |
+
|
26 |
+
$parent = $this->getParentBlock();
|
27 |
+
$parent->addTotal($totalDiscounted, 'mt_gift_card_total_discount_'.$item->getId());
|
28 |
+
}
|
29 |
+
}
|
30 |
+
return $this;
|
31 |
+
}
|
32 |
+
}
|
app/code/community/MT/Giftcard/Block/Adminhtml/Sales/Total/Giftcard.php
CHANGED
@@ -1,30 +1,41 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Adminhtml_Sales_Total_Giftcard
|
4 |
-
extends Mage_Core_Block_Abstract
|
5 |
-
{
|
6 |
-
public function initTotals()
|
7 |
-
{
|
8 |
-
$parent = $this->getParentBlock();
|
9 |
-
$order = $parent->getOrder();
|
10 |
-
$value = $order->getMtGiftCardTotal();
|
11 |
-
if ($value < 0) {
|
12 |
-
$
|
13 |
-
foreach ($
|
14 |
-
if (
|
15 |
-
continue;
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
'
|
20 |
-
'
|
21 |
-
'
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Adminhtml_Sales_Total_Giftcard
|
4 |
+
extends Mage_Core_Block_Abstract
|
5 |
+
{
|
6 |
+
public function initTotals()
|
7 |
+
{
|
8 |
+
$parent = $this->getParentBlock();
|
9 |
+
$order = $parent->getOrder();
|
10 |
+
$value = $order->getMtGiftCardTotal();
|
11 |
+
if ($value < 0) {
|
12 |
+
$collection = Mage::getModel('giftcard/order')->getCollectionByOrderId($order->getId());
|
13 |
+
foreach ($collection as $item) {
|
14 |
+
if ($item->getDiscount() == 0) {
|
15 |
+
continue;
|
16 |
+
}
|
17 |
+
|
18 |
+
$totalDiscounted = new Varien_Object(array(
|
19 |
+
'code' => 'mt_gift_card_total_discount_'.$item->getId(),
|
20 |
+
'value' => -$item->getDiscount(),
|
21 |
+
'base_value' => -$item->getBaseDiscount(),
|
22 |
+
'label' => $this->__('Discounted from Gift Card (%s)',$item->getGiftCardCode()),
|
23 |
+
'field' => 'mt_gift_card_total_discount_'.$item->getId()
|
24 |
+
));
|
25 |
+
|
26 |
+
$totalRefunded = new Varien_Object(array(
|
27 |
+
'code' => 'mt_gift_card_total_refund_'.$item->getId(),
|
28 |
+
'value' => $item->getRefund(),
|
29 |
+
'base_value' => $item->getBaseRefund(),
|
30 |
+
'label' => $this->__('Refunded to Gift Card (%s)',$item->getGiftCardCode()),
|
31 |
+
'field' => 'mt_gift_card_total_refund_'.$item->getId()
|
32 |
+
));
|
33 |
+
|
34 |
+
$parent = $this->getParentBlock();
|
35 |
+
$parent->addTotal($totalDiscounted, 'mt_gift_card_total_discount_'.$item->getId());
|
36 |
+
$parent->addTotal($totalRefunded, 'mt_gift_card_total_refund_'.$item->getId());
|
37 |
+
}
|
38 |
+
}
|
39 |
+
return $this;
|
40 |
+
}
|
41 |
}
|
app/code/community/MT/Giftcard/Block/Checkout/Cart/Giftcard.php
CHANGED
@@ -1,57 +1,45 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Checkout_Cart_Giftcard
|
4 |
-
extends Mage_Checkout_Block_Cart_Abstract
|
5 |
-
{
|
6 |
-
private $__appliedGiftCardCollection = null;
|
7 |
-
|
8 |
-
public function getAppliedGiftCards()
|
9 |
-
{
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
$cart = Mage::getModel('checkout/cart')->getQuote();
|
46 |
-
$items = $cart->getAllItems();
|
47 |
-
if (count($items) == 0)
|
48 |
-
return false;
|
49 |
-
|
50 |
-
foreach ($items as $item) {
|
51 |
-
if ($item->getProduct()->getTypeId() == MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT)
|
52 |
-
return false;
|
53 |
-
}
|
54 |
-
|
55 |
-
return true;
|
56 |
-
}
|
57 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Checkout_Cart_Giftcard
|
4 |
+
extends Mage_Checkout_Block_Cart_Abstract
|
5 |
+
{
|
6 |
+
private $__appliedGiftCardCollection = null;
|
7 |
+
|
8 |
+
public function getAppliedGiftCards()
|
9 |
+
{
|
10 |
+
$quoteId = Mage::getSingleton('checkout/cart')->getQuote()->getId();
|
11 |
+
return Mage::getSingleton('giftcard/quote')->getGiftCardCollection($quoteId);
|
12 |
+
}
|
13 |
+
|
14 |
+
public function getAmount()
|
15 |
+
{
|
16 |
+
$amount = 0;
|
17 |
+
if (count($this->getAppliedGiftCards())) {
|
18 |
+
foreach ($this->getAppliedGiftCards() as $giftCard){
|
19 |
+
$amount+=$giftCard->getBalance();
|
20 |
+
}
|
21 |
+
}
|
22 |
+
return $amount;
|
23 |
+
}
|
24 |
+
|
25 |
+
public function getCartTotalWithoutGiftCard()
|
26 |
+
{
|
27 |
+
$total = Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal();
|
28 |
+
|
29 |
+
return $total;
|
30 |
+
}
|
31 |
+
|
32 |
+
public function isActive()
|
33 |
+
{
|
34 |
+
$helper = Mage::helper('giftcard');
|
35 |
+
if (!$helper->isActive() || !Mage::getStoreConfig('giftcard/cart/form_in_cart'))
|
36 |
+
return false;
|
37 |
+
|
38 |
+
return Mage::helper('giftcard')->hasGiftCardProductInCart() == false;
|
39 |
+
}
|
40 |
+
|
41 |
+
public function getStatusCheckUrl()
|
42 |
+
{
|
43 |
+
return Mage::getUrl('giftcard/giftcard/status');
|
44 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
app/code/community/MT/Giftcard/Block/Payment/Giftcard/Form.php
CHANGED
@@ -13,4 +13,13 @@ class MT_Giftcard_Block_Payment_Giftcard_Form
|
|
13 |
{
|
14 |
return Mage::getUrl('giftcard/checkout_cart');
|
15 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
}
|
13 |
{
|
14 |
return Mage::getUrl('giftcard/checkout_cart');
|
15 |
}
|
16 |
+
|
17 |
+
public function isActive()
|
18 |
+
{
|
19 |
+
$helper = Mage::helper('giftcard');
|
20 |
+
if (!$helper->isActive())
|
21 |
+
return false;
|
22 |
+
|
23 |
+
return Mage::helper('giftcard')->hasGiftCardProductInCart() == false;
|
24 |
+
}
|
25 |
}
|
app/code/community/MT/Giftcard/Block/Payment/Giftcard/Form/Giftcard.php
CHANGED
@@ -21,9 +21,12 @@ class MT_Giftcard_Block_Payment_Giftcard_Form_Giftcard
|
|
21 |
|
22 |
public function getAppliedGiftCardCollection()
|
23 |
{
|
24 |
-
|
|
|
25 |
}
|
26 |
|
|
|
|
|
27 |
public function getAction()
|
28 |
{
|
29 |
return Mage::getUrl('giftcard/checkout_cart/giftCardAjax');
|
21 |
|
22 |
public function getAppliedGiftCardCollection()
|
23 |
{
|
24 |
+
$quoteId = Mage::getSingleton('checkout/cart')->getQuote()->getId();
|
25 |
+
return Mage::getSingleton('giftcard/quote')->getGiftCardCollection($quoteId);
|
26 |
}
|
27 |
|
28 |
+
|
29 |
+
|
30 |
public function getAction()
|
31 |
{
|
32 |
return Mage::getUrl('giftcard/checkout_cart/giftCardAjax');
|
app/code/community/MT/Giftcard/Block/Sales/Order/Creditmemo/Totals/Giftcard.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Sales_Order_Creditmemo_Totals_Giftcard
|
4 |
+
extends Mage_Sales_Block_Order_Creditmemo_Totals
|
5 |
+
{
|
6 |
+
public function initTotals()
|
7 |
+
{
|
8 |
+
$parent = $this->getParentBlock();
|
9 |
+
$order = $parent->getOrder();
|
10 |
+
$value = $order->getMtGiftCardTotal();
|
11 |
+
if ($value < 0) {
|
12 |
+
$collection = Mage::getModel('giftcard/order')->getCollectionByOrderId($order->getId());
|
13 |
+
|
14 |
+
|
15 |
+
foreach ($collection as $item) {
|
16 |
+
if ($item->getDiscount() == 0)
|
17 |
+
continue;
|
18 |
+
$totalDiscounted = new Varien_Object(array(
|
19 |
+
'code' => 'mt_gift_card_total_discount_'.$item->getId(),
|
20 |
+
'value' => -$item->getDiscount(),
|
21 |
+
'base_value' => -$item->getBaseDiscount(),
|
22 |
+
'label' => $this->__('Discounted from Gift Card (%s)',$item->getGiftCardCode()),
|
23 |
+
'field' => 'mt_gift_card_total_discount_'.$item->getId()
|
24 |
+
));
|
25 |
+
|
26 |
+
$totalRefunded = new Varien_Object(array(
|
27 |
+
'code' => 'mt_gift_card_total_refund_'.$item->getId(),
|
28 |
+
'value' => $item->getRefund(),
|
29 |
+
'base_value' => $item->getBaseRefund(),
|
30 |
+
'label' => $this->__('Refunded to Gift Card (%s)',$item->getGiftCardCode()),
|
31 |
+
'field' => 'mt_gift_card_total_refund_'.$item->getId()
|
32 |
+
));
|
33 |
+
|
34 |
+
$parent = $this->getParentBlock();
|
35 |
+
$parent->addTotal($totalDiscounted, 'mt_gift_card_total_discount_'.$item->getId());
|
36 |
+
$parent->addTotal($totalRefunded, 'mt_gift_card_total_refund_'.$item->getId());
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
return $this;
|
41 |
+
}
|
42 |
+
}
|
app/code/community/MT/Giftcard/Block/Sales/Order/Email/Items/Invoice/Giftcard.php
CHANGED
@@ -1,36 +1,36 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Sales_Order_Email_Items_Invoice_Giftcard
|
4 |
-
extends Mage_Sales_Block_Order_Email_Items_Order_Default
|
5 |
-
{
|
6 |
-
public function getItemOptions()
|
7 |
-
{
|
8 |
-
$result = parent::getItemOptions();
|
9 |
-
|
10 |
-
if ($this->getItem()->getProductType() == MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT) {
|
11 |
-
$giftCardValue = '';
|
12 |
-
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
13 |
-
->addFieldToFilter('order_item_id', $this->getItem()->getOrderItemId());
|
14 |
-
if ($giftCardCollection->count() > 0) {
|
15 |
-
foreach ($giftCardCollection as $giftCard) {
|
16 |
-
$giftCardValue.=$giftCard->getCode().'('.Mage::helper('giftcard')->__($giftCard->getStatus()).')<br/>';
|
17 |
-
}
|
18 |
-
|
19 |
-
$options = array(
|
20 |
-
array(
|
21 |
-
'label' => Mage::helper('giftcard')->__('Gift Card'),
|
22 |
-
'value' => $giftCardValue
|
23 |
-
));
|
24 |
-
|
25 |
-
if ($giftCard->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_PENDING)
|
26 |
-
$options[] = array(
|
27 |
-
'label' => '<br/>',
|
28 |
-
'value' => Mage::helper('giftcard')->__('Please pay for gift card. After this, your gift cards will be active.')
|
29 |
-
);
|
30 |
-
|
31 |
-
$result = array_merge($result, $options);
|
32 |
-
}
|
33 |
-
}
|
34 |
-
return $result;
|
35 |
-
}
|
36 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Sales_Order_Email_Items_Invoice_Giftcard
|
4 |
+
extends Mage_Sales_Block_Order_Email_Items_Order_Default
|
5 |
+
{
|
6 |
+
public function getItemOptions()
|
7 |
+
{
|
8 |
+
$result = parent::getItemOptions();
|
9 |
+
|
10 |
+
if ($this->getItem()->getProductType() == MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT) {
|
11 |
+
$giftCardValue = '';
|
12 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
13 |
+
->addFieldToFilter('order_item_id', $this->getItem()->getOrderItemId());
|
14 |
+
if ($giftCardCollection->count() > 0) {
|
15 |
+
foreach ($giftCardCollection as $giftCard) {
|
16 |
+
$giftCardValue.=$giftCard->getCode().'('.Mage::helper('giftcard')->__($giftCard->getStatus()).')<br/>';
|
17 |
+
}
|
18 |
+
|
19 |
+
$options = array(
|
20 |
+
array(
|
21 |
+
'label' => Mage::helper('giftcard')->__('Gift Card'),
|
22 |
+
'value' => $giftCardValue
|
23 |
+
));
|
24 |
+
|
25 |
+
if ($giftCard->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_PENDING)
|
26 |
+
$options[] = array(
|
27 |
+
'label' => '<br/>',
|
28 |
+
'value' => Mage::helper('giftcard')->__('Please pay for gift card. After this, your gift cards will be active.')
|
29 |
+
);
|
30 |
+
|
31 |
+
$result = array_merge($result, $options);
|
32 |
+
}
|
33 |
+
}
|
34 |
+
return $result;
|
35 |
+
}
|
36 |
+
}
|
app/code/community/MT/Giftcard/Block/Sales/Order/Email/Items/Order/Giftcard.php
CHANGED
@@ -1,36 +1,36 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Sales_Order_Email_Items_Order_Giftcard
|
4 |
-
extends Mage_Sales_Block_Order_Email_Items_Order_Default
|
5 |
-
{
|
6 |
-
public function getItemOptions()
|
7 |
-
{
|
8 |
-
$result = parent::getItemOptions();
|
9 |
-
if ($this->getItem()->getProductType() == MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT) {
|
10 |
-
$giftCardValue = '';
|
11 |
-
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
12 |
-
->addFieldToFilter('order_item_id', $this->getItem()->getId());
|
13 |
-
|
14 |
-
if ($giftCardCollection->count() > 0) {
|
15 |
-
foreach ($giftCardCollection as $giftCard) {
|
16 |
-
$giftCardValue.=$giftCard->getCode().'('.Mage::helper('giftcard')->__($giftCard->getStatus()).')<br/>';
|
17 |
-
}
|
18 |
-
|
19 |
-
$options = array(
|
20 |
-
array(
|
21 |
-
'label' => Mage::helper('giftcard')->__('Gift Card'),
|
22 |
-
'value' => $giftCardValue
|
23 |
-
));
|
24 |
-
|
25 |
-
if ($giftCard->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_PENDING)
|
26 |
-
$options[] = array(
|
27 |
-
'label' => '<br/>',
|
28 |
-
'value' => Mage::helper('giftcard')->__('Please pay for gift card. After this, your gift cards will be active.')
|
29 |
-
);
|
30 |
-
|
31 |
-
$result = array_merge($result, $options);
|
32 |
-
}
|
33 |
-
}
|
34 |
-
return $result;
|
35 |
-
}
|
36 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Sales_Order_Email_Items_Order_Giftcard
|
4 |
+
extends Mage_Sales_Block_Order_Email_Items_Order_Default
|
5 |
+
{
|
6 |
+
public function getItemOptions()
|
7 |
+
{
|
8 |
+
$result = parent::getItemOptions();
|
9 |
+
if ($this->getItem()->getProductType() == MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT) {
|
10 |
+
$giftCardValue = '';
|
11 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
12 |
+
->addFieldToFilter('order_item_id', $this->getItem()->getId());
|
13 |
+
|
14 |
+
if ($giftCardCollection->count() > 0) {
|
15 |
+
foreach ($giftCardCollection as $giftCard) {
|
16 |
+
$giftCardValue.=$giftCard->getCode().'('.Mage::helper('giftcard')->__($giftCard->getStatus()).')<br/>';
|
17 |
+
}
|
18 |
+
|
19 |
+
$options = array(
|
20 |
+
array(
|
21 |
+
'label' => Mage::helper('giftcard')->__('Gift Card'),
|
22 |
+
'value' => $giftCardValue
|
23 |
+
));
|
24 |
+
|
25 |
+
if ($giftCard->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_PENDING)
|
26 |
+
$options[] = array(
|
27 |
+
'label' => '<br/>',
|
28 |
+
'value' => Mage::helper('giftcard')->__('Please pay for gift card. After this, your gift cards will be active.')
|
29 |
+
);
|
30 |
+
|
31 |
+
$result = array_merge($result, $options);
|
32 |
+
}
|
33 |
+
}
|
34 |
+
return $result;
|
35 |
+
}
|
36 |
+
}
|
app/code/community/MT/Giftcard/Block/Sales/Order/Info/Buttons.php
CHANGED
@@ -1,26 +1,26 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Sales_Order_Info_Buttons
|
4 |
-
extends Mage_Core_Block_Template
|
5 |
-
{
|
6 |
-
public function getGiftCardPdf()
|
7 |
-
{
|
8 |
-
$order = $this->getOrder();
|
9 |
-
$items = $order->getAllItems();
|
10 |
-
|
11 |
-
if (count($items) != 0) {
|
12 |
-
foreach ($items as $item) {
|
13 |
-
if ($item->getProductType()== MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT) {
|
14 |
-
return Mage::getUrl('giftcard/giftcard/pdf', array('id' => $this->getOrder()->getId()));
|
15 |
-
}
|
16 |
-
}
|
17 |
-
}
|
18 |
-
|
19 |
-
return false;
|
20 |
-
}
|
21 |
-
|
22 |
-
public function getOrder()
|
23 |
-
{
|
24 |
-
return Mage::registry('current_order');
|
25 |
-
}
|
26 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Sales_Order_Info_Buttons
|
4 |
+
extends Mage_Core_Block_Template
|
5 |
+
{
|
6 |
+
public function getGiftCardPdf()
|
7 |
+
{
|
8 |
+
$order = $this->getOrder();
|
9 |
+
$items = $order->getAllItems();
|
10 |
+
|
11 |
+
if (count($items) != 0) {
|
12 |
+
foreach ($items as $item) {
|
13 |
+
if ($item->getProductType()== MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT) {
|
14 |
+
return Mage::getUrl('giftcard/giftcard/pdf', array('id' => $this->getOrder()->getId()));
|
15 |
+
}
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
return false;
|
20 |
+
}
|
21 |
+
|
22 |
+
public function getOrder()
|
23 |
+
{
|
24 |
+
return Mage::registry('current_order');
|
25 |
+
}
|
26 |
}
|
app/code/community/MT/Giftcard/Block/Sales/Order/Item/Renderer/Giftcard.php
CHANGED
@@ -1,35 +1,35 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Sales_Order_Item_Renderer_Giftcard
|
4 |
-
extends Mage_Sales_Block_Order_Item_Renderer_Default
|
5 |
-
{
|
6 |
-
public function getItemOptions()
|
7 |
-
{
|
8 |
-
$result = parent::getItemOptions();
|
9 |
-
$giftCardValue = '';
|
10 |
-
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
11 |
-
->addFieldToFilter('order_item_id', $this->getItem()->getId());
|
12 |
-
if ($giftCardCollection->count() > 0) {
|
13 |
-
foreach ($giftCardCollection as $giftCard) {
|
14 |
-
$giftCardValue.=$giftCard->getCode().'('.Mage::helper('giftcard')->__($giftCard->getStatus()).')<br/>';
|
15 |
-
}
|
16 |
-
|
17 |
-
$options = array(
|
18 |
-
array(
|
19 |
-
'label' => Mage::helper('giftcard')->__('Gift Card'),
|
20 |
-
'value' => $giftCardValue
|
21 |
-
));
|
22 |
-
|
23 |
-
if ($giftCard->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_PENDING)
|
24 |
-
$options[] = array(
|
25 |
-
'label' => Mage::helper('giftcard')->__('Note'),
|
26 |
-
'value' => Mage::helper('giftcard')->__('Please pay for gift card. After this, your gift cards will be active.')
|
27 |
-
);
|
28 |
-
|
29 |
-
$result = array_merge($result, $options);
|
30 |
-
}
|
31 |
-
|
32 |
-
|
33 |
-
return $result;
|
34 |
-
}
|
35 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Sales_Order_Item_Renderer_Giftcard
|
4 |
+
extends Mage_Sales_Block_Order_Item_Renderer_Default
|
5 |
+
{
|
6 |
+
public function getItemOptions()
|
7 |
+
{
|
8 |
+
$result = parent::getItemOptions();
|
9 |
+
$giftCardValue = '';
|
10 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
11 |
+
->addFieldToFilter('order_item_id', $this->getItem()->getId());
|
12 |
+
if ($giftCardCollection->count() > 0) {
|
13 |
+
foreach ($giftCardCollection as $giftCard) {
|
14 |
+
$giftCardValue.=$giftCard->getCode().'('.Mage::helper('giftcard')->__($giftCard->getStatus()).')<br/>';
|
15 |
+
}
|
16 |
+
|
17 |
+
$options = array(
|
18 |
+
array(
|
19 |
+
'label' => Mage::helper('giftcard')->__('Gift Card'),
|
20 |
+
'value' => $giftCardValue
|
21 |
+
));
|
22 |
+
|
23 |
+
if ($giftCard->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_PENDING)
|
24 |
+
$options[] = array(
|
25 |
+
'label' => Mage::helper('giftcard')->__('Note'),
|
26 |
+
'value' => Mage::helper('giftcard')->__('Please pay for gift card. After this, your gift cards will be active.')
|
27 |
+
);
|
28 |
+
|
29 |
+
$result = array_merge($result, $options);
|
30 |
+
}
|
31 |
+
|
32 |
+
|
33 |
+
return $result;
|
34 |
+
}
|
35 |
}
|
app/code/community/MT/Giftcard/Block/Sales/Order/Totals/Giftcard.php
CHANGED
@@ -1,29 +1,29 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Block_Sales_Order_Totals_Giftcard
|
4 |
-
extends Mage_Sales_Block_Order_Totals
|
5 |
-
{
|
6 |
-
public function initTotals()
|
7 |
-
{
|
8 |
-
$parent = $this->getParentBlock();
|
9 |
-
$order = $parent->getOrder();
|
10 |
-
$value = $order->getMtGiftCardTotal();
|
11 |
-
if ($value < 0) {
|
12 |
-
$
|
13 |
-
foreach ($
|
14 |
-
if (
|
15 |
-
continue;
|
16 |
-
$total = new Varien_Object(array(
|
17 |
-
'code' => 'mt_gift_card_total_'.$
|
18 |
-
'value' =>
|
19 |
-
'base_value' =>
|
20 |
-
'label' => $this->__('Gift Card (%s)',$
|
21 |
-
'field' => 'mt_gift_card_total'
|
22 |
-
));
|
23 |
-
$parent->addTotal($total, 'mt_gift_card_total_'.$
|
24 |
-
}
|
25 |
-
}
|
26 |
-
|
27 |
-
return $this;
|
28 |
-
}
|
29 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Block_Sales_Order_Totals_Giftcard
|
4 |
+
extends Mage_Sales_Block_Order_Totals
|
5 |
+
{
|
6 |
+
public function initTotals()
|
7 |
+
{
|
8 |
+
$parent = $this->getParentBlock();
|
9 |
+
$order = $parent->getOrder();
|
10 |
+
$value = $order->getMtGiftCardTotal();
|
11 |
+
if ($value < 0) {
|
12 |
+
$collection = Mage::getModel('giftcard/order')->getCollectionByOrderId($order->getId());
|
13 |
+
foreach ($collection as $item) {
|
14 |
+
if ($item->getDiscount() == 0)
|
15 |
+
continue;
|
16 |
+
$total = new Varien_Object(array(
|
17 |
+
'code' => 'mt_gift_card_total_'.$item->getId(),
|
18 |
+
'value' => -$item->getDiscount(),
|
19 |
+
'base_value' => -$item->getBaseDiscount(),
|
20 |
+
'label' => $this->__('Discounted from Gift Card (%s)',$item->getGiftCardCode()),
|
21 |
+
'field' => 'mt_gift_card_total'
|
22 |
+
));
|
23 |
+
$parent->addTotal($total, 'mt_gift_card_total_'.$item->getId());
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
return $this;
|
28 |
+
}
|
29 |
}
|
app/code/community/MT/Giftcard/Helper/Data.php
CHANGED
@@ -1,161 +1,112 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
-
{
|
5 |
-
public function isActive()
|
6 |
-
{
|
7 |
-
return Mage::getStoreConfig('giftcard/general/is_active');
|
8 |
-
}
|
9 |
-
|
10 |
-
public function getProductCurrencyCode(Mage_Catalog_Model_Product $product)
|
11 |
-
{
|
12 |
-
return Mage::app()->getStore($product->getStoreId())->getCurrentCurrencyCode();
|
13 |
-
}
|
14 |
-
|
15 |
-
public function getCharset($format)
|
16 |
-
{
|
17 |
-
$ab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
18 |
-
$num = '01234567890';
|
19 |
-
|
20 |
-
switch ($format) {
|
21 |
-
case 'alphanumeric':
|
22 |
-
$chars = $ab.$num;
|
23 |
-
break;
|
24 |
-
case 'alphabetical':
|
25 |
-
$chars = $ab;
|
26 |
-
break;
|
27 |
-
case 'numeric':
|
28 |
-
$chars = $num;
|
29 |
-
break;
|
30 |
-
}
|
31 |
-
|
32 |
-
return str_split($chars);
|
33 |
-
}
|
34 |
-
|
35 |
-
public function getExportFileTmpName($ext)
|
36 |
-
{
|
37 |
-
$path = Mage::getBaseDir('tmp');
|
38 |
-
$name = md5(microtime().Mage::getBaseUrl().rand(0, 99999));
|
39 |
-
$file = $path . DS . $name . $ext;
|
40 |
-
return $file;
|
41 |
-
}
|
42 |
-
|
43 |
-
public function
|
44 |
-
{
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
$
|
55 |
-
|
56 |
-
$
|
57 |
-
return
|
58 |
-
}
|
59 |
-
|
60 |
-
public function
|
61 |
-
{
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
}
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
$
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
}
|
112 |
-
|
113 |
-
public function hex2rgb($hex)
|
114 |
-
{
|
115 |
-
$hex = str_replace("#", "", $hex);
|
116 |
-
|
117 |
-
if(strlen($hex) == 3) {
|
118 |
-
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
|
119 |
-
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
|
120 |
-
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
|
121 |
-
} else {
|
122 |
-
$r = hexdec(substr($hex,0,2));
|
123 |
-
$g = hexdec(substr($hex,2,2));
|
124 |
-
$b = hexdec(substr($hex,4,2));
|
125 |
-
}
|
126 |
-
$rgb = array($r, $g, $b);
|
127 |
-
return $rgb;
|
128 |
-
}
|
129 |
-
|
130 |
-
public function getGiftCardBackgroundDir()
|
131 |
-
{
|
132 |
-
return Mage::getBaseDir('media') . DS.'mt'. DS .'giftcard'. DS.'template'. DS;
|
133 |
-
}
|
134 |
-
|
135 |
-
public function isAjax()
|
136 |
-
{
|
137 |
-
$request = Mage::app()->getRequest();
|
138 |
-
if ($request->isXmlHttpRequest()) {
|
139 |
-
return true;
|
140 |
-
}
|
141 |
-
if ($request->getParam('ajax') || $request->getParam('isAjax')) {
|
142 |
-
return true;
|
143 |
-
}
|
144 |
-
return false;
|
145 |
-
}
|
146 |
-
|
147 |
-
public function isPaymentMethodFormVisible()
|
148 |
-
{
|
149 |
-
if (Mage::app()->getRequest()->getParam('is_form_visible') == 0
|
150 |
-
&& count($this->getAppliedGiftCardCollection()) == 0
|
151 |
-
) {
|
152 |
-
return false;
|
153 |
-
}
|
154 |
-
return true;
|
155 |
-
}
|
156 |
-
|
157 |
-
public function getAppliedGiftCardCollection()
|
158 |
-
{
|
159 |
-
return Mage::getSingleton('giftcard/checkout_giftcard')->getQuoteGiftCardCollection();
|
160 |
-
}
|
161 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
public function isActive()
|
6 |
+
{
|
7 |
+
return Mage::getStoreConfig('giftcard/general/is_active');
|
8 |
+
}
|
9 |
+
|
10 |
+
public function getProductCurrencyCode(Mage_Catalog_Model_Product $product)
|
11 |
+
{
|
12 |
+
return Mage::app()->getStore($product->getStoreId())->getCurrentCurrencyCode();
|
13 |
+
}
|
14 |
+
|
15 |
+
public function getCharset($format)
|
16 |
+
{
|
17 |
+
$ab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
18 |
+
$num = '01234567890';
|
19 |
+
|
20 |
+
switch ($format) {
|
21 |
+
case 'alphanumeric':
|
22 |
+
$chars = $ab.$num;
|
23 |
+
break;
|
24 |
+
case 'alphabetical':
|
25 |
+
$chars = $ab;
|
26 |
+
break;
|
27 |
+
case 'numeric':
|
28 |
+
$chars = $num;
|
29 |
+
break;
|
30 |
+
}
|
31 |
+
|
32 |
+
return str_split($chars);
|
33 |
+
}
|
34 |
+
|
35 |
+
public function getExportFileTmpName($ext)
|
36 |
+
{
|
37 |
+
$path = Mage::getBaseDir('tmp');
|
38 |
+
$name = md5(microtime().Mage::getBaseUrl().rand(0, 99999));
|
39 |
+
$file = $path . DS . $name . $ext;
|
40 |
+
return $file;
|
41 |
+
}
|
42 |
+
|
43 |
+
public function hex2rgb($hex)
|
44 |
+
{
|
45 |
+
$hex = str_replace("#", "", $hex);
|
46 |
+
|
47 |
+
if(strlen($hex) == 3) {
|
48 |
+
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
|
49 |
+
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
|
50 |
+
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
|
51 |
+
} else {
|
52 |
+
$r = hexdec(substr($hex,0,2));
|
53 |
+
$g = hexdec(substr($hex,2,2));
|
54 |
+
$b = hexdec(substr($hex,4,2));
|
55 |
+
}
|
56 |
+
$rgb = array($r, $g, $b);
|
57 |
+
return $rgb;
|
58 |
+
}
|
59 |
+
|
60 |
+
public function getGiftCardBackgroundDir()
|
61 |
+
{
|
62 |
+
return Mage::getBaseDir('media') . DS.'mt'. DS .'giftcard'. DS.'template'. DS;
|
63 |
+
}
|
64 |
+
|
65 |
+
public function isAjax()
|
66 |
+
{
|
67 |
+
$request = Mage::app()->getRequest();
|
68 |
+
if ($request->isXmlHttpRequest()) {
|
69 |
+
return true;
|
70 |
+
}
|
71 |
+
if ($request->getParam('ajax') || $request->getParam('isAjax')) {
|
72 |
+
return true;
|
73 |
+
}
|
74 |
+
return false;
|
75 |
+
}
|
76 |
+
|
77 |
+
public function isPaymentMethodFormVisible()
|
78 |
+
{
|
79 |
+
$quoteId = Mage::getSingleton('checkout/cart')->getQuote()->getId();
|
80 |
+
$giftCardCollection = Mage::getSingleton('giftcard/quote')->getGiftCardCollection($quoteId);
|
81 |
+
if (Mage::app()->getRequest()->getParam('is_form_visible') == 0
|
82 |
+
&& $giftCardCollection->count() == 0
|
83 |
+
) {
|
84 |
+
return false;
|
85 |
+
}
|
86 |
+
return true;
|
87 |
+
}
|
88 |
+
|
89 |
+
public function hasGiftCardProductInCart()
|
90 |
+
{
|
91 |
+
$cart = Mage::getModel('checkout/cart')->getQuote();
|
92 |
+
$items = $cart->getAllItems();
|
93 |
+
if (count($items) == 0)
|
94 |
+
return false;
|
95 |
+
|
96 |
+
foreach ($items as $item) {
|
97 |
+
if ($item->getProduct()->getTypeId() == MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT)
|
98 |
+
return true;
|
99 |
+
}
|
100 |
+
|
101 |
+
return false;
|
102 |
+
}
|
103 |
+
|
104 |
+
public function convertToCurrentCurrency($price, $currencyCode)
|
105 |
+
{
|
106 |
+
return Mage::helper('directory')->currencyConvert(
|
107 |
+
$price,
|
108 |
+
$currencyCode,
|
109 |
+
Mage::app()->getStore()->getCurrentCurrencyCode()
|
110 |
+
);
|
111 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
}
|
app/code/community/MT/Giftcard/Model/Core/Email/Template.php
CHANGED
@@ -1,58 +1,81 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Model_Core_Email_Template extends MT_Giftcard_Model_Core_Email_Template_Init
|
4 |
-
{
|
5 |
-
|
6 |
-
public function sendTransactional($templateId, $sender, $email, $name, $vars=array(), $storeId=null)
|
7 |
-
{
|
8 |
-
$this->addGiftCardAttachment($templateId, $vars, $storeId);
|
9 |
-
return parent::sendTransactional($templateId, $sender, $email, $name, $vars, $storeId);
|
10 |
-
}
|
11 |
-
|
12 |
-
protected function addGiftCardAttachment($templateId, $vars, $storeId = null)
|
13 |
-
{
|
14 |
-
$addPdf = false;
|
15 |
-
|
16 |
-
if (($templateId == Mage::getStoreConfig(Mage_Sales_Model_Order::XML_PATH_EMAIL_GUEST_TEMPLATE, $storeId)
|
17 |
-
|| $templateId == Mage::getStoreConfig(Mage_Sales_Model_Order::XML_PATH_EMAIL_TEMPLATE, $storeId))
|
18 |
-
&& Mage::getStoreConfig('giftcard/mail/pdf_order_new_mail', $storeId)) {
|
19 |
-
$addPdf = true;
|
20 |
-
}
|
21 |
-
|
22 |
-
if ($templateId == Mage::getStoreConfig(Mage_Sales_Model_Order_Invoice::XML_PATH_EMAIL_TEMPLATE, $storeId)
|
23 |
-
&& Mage::getStoreConfig('giftcard/mail/pdf_order_invoice_mail', $storeId)) {
|
24 |
-
$addPdf = true;
|
25 |
-
}
|
26 |
-
|
27 |
-
if ($addPdf) {
|
28 |
-
if (isset($vars['order'])) {
|
29 |
-
$order = $vars['order'];
|
30 |
-
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
31 |
-
->addFieldToFilter('order_id', $order->getId());
|
32 |
-
if ($collection->count() <= 0) {
|
33 |
-
return;
|
34 |
-
}
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
$
|
44 |
-
|
45 |
-
|
46 |
-
$
|
47 |
-
$
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Core_Email_Template extends MT_Giftcard_Model_Core_Email_Template_Init
|
4 |
+
{
|
5 |
+
|
6 |
+
public function sendTransactional($templateId, $sender, $email, $name, $vars=array(), $storeId=null)
|
7 |
+
{
|
8 |
+
$this->addGiftCardAttachment($templateId, $vars, $storeId);
|
9 |
+
return parent::sendTransactional($templateId, $sender, $email, $name, $vars, $storeId);
|
10 |
+
}
|
11 |
+
|
12 |
+
protected function addGiftCardAttachment($templateId, $vars, $storeId = null)
|
13 |
+
{
|
14 |
+
$addPdf = false;
|
15 |
+
|
16 |
+
if (($templateId == Mage::getStoreConfig(Mage_Sales_Model_Order::XML_PATH_EMAIL_GUEST_TEMPLATE, $storeId)
|
17 |
+
|| $templateId == Mage::getStoreConfig(Mage_Sales_Model_Order::XML_PATH_EMAIL_TEMPLATE, $storeId))
|
18 |
+
&& Mage::getStoreConfig('giftcard/mail/pdf_order_new_mail', $storeId)) {
|
19 |
+
$addPdf = true;
|
20 |
+
}
|
21 |
+
|
22 |
+
if ($templateId == Mage::getStoreConfig(Mage_Sales_Model_Order_Invoice::XML_PATH_EMAIL_TEMPLATE, $storeId)
|
23 |
+
&& Mage::getStoreConfig('giftcard/mail/pdf_order_invoice_mail', $storeId)) {
|
24 |
+
$addPdf = true;
|
25 |
+
}
|
26 |
+
|
27 |
+
if ($addPdf) {
|
28 |
+
if (isset($vars['order'])) {
|
29 |
+
$order = $vars['order'];
|
30 |
+
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
31 |
+
->addFieldToFilter('order_id', $order->getId());
|
32 |
+
if ($collection->count() <= 0) {
|
33 |
+
return;
|
34 |
+
}
|
35 |
+
|
36 |
+
$contentFile = Mage::getSingleton('giftcard/giftcard_action')
|
37 |
+
->exportOrderGiftCard($order->getId(), 'pdf');
|
38 |
+
|
39 |
+
if (!$contentFile) {
|
40 |
+
return false;
|
41 |
+
}
|
42 |
+
|
43 |
+
if (!file_exists($contentFile['value']))
|
44 |
+
throw new Exception(Mage::helper('giftcard')->__('Can not to create file'));
|
45 |
+
|
46 |
+
$content = file_get_contents($contentFile['value']);
|
47 |
+
$type = 'application/pdf';
|
48 |
+
$disposition = Zend_Mime::DISPOSITION_ATTACHMENT;
|
49 |
+
$encoding = Zend_Mime::ENCODING_BASE64;
|
50 |
+
$fileName = Mage::helper('giftcard')->__('gif_card_').$order->getIncrementId().'.pdf';
|
51 |
+
|
52 |
+
switch (get_class($this->getMail())) {
|
53 |
+
case 'Mandrill_Message':
|
54 |
+
$this->getMail()->createAttachment(
|
55 |
+
$content,
|
56 |
+
$type,
|
57 |
+
$disposition,
|
58 |
+
$encoding,
|
59 |
+
$fileName
|
60 |
+
);
|
61 |
+
break;
|
62 |
+
default:
|
63 |
+
$attachment = new Zend_Mime_Part($content);
|
64 |
+
$attachment->type = $type;
|
65 |
+
$attachment->disposition = $disposition;
|
66 |
+
$attachment->encoding = $encoding;
|
67 |
+
$attachment->filename = $fileName;
|
68 |
+
$this->getMail()->addAttachment($attachment);
|
69 |
+
break;
|
70 |
+
}
|
71 |
+
|
72 |
+
//delete pdf file from server
|
73 |
+
if ($contentFile['rm'] == 1) {
|
74 |
+
unlink($contentFile['value']);
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
return true;
|
80 |
+
}
|
81 |
}
|
app/code/community/MT/Giftcard/Model/Core/Email/Template/Init.php
CHANGED
@@ -1,6 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
if (@class_exists('
|
|
|
|
|
|
|
4 |
class MT_Giftcard_Model_Core_Email_Template_Init extends Aschroder_SMTPPro_Model_Email_Template
|
5 |
{}
|
6 |
} else {
|
1 |
<?php
|
2 |
|
3 |
+
if (@class_exists('Ebizmarts_Mandrill_Model_Email_Template')) {
|
4 |
+
class MT_Giftcard_Model_Core_Email_Template_Init extends Ebizmarts_Mandrill_Model_Email_Template
|
5 |
+
{}
|
6 |
+
} else if (@class_exists('Aschroder_SMTPPro_Model_Email_Template')) {
|
7 |
class MT_Giftcard_Model_Core_Email_Template_Init extends Aschroder_SMTPPro_Model_Email_Template
|
8 |
{}
|
9 |
} else {
|
app/code/community/MT/Giftcard/Model/Giftcard.php
CHANGED
@@ -1,130 +1,203 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Model_Giftcard extends Mage_Core_Model_Abstract
|
4 |
-
{
|
5 |
-
const STATE_READY_TO_PRINT = 'ready_to_print';
|
6 |
-
|
7 |
-
const STATE_PRINTED = 'printed';
|
8 |
-
|
9 |
-
const STATE_PRINTING = 'printing';
|
10 |
-
|
11 |
-
const STATUS_NEW = 'new';
|
12 |
-
|
13 |
-
const STATUS_PENDING = 'pending';
|
14 |
-
|
15 |
-
const STATUS_ACTIVE = 'active';
|
16 |
-
|
17 |
-
const STATUS_SOLD = 'sold';
|
18 |
-
|
19 |
-
const STATUS_INACTIVE = 'inactive';
|
20 |
-
|
21 |
-
const STATUS_EXPIRED = 'expired';
|
22 |
-
|
23 |
-
const GIFT_CARD_CODE_MAX_LENGTH = 255;
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
->
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
public function
|
119 |
-
{
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Giftcard extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
const STATE_READY_TO_PRINT = 'ready_to_print';
|
6 |
+
|
7 |
+
const STATE_PRINTED = 'printed';
|
8 |
+
|
9 |
+
const STATE_PRINTING = 'printing';
|
10 |
+
|
11 |
+
const STATUS_NEW = 'new';
|
12 |
+
|
13 |
+
const STATUS_PENDING = 'pending';
|
14 |
+
|
15 |
+
const STATUS_ACTIVE = 'active';
|
16 |
+
|
17 |
+
const STATUS_SOLD = 'sold';
|
18 |
+
|
19 |
+
const STATUS_INACTIVE = 'inactive';
|
20 |
+
|
21 |
+
const STATUS_EXPIRED = 'expired';
|
22 |
+
|
23 |
+
const GIFT_CARD_CODE_MAX_LENGTH = 255;
|
24 |
+
|
25 |
+
const TYPE_VIRTUAL = 'virtual';
|
26 |
+
|
27 |
+
|
28 |
+
protected function _construct()
|
29 |
+
{
|
30 |
+
$this->_init('giftcard/giftcard');
|
31 |
+
}
|
32 |
+
|
33 |
+
public function codeExist($code)
|
34 |
+
{
|
35 |
+
$collection = $this->getCollection()
|
36 |
+
->addFieldToFilter('code', $code)
|
37 |
+
->setPageSize(1);
|
38 |
+
return $collection->count() == 1;
|
39 |
+
}
|
40 |
+
|
41 |
+
|
42 |
+
public function setExpiredAt($date = '')
|
43 |
+
{
|
44 |
+
if($date == '')
|
45 |
+
$date = $this->calcExpiredAt();
|
46 |
+
return parent::setExpiredAt($date);
|
47 |
+
}
|
48 |
+
|
49 |
+
public function getExpiredAt()
|
50 |
+
{
|
51 |
+
$expiredAt = parent::getExpiredAt();
|
52 |
+
if (empty($expiredAt) && $this->getLifetime() > 0) {
|
53 |
+
$expiredAt = $this->calcExpiredAt();
|
54 |
+
}
|
55 |
+
|
56 |
+
return $expiredAt;
|
57 |
+
}
|
58 |
+
|
59 |
+
public function calcExpiredAt()
|
60 |
+
{
|
61 |
+
$lifeTime = $this->getLifetime();
|
62 |
+
if ($lifeTime == 0)
|
63 |
+
return '';
|
64 |
+
|
65 |
+
return date('Y-m-d H:i:s', strtotime('+'.$lifeTime.'days'));
|
66 |
+
}
|
67 |
+
|
68 |
+
public function isCodeActive($code)
|
69 |
+
{
|
70 |
+
if (empty($code) || strlen($code) > self::GIFT_CARD_CODE_MAX_LENGTH)
|
71 |
+
return false;
|
72 |
+
|
73 |
+
$collection = $this->getCollection()
|
74 |
+
->addFieldToFilter('code', $code)
|
75 |
+
->addFieldToFilter('status', self::STATUS_SOLD)
|
76 |
+
->setPageSize(1);
|
77 |
+
return $collection->count() == 1;
|
78 |
+
|
79 |
+
}
|
80 |
+
|
81 |
+
public function loadByCode($code)
|
82 |
+
{
|
83 |
+
if (empty($code) || strlen($code) > self::GIFT_CARD_CODE_MAX_LENGTH)
|
84 |
+
return $this;
|
85 |
+
|
86 |
+
$collection = $this->getCollection()
|
87 |
+
->addFieldToFilter('code', $code)
|
88 |
+
->setPageSize(1);
|
89 |
+
if ($collection->count() == 0)
|
90 |
+
return $this;
|
91 |
+
|
92 |
+
return parent::load($collection->getFirstItem()->getId());
|
93 |
+
}
|
94 |
+
|
95 |
+
public function getFormatedValue()
|
96 |
+
{
|
97 |
+
$value = Mage::getModel('directory/currency')->format($this->getValue(), array(
|
98 |
+
'precision' => 0,
|
99 |
+
'currency' => Mage::app()->getStore($this->getStoreId())->getCurrentCurrencyCode()
|
100 |
+
), false);
|
101 |
+
|
102 |
+
return $value;
|
103 |
+
}
|
104 |
+
|
105 |
+
|
106 |
+
public function getTemplate()
|
107 |
+
{
|
108 |
+
if (!$this->getTemplateId())
|
109 |
+
return null;
|
110 |
+
|
111 |
+
$template = Mage::getModel('giftcard/template')->load($this->getTemplateId());
|
112 |
+
if (!$template->getId())
|
113 |
+
return null;
|
114 |
+
|
115 |
+
return $template;
|
116 |
+
}
|
117 |
+
|
118 |
+
public function getBalance($currencyCode = '')
|
119 |
+
{
|
120 |
+
$balance = $this->getData('balance');
|
121 |
+
$giftCardCurrency = $this->getCurrency();
|
122 |
+
if (empty($currencyCode) || $currencyCode == $giftCardCurrency) {
|
123 |
+
return $balance;
|
124 |
+
}
|
125 |
+
|
126 |
+
$convertedBalance = Mage::helper('directory')->currencyConvert(
|
127 |
+
$balance,
|
128 |
+
$giftCardCurrency,
|
129 |
+
$currencyCode
|
130 |
+
);
|
131 |
+
$convertedBalance = number_format($convertedBalance, 2);
|
132 |
+
|
133 |
+
return $convertedBalance;
|
134 |
+
}
|
135 |
+
|
136 |
+
public function setBalance($balance, $currencyCode = '')
|
137 |
+
{
|
138 |
+
if ($currencyCode == '') {
|
139 |
+
return $this->setData('balance', $balance);
|
140 |
+
}
|
141 |
+
$giftCardCurrency = $this->getCurrency();
|
142 |
+
if ($currencyCode != $giftCardCurrency) {
|
143 |
+
$balance = Mage::helper('directory')->currencyConvert(
|
144 |
+
$balance,
|
145 |
+
$currencyCode,
|
146 |
+
$giftCardCurrency
|
147 |
+
);
|
148 |
+
$balance = number_format($balance, 2);
|
149 |
+
}
|
150 |
+
|
151 |
+
return $this->setData('balance', $balance);
|
152 |
+
}
|
153 |
+
|
154 |
+
public function getFormatedBalance($currencyCode = '')
|
155 |
+
{
|
156 |
+
if (empty($currencyCode)) {
|
157 |
+
$currencyCode = $this->getCurrency();
|
158 |
+
}
|
159 |
+
$balance = $this->getBalance($currencyCode);
|
160 |
+
|
161 |
+
$formatedBalance = Mage::getModel('directory/currency')->format(
|
162 |
+
$balance,
|
163 |
+
array(
|
164 |
+
'precision' => 2,
|
165 |
+
'currency' => $currencyCode
|
166 |
+
), false);
|
167 |
+
|
168 |
+
return $formatedBalance;
|
169 |
+
}
|
170 |
+
|
171 |
+
public function isSold()
|
172 |
+
{
|
173 |
+
return $this->getStatus() == self::STATUS_SOLD;
|
174 |
+
}
|
175 |
+
|
176 |
+
public function discount($balance, $currency)
|
177 |
+
{
|
178 |
+
$this->setBalance($balance, $currency);
|
179 |
+
if ($balance <= 0) {
|
180 |
+
$this->setStatus(MT_Giftcard_Model_Giftcard::STATUS_INACTIVE);
|
181 |
+
}
|
182 |
+
$this->save();
|
183 |
+
}
|
184 |
+
|
185 |
+
public function refund($refund, $currency)
|
186 |
+
{
|
187 |
+
$giftCardBalance = $this->getBalance($currency);
|
188 |
+
if (
|
189 |
+
$this->getStatus() == MT_Giftcard_Model_Giftcard::STATUS_INACTIVE
|
190 |
+
&& $giftCardBalance == 0
|
191 |
+
) {
|
192 |
+
$this->setStatus(MT_Giftcard_Model_Giftcard::STATUS_SOLD);
|
193 |
+
}
|
194 |
+
$returnAmount = ($giftCardBalance+$refund);
|
195 |
+
$this->setBalance($returnAmount, $currency);
|
196 |
+
$this->save();
|
197 |
+
}
|
198 |
+
|
199 |
+
public function getCurrency($code = '')
|
200 |
+
{
|
201 |
+
return Mage::app()->getStore()->getBaseCurrencyCode();
|
202 |
+
}
|
203 |
}
|
app/code/community/MT/Giftcard/Model/Giftcard/Action.php
CHANGED
@@ -1,153 +1,156 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Model_Giftcard_Action
|
4 |
-
{
|
5 |
-
public function updateAttributes($giftCardIds, $attributesUpdate)
|
6 |
-
{
|
7 |
-
if (is_array($giftCardIds)) {
|
8 |
-
foreach ($giftCardIds as $gifCardId) {
|
9 |
-
$this->updateAttribute($gifCardId, $attributesUpdate);
|
10 |
-
}
|
11 |
-
} else {
|
12 |
-
$this->updateAttribute($giftCardIds, $attributesUpdate);
|
13 |
-
}
|
14 |
-
}
|
15 |
-
|
16 |
-
public function updateAttribute($giftCardId, $attributesUpdate)
|
17 |
-
{
|
18 |
-
$giftCard = Mage::getModel('giftcard/giftcard')->load($giftCardId);
|
19 |
-
if (!is_numeric($giftCard->getId()))
|
20 |
-
return false;
|
21 |
-
|
22 |
-
foreach ($attributesUpdate as $attributeCode => $newValue)
|
23 |
-
$giftCard->setData($attributeCode, $newValue);
|
24 |
-
try {
|
25 |
-
$giftCard->save();
|
26 |
-
} catch (Exception $e) {
|
27 |
-
$this->_getSession()
|
28 |
-
->addException($e, $this->__('An error occurred while saving the gift card.'));
|
29 |
-
}
|
30 |
-
return true;
|
31 |
-
}
|
32 |
-
|
33 |
-
public function giftCardsDelete($giftCardIds)
|
34 |
-
{
|
35 |
-
if (count($giftCardIds) == 0)
|
36 |
-
return false;
|
37 |
-
|
38 |
-
foreach ($giftCardIds as $giftCardId)
|
39 |
-
$this->giftCardDelete($giftCardId);
|
40 |
-
}
|
41 |
-
|
42 |
-
public function giftCardDelete($giftCardId)
|
43 |
-
{
|
44 |
-
$giftCard = Mage::getModel('giftcard/giftcard')->load($giftCardId);
|
45 |
-
$giftCard->delete();
|
46 |
-
}
|
47 |
-
|
48 |
-
public function exportGiftCardsCodes($giftCardIds, $format)
|
49 |
-
{
|
50 |
-
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
51 |
-
->addFieldToFilter('entity_id', array('in' => $giftCardIds));
|
52 |
-
|
53 |
-
switch ($format) {
|
54 |
-
case 'xlsx':
|
55 |
-
$adapter = Mage::getModel('giftcard/export_adapter_excel');
|
56 |
-
$file = Mage::helper('giftcard')->getExportFileTmpName('.xlsx');
|
57 |
-
break;
|
58 |
-
case 'csv':
|
59 |
-
$adapter = Mage::getModel('giftcard/export_adapter_csv');
|
60 |
-
$file = Mage::helper('giftcard')->getExportFileTmpName('.csv');
|
61 |
-
break;
|
62 |
-
}
|
63 |
-
|
64 |
-
$export = Mage::getModel('giftcard/export_collection');
|
65 |
-
$export->setCollection($collection);
|
66 |
-
$export->setAdapter($adapter);
|
67 |
-
$export->exportToFile($file);
|
68 |
-
|
69 |
-
return array(
|
70 |
-
'type' => 'filename',
|
71 |
-
'value' => $file,
|
72 |
-
'rm' => true // can delete file after use
|
73 |
-
);
|
74 |
-
}
|
75 |
-
|
76 |
-
public function assignGiftCardToOrder($order)
|
77 |
-
{
|
78 |
-
|
79 |
-
$items = $order->getAllVisibleItems();
|
80 |
-
$seriesAction = Mage::getModel('giftcard/series_action');
|
81 |
-
|
82 |
-
foreach ($items as $item) {
|
83 |
-
|
84 |
-
if ($item->getProductType() != MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT)
|
85 |
-
continue;
|
86 |
-
|
87 |
-
$option = $item->getProductOptions();
|
88 |
-
$optionData = $option['info_buyRequest'];
|
89 |
-
if (!isset($optionData['giftcard_attribute']['giftcard_value']) || !is_numeric($optionData['giftcard_attribute']['giftcard_value']))
|
90 |
-
throw new Exception('Gift card value is not selected');
|
91 |
-
|
92 |
-
$giftCardSeriesId = $optionData['giftcard_attribute']['giftcard_value'];
|
93 |
-
$seriesAction->addNewCodeToOrder($giftCardSeriesId, $order, $item, $optionData['giftcard_attribute']);
|
94 |
-
}
|
95 |
-
|
96 |
-
}
|
97 |
-
|
98 |
-
public function exportOrderGiftCard($orderId, $format)
|
99 |
-
{
|
100 |
-
$giftCardIds = array();
|
101 |
-
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
102 |
-
->addFieldToFilter('order_id', $orderId);
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
$
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
$
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
$
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
$
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
$export
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
|
|
|
|
|
|
153 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Giftcard_Action
|
4 |
+
{
|
5 |
+
public function updateAttributes($giftCardIds, $attributesUpdate)
|
6 |
+
{
|
7 |
+
if (is_array($giftCardIds)) {
|
8 |
+
foreach ($giftCardIds as $gifCardId) {
|
9 |
+
$this->updateAttribute($gifCardId, $attributesUpdate);
|
10 |
+
}
|
11 |
+
} else {
|
12 |
+
$this->updateAttribute($giftCardIds, $attributesUpdate);
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
+
public function updateAttribute($giftCardId, $attributesUpdate)
|
17 |
+
{
|
18 |
+
$giftCard = Mage::getModel('giftcard/giftcard')->load($giftCardId);
|
19 |
+
if (!is_numeric($giftCard->getId()))
|
20 |
+
return false;
|
21 |
+
|
22 |
+
foreach ($attributesUpdate as $attributeCode => $newValue)
|
23 |
+
$giftCard->setData($attributeCode, $newValue);
|
24 |
+
try {
|
25 |
+
$giftCard->save();
|
26 |
+
} catch (Exception $e) {
|
27 |
+
$this->_getSession()
|
28 |
+
->addException($e, $this->__('An error occurred while saving the gift card.'));
|
29 |
+
}
|
30 |
+
return true;
|
31 |
+
}
|
32 |
+
|
33 |
+
public function giftCardsDelete($giftCardIds)
|
34 |
+
{
|
35 |
+
if (count($giftCardIds) == 0)
|
36 |
+
return false;
|
37 |
+
|
38 |
+
foreach ($giftCardIds as $giftCardId)
|
39 |
+
$this->giftCardDelete($giftCardId);
|
40 |
+
}
|
41 |
+
|
42 |
+
public function giftCardDelete($giftCardId)
|
43 |
+
{
|
44 |
+
$giftCard = Mage::getModel('giftcard/giftcard')->load($giftCardId);
|
45 |
+
$giftCard->delete();
|
46 |
+
}
|
47 |
+
|
48 |
+
public function exportGiftCardsCodes($giftCardIds, $format)
|
49 |
+
{
|
50 |
+
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
51 |
+
->addFieldToFilter('entity_id', array('in' => $giftCardIds));
|
52 |
+
|
53 |
+
switch ($format) {
|
54 |
+
case 'xlsx':
|
55 |
+
$adapter = Mage::getModel('giftcard/export_adapter_excel');
|
56 |
+
$file = Mage::helper('giftcard')->getExportFileTmpName('.xlsx');
|
57 |
+
break;
|
58 |
+
case 'csv':
|
59 |
+
$adapter = Mage::getModel('giftcard/export_adapter_csv');
|
60 |
+
$file = Mage::helper('giftcard')->getExportFileTmpName('.csv');
|
61 |
+
break;
|
62 |
+
}
|
63 |
+
|
64 |
+
$export = Mage::getModel('giftcard/export_collection');
|
65 |
+
$export->setCollection($collection);
|
66 |
+
$export->setAdapter($adapter);
|
67 |
+
$export->exportToFile($file);
|
68 |
+
|
69 |
+
return array(
|
70 |
+
'type' => 'filename',
|
71 |
+
'value' => $file,
|
72 |
+
'rm' => true // can delete file after use
|
73 |
+
);
|
74 |
+
}
|
75 |
+
|
76 |
+
public function assignGiftCardToOrder($order)
|
77 |
+
{
|
78 |
+
|
79 |
+
$items = $order->getAllVisibleItems();
|
80 |
+
$seriesAction = Mage::getModel('giftcard/series_action');
|
81 |
+
|
82 |
+
foreach ($items as $item) {
|
83 |
+
|
84 |
+
if ($item->getProductType() != MT_Giftcard_Model_Catalog_Product_Type::TYPE_GIFTCARD_PRODUCT)
|
85 |
+
continue;
|
86 |
+
|
87 |
+
$option = $item->getProductOptions();
|
88 |
+
$optionData = $option['info_buyRequest'];
|
89 |
+
if (!isset($optionData['giftcard_attribute']['giftcard_value']) || !is_numeric($optionData['giftcard_attribute']['giftcard_value']))
|
90 |
+
throw new Exception('Gift card value is not selected');
|
91 |
+
|
92 |
+
$giftCardSeriesId = $optionData['giftcard_attribute']['giftcard_value'];
|
93 |
+
$seriesAction->addNewCodeToOrder($giftCardSeriesId, $order, $item, $optionData['giftcard_attribute']);
|
94 |
+
}
|
95 |
+
|
96 |
+
}
|
97 |
+
|
98 |
+
public function exportOrderGiftCard($orderId, $format)
|
99 |
+
{
|
100 |
+
$giftCardIds = array();
|
101 |
+
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
102 |
+
->addFieldToFilter('order_id', $orderId);
|
103 |
+
|
104 |
+
if ($collection->count() == 0) {
|
105 |
+
return false;
|
106 |
+
}
|
107 |
+
|
108 |
+
foreach ($collection as $item) {
|
109 |
+
$giftCardIds[] = $item->getId();
|
110 |
+
}
|
111 |
+
|
112 |
+
return $this->exportGiftCardList($giftCardIds, $format);
|
113 |
+
}
|
114 |
+
public function exportGiftCardList($giftCardIds, $format)
|
115 |
+
{
|
116 |
+
$collection = Mage::getModel('giftcard/giftcard')->getCollection()
|
117 |
+
->addFieldToFilter('entity_id', array('in' => $giftCardIds));
|
118 |
+
|
119 |
+
$export = null;
|
120 |
+
switch ($format) {
|
121 |
+
case 'xlsx':
|
122 |
+
$adapter = Mage::getModel('giftcard/export_adapter_excel');
|
123 |
+
$file = Mage::helper('giftcard')->getExportFileTmpName('.xlsx');
|
124 |
+
$export = Mage::getModel('giftcard/export_collection');
|
125 |
+
break;
|
126 |
+
case 'csv':
|
127 |
+
$adapter = Mage::getModel('giftcard/export_adapter_csv');
|
128 |
+
$file = Mage::helper('giftcard')->getExportFileTmpName('.csv');
|
129 |
+
$export = Mage::getModel('giftcard/export_collection');
|
130 |
+
break;
|
131 |
+
case 'pdf':
|
132 |
+
$adapter = Mage::getModel('giftcard/export_adapter_pdf');
|
133 |
+
$file = Mage::helper('giftcard')->getExportFileTmpName('.pdf');
|
134 |
+
$export = Mage::getModel('giftcard/export_object');
|
135 |
+
break;
|
136 |
+
case 'zip':
|
137 |
+
$adapter = Mage::getModel('giftcard/export_adapter_zip');
|
138 |
+
$file = Mage::helper('giftcard')->getExportFileTmpName('.zip');
|
139 |
+
$export = Mage::getModel('giftcard/export_object');
|
140 |
+
break;
|
141 |
+
}
|
142 |
+
|
143 |
+
if ($export == null)
|
144 |
+
throw new Mage_Core_Exception(Mage::helper('giftcard')->__('Bad file format'));
|
145 |
+
|
146 |
+
$export->setCollection($collection);
|
147 |
+
$export->setAdapter($adapter);
|
148 |
+
$export->exportToFile($file);
|
149 |
+
|
150 |
+
return array(
|
151 |
+
'type' => 'filename',
|
152 |
+
'value' => $file,
|
153 |
+
'rm' => true // can delete file after use
|
154 |
+
);
|
155 |
+
}
|
156 |
}
|
app/code/community/MT/Giftcard/Model/Observer.php
CHANGED
@@ -1,199 +1,190 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Model_Observer
|
4 |
-
{
|
5 |
-
|
6 |
-
public function allowZeroCreditMemo($observer)
|
7 |
-
{
|
8 |
-
if (!Mage::helper('giftcard')->isActive())
|
9 |
-
return;
|
10 |
-
|
11 |
-
$creditMemo = $observer->getCreditmemo();
|
12 |
-
$order = $creditMemo->getOrder();
|
13 |
-
if($order->getBaseMtGiftCardTotal()!=0)
|
14 |
-
$creditMemo->setAllowZeroGrandTotal(1);
|
15 |
-
}
|
16 |
-
|
17 |
-
public function
|
18 |
-
{
|
19 |
-
$order = $
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
}
|
24 |
-
|
25 |
-
public function
|
26 |
-
{
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
->
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
->
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
if (
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
$
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
$
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
$
|
154 |
-
$
|
155 |
-
$
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
$
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
$
|
184 |
-
$
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
}
|
191 |
-
|
192 |
-
$creditMemo = $observer->getCreditmemo();
|
193 |
-
$creditMemo->getOrder()->setMtGiftCard(serialize($giftCards));
|
194 |
-
$creditMemo->getOrder()->setForcedCanCreditmemo(0);
|
195 |
-
$creditMemo->setMtGiftCard(serialize($giftCards));
|
196 |
-
|
197 |
-
return;
|
198 |
-
}
|
199 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Observer
|
4 |
+
{
|
5 |
+
|
6 |
+
public function allowZeroCreditMemo($observer)
|
7 |
+
{
|
8 |
+
if (!Mage::helper('giftcard')->isActive())
|
9 |
+
return;
|
10 |
+
|
11 |
+
$creditMemo = $observer->getCreditmemo();
|
12 |
+
$order = $creditMemo->getOrder();
|
13 |
+
if($order->getBaseMtGiftCardTotal()!=0)
|
14 |
+
$creditMemo->setAllowZeroGrandTotal(1);
|
15 |
+
}
|
16 |
+
|
17 |
+
public function createGiftCard($event)
|
18 |
+
{
|
19 |
+
$order = $event->getOrder();
|
20 |
+
Mage::getModel('giftcard/giftcard_action')->assignGiftCardToOrder($order);
|
21 |
+
|
22 |
+
Mage::dispatchEvent('giftcard_active_after', array('order' => $order));
|
23 |
+
}
|
24 |
+
|
25 |
+
public function activeGiftCard($observer)
|
26 |
+
{
|
27 |
+
if (!Mage::helper('giftcard')->isActive())
|
28 |
+
return;
|
29 |
+
|
30 |
+
$order = $observer->getInvoice()->getOrder();
|
31 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
32 |
+
->addFieldToFilter('order_id', $order->getId())
|
33 |
+
->addFieldToFilter('status', MT_Giftcard_Model_Giftcard::STATUS_PENDING);
|
34 |
+
|
35 |
+
if ($giftCardCollection->count() == 0)
|
36 |
+
return;
|
37 |
+
|
38 |
+
foreach ($giftCardCollection as $giftCard) {
|
39 |
+
$giftCard->setStatus(MT_Giftcard_Model_Giftcard::STATUS_SOLD);
|
40 |
+
$giftCard->setExpiredAt();
|
41 |
+
$giftCard->save();
|
42 |
+
}
|
43 |
+
Mage::dispatchEvent('giftcard_active_after', array('order' => $order));
|
44 |
+
return;
|
45 |
+
}
|
46 |
+
|
47 |
+
public function deactivateGiftCard($observer)
|
48 |
+
{
|
49 |
+
if (!Mage::helper('giftcard')->isActive())
|
50 |
+
return;
|
51 |
+
|
52 |
+
$order = $observer->getCreditmemo()->getOrder();
|
53 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
54 |
+
->addFieldToFilter('order_id', $order->getId())
|
55 |
+
->addFieldToFilter('status', MT_Giftcard_Model_Giftcard::STATUS_SOLD);
|
56 |
+
|
57 |
+
if ($giftCardCollection->count() == 0)
|
58 |
+
return;
|
59 |
+
|
60 |
+
foreach ($giftCardCollection as $giftCard) {
|
61 |
+
$giftCard->setStatus(MT_Giftcard_Model_Giftcard::STATUS_INACTIVE);
|
62 |
+
$giftCard->save();
|
63 |
+
}
|
64 |
+
|
65 |
+
return;
|
66 |
+
}
|
67 |
+
|
68 |
+
public function catalogProductSaveAfter($observer)
|
69 |
+
{
|
70 |
+
$event = $observer->getEvent();
|
71 |
+
$product = $event->getProduct();
|
72 |
+
$request = $event->getRequest();
|
73 |
+
$links = Mage::app()->getRequest()->getPost('links');
|
74 |
+
|
75 |
+
if (isset($links['giftcard']))
|
76 |
+
Mage::getModel('giftcard/series_action')->assignGiftCardSeriesToProduct($product->getId(), Mage::helper('adminhtml/js')->decodeGridSerializedInput($links['giftcard']));
|
77 |
+
}
|
78 |
+
|
79 |
+
public function discountGiftCardBalance($observer)
|
80 |
+
{
|
81 |
+
if (!Mage::helper('giftcard')->isActive())
|
82 |
+
return;
|
83 |
+
|
84 |
+
$order = $observer->getEvent()->getOrder();
|
85 |
+
$quote = Mage::getSingleton('checkout/cart')->getQuote();
|
86 |
+
$baseCurrency = $quote->getBaseCurrencyCode();
|
87 |
+
$quoteCurrency = $quote->getQuoteCurrencyCode();
|
88 |
+
$addressesCollection = $quote->getAddressesCollection();
|
89 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
90 |
+
|
91 |
+
foreach ($addressesCollection as $address) {
|
92 |
+
$discountLabel = '';
|
93 |
+
$totalGiftCardBalance = 0;
|
94 |
+
|
95 |
+
//in base currency
|
96 |
+
$discountedFromGiftCard = $address->getBaseMtGiftCardTotal() * -1;
|
97 |
+
if ($discountedFromGiftCard == 0)
|
98 |
+
continue;
|
99 |
+
|
100 |
+
$giftCardCollection = $giftCardQuote->getGiftCardCollection($quote->getId());
|
101 |
+
|
102 |
+
$totalGiftCardBalance = $this->getTotalBalance($giftCardCollection, $baseCurrency);
|
103 |
+
if ($totalGiftCardBalance < $discountedFromGiftCard)
|
104 |
+
throw new Mage_Core_Exception(Mage::helper('giftcard')->__('Not enough balance in gift card'));
|
105 |
+
|
106 |
+
foreach ($giftCardCollection as $giftCard) {
|
107 |
+
$giftCardBalance = $giftCard->getBalance($baseCurrency);
|
108 |
+
if ($discountedFromGiftCard >= $giftCardBalance) {
|
109 |
+
$discount = $giftCardBalance;
|
110 |
+
} else {
|
111 |
+
$discount = $discountedFromGiftCard;
|
112 |
+
}
|
113 |
+
|
114 |
+
//in base currency
|
115 |
+
$balance = $giftCardBalance - $discount;
|
116 |
+
$giftCard->discount($balance, $baseCurrency);
|
117 |
+
$discountedFromGiftCard -= $discount;
|
118 |
+
|
119 |
+
if ($quoteCurrency == $baseCurrency) {
|
120 |
+
$quoteDiscount = $discount;
|
121 |
+
} else {
|
122 |
+
$quoteDiscount = Mage::helper('directory')->currencyConvert(
|
123 |
+
$discount,
|
124 |
+
$baseCurrency,
|
125 |
+
$quoteCurrency
|
126 |
+
);
|
127 |
+
$quoteDiscount = number_format($quoteDiscount, 2);
|
128 |
+
}
|
129 |
+
|
130 |
+
Mage::getModel('giftcard/order')->addGiftCardByCode($order->getId(), $giftCard->getCode(), $quoteDiscount, $discount);
|
131 |
+
|
132 |
+
if ($totalGiftCardBalance <= 0 || $discountedFromGiftCard <= 0)
|
133 |
+
break;
|
134 |
+
}
|
135 |
+
}
|
136 |
+
}
|
137 |
+
|
138 |
+
protected function getTotalBalance($giftCardCollection, $currency)
|
139 |
+
{
|
140 |
+
$totalGiftCardBalance = 0;
|
141 |
+
foreach ($giftCardCollection as $giftCard) {
|
142 |
+
$totalGiftCardBalance += $giftCard->getBalance($currency);
|
143 |
+
}
|
144 |
+
return $totalGiftCardBalance;
|
145 |
+
}
|
146 |
+
|
147 |
+
public function refundGiftCardBalance($observer)
|
148 |
+
{
|
149 |
+
$giftCardOrderItemIds = Mage::app()->getRequest()->getParam('gift_card_order_item');
|
150 |
+
if (count($giftCardOrderItemIds) == 0)
|
151 |
+
return;
|
152 |
+
|
153 |
+
$totalRefund = 0;
|
154 |
+
$totalBaseRefund = 0;
|
155 |
+
$creditMemo = $observer->getCreditmemo();
|
156 |
+
$order = $creditMemo->getOrder();
|
157 |
+
$baseCurrency = $order->getBaseCurrencyCode();
|
158 |
+
$orderCurrency = $order->getOrderCurrencyCode();
|
159 |
+
|
160 |
+
foreach ($giftCardOrderItemIds as $itemId => $baseRefundValue)
|
161 |
+
{
|
162 |
+
$giftCardOrder = Mage::getModel('giftcard/order')->load($itemId);
|
163 |
+
if (!$giftCardOrder->getId()) {
|
164 |
+
continue;
|
165 |
+
}
|
166 |
+
$giftCard = $giftCardOrder->getGiftCard();
|
167 |
+
if (!$giftCard->getId() || $baseRefundValue == 0) {
|
168 |
+
continue;
|
169 |
+
}
|
170 |
+
$giftCard->refund($baseRefundValue, $baseCurrency);
|
171 |
+
|
172 |
+
if ($orderCurrency == $baseCurrency) {
|
173 |
+
$refundValue = $baseRefundValue;
|
174 |
+
} else {
|
175 |
+
$refundValue = Mage::helper('directory')->currencyConvert(
|
176 |
+
$baseRefundValue,
|
177 |
+
$baseCurrency,
|
178 |
+
$orderCurrency
|
179 |
+
);
|
180 |
+
$refundValue = number_format($refundValue, 2);
|
181 |
+
}
|
182 |
+
$giftCardOrder->setBaseRefund($baseRefundValue);
|
183 |
+
$giftCardOrder->setRefund($refundValue);
|
184 |
+
$giftCardOrder->save();
|
185 |
+
$totalRefund+=$refundValue;
|
186 |
+
$totalBaseRefund+=$baseRefundValue;
|
187 |
+
}
|
188 |
+
return;
|
189 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
}
|
app/code/community/MT/Giftcard/Model/Order.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Order extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
private $__giftCardCollection = array();
|
6 |
+
|
7 |
+
private $__itemCollection = array();
|
8 |
+
|
9 |
+
protected function _construct()
|
10 |
+
{
|
11 |
+
$this->_init('giftcard/order');
|
12 |
+
}
|
13 |
+
|
14 |
+
public function addGiftCardByCode($orderId, $giftCardCode, $discount = 0, $baseDiscount = 0)
|
15 |
+
{
|
16 |
+
|
17 |
+
if ($this->isAddedToOrder($orderId, $giftCardCode)) {
|
18 |
+
throw new Exception('Something is wrong. Gift card already exist in order!');
|
19 |
+
}
|
20 |
+
|
21 |
+
$this->setOrderId($orderId);
|
22 |
+
$this->setGiftCardCode($giftCardCode);
|
23 |
+
$this->setDiscount($discount);
|
24 |
+
$this->setBaseDiscount($baseDiscount);
|
25 |
+
$this->save();
|
26 |
+
|
27 |
+
if (!$this->getId()) {
|
28 |
+
return false;
|
29 |
+
}
|
30 |
+
|
31 |
+
return true;
|
32 |
+
}
|
33 |
+
|
34 |
+
public function isAddedToOrder($orderId, $giftCardCode)
|
35 |
+
{
|
36 |
+
$giftCardCollection = $this->getCollection()
|
37 |
+
->addFieldToFilter('gift_card_code', $giftCardCode)
|
38 |
+
->addFieldToFilter('order_id', $orderId);
|
39 |
+
return count($giftCardCollection) == 1;
|
40 |
+
}
|
41 |
+
|
42 |
+
public function getGiftCardCollection($orderId)
|
43 |
+
{
|
44 |
+
if (!isset($this->__giftCardCollection[$orderId])) {
|
45 |
+
$quoteCollection = Mage::getModel('giftcard/order')->getCollection()
|
46 |
+
->addFieldToFilter('order_id', $orderId);
|
47 |
+
if (count($quoteCollection) == 0) {
|
48 |
+
$this->__giftCardCollection[$orderId] = null;
|
49 |
+
}
|
50 |
+
$gifCardIds = array();
|
51 |
+
foreach ($quoteCollection as $item) {
|
52 |
+
$gifCardIds[] = $item->getGiftCardId();
|
53 |
+
}
|
54 |
+
|
55 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
56 |
+
->addFieldToFilter('entity_id', array('in' => $gifCardIds));
|
57 |
+
|
58 |
+
$this->__giftCardCollection[$orderId] = $giftCardCollection;
|
59 |
+
}
|
60 |
+
|
61 |
+
return $this->__giftCardCollection[$orderId];
|
62 |
+
}
|
63 |
+
|
64 |
+
public function getCollectionByOrderId($orderId)
|
65 |
+
{
|
66 |
+
if (!isset($this->__itemCollection[$orderId])) {
|
67 |
+
$collection = Mage::getModel('giftcard/order')->getCollection()
|
68 |
+
->addFieldToFilter('order_id', $orderId);
|
69 |
+
|
70 |
+
if ($collection->count() == 0) {
|
71 |
+
$this->__itemCollection[$orderId] = null;
|
72 |
+
}
|
73 |
+
$this->__itemCollection[$orderId] = $collection;
|
74 |
+
}
|
75 |
+
return $this->__itemCollection[$orderId];
|
76 |
+
}
|
77 |
+
|
78 |
+
public function getGiftCard()
|
79 |
+
{
|
80 |
+
if (!$this->getId()) {
|
81 |
+
return null;
|
82 |
+
}
|
83 |
+
|
84 |
+
$gifCard = Mage::getModel('giftcard/giftcard')->loadByCode($this->getGiftCardCode());
|
85 |
+
return $gifCard;
|
86 |
+
}
|
87 |
+
}
|
app/code/community/MT/Giftcard/Model/Quote.php
ADDED
@@ -0,0 +1,195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Quote extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
private $__error = '';
|
7 |
+
|
8 |
+
private $__giftCardCollection = array();
|
9 |
+
|
10 |
+
protected function _construct()
|
11 |
+
{
|
12 |
+
$this->_init('giftcard/quote');
|
13 |
+
}
|
14 |
+
|
15 |
+
public function isGiftCardCodeValid($quoteId, $giftCardCode)
|
16 |
+
{
|
17 |
+
$helper = Mage::helper('giftcard');
|
18 |
+
$codeLength = strlen($giftCardCode);
|
19 |
+
$isCodeLengthValid = $codeLength > 0 && $codeLength <= MT_Giftcard_Model_Giftcard::GIFT_CARD_CODE_MAX_LENGTH;
|
20 |
+
|
21 |
+
if (!$isCodeLengthValid) {
|
22 |
+
$this->setError($helper->__('Bad gift card code.'));
|
23 |
+
return false;
|
24 |
+
}
|
25 |
+
|
26 |
+
$giftCard = Mage::getModel('giftcard/giftcard');
|
27 |
+
$giftCard->loadByCode($giftCardCode);
|
28 |
+
if (!$giftCard->getId() || !$giftCard->isSold()) {
|
29 |
+
$this->setError($helper->__('Bad gift card code.'));
|
30 |
+
return false;
|
31 |
+
}
|
32 |
+
|
33 |
+
if ($this->isAddedToQuote($quoteId, $giftCard->getId())) {
|
34 |
+
$this->setError($helper->__('This gift card already added.'));
|
35 |
+
return false;
|
36 |
+
}
|
37 |
+
|
38 |
+
return true;
|
39 |
+
}
|
40 |
+
|
41 |
+
public function setError($errorMsg)
|
42 |
+
{
|
43 |
+
$this->__error = $errorMsg;
|
44 |
+
}
|
45 |
+
|
46 |
+
public function getError()
|
47 |
+
{
|
48 |
+
return $this->__error;
|
49 |
+
}
|
50 |
+
|
51 |
+
public function addGiftCardByCode($quoteId, $giftCardCode)
|
52 |
+
{
|
53 |
+
if (!$this->isGiftCardCodeValid($quoteId, $giftCardCode)) {
|
54 |
+
throw new Mage_Core_Exception($this->getError());
|
55 |
+
}
|
56 |
+
|
57 |
+
$giftCard = Mage::getModel('giftcard/giftcard');
|
58 |
+
$giftCard->loadByCode($giftCardCode);
|
59 |
+
|
60 |
+
$this->setQuoteId($quoteId);
|
61 |
+
$this->setGiftCardId($giftCard->getId());
|
62 |
+
$this->save();
|
63 |
+
|
64 |
+
if (!$this->getId()) {
|
65 |
+
return false;
|
66 |
+
}
|
67 |
+
|
68 |
+
return true;
|
69 |
+
}
|
70 |
+
|
71 |
+
public function removeGiftCardArrayFromQuote($quoteId, array $codes)
|
72 |
+
{
|
73 |
+
if (count($codes) == 0) {
|
74 |
+
return true;
|
75 |
+
}
|
76 |
+
|
77 |
+
foreach ($codes as $code) {
|
78 |
+
$this->removeGiftCardByCode($quoteId, $code);
|
79 |
+
}
|
80 |
+
|
81 |
+
return true;
|
82 |
+
}
|
83 |
+
|
84 |
+
public function removeGiftCardByCode($quoteId, $code)
|
85 |
+
{
|
86 |
+
$giftCard = Mage::getModel('giftcard/giftcard')->loadByCode($code);
|
87 |
+
if (!$giftCard->getId()) {
|
88 |
+
return false;
|
89 |
+
}
|
90 |
+
|
91 |
+
$giftCardQuote = Mage::getModel('giftcard/quote')->getCollection()
|
92 |
+
->addFieldToFilter('gift_card_id', $giftCard->getId())
|
93 |
+
->addFieldToFilter('quote_id', $quoteId);
|
94 |
+
|
95 |
+
if ($giftCardQuote->count() == 0) {
|
96 |
+
return false;
|
97 |
+
}
|
98 |
+
|
99 |
+
foreach ($giftCardQuote as $item) {
|
100 |
+
$item->delete();
|
101 |
+
}
|
102 |
+
|
103 |
+
return true;
|
104 |
+
}
|
105 |
+
|
106 |
+
public function removeAllGiftCardFromQuote($quoteId)
|
107 |
+
{
|
108 |
+
$giftCardQuote = Mage::getModel('giftcard/quote')->getCollection()
|
109 |
+
->addFieldToFilter('quote_id', $quoteId);
|
110 |
+
|
111 |
+
if ($giftCardQuote->count() == 0) {
|
112 |
+
return false;
|
113 |
+
}
|
114 |
+
|
115 |
+
foreach ($giftCardQuote as $item) {
|
116 |
+
$item->delete();
|
117 |
+
}
|
118 |
+
|
119 |
+
return true;
|
120 |
+
}
|
121 |
+
|
122 |
+
public function isAddedToQuote($quoteId, $giftCardId)
|
123 |
+
{
|
124 |
+
$giftCardCollection = $this->getCollection()
|
125 |
+
->addFieldToFilter('gift_card_id', $giftCardId)
|
126 |
+
->addFieldToFilter('quote_id', $quoteId);
|
127 |
+
return count($giftCardCollection) == 1;
|
128 |
+
}
|
129 |
+
|
130 |
+
public function getGiftCardCollection($quoteId)
|
131 |
+
{
|
132 |
+
if (!isset($this->__giftCardCollection[$quoteId])) {
|
133 |
+
$quoteCollection = Mage::getModel('giftcard/quote')->getCollection()
|
134 |
+
->addFieldToFilter('quote_id', $quoteId);
|
135 |
+
if (count($quoteCollection) == 0) {
|
136 |
+
$this->__giftCardCollection[$quoteId] = null;
|
137 |
+
}
|
138 |
+
$gifCardIds = array();
|
139 |
+
foreach ($quoteCollection as $item) {
|
140 |
+
$gifCardIds[] = $item->getGiftCardId();
|
141 |
+
}
|
142 |
+
|
143 |
+
$giftCardCollection = Mage::getModel('giftcard/giftcard')->getCollection()
|
144 |
+
->addFieldToFilter('entity_id', array('in' => $gifCardIds))
|
145 |
+
->addFieldToFilter('status', MT_Giftcard_Model_Giftcard::STATUS_SOLD)
|
146 |
+
->addFieldToFilter('balance', array('gt' => 0));
|
147 |
+
|
148 |
+
$this->__giftCardCollection[$quoteId] = $giftCardCollection;
|
149 |
+
}
|
150 |
+
|
151 |
+
return $this->__giftCardCollection[$quoteId];
|
152 |
+
}
|
153 |
+
|
154 |
+
public function calculateDiscount(Mage_Sales_Model_Quote_Address $address, $currencyCode)
|
155 |
+
{
|
156 |
+
$giftCardDiscount = 0;
|
157 |
+
$total = 0;
|
158 |
+
$totals = $address->getAllTotalAmounts();
|
159 |
+
$quote = $address->getQuote();
|
160 |
+
if (count($totals) > 0) {
|
161 |
+
foreach ($totals as $amount) {
|
162 |
+
$total+=$amount;
|
163 |
+
}
|
164 |
+
}
|
165 |
+
if ($total > 0) {
|
166 |
+
$giftCardDiscount = 0;
|
167 |
+
$appliedGiftCardCollection = $this->getGiftCardCollection($quote->getId());
|
168 |
+
if (count($appliedGiftCardCollection) > 0) {
|
169 |
+
foreach ($appliedGiftCardCollection as $giftCard){
|
170 |
+
$balance = $giftCard->getBalance($currencyCode);
|
171 |
+
$giftCardDiscount-=$balance;
|
172 |
+
}
|
173 |
+
}
|
174 |
+
|
175 |
+
//if total less than gift cards balance
|
176 |
+
if ($giftCardDiscount < $total*-1)
|
177 |
+
$giftCardDiscount = $total*-1;
|
178 |
+
}
|
179 |
+
|
180 |
+
return $giftCardDiscount;
|
181 |
+
}
|
182 |
+
|
183 |
+
public function saveDiscount($quoteId, $giftCardId, $discount, $baseDiscount)
|
184 |
+
{
|
185 |
+
$giftCardQuote = Mage::getModel('giftcard/quote')->getCollection()
|
186 |
+
->addFieldToFilter('gift_card_id', $giftCardId)
|
187 |
+
->addFieldToFilter('quote_id', $quoteId);
|
188 |
+
|
189 |
+
foreach ($giftCardQuote as $item) {
|
190 |
+
$item->setDiscount($discount);
|
191 |
+
$item->setBaseDiscount($baseDiscount);
|
192 |
+
$item->save();
|
193 |
+
}
|
194 |
+
}
|
195 |
+
}
|
app/code/community/MT/Giftcard/Model/Resource/Giftcard/Collection.php
CHANGED
@@ -5,5 +5,4 @@ class MT_Giftcard_Model_Resource_Giftcard_Collection extends Mage_Core_Model_Mys
|
|
5 |
{
|
6 |
$this->_init('giftcard/giftcard');
|
7 |
}
|
8 |
-
|
9 |
}
|
5 |
{
|
6 |
$this->_init('giftcard/giftcard');
|
7 |
}
|
|
|
8 |
}
|
app/code/community/MT/Giftcard/Model/Resource/Order.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class MT_Giftcard_Model_Resource_Order extends Mage_Core_Model_Mysql4_Abstract
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
$this->_init('giftcard/order', 'entity_id');
|
7 |
+
}
|
8 |
+
}
|
app/code/community/MT/Giftcard/Model/Resource/Order/Collection.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class MT_Giftcard_Model_Resource_Order_Collection
|
3 |
+
extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
protected function _construct()
|
6 |
+
{
|
7 |
+
$this->_init('giftcard/order');
|
8 |
+
}
|
9 |
+
}
|
app/code/community/MT/Giftcard/Model/Resource/Quote.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class MT_Giftcard_Model_Resource_Quote extends Mage_Core_Model_Mysql4_Abstract
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
$this->_init('giftcard/quote', 'entity_id');
|
7 |
+
}
|
8 |
+
}
|
app/code/community/MT/Giftcard/Model/Resource/Quote/Collection.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class MT_Giftcard_Model_Resource_Quote_Collection
|
3 |
+
extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
protected function _construct()
|
6 |
+
{
|
7 |
+
$this->_init('giftcard/quote');
|
8 |
+
}
|
9 |
+
}
|
app/code/community/MT/Giftcard/Model/Resource/Series.php
CHANGED
@@ -6,5 +6,4 @@ class MT_Giftcard_Model_Resource_Series extends Mage_Core_Model_Mysql4_Abstract
|
|
6 |
$this->_init('giftcard/series', 'entity_id');
|
7 |
}
|
8 |
|
9 |
-
|
10 |
}
|
6 |
$this->_init('giftcard/series', 'entity_id');
|
7 |
}
|
8 |
|
|
|
9 |
}
|
app/code/community/MT/Giftcard/Model/Resource/Series/Collection.php
CHANGED
@@ -5,6 +5,4 @@ class MT_Giftcard_Model_Resource_Series_Collection extends Mage_Core_Model_Mysql
|
|
5 |
{
|
6 |
$this->_init('giftcard/series');
|
7 |
}
|
8 |
-
|
9 |
-
|
10 |
}
|
5 |
{
|
6 |
$this->_init('giftcard/series');
|
7 |
}
|
|
|
|
|
8 |
}
|
app/code/community/MT/Giftcard/Model/Sales/Order/Creditmemo/Total/Giftcard.php
CHANGED
@@ -1,19 +1,14 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Model_Sales_Order_Creditmemo_Total_Giftcard
|
4 |
-
extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
$
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
$creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $giftCardRefund);
|
16 |
-
$creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseGiftCardRefund);
|
17 |
-
return $this;
|
18 |
-
}
|
19 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Sales_Order_Creditmemo_Total_Giftcard
|
4 |
+
extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
|
5 |
+
{
|
6 |
+
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo)
|
7 |
+
{
|
8 |
+
parent::collect($creditmemo);
|
9 |
+
$order = $creditmemo->getOrder();
|
10 |
+
$creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $order->getMtGiftCardTotal());
|
11 |
+
$creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $order->getBaseMtGiftCardTotal());
|
12 |
+
return $this;
|
13 |
+
}
|
14 |
+
}
|
|
|
|
|
|
|
|
|
|
app/code/community/MT/Giftcard/Model/Sales/Quote/Total/Giftcard.php
CHANGED
@@ -1,53 +1,44 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Model_Sales_Quote_Total_Giftcard
|
4 |
-
extends Mage_Sales_Model_Quote_Address_Total_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
$address->
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
$
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
$address->addTotal(array(
|
46 |
-
'code' => $this->getCode(),
|
47 |
-
'title' => $title,
|
48 |
-
'value' => $giftCardDiscount
|
49 |
-
));
|
50 |
-
}
|
51 |
-
return $this;
|
52 |
-
}
|
53 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Model_Sales_Quote_Total_Giftcard
|
4 |
+
extends Mage_Sales_Model_Quote_Address_Total_Abstract
|
5 |
+
{
|
6 |
+
|
7 |
+
public function collect(Mage_Sales_Model_Quote_Address $address)
|
8 |
+
{
|
9 |
+
parent::collect($address);
|
10 |
+
|
11 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
12 |
+
$quote = $address->getQuote();
|
13 |
+
$baseDiscount = $giftCardQuote->calculateDiscount($address, $quote->getBaseCurrencyCode());
|
14 |
+
$discount = $giftCardQuote->calculateDiscount($address, $quote->getQuoteCurrencyCode());
|
15 |
+
|
16 |
+
$this->_addAmount($discount);
|
17 |
+
$this->_addBaseAmount($baseDiscount);
|
18 |
+
|
19 |
+
$address->setMtGiftCardTotal($discount);
|
20 |
+
$address->setBaseMtGiftCardTotal($baseDiscount);
|
21 |
+
return $this;
|
22 |
+
}
|
23 |
+
|
24 |
+
public function fetch(Mage_Sales_Model_Quote_Address $address)
|
25 |
+
{
|
26 |
+
|
27 |
+
if ($address->getMtGiftCardTotal() < 0) {
|
28 |
+
$giftCardDiscount = $address->getMtGiftCardTotal();
|
29 |
+
$description = $address->getGiftCardDescription();
|
30 |
+
if (strlen($description)) {
|
31 |
+
$title = Mage::helper('giftcard')->__('Gift Card Discount (%s)', $description);
|
32 |
+
} else {
|
33 |
+
$title = Mage::helper('giftcard')->__('Gift Card Discount');
|
34 |
+
}
|
35 |
+
|
36 |
+
$address->addTotal(array(
|
37 |
+
'code' => $this->getCode(),
|
38 |
+
'title' => $title,
|
39 |
+
'value' => $giftCardDiscount
|
40 |
+
));
|
41 |
+
}
|
42 |
+
return $this;
|
43 |
+
}
|
44 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/MT/Giftcard/Model/Series.php
CHANGED
@@ -158,4 +158,9 @@ class MT_Giftcard_Model_Series extends Mage_Core_Model_Abstract
|
|
158 |
|
159 |
return $seriesCollection;
|
160 |
}
|
|
|
|
|
|
|
|
|
|
|
161 |
}
|
158 |
|
159 |
return $seriesCollection;
|
160 |
}
|
161 |
+
|
162 |
+
public function getCurrency()
|
163 |
+
{
|
164 |
+
return Mage::app()->getStore()->getBaseCurrencyCode();
|
165 |
+
}
|
166 |
}
|
app/code/community/MT/Giftcard/controllers/Checkout/CartController.php
CHANGED
@@ -1,312 +1,225 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class MT_Giftcard_Checkout_CartController
|
4 |
-
extends Mage_Core_Controller_Front_Action
|
5 |
-
{
|
6 |
-
|
7 |
-
public function clearGiftCardCodeAjaxAction()
|
8 |
-
{
|
9 |
-
$error = false;
|
10 |
-
$success = false;
|
11 |
-
try {
|
12 |
-
$this->_getQuote()->
|
13 |
-
$
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
} catch (
|
21 |
-
$error = $
|
22 |
-
}
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
)
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
$
|
39 |
-
|
40 |
-
$
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
$
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
$
|
68 |
-
|
69 |
-
)))
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
}
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
$
|
113 |
-
}
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
'
|
122 |
-
))
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
}
|
227 |
-
} else {
|
228 |
-
$this->_getSession()->addSuccess($this->__('Gift card was canceled.'));
|
229 |
-
}
|
230 |
-
|
231 |
-
} catch (Mage_Core_Exception $e) {
|
232 |
-
$this->_getSession()->addError($e->getMessage());
|
233 |
-
} catch (Exception $e) {
|
234 |
-
$this->_getSession()->addError($this->__('Cannot apply the gift card.'));
|
235 |
-
Mage::logException($e);
|
236 |
-
}
|
237 |
-
|
238 |
-
$this->_goBack();
|
239 |
-
}
|
240 |
-
|
241 |
-
public function giftCardRemoveAction()
|
242 |
-
{
|
243 |
-
$removeCodes = $this->getRequest()->getParam('giftcard_remove');
|
244 |
-
|
245 |
-
if (count($removeCodes) == 0) {
|
246 |
-
$this->_goBack();
|
247 |
-
$this->_getSession()->addError($this->__('Please select Gift Cards which want to remove.'));
|
248 |
-
return;
|
249 |
-
}
|
250 |
-
$helper = Mage::helper('giftcard');
|
251 |
-
$giftCardCodes = $helper->removeQuoteGiftCardCodes($this->_getQuote()->getMtGiftCard(),$removeCodes);
|
252 |
-
|
253 |
-
try {
|
254 |
-
$this->_getQuote()->getShippingAddress()->setCollectShippingRates(true);
|
255 |
-
$this->_getQuote()->setMtGiftCard($giftCardCodes)
|
256 |
-
->collectTotals()
|
257 |
-
->save();
|
258 |
-
|
259 |
-
if ($this->_getQuote()->getMtGiftCard() == $giftCardCodes) {
|
260 |
-
$this->_getSession()->addSuccess(
|
261 |
-
$this->__('Gift cards was deleted.')
|
262 |
-
);
|
263 |
-
}
|
264 |
-
} catch (Mage_Core_Exception $e) {
|
265 |
-
$this->_getSession()->addError($e->getMessage());
|
266 |
-
} catch (Exception $e) {
|
267 |
-
$this->_getSession()->addError($this->__('Cannot delete the gift cards.'));
|
268 |
-
Mage::logException($e);
|
269 |
-
}
|
270 |
-
$this->_goBack();
|
271 |
-
}
|
272 |
-
|
273 |
-
protected function _getCart()
|
274 |
-
{
|
275 |
-
return Mage::getSingleton('checkout/cart');
|
276 |
-
}
|
277 |
-
|
278 |
-
protected function _getQuote()
|
279 |
-
{
|
280 |
-
return $this->_getCart()->getQuote();
|
281 |
-
}
|
282 |
-
|
283 |
-
protected function _getSession()
|
284 |
-
{
|
285 |
-
return Mage::getSingleton('checkout/session');
|
286 |
-
}
|
287 |
-
|
288 |
-
protected function _goBack()
|
289 |
-
{
|
290 |
-
$returnUrl = $this->getRequest()->getParam('return_url');
|
291 |
-
if ($returnUrl) {
|
292 |
-
|
293 |
-
if (!$this->_isUrlInternal($returnUrl)) {
|
294 |
-
throw new Mage_Exception('External urls redirect to "' . $returnUrl . '" denied!');
|
295 |
-
}
|
296 |
-
|
297 |
-
$this->_getSession()->getMessages(true);
|
298 |
-
$this->getResponse()->setRedirect($returnUrl);
|
299 |
-
} elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
|
300 |
-
&& !$this->getRequest()->getParam('in_cart')
|
301 |
-
&& $backUrl = $this->_getRefererUrl()
|
302 |
-
) {
|
303 |
-
$this->getResponse()->setRedirect($backUrl);
|
304 |
-
} else {
|
305 |
-
if (($this->getRequest()->getActionName() == 'add') && !$this->getRequest()->getParam('in_cart')) {
|
306 |
-
$this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
|
307 |
-
}
|
308 |
-
$this->_redirect('checkout/cart');
|
309 |
-
}
|
310 |
-
return $this;
|
311 |
-
}
|
312 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class MT_Giftcard_Checkout_CartController
|
4 |
+
extends Mage_Core_Controller_Front_Action
|
5 |
+
{
|
6 |
+
|
7 |
+
public function clearGiftCardCodeAjaxAction()
|
8 |
+
{
|
9 |
+
$error = false;
|
10 |
+
$success = false;
|
11 |
+
try {
|
12 |
+
$quoteId = $this->_getQuote()->getId();
|
13 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
14 |
+
|
15 |
+
if ($giftCardQuote->removeAllGiftCardFromQuote($quoteId)) {
|
16 |
+
$success = $this->__('Gift cards was removed.');
|
17 |
+
}
|
18 |
+
} catch (Mage_Core_Exception $e) {
|
19 |
+
$error = $e->getMessage();
|
20 |
+
} catch (Exception $e) {
|
21 |
+
$error = $this->__('Cannot delete the gift cards.');
|
22 |
+
}
|
23 |
+
|
24 |
+
$content = $this->getLayout()->createBlock('giftcard/payment_giftcard_form_giftcard','payment_giftcard_form_giftcard',array(
|
25 |
+
'error' => $error,
|
26 |
+
'success' => $success,
|
27 |
+
))->renderView();
|
28 |
+
|
29 |
+
$this->getResponse()->setBody(json_encode(array(
|
30 |
+
'content' => $content
|
31 |
+
)));
|
32 |
+
}
|
33 |
+
|
34 |
+
public function removeGiftCardCodeAjaxAction()
|
35 |
+
{
|
36 |
+
$giftCardCode = $this->getRequest()->getParam('giftcard_code');
|
37 |
+
$error = false;
|
38 |
+
$success = false;
|
39 |
+
|
40 |
+
if (!empty($giftCardCode)) {
|
41 |
+
try {
|
42 |
+
$quoteId = $this->_getQuote()->getId();
|
43 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
44 |
+
if ($giftCardQuote->removeGiftCardByCode($quoteId, $giftCardCode)) {
|
45 |
+
$success = $this->__('Gift cards was removed.');
|
46 |
+
}
|
47 |
+
} catch (Mage_Core_Exception $e) {
|
48 |
+
$error = $e->getMessage();
|
49 |
+
} catch (Exception $e) {
|
50 |
+
$error = $this->__('Cannot delete the gift cards.');
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
$content = $this->getLayout()->createBlock('giftcard/payment_giftcard_form_giftcard','payment_giftcard_form_giftcard',array(
|
55 |
+
'error' => $error,
|
56 |
+
'success' => $success,
|
57 |
+
))->renderView();
|
58 |
+
|
59 |
+
$this->getResponse()->setBody(json_encode(array(
|
60 |
+
'content' => $content
|
61 |
+
)));
|
62 |
+
}
|
63 |
+
|
64 |
+
public function addGiftCardCodeAjaxAction()
|
65 |
+
{
|
66 |
+
$error = false;
|
67 |
+
$success = '';
|
68 |
+
|
69 |
+
if ($this->_getCart()->getQuote()->getItemsCount()) {
|
70 |
+
$giftCardCode = (string) $this->getRequest()->getParam('giftcard_code');
|
71 |
+
try {
|
72 |
+
$quoteId = $this->_getQuote()->getId();
|
73 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
74 |
+
if (!$giftCardQuote->addGiftCardByCode($quoteId, $giftCardCode)) {
|
75 |
+
$error = $this->__('Gift card "%s" is not valid.', Mage::helper('core')->escapeHtml($giftCardCode));
|
76 |
+
}
|
77 |
+
} catch (Mage_Core_Exception $e) {
|
78 |
+
$error = $e->getMessage();
|
79 |
+
} catch (Exception $e) {
|
80 |
+
$error = $this->__('Cannot apply the gift card.');
|
81 |
+
Mage::logException($e);
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
$content = $this->getLayout()->createBlock('giftcard/payment_giftcard_form_giftcard','payment_giftcard_form_giftcard',array(
|
86 |
+
'error' => $error,
|
87 |
+
'success' => $success,
|
88 |
+
))->renderView();
|
89 |
+
|
90 |
+
$this->getResponse()->setBody(json_encode(array(
|
91 |
+
'content' => $content
|
92 |
+
)));
|
93 |
+
}
|
94 |
+
|
95 |
+
public function giftCardAjaxAction()
|
96 |
+
{
|
97 |
+
$error = false;
|
98 |
+
|
99 |
+
if ($this->_getCart()->getQuote()->getItemsCount()) {
|
100 |
+
$giftCardCode = (string) $this->getRequest()->getParam('giftcard_code');
|
101 |
+
$helper = Mage::helper('giftcard');
|
102 |
+
try {
|
103 |
+
$quoteId = $this->_getQuote()->getId();
|
104 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
105 |
+
if (!$giftCardQuote->addGiftCardByCode($quoteId, $giftCardCode)) {
|
106 |
+
$error = $this->__('Gift card "%s" is not valid.', Mage::helper('core')->escapeHtml($giftCardCode));
|
107 |
+
}
|
108 |
+
} catch (Mage_Core_Exception $e) {
|
109 |
+
$error = $e->getMessage();
|
110 |
+
} catch (Exception $e) {
|
111 |
+
$error = $this->__('Cannot apply the gift card.');
|
112 |
+
Mage::logException($e);
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
$response = $this->getLayout()->createBlock('giftcard/payment_giftcard_form_giftcard','payment_giftcard_form_giftcard',array(
|
117 |
+
'error' => $error,
|
118 |
+
))->renderView();
|
119 |
+
|
120 |
+
$this->getResponse()->setBody(json_encode(array(
|
121 |
+
'content' => $response
|
122 |
+
)));
|
123 |
+
}
|
124 |
+
|
125 |
+
public function giftCardPostAction()
|
126 |
+
{
|
127 |
+
if ($this->getRequest()->getParam('remove') == 1) {
|
128 |
+
$this->_forward('giftCardRemove');
|
129 |
+
return;
|
130 |
+
}
|
131 |
+
|
132 |
+
if (!$this->_getCart()->getQuote()->getItemsCount()) {
|
133 |
+
$this->_goBack();
|
134 |
+
return;
|
135 |
+
}
|
136 |
+
|
137 |
+
$giftCardCode = (string) $this->getRequest()->getParam('giftcard_code');
|
138 |
+
|
139 |
+
try {
|
140 |
+
$quoteId = $this->_getQuote()->getId();
|
141 |
+
$giftCardQuote = Mage::getModel('giftcard/quote');
|
142 |
+
if ($giftCardQuote->addGiftCardByCode($quoteId, $giftCardCode)) {
|
143 |
+
$this->_getSession()->addSuccess(
|
144 |
+
$this->__('Gift card "%s" was applied.', Mage::helper('core')->escapeHtml($giftCardCode))
|
145 |
+
);
|
146 |
+
} else {
|
147 |
+
$this->_getSession()->addError(
|
148 |
+
$this->__('Gift card "%s" is not valid.', Mage::helper('core')->escapeHtml($giftCardCode))
|
149 |
+
);
|
150 |
+
}
|
151 |
+
} catch (Mage_Core_Exception $e) {
|
152 |
+
$this->_getSession()->addError($e->getMessage());
|
153 |
+
} catch (Exception $e) { print_r($e);
|
154 |
+
$this->_getSession()->addError($this->__('Error! Please contact with administrator'));
|
155 |
+
Mage::logException($e);
|
156 |
+
}
|
157 |
+
|
158 |
+
$this->_goBack();
|
159 |
+
}
|
160 |
+
|
161 |
+
public function giftCardRemoveAction()
|
162 |
+
{
|
163 |
+
$removeCodes = $this->getRequest()->getParam('giftcard_remove');
|
164 |
+
|
165 |
+
if (count($removeCodes) == 0) {
|
166 |
+
$this->_goBack();
|
167 |
+
$this->_getSession()->addError($this->__('Please select Gift Cards which want to remove.'));
|
168 |
+
return;
|
169 |
+
}
|
170 |
+
|
171 |
+
try {
|
172 |
+
$quoteId = $this->_getQuote()->getId();
|
173 |
+
Mage::getModel('giftcard/quote')->removeGiftCardArrayFromQuote($quoteId, $removeCodes);
|
174 |
+
$this->_getSession()->addSuccess(
|
175 |
+
$this->__('Gift cards was removed.')
|
176 |
+
);
|
177 |
+
} catch (Mage_Core_Exception $e) {
|
178 |
+
$this->_getSession()->addError($e->getMessage());
|
179 |
+
} catch (Exception $e) {
|
180 |
+
$this->_getSession()->addError($this->__('Cannot delete the gift cards.'));
|
181 |
+
Mage::logException($e);
|
182 |
+
}
|
183 |
+
$this->_goBack();
|
184 |
+
}
|
185 |
+
|
186 |
+
protected function _getCart()
|
187 |
+
{
|
188 |
+
return Mage::getSingleton('checkout/cart');
|
189 |
+
}
|
190 |
+
|
191 |
+
protected function _getQuote()
|
192 |
+
{
|
193 |
+
return $this->_getCart()->getQuote();
|
194 |
+
}
|
195 |
+
|
196 |
+
protected function _getSession()
|
197 |
+
{
|
198 |
+
return Mage::getSingleton('checkout/session');
|
199 |
+
}
|
200 |
+
|
201 |
+
protected function _goBack()
|
202 |
+
{
|
203 |
+
$returnUrl = $this->getRequest()->getParam('return_url');
|
204 |
+
if ($returnUrl) {
|
205 |
+
|
206 |
+
if (!$this->_isUrlInternal($returnUrl)) {
|
207 |
+
throw new Mage_Exception('External urls redirect to "' . $returnUrl . '" denied!');
|
208 |
+
}
|
209 |
+
|
210 |
+
$this->_getSession()->getMessages(true);
|
211 |
+
$this->getResponse()->setRedirect($returnUrl);
|
212 |
+
} elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
|
213 |
+
&& !$this->getRequest()->getParam('in_cart')
|
214 |
+
&& $backUrl = $this->_getRefererUrl()
|
215 |
+
) {
|
216 |
+
$this->getResponse()->setRedirect($backUrl);
|
217 |
+
} else {
|
218 |
+
if (($this->getRequest()->getActionName() == 'add') && !$this->getRequest()->getParam('in_cart')) {
|
219 |
+
$this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
|
220 |
+
}
|
221 |
+
$this->_redirect('checkout/cart');
|
222 |
+
}
|
223 |
+
return $this;
|
224 |
+
}
|
225 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/MT/Giftcard/etc/adminhtml.xml
CHANGED
@@ -37,15 +37,34 @@
|
|
37 |
<config>
|
38 |
<children>
|
39 |
<giftcard translate="title" module="giftcard">
|
40 |
-
<title
|
41 |
<sort_order>60</sort_order>
|
42 |
</giftcard>
|
43 |
</children>
|
44 |
</config>
|
45 |
</children>
|
46 |
</system>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
</children>
|
48 |
</admin>
|
49 |
</resources>
|
|
|
50 |
</acl>
|
51 |
</config>
|
37 |
<config>
|
38 |
<children>
|
39 |
<giftcard translate="title" module="giftcard">
|
40 |
+
<title>Gift Card</title>
|
41 |
<sort_order>60</sort_order>
|
42 |
</giftcard>
|
43 |
</children>
|
44 |
</config>
|
45 |
</children>
|
46 |
</system>
|
47 |
+
<giftcard translate="title" module="giftcard">
|
48 |
+
<title>Gift Card</title>
|
49 |
+
<sort_order>60</sort_order>
|
50 |
+
<children>
|
51 |
+
<giftcard>
|
52 |
+
<title>Manage Gift Cards</title>
|
53 |
+
</giftcard>
|
54 |
+
<series>
|
55 |
+
<title>Gift Cards Series</title>
|
56 |
+
</series>
|
57 |
+
<template>
|
58 |
+
<title>Gift Cards Templates</title>
|
59 |
+
</template>
|
60 |
+
<settings>
|
61 |
+
<title>Settings</title>
|
62 |
+
</settings>
|
63 |
+
</children>
|
64 |
+
</giftcard>
|
65 |
</children>
|
66 |
</admin>
|
67 |
</resources>
|
68 |
+
|
69 |
</acl>
|
70 |
</config>
|
app/code/community/MT/Giftcard/etc/config.xml
CHANGED
@@ -1,353 +1,352 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<modules>
|
4 |
-
<MT_Giftcard>
|
5 |
-
<version>1.
|
6 |
-
</MT_Giftcard>
|
7 |
-
</modules>
|
8 |
-
<global>
|
9 |
-
<blocks>
|
10 |
-
<giftcard>
|
11 |
-
<class>MT_Giftcard_Block</class>
|
12 |
-
</giftcard>
|
13 |
-
<checkout>
|
14 |
-
<rewrite>
|
15 |
-
<cart_item_renderer>MT_Giftcard_Block_Checkout_Cart_Item_Renderer</cart_item_renderer>
|
16 |
-
</rewrite>
|
17 |
-
</checkout>
|
18 |
-
<adminhtml>
|
19 |
-
<rewrite>
|
20 |
-
<sales_order_view>MT_Giftcard_Block_Adminhtml_Sales_Order_View</sales_order_view>
|
21 |
-
<catalog_product_edit_tabs>MT_Giftcard_Block_Adminhtml_Catalog_Product_Edit_Tabs</catalog_product_edit_tabs>
|
22 |
-
</rewrite>
|
23 |
-
</adminhtml>
|
24 |
-
</blocks>
|
25 |
-
<helpers>
|
26 |
-
<giftcard>
|
27 |
-
<class>MT_Giftcard_Helper</class>
|
28 |
-
</giftcard>
|
29 |
-
</helpers>
|
30 |
-
<models>
|
31 |
-
<giftcard>
|
32 |
-
<class>MT_Giftcard_Model</class>
|
33 |
-
<resourceModel>giftcard_resource</resourceModel>
|
34 |
-
</giftcard>
|
35 |
-
|
36 |
-
<giftcard_resource>
|
37 |
-
<class>MT_Giftcard_Model_Resource</class>
|
38 |
-
<entities>
|
39 |
-
<giftcard>
|
40 |
-
<table>mt_giftcard</table>
|
41 |
-
</giftcard>
|
42 |
-
<series>
|
43 |
-
<table>mt_giftcard_series</table>
|
44 |
-
</series>
|
45 |
-
<template>
|
46 |
-
<table>mt_giftcard_template</table>
|
47 |
-
</template>
|
48 |
-
<option>
|
49 |
-
<table>mt_giftcard_option</table>
|
50 |
-
</option>
|
51 |
-
<series_product>
|
52 |
-
<table>mt_giftcard_series_product</table>
|
53 |
-
</series_product>
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
<
|
75 |
-
</
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
<
|
81 |
-
<
|
82 |
-
<
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
</
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
<
|
140 |
-
<totals>
|
141 |
-
<gift_card_total>
|
142 |
-
<class>giftcard/
|
143 |
-
<after>discount,tax</after>
|
144 |
-
<before>grand_total</before>
|
145 |
-
</gift_card_total>
|
146 |
-
</totals>
|
147 |
-
</
|
148 |
-
<
|
149 |
-
<totals>
|
150 |
-
<gift_card_total>
|
151 |
-
<class>giftcard/
|
152 |
-
<after>
|
153 |
-
<before>grand_total
|
154 |
-
</gift_card_total>
|
155 |
-
</totals>
|
156 |
-
</
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
<
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
<
|
180 |
-
<
|
181 |
-
<to_order>*</to_order>
|
182 |
-
</
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
<
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
<
|
219 |
-
<
|
220 |
-
<
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
</
|
231 |
-
</
|
232 |
-
</
|
233 |
-
</
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
<
|
253 |
-
<
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
<
|
263 |
-
<
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
<
|
273 |
-
<
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
<
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
<
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
<
|
331 |
-
<
|
332 |
-
<
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
<
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
<
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
<
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<MT_Giftcard>
|
5 |
+
<version>1.1.2</version>
|
6 |
+
</MT_Giftcard>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<blocks>
|
10 |
+
<giftcard>
|
11 |
+
<class>MT_Giftcard_Block</class>
|
12 |
+
</giftcard>
|
13 |
+
<checkout>
|
14 |
+
<rewrite>
|
15 |
+
<cart_item_renderer>MT_Giftcard_Block_Checkout_Cart_Item_Renderer</cart_item_renderer>
|
16 |
+
</rewrite>
|
17 |
+
</checkout>
|
18 |
+
<adminhtml>
|
19 |
+
<rewrite>
|
20 |
+
<sales_order_view>MT_Giftcard_Block_Adminhtml_Sales_Order_View</sales_order_view>
|
21 |
+
<catalog_product_edit_tabs>MT_Giftcard_Block_Adminhtml_Catalog_Product_Edit_Tabs</catalog_product_edit_tabs>
|
22 |
+
</rewrite>
|
23 |
+
</adminhtml>
|
24 |
+
</blocks>
|
25 |
+
<helpers>
|
26 |
+
<giftcard>
|
27 |
+
<class>MT_Giftcard_Helper</class>
|
28 |
+
</giftcard>
|
29 |
+
</helpers>
|
30 |
+
<models>
|
31 |
+
<giftcard>
|
32 |
+
<class>MT_Giftcard_Model</class>
|
33 |
+
<resourceModel>giftcard_resource</resourceModel>
|
34 |
+
</giftcard>
|
35 |
+
|
36 |
+
<giftcard_resource>
|
37 |
+
<class>MT_Giftcard_Model_Resource</class>
|
38 |
+
<entities>
|
39 |
+
<giftcard>
|
40 |
+
<table>mt_giftcard</table>
|
41 |
+
</giftcard>
|
42 |
+
<series>
|
43 |
+
<table>mt_giftcard_series</table>
|
44 |
+
</series>
|
45 |
+
<template>
|
46 |
+
<table>mt_giftcard_template</table>
|
47 |
+
</template>
|
48 |
+
<option>
|
49 |
+
<table>mt_giftcard_option</table>
|
50 |
+
</option>
|
51 |
+
<series_product>
|
52 |
+
<table>mt_giftcard_series_product</table>
|
53 |
+
</series_product>
|
54 |
+
<check_attempt>
|
55 |
+
<table>mt_giftcard_check_attempt</table>
|
56 |
+
</check_attempt>
|
57 |
+
<quote>
|
58 |
+
<table>mt_giftcard_quote</table>
|
59 |
+
</quote>
|
60 |
+
<order>
|
61 |
+
<table>mt_giftcard_order</table>
|
62 |
+
</order>
|
63 |
+
</entities>
|
64 |
+
</giftcard_resource>
|
65 |
+
|
66 |
+
<catalog>
|
67 |
+
<rewrite>
|
68 |
+
<product_option>MT_Giftcard_Model_Catalog_Product_Option</product_option>
|
69 |
+
</rewrite>
|
70 |
+
</catalog>
|
71 |
+
|
72 |
+
<core>
|
73 |
+
<rewrite>
|
74 |
+
<email_template>MT_Giftcard_Model_Core_Email_Template</email_template>
|
75 |
+
</rewrite>
|
76 |
+
</core>
|
77 |
+
|
78 |
+
</models>
|
79 |
+
<resources>
|
80 |
+
<giftcard_setup>
|
81 |
+
<setup>
|
82 |
+
<module>MT_Giftcard</module>
|
83 |
+
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
|
84 |
+
</setup>
|
85 |
+
<connection>
|
86 |
+
<use>core_setup</use>
|
87 |
+
</connection>
|
88 |
+
</giftcard_setup>
|
89 |
+
<giftcard_write>
|
90 |
+
<connection>
|
91 |
+
<use>core_write</use>
|
92 |
+
</connection>
|
93 |
+
</giftcard_write>
|
94 |
+
<giftcard_read>
|
95 |
+
<connection>
|
96 |
+
<use>core_read</use>
|
97 |
+
</connection>
|
98 |
+
</giftcard_read>
|
99 |
+
</resources>
|
100 |
+
<catalog>
|
101 |
+
<product>
|
102 |
+
<type>
|
103 |
+
<giftcard translate="label" module="catalog">
|
104 |
+
<label>Gift Card</label>
|
105 |
+
<model>giftcard/catalog_product_type_giftcard</model>
|
106 |
+
<is_qty>0</is_qty>
|
107 |
+
<index_data_retreiver>giftcard/catalogIndex_data_giftcard</index_data_retreiver>
|
108 |
+
<price_model>giftcard/catalog_product_price</price_model>
|
109 |
+
<composite>0</composite>
|
110 |
+
</giftcard>
|
111 |
+
<configurable translate="label" module="catalog">
|
112 |
+
<allow_product_types>
|
113 |
+
<giftcard/>
|
114 |
+
</allow_product_types>
|
115 |
+
</configurable>
|
116 |
+
</type>
|
117 |
+
</product>
|
118 |
+
</catalog>
|
119 |
+
<events>
|
120 |
+
<sales_order_place_after>
|
121 |
+
<observers>
|
122 |
+
<discount_giftcard_balance>
|
123 |
+
<type>singleton</type>
|
124 |
+
<class>giftcard/observer</class>
|
125 |
+
<method>discountGiftCardBalance</method>
|
126 |
+
</discount_giftcard_balance>
|
127 |
+
|
128 |
+
<create_giftcard_after_order>
|
129 |
+
<type>singleton</type>
|
130 |
+
<class>MT_Giftcard_Model_Observer</class>
|
131 |
+
<method>createGiftCard</method>
|
132 |
+
</create_giftcard_after_order>
|
133 |
+
|
134 |
+
</observers>
|
135 |
+
</sales_order_place_after>
|
136 |
+
|
137 |
+
</events>
|
138 |
+
<sales>
|
139 |
+
<quote>
|
140 |
+
<totals>
|
141 |
+
<gift_card_total>
|
142 |
+
<class>giftcard/sales_quote_total_giftcard</class>
|
143 |
+
<after>discount,tax</after>
|
144 |
+
<before>grand_total</before>
|
145 |
+
</gift_card_total>
|
146 |
+
</totals>
|
147 |
+
</quote>
|
148 |
+
<order_invoice>
|
149 |
+
<totals>
|
150 |
+
<gift_card_total>
|
151 |
+
<class>giftcard/sales_order_invoice_total_giftcard</class>
|
152 |
+
<after>discount,tax</after>
|
153 |
+
<before>grand_total</before>
|
154 |
+
</gift_card_total>
|
155 |
+
</totals>
|
156 |
+
</order_invoice>
|
157 |
+
<order_creditmemo>
|
158 |
+
<totals>
|
159 |
+
<gift_card_total>
|
160 |
+
<class>giftcard/sales_order_creditmemo_total_giftcard</class>
|
161 |
+
<after>shipping</after>
|
162 |
+
<before>grand_total,tax</before>
|
163 |
+
</gift_card_total>
|
164 |
+
</totals>
|
165 |
+
</order_creditmemo>
|
166 |
+
</sales>
|
167 |
+
<pdf>
|
168 |
+
<totals>
|
169 |
+
<mt_gift_card_total translate="title">
|
170 |
+
<title>Gift Card Discount</title>
|
171 |
+
<source_field>mt_gift_card_total</source_field>
|
172 |
+
<font_size>7</font_size>
|
173 |
+
<display_zero>0</display_zero>
|
174 |
+
<sort_order>450</sort_order>
|
175 |
+
</mt_gift_card_total>
|
176 |
+
</totals>
|
177 |
+
</pdf>
|
178 |
+
<fieldsets>
|
179 |
+
<sales_convert_quote>
|
180 |
+
<mt_gift_card>
|
181 |
+
<to_order>*</to_order>
|
182 |
+
</mt_gift_card>
|
183 |
+
<mt_gift_card_description>
|
184 |
+
<to_order>*</to_order>
|
185 |
+
</mt_gift_card_description>
|
186 |
+
</sales_convert_quote>
|
187 |
+
|
188 |
+
<sales_convert_quote_address>
|
189 |
+
<mt_gift_card_total>
|
190 |
+
<to_order>*</to_order>
|
191 |
+
</mt_gift_card_total>
|
192 |
+
|
193 |
+
<base_mt_gift_card_total>
|
194 |
+
<to_order>*</to_order>
|
195 |
+
</base_mt_gift_card_total>
|
196 |
+
</sales_convert_quote_address>
|
197 |
+
|
198 |
+
<sales_convert_order>
|
199 |
+
<mt_gift_card>
|
200 |
+
<to_invoice>*</to_invoice>
|
201 |
+
<to_cm>*</to_cm>
|
202 |
+
</mt_gift_card>
|
203 |
+
|
204 |
+
<mt_gift_card_total>
|
205 |
+
<to_invoice>*</to_invoice>
|
206 |
+
<to_cm>*</to_cm>
|
207 |
+
</mt_gift_card_total>
|
208 |
+
|
209 |
+
<base_mt_gift_card_total>
|
210 |
+
<to_invoice>*</to_invoice>
|
211 |
+
<to_cm>*</to_cm>
|
212 |
+
</base_mt_gift_card_total>
|
213 |
+
|
214 |
+
</sales_convert_order>
|
215 |
+
</fieldsets>
|
216 |
+
</global>
|
217 |
+
<frontend>
|
218 |
+
<routers>
|
219 |
+
<giftcard>
|
220 |
+
<use>standard</use>
|
221 |
+
<args>
|
222 |
+
<module>MT_Giftcard</module>
|
223 |
+
<frontName>giftcard</frontName>
|
224 |
+
</args>
|
225 |
+
</giftcard>
|
226 |
+
</routers>
|
227 |
+
<layout>
|
228 |
+
<updates>
|
229 |
+
<giftcard>
|
230 |
+
<file>mt/giftcard.xml</file>
|
231 |
+
</giftcard>
|
232 |
+
</updates>
|
233 |
+
</layout>
|
234 |
+
<translate>
|
235 |
+
<modules>
|
236 |
+
<MT_Giftcard>
|
237 |
+
<files>
|
238 |
+
<default>MT_Giftcard.csv</default>
|
239 |
+
</files>
|
240 |
+
</MT_Giftcard>
|
241 |
+
</modules>
|
242 |
+
</translate>
|
243 |
+
</frontend>
|
244 |
+
|
245 |
+
<adminhtml>
|
246 |
+
<events>
|
247 |
+
|
248 |
+
<sales_order_creditmemo_refund>
|
249 |
+
<observers>
|
250 |
+
<refund_giftcard_balance>
|
251 |
+
<type>singleton</type>
|
252 |
+
<class>giftcard/observer</class>
|
253 |
+
<method>refundGiftCardBalance</method>
|
254 |
+
</refund_giftcard_balance>
|
255 |
+
</observers>
|
256 |
+
</sales_order_creditmemo_refund>
|
257 |
+
|
258 |
+
<sales_order_invoice_save_after>
|
259 |
+
<observers>
|
260 |
+
<active_gift_card>
|
261 |
+
<type>singleton</type>
|
262 |
+
<class>MT_Giftcard_Model_Observer</class>
|
263 |
+
<method>activeGiftCard</method>
|
264 |
+
</active_gift_card>
|
265 |
+
</observers>
|
266 |
+
</sales_order_invoice_save_after>
|
267 |
+
|
268 |
+
<sales_order_creditmemo_save_after>
|
269 |
+
<observers>
|
270 |
+
<deactivate_gift_card>
|
271 |
+
<type>singleton</type>
|
272 |
+
<class>MT_Giftcard_Model_Observer</class>
|
273 |
+
<method>deactivateGiftCard</method>
|
274 |
+
</deactivate_gift_card>
|
275 |
+
</observers>
|
276 |
+
</sales_order_creditmemo_save_after>
|
277 |
+
|
278 |
+
<catalog_product_save_after>
|
279 |
+
<observers>
|
280 |
+
<gift_card_catalog_product_prepare_save>
|
281 |
+
<class>giftcard/observer</class>
|
282 |
+
<method>catalogProductSaveAfter</method>
|
283 |
+
</gift_card_catalog_product_prepare_save>
|
284 |
+
</observers>
|
285 |
+
</catalog_product_save_after>
|
286 |
+
|
287 |
+
<adminhtml_sales_order_creditmemo_register_before>
|
288 |
+
<observers>
|
289 |
+
<allow_zero_credit_memo>
|
290 |
+
<class>giftcard/observer</class>
|
291 |
+
<method>allowZeroCreditMemo</method>
|
292 |
+
</allow_zero_credit_memo>
|
293 |
+
</observers>
|
294 |
+
</adminhtml_sales_order_creditmemo_register_before>
|
295 |
+
</events>
|
296 |
+
|
297 |
+
<translate>
|
298 |
+
<modules>
|
299 |
+
<MT_Giftcard>
|
300 |
+
<files>
|
301 |
+
<default>MT_Giftcard_Adminhtml.csv</default>
|
302 |
+
</files>
|
303 |
+
</MT_Giftcard>
|
304 |
+
</modules>
|
305 |
+
</translate>
|
306 |
+
<layout>
|
307 |
+
<updates>
|
308 |
+
<news>
|
309 |
+
<file>mt/giftcard.xml</file>
|
310 |
+
</news>
|
311 |
+
</updates>
|
312 |
+
</layout>
|
313 |
+
</adminhtml>
|
314 |
+
<admin>
|
315 |
+
<routers>
|
316 |
+
<adminhtml>
|
317 |
+
<args>
|
318 |
+
<modules>
|
319 |
+
<giftcard before="Mage_Adminhtml">MT_Giftcard_Adminhtml</giftcard>
|
320 |
+
</modules>
|
321 |
+
</args>
|
322 |
+
</adminhtml>
|
323 |
+
</routers>
|
324 |
+
</admin>
|
325 |
+
|
326 |
+
<default>
|
327 |
+
<payment>
|
328 |
+
<giftcard>
|
329 |
+
<active>0</active>
|
330 |
+
<model>giftcard/payment_giftcard</model>
|
331 |
+
<title>Use Gift Card to check out</title>
|
332 |
+
<sort_order>900</sort_order>
|
333 |
+
</giftcard>
|
334 |
+
</payment>
|
335 |
+
<giftcard>
|
336 |
+
<general>
|
337 |
+
<is_active>0</is_active>
|
338 |
+
<jquery>0</jquery>
|
339 |
+
</general>
|
340 |
+
<cart>
|
341 |
+
<form_in_cart>1</form_in_cart>
|
342 |
+
<form_in_checkout>1</form_in_checkout>
|
343 |
+
</cart>
|
344 |
+
<mail>
|
345 |
+
<pdf_order_new_mail>1</pdf_order_new_mail>
|
346 |
+
<pdf_order_invoice_mail>1</pdf_order_invoice_mail>
|
347 |
+
</mail>
|
348 |
+
</giftcard>
|
349 |
+
</default>
|
350 |
+
|
351 |
+
</config>
|
352 |
+
|
|
app/code/community/MT/Giftcard/sql/giftcard_setup/mysql4-upgrade-1.1.1-1.1.2.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$installer = $this;
|
3 |
+
$installer->startSetup();
|
4 |
+
|
5 |
+
$table = $installer->getTable('giftcard/giftcard');
|
6 |
+
|
7 |
+
$giftCardOrderProductTable = $installer->getTable('giftcard/order');
|
8 |
+
$giftCardQuoteProductTable = $installer->getTable('giftcard/quote');
|
9 |
+
|
10 |
+
$installer->run("
|
11 |
+
CREATE TABLE IF NOT EXISTS `{$giftCardOrderProductTable}` (
|
12 |
+
`entity_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
13 |
+
`order_id` INT(10) UNSIGNED NULL DEFAULT NULL,
|
14 |
+
`gift_card_code` VARCHAR(50) NULL DEFAULT NULL,
|
15 |
+
`discount` DECIMAL(12,4) NULL DEFAULT NULL,
|
16 |
+
`base_discount` DECIMAL(12,4) NULL DEFAULT NULL,
|
17 |
+
`refund` DECIMAL(12,4) NULL DEFAULT NULL,
|
18 |
+
`base_refund` DECIMAL(12,4) NULL DEFAULT NULL,
|
19 |
+
PRIMARY KEY (`entity_id`),
|
20 |
+
UNIQUE INDEX `order_id_gift_card_code` (`order_id`, `gift_card_code`)
|
21 |
+
)
|
22 |
+
COLLATE='utf8_general_ci'
|
23 |
+
ENGINE=InnoDB
|
24 |
+
AUTO_INCREMENT=0;
|
25 |
+
");
|
26 |
+
|
27 |
+
$installer->run("
|
28 |
+
CREATE TABLE IF NOT EXISTS `{$giftCardQuoteProductTable}` (
|
29 |
+
`entity_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
30 |
+
`quote_id` INT(10) UNSIGNED NULL DEFAULT NULL,
|
31 |
+
`gift_card_id` INT(10) UNSIGNED NULL DEFAULT NULL,
|
32 |
+
PRIMARY KEY (`entity_id`)
|
33 |
+
)
|
34 |
+
COLLATE='utf8_general_ci'
|
35 |
+
ENGINE=InnoDB
|
36 |
+
AUTO_INCREMENT=0;
|
37 |
+
");
|
38 |
+
|
39 |
+
|
40 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/mt/giftcard.xml
CHANGED
@@ -1,188 +1,157 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<layout>
|
3 |
-
<adminhtml_giftcard_series_edit>
|
4 |
-
<reference name="head">
|
5 |
-
<action method="addJs"><script>mt/giftcard/adminhtml/gift_card_series.js</script></action>
|
6 |
-
</reference>
|
7 |
-
</adminhtml_giftcard_series_edit>
|
8 |
-
|
9 |
-
<adminhtml_giftcard_giftcard_import>
|
10 |
-
<reference name="head">
|
11 |
-
<action method="addJs"><script>mt/giftcard/adminhtml/gift_card.js</script></action>
|
12 |
-
</reference>
|
13 |
-
</adminhtml_giftcard_giftcard_import>
|
14 |
-
|
15 |
-
<adminhtml_giftcard_template_edit>
|
16 |
-
<reference name="head">
|
17 |
-
<action method="addJs"><script>mt/giftcard/adminhtml/gift_card_template.js</script></action>
|
18 |
-
<action method="addJs"><script>mt/giftcard/adminhtml/jscolor/jscolor.js</script></action>
|
19 |
-
<action method="addCss"><name>mt/giftcard/gift_card_style.css</name></action>
|
20 |
-
</reference>
|
21 |
-
</adminhtml_giftcard_template_edit>
|
22 |
-
|
23 |
-
<adminhtml_giftcard_series_grid>
|
24 |
-
<block type="core/text_list" name="root" output="toHtml">
|
25 |
-
<block type="giftcard/adminhtml_giftcard_series_edit_tabs_generate_grid" name="giftcard_adminhtml_giftcard_series_edit_tabs_generate_grid" />
|
26 |
-
</block>
|
27 |
-
</adminhtml_giftcard_series_grid>
|
28 |
-
|
29 |
-
<adminhtml_giftcard_giftcard_grid>
|
30 |
-
<block type="core/text_list" name="root" output="toHtml">
|
31 |
-
<block type="giftcard/adminhtml_giftcard_giftcard_list_grid" name="giftcard_adminhtml_giftcard_giftcard_list_grid" />
|
32 |
-
</block>
|
33 |
-
</adminhtml_giftcard_giftcard_grid>
|
34 |
-
|
35 |
-
<adminhtml_catalog_product_giftcardseries>
|
36 |
-
<block type="core/text_list" name="root" output="toHtml">
|
37 |
-
<block type="giftcard/adminhtml_catalog_product_edit_tabs_giftcardseries_grid" name="catalog_product_edit_tabs_giftcardseries_grid"/>
|
38 |
-
<block type="adminhtml/widget_grid_serializer" name="giftcard_grid_serializer">
|
39 |
-
<reference name="giftcard_grid_serializer">
|
40 |
-
<action method="initSerializerBlock">
|
41 |
-
<grid_block_name>catalog_product_edit_tabs_giftcardseries_grid</grid_block_name>
|
42 |
-
<data_callback>getSelectedGiftCardSeriesProducts</data_callback>
|
43 |
-
<hidden_input_name>links[giftcard]</hidden_input_name>
|
44 |
-
<reload_param_name>products_gift_card</reload_param_name>
|
45 |
-
</action>
|
46 |
-
<action method="addColumnInputName">
|
47 |
-
<input_name>position</input_name>
|
48 |
-
</action>
|
49 |
-
</reference>
|
50 |
-
</block>
|
51 |
-
</block>
|
52 |
-
</adminhtml_catalog_product_giftcardseries>
|
53 |
-
|
54 |
-
<adminhtml_catalog_product_giftcardtab>
|
55 |
-
<block type="core/text_list" name="root" output="toHtml">
|
56 |
-
<block type="giftcard/adminhtml_catalog_product_edit_tabs_giftcard_form" name="catalog_product_edit_tabs_giftcard_form"/>
|
57 |
-
|
58 |
-
</block>
|
59 |
-
</adminhtml_catalog_product_giftcardtab>
|
60 |
-
|
61 |
-
<adminhtml_catalog_product_giftcardseriesgrid>
|
62 |
-
<block type="core/text_list" name="root" output="toHtml">
|
63 |
-
<block type="giftcard/adminhtml_catalog_product_edit_tabs_giftcardseries_grid" name="catalog_product_edit_tabs_giftcardseries_grid"/>
|
64 |
-
</block>
|
65 |
-
</adminhtml_catalog_product_giftcardseriesgrid>
|
66 |
-
|
67 |
-
<adminhtml_sales_order_creditmemo_new>
|
68 |
-
<reference name="head">
|
69 |
-
<action method="addCss"><name>mt/giftcard/gift_card_style.css</name></action>
|
70 |
-
</reference>
|
71 |
-
|
72 |
-
<reference name="creditmemo_totals">
|
73 |
-
<!--block type="giftcard/adminhtml_sales_creditmemo_total_giftcard" name="total_gift_card_total" as="gift_card_total">
|
74 |
-
</block-->
|
75 |
-
<block type="giftcard/adminhtml_sales_creditmemo_create_total_giftcard" name="gift_card_total" template="mt/giftcard/sales/creditmemo/create/total/giftcard.phtml" />
|
76 |
-
|
77 |
-
</reference>
|
78 |
-
|
79 |
-
<reference name="order_items">
|
80 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
81 |
-
</reference>
|
82 |
-
|
83 |
-
</adminhtml_sales_order_creditmemo_new>
|
84 |
-
|
85 |
-
<adminhtml_sales_order_creditmemo_view>
|
86 |
-
|
87 |
-
<reference name="creditmemo_totals">
|
88 |
-
<block type="giftcard/
|
89 |
-
</reference>
|
90 |
-
|
91 |
-
<reference name="creditmemo_items">
|
92 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
93 |
-
</reference>
|
94 |
-
|
95 |
-
</adminhtml_sales_order_creditmemo_view>
|
96 |
-
|
97 |
-
<adminhtml_sales_order_view>
|
98 |
-
|
99 |
-
<reference name="order_totals">
|
100 |
-
<block type="giftcard/adminhtml_sales_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
101 |
-
</reference>
|
102 |
-
|
103 |
-
<reference name="order_items">
|
104 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
105 |
-
</reference>
|
106 |
-
|
107 |
-
</adminhtml_sales_order_view>
|
108 |
-
|
109 |
-
<adminhtml_sales_order_invoice_new>
|
110 |
-
|
111 |
-
<reference name="invoice_totals">
|
112 |
-
<block type="giftcard/
|
113 |
-
</reference>
|
114 |
-
|
115 |
-
<reference name="order_items">
|
116 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
117 |
-
</reference>
|
118 |
-
|
119 |
-
</adminhtml_sales_order_invoice_new>
|
120 |
-
|
121 |
-
<adminhtml_sales_order_invoice_updateqty>
|
122 |
-
|
123 |
-
<reference name="order_items">
|
124 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
125 |
-
</reference>
|
126 |
-
|
127 |
-
<reference name="invoice_totals">
|
128 |
-
<block type="giftcard/adminhtml_sales_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
129 |
-
</reference>
|
130 |
-
</adminhtml_sales_order_invoice_updateqty>
|
131 |
-
|
132 |
-
<adminhtml_sales_order_invoice_view>
|
133 |
-
|
134 |
-
<reference name="invoice_items">
|
135 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
136 |
-
</reference>
|
137 |
-
|
138 |
-
<reference name="invoice_totals">
|
139 |
-
<block type="giftcard/
|
140 |
-
</reference>
|
141 |
-
|
142 |
-
</adminhtml_sales_order_invoice_view>
|
143 |
-
|
144 |
-
|
145 |
-
<adminhtml_sales_order_shipment_new>
|
146 |
-
<reference name="order_items">
|
147 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
148 |
-
</reference>
|
149 |
-
</adminhtml_sales_order_shipment_new>
|
150 |
-
|
151 |
-
<adminhtml_sales_order_shipment_view>
|
152 |
-
<reference name="shipment_items">
|
153 |
-
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
154 |
-
</reference>
|
155 |
-
</adminhtml_sales_order_shipment_view>
|
156 |
-
|
157 |
-
|
158 |
-
<reference name="creditmemo_totals">
|
159 |
-
<block type="giftcard/adminhtml_sales_creditmemo_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
160 |
-
</reference>
|
161 |
-
</adminhtml_sales_order_creditmemo_new>
|
162 |
-
|
163 |
-
<adminhtml_sales_order_creditmemo_view>
|
164 |
-
<reference name="creditmemo_totals">
|
165 |
-
<block type="giftcard/adminhtml_sales_creditmemo_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
166 |
-
</reference>
|
167 |
-
</adminhtml_sales_order_creditmemo_view-->
|
168 |
-
|
169 |
-
<!--adminhtml_catalog_product_new>
|
170 |
-
<reference name="product_tabs">
|
171 |
-
<action method="addTab">
|
172 |
-
<name>gift_card</name>
|
173 |
-
<block>giftcard/adminhtml_catalog_product_edit_tab</block>
|
174 |
-
</action>
|
175 |
-
</reference>
|
176 |
-
</adminhtml_catalog_product_new-->
|
177 |
-
|
178 |
-
<!--adminhtml_catalog_product_edit>
|
179 |
-
<reference name="product_tabs">
|
180 |
-
<action method="addTab">
|
181 |
-
<name>gift_card</name>
|
182 |
-
<block>giftcard/adminhtml_catalog_product_edit_tab</block>
|
183 |
-
</action>
|
184 |
-
</reference>
|
185 |
-
</adminhtml_catalog_product_edit-->
|
186 |
-
|
187 |
-
|
188 |
-
</layout>
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout>
|
3 |
+
<adminhtml_giftcard_series_edit>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addJs"><script>mt/giftcard/adminhtml/gift_card_series.js</script></action>
|
6 |
+
</reference>
|
7 |
+
</adminhtml_giftcard_series_edit>
|
8 |
+
|
9 |
+
<adminhtml_giftcard_giftcard_import>
|
10 |
+
<reference name="head">
|
11 |
+
<action method="addJs"><script>mt/giftcard/adminhtml/gift_card.js</script></action>
|
12 |
+
</reference>
|
13 |
+
</adminhtml_giftcard_giftcard_import>
|
14 |
+
|
15 |
+
<adminhtml_giftcard_template_edit>
|
16 |
+
<reference name="head">
|
17 |
+
<action method="addJs"><script>mt/giftcard/adminhtml/gift_card_template.js</script></action>
|
18 |
+
<action method="addJs"><script>mt/giftcard/adminhtml/jscolor/jscolor.js</script></action>
|
19 |
+
<action method="addCss"><name>mt/giftcard/gift_card_style.css</name></action>
|
20 |
+
</reference>
|
21 |
+
</adminhtml_giftcard_template_edit>
|
22 |
+
|
23 |
+
<adminhtml_giftcard_series_grid>
|
24 |
+
<block type="core/text_list" name="root" output="toHtml">
|
25 |
+
<block type="giftcard/adminhtml_giftcard_series_edit_tabs_generate_grid" name="giftcard_adminhtml_giftcard_series_edit_tabs_generate_grid" />
|
26 |
+
</block>
|
27 |
+
</adminhtml_giftcard_series_grid>
|
28 |
+
|
29 |
+
<adminhtml_giftcard_giftcard_grid>
|
30 |
+
<block type="core/text_list" name="root" output="toHtml">
|
31 |
+
<block type="giftcard/adminhtml_giftcard_giftcard_list_grid" name="giftcard_adminhtml_giftcard_giftcard_list_grid" />
|
32 |
+
</block>
|
33 |
+
</adminhtml_giftcard_giftcard_grid>
|
34 |
+
|
35 |
+
<adminhtml_catalog_product_giftcardseries>
|
36 |
+
<block type="core/text_list" name="root" output="toHtml">
|
37 |
+
<block type="giftcard/adminhtml_catalog_product_edit_tabs_giftcardseries_grid" name="catalog_product_edit_tabs_giftcardseries_grid"/>
|
38 |
+
<block type="adminhtml/widget_grid_serializer" name="giftcard_grid_serializer">
|
39 |
+
<reference name="giftcard_grid_serializer">
|
40 |
+
<action method="initSerializerBlock">
|
41 |
+
<grid_block_name>catalog_product_edit_tabs_giftcardseries_grid</grid_block_name>
|
42 |
+
<data_callback>getSelectedGiftCardSeriesProducts</data_callback>
|
43 |
+
<hidden_input_name>links[giftcard]</hidden_input_name>
|
44 |
+
<reload_param_name>products_gift_card</reload_param_name>
|
45 |
+
</action>
|
46 |
+
<action method="addColumnInputName">
|
47 |
+
<input_name>position</input_name>
|
48 |
+
</action>
|
49 |
+
</reference>
|
50 |
+
</block>
|
51 |
+
</block>
|
52 |
+
</adminhtml_catalog_product_giftcardseries>
|
53 |
+
|
54 |
+
<adminhtml_catalog_product_giftcardtab>
|
55 |
+
<block type="core/text_list" name="root" output="toHtml">
|
56 |
+
<block type="giftcard/adminhtml_catalog_product_edit_tabs_giftcard_form" name="catalog_product_edit_tabs_giftcard_form"/>
|
57 |
+
|
58 |
+
</block>
|
59 |
+
</adminhtml_catalog_product_giftcardtab>
|
60 |
+
|
61 |
+
<adminhtml_catalog_product_giftcardseriesgrid>
|
62 |
+
<block type="core/text_list" name="root" output="toHtml">
|
63 |
+
<block type="giftcard/adminhtml_catalog_product_edit_tabs_giftcardseries_grid" name="catalog_product_edit_tabs_giftcardseries_grid"/>
|
64 |
+
</block>
|
65 |
+
</adminhtml_catalog_product_giftcardseriesgrid>
|
66 |
+
|
67 |
+
<adminhtml_sales_order_creditmemo_new>
|
68 |
+
<reference name="head">
|
69 |
+
<action method="addCss"><name>mt/giftcard/gift_card_style.css</name></action>
|
70 |
+
</reference>
|
71 |
+
|
72 |
+
<reference name="creditmemo_totals">
|
73 |
+
<!--block type="giftcard/adminhtml_sales_creditmemo_total_giftcard" name="total_gift_card_total" as="gift_card_total">
|
74 |
+
</block-->
|
75 |
+
<block type="giftcard/adminhtml_sales_creditmemo_create_total_giftcard" name="gift_card_total" template="mt/giftcard/sales/creditmemo/create/total/giftcard.phtml" />
|
76 |
+
|
77 |
+
</reference>
|
78 |
+
|
79 |
+
<reference name="order_items">
|
80 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
81 |
+
</reference>
|
82 |
+
|
83 |
+
</adminhtml_sales_order_creditmemo_new>
|
84 |
+
|
85 |
+
<adminhtml_sales_order_creditmemo_view>
|
86 |
+
|
87 |
+
<reference name="creditmemo_totals">
|
88 |
+
<block type="giftcard/adminhtml_sales_total_giftcard" name="gift_card_totals" />
|
89 |
+
</reference>
|
90 |
+
|
91 |
+
<reference name="creditmemo_items">
|
92 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
93 |
+
</reference>
|
94 |
+
|
95 |
+
</adminhtml_sales_order_creditmemo_view>
|
96 |
+
|
97 |
+
<adminhtml_sales_order_view>
|
98 |
+
|
99 |
+
<reference name="order_totals">
|
100 |
+
<block type="giftcard/adminhtml_sales_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
101 |
+
</reference>
|
102 |
+
|
103 |
+
<reference name="order_items">
|
104 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
105 |
+
</reference>
|
106 |
+
|
107 |
+
</adminhtml_sales_order_view>
|
108 |
+
|
109 |
+
<adminhtml_sales_order_invoice_new>
|
110 |
+
|
111 |
+
<reference name="invoice_totals">
|
112 |
+
<block type="giftcard/adminhtml_sales_invoice_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
113 |
+
</reference>
|
114 |
+
|
115 |
+
<reference name="order_items">
|
116 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
117 |
+
</reference>
|
118 |
+
|
119 |
+
</adminhtml_sales_order_invoice_new>
|
120 |
+
|
121 |
+
<adminhtml_sales_order_invoice_updateqty>
|
122 |
+
|
123 |
+
<reference name="order_items">
|
124 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
125 |
+
</reference>
|
126 |
+
|
127 |
+
<reference name="invoice_totals">
|
128 |
+
<block type="giftcard/adminhtml_sales_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
129 |
+
</reference>
|
130 |
+
</adminhtml_sales_order_invoice_updateqty>
|
131 |
+
|
132 |
+
<adminhtml_sales_order_invoice_view>
|
133 |
+
|
134 |
+
<reference name="invoice_items">
|
135 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
136 |
+
</reference>
|
137 |
+
|
138 |
+
<reference name="invoice_totals">
|
139 |
+
<block type="giftcard/adminhtml_sales_invoice_total_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
140 |
+
</reference>
|
141 |
+
|
142 |
+
</adminhtml_sales_order_invoice_view>
|
143 |
+
|
144 |
+
|
145 |
+
<adminhtml_sales_order_shipment_new>
|
146 |
+
<reference name="order_items">
|
147 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
148 |
+
</reference>
|
149 |
+
</adminhtml_sales_order_shipment_new>
|
150 |
+
|
151 |
+
<adminhtml_sales_order_shipment_view>
|
152 |
+
<reference name="shipment_items">
|
153 |
+
<action method="addColumnRender"><column>name</column><block>giftcard/adminhtml_sales_items_column_name_giftcard</block><template>sales/items/column/name.phtml</template><type>giftcard</type></action>
|
154 |
+
</reference>
|
155 |
+
</adminhtml_sales_order_shipment_view>
|
156 |
+
|
157 |
+
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/template/mt/giftcard/sales/creditmemo/create/total/giftcard.phtml
CHANGED
@@ -1,14 +1,28 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$order = $this->getOrder();
|
3 |
+
$collection = $this->getGiftCardOrderCollection();
|
4 |
+
?>
|
5 |
+
<?php if ($collection->count() > 0): ?>
|
6 |
+
<?php foreach ($collection as $item): ?>
|
7 |
+
<?php
|
8 |
+
|
9 |
+
$giftCard = $item->getGiftCard();
|
10 |
+
if ($giftCard->getId()):
|
11 |
+
$refund = Mage::getModel('directory/currency')->format(
|
12 |
+
$item->getBaseDiscount()-$item->getBaseRefund(),
|
13 |
+
array('display'=>Zend_Currency::NO_SYMBOL),
|
14 |
+
false
|
15 |
+
);
|
16 |
+
?>
|
17 |
+
<tr>
|
18 |
+
<td class="label">
|
19 |
+
<?php echo $this->__('Refund to Gift Card (%s)', $item->getGiftCardCode()) ?></td>
|
20 |
+
<td>
|
21 |
+
<input type="text" name="gift_card_order_item[<?php echo $item->getId()?>]" value="<?php echo $refund; ?>" class="input-text not-negative-amount" style="width:60px;text-align:right" id="shipping_amount" /></td>
|
22 |
+
</tr>
|
23 |
+
<tr>
|
24 |
+
<td colspan="2"></td>
|
25 |
+
</tr>
|
26 |
+
<?php endif; ?>
|
27 |
+
<?php endforeach; ?>
|
28 |
+
<?php endif; ?>
|
app/design/frontend/base/default/layout/mt/giftcard.xml
CHANGED
@@ -1,116 +1,173 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
|
3 |
-
<layout version="0.1.0">
|
4 |
-
|
5 |
-
<
|
6 |
-
<
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
<
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
</
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
<action method="addCss"><stylesheet>css/mt/giftcard/giftcard.css</stylesheet> </action>
|
29 |
-
</reference>
|
30 |
-
|
31 |
-
<block type="giftcard/
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
|
3 |
+
<layout version="0.1.0">
|
4 |
+
|
5 |
+
<PRODUCT_TYPE_giftcard translate="label" module="catalog">
|
6 |
+
<label>Catalog Product View (Gift Card)</label>
|
7 |
+
<reference name="head">
|
8 |
+
<action method="addItem" ifconfig="giftcard/general/jquery"><type>js</type><name>mt/giftcard/jquery-2.1.1.min.js</name><params/></action>
|
9 |
+
<action method="addItem"><type>skin_js</type><name>js/mt/giftcard/giftcard.js</name><params/></action>
|
10 |
+
</reference>
|
11 |
+
|
12 |
+
<reference name="product.info.options.wrapper">
|
13 |
+
<block type="giftcard/catalog_product_view_type_giftcard" name="product.info.options.giftcard" as="options_giftcard" before="-" template="mt/giftcard/catalog/product/view/type/options/giftcard.phtml">
|
14 |
+
</block>
|
15 |
+
</reference>
|
16 |
+
</PRODUCT_TYPE_giftcard>
|
17 |
+
|
18 |
+
<checkout_onepage_index>
|
19 |
+
<reference name="head">
|
20 |
+
<action method="addItem" ifconfig="giftcard/general/jquery"><type>js</type><name>mt/giftcard/jquery-2.1.1.min.js</name><params/></action>
|
21 |
+
<action method="addItem"><type>skin_js</type><name>js/mt/giftcard/giftcardcheckout.js</name><params/></action>
|
22 |
+
<action method="addCss"><stylesheet>css/mt/giftcard/giftcard.css</stylesheet> </action>
|
23 |
+
</reference>
|
24 |
+
</checkout_onepage_index>
|
25 |
+
|
26 |
+
<checkout_cart_index>
|
27 |
+
<reference name="head">
|
28 |
+
<action method="addCss"><stylesheet>css/mt/giftcard/giftcard.css</stylesheet> </action>
|
29 |
+
</reference>
|
30 |
+
<reference name="checkout.cart.extra">
|
31 |
+
<block type="giftcard/checkout_cart_giftcard" name="giftcard" template="mt/giftcard/checkout/cart/giftcard.phtml"/>
|
32 |
+
</reference>
|
33 |
+
<reference name="checkout.cart">
|
34 |
+
<block type="giftcard/checkout_cart_giftcard" name="giftcard" template="mt/giftcard/checkout/cart/giftcard.phtml"/>
|
35 |
+
</reference>
|
36 |
+
</checkout_cart_index>
|
37 |
+
|
38 |
+
<sales_email_order_items>
|
39 |
+
<reference name="items">
|
40 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_email_items_order_giftcard</block><template>email/order/items/order/default.phtml</template></action>
|
41 |
+
</reference>
|
42 |
+
<reference name="order_totals">
|
43 |
+
<block type="giftcard/sales_order_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
44 |
+
</reference>
|
45 |
+
</sales_email_order_items>
|
46 |
+
|
47 |
+
<sales_email_order_invoice_items>
|
48 |
+
<reference name="items">
|
49 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_email_items_order_giftcard</block><template>email/order/items/invoice/default.phtml</template></action>
|
50 |
+
</reference>
|
51 |
+
|
52 |
+
<reference name="invoice_totals">
|
53 |
+
<block type="giftcard/sales_order_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
54 |
+
</reference>
|
55 |
+
</sales_email_order_invoice_items>
|
56 |
+
|
57 |
+
<sales_email_order_creditmemo_items>
|
58 |
+
<reference name="items">
|
59 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_email_items_order_giftcard</block><template>email/order/items/creditmemo/default.phtml</template></action>
|
60 |
+
</reference>
|
61 |
+
<reference name="creditmemo_totals">
|
62 |
+
<block type="giftcard/sales_order_creditmemo_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
63 |
+
</reference>
|
64 |
+
</sales_email_order_creditmemo_items>
|
65 |
+
|
66 |
+
<sales_email_order_shipment_items>
|
67 |
+
<reference name="items">
|
68 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_email_items_order_giftcard</block><template>email/order/items/shipment/default.phtml</template></action>
|
69 |
+
</reference>
|
70 |
+
</sales_email_order_shipment_items>
|
71 |
+
|
72 |
+
<sales_order_view>
|
73 |
+
<reference name="order_items">
|
74 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/items/renderer/default.phtml</template></action>
|
75 |
+
</reference>
|
76 |
+
<reference name="sales.order.info.buttons">
|
77 |
+
<block type="giftcard/sales_order_info_buttons" name="giftcard_buttons" template="mt/giftcard/sales/order/info/buttons.phtml"/>
|
78 |
+
</reference>
|
79 |
+
<reference name="sales.order.info">
|
80 |
+
<block type="giftcard/sales_order_info_buttons" name="giftcard_buttons" template="mt/giftcard/sales/order/info/buttons.phtml"/>
|
81 |
+
</reference>
|
82 |
+
<reference name="order_totals">
|
83 |
+
<block type="giftcard/sales_order_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
84 |
+
</reference>
|
85 |
+
</sales_order_view>
|
86 |
+
|
87 |
+
<sales_order_invoice>
|
88 |
+
<reference name="invoice_items">
|
89 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
|
90 |
+
</reference>
|
91 |
+
<reference name="sales.order.info.buttons">
|
92 |
+
<block type="giftcard/sales_order_info_buttons" name="giftcard_buttons" template="mt/giftcard/sales/order/info/buttons.phtml"/>
|
93 |
+
</reference>
|
94 |
+
<reference name="sales.order.info">
|
95 |
+
<block type="giftcard/sales_order_info_buttons" name="giftcard_buttons" template="mt/giftcard/sales/order/info/buttons.phtml"/>
|
96 |
+
</reference>
|
97 |
+
<reference name="invoice_totals">
|
98 |
+
<block type="giftcard/sales_order_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
99 |
+
</reference>
|
100 |
+
</sales_order_invoice>
|
101 |
+
|
102 |
+
<sales_order_shipment>
|
103 |
+
<reference name="shipment_items">
|
104 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/shipment/items/renderer/default.phtml</template></action>
|
105 |
+
</reference>
|
106 |
+
</sales_order_shipment>
|
107 |
+
|
108 |
+
<sales_order_creditmemo>
|
109 |
+
<reference name="creditmemo_items">
|
110 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
|
111 |
+
</reference>
|
112 |
+
<reference name="creditmemo_totals">
|
113 |
+
<block type="giftcard/sales_order_creditmemo_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
114 |
+
</reference>
|
115 |
+
</sales_order_creditmemo>
|
116 |
+
|
117 |
+
<sales_order_print>
|
118 |
+
<reference name="sales.order.print">
|
119 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/items/renderer/default.phtml</template></action>
|
120 |
+
</reference>
|
121 |
+
<reference name="order_totals">
|
122 |
+
<block type="giftcard/sales_order_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
123 |
+
</reference>
|
124 |
+
</sales_order_print>
|
125 |
+
|
126 |
+
<sales_order_printcreditmemo>
|
127 |
+
<reference name="sales.order.print.creditmemo">
|
128 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
|
129 |
+
</reference>
|
130 |
+
<reference name="creditmemo_totals">
|
131 |
+
<block type="giftcard/sales_order_creditmemo_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
132 |
+
</reference>
|
133 |
+
</sales_order_printcreditmemo>
|
134 |
+
|
135 |
+
<sales_order_printinvoice>
|
136 |
+
<reference name="sales.order.print.invoice">
|
137 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
|
138 |
+
</reference>
|
139 |
+
<reference name="invoice_totals">
|
140 |
+
<block type="giftcard/sales_order_invoice_totals_giftcard" name="total_gift_card_total" as="gift_card_total"/>
|
141 |
+
</reference>
|
142 |
+
</sales_order_printinvoice>
|
143 |
+
|
144 |
+
<sales_order_printshipment>
|
145 |
+
<reference name="sales.order.print.shipment">
|
146 |
+
<action method="addItemRender"><type>giftcard</type><block>giftcard/sales_order_item_renderer_giftcard</block><template>sales/order/shipment/items/renderer/default.phtml</template></action>
|
147 |
+
</reference>
|
148 |
+
</sales_order_printshipment>
|
149 |
+
|
150 |
+
<giftcard_giftcard_status>
|
151 |
+
<reference name="content">
|
152 |
+
<block type="giftcard/giftcard_status" name="giftcard.status" template="mt/giftcard/giftcard/status.phtml"/>
|
153 |
+
</reference>
|
154 |
+
</giftcard_giftcard_status>
|
155 |
+
|
156 |
+
<customer_account>
|
157 |
+
<reference name="customer_account_navigation">
|
158 |
+
<action method="addLink" translate="label" module="sales"><name>giftcards</name><path>giftcard/giftcard/account/</path><label>My Gift Cards</label></action>
|
159 |
+
</reference>
|
160 |
+
</customer_account>
|
161 |
+
|
162 |
+
<giftcard_giftcard_account>
|
163 |
+
<label>Customer My Gift Cards</label>
|
164 |
+
<update handle="customer_account"/>
|
165 |
+
<reference name="root">
|
166 |
+
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
|
167 |
+
</reference>
|
168 |
+
<reference name="my.account.wrapper">
|
169 |
+
<block type="giftcard/account_giftcard" name="customer_account_giftcard" template="mt/giftcard/account/giftcard.phtml"/>
|
170 |
+
</reference>
|
171 |
+
</giftcard_giftcard_account>
|
172 |
+
|
173 |
+
</layout>
|
app/design/frontend/base/default/template/mt/giftcard/checkout/cart/giftcard.phtml
CHANGED
@@ -1,69 +1,75 @@
|
|
1 |
-
<?php
|
2 |
-
if ($this->
|
3 |
-
$giftCardCollection = $this->getAppliedGiftCards();
|
4 |
-
$amount = $this->getAmount();
|
5 |
-
$cartTotal = $this->getCartTotalWithoutGiftCard();
|
6 |
-
?>
|
7 |
-
<form id="discount-giftcard-form" action="<?php echo $this->getUrl(
|
8 |
-
|
9 |
-
<div class="discount gc giftcard">
|
10 |
-
<h2><?php echo $this->__('Gift Card') ?></h2>
|
11 |
-
<div class="discount-form">
|
12 |
-
<?php //if ($cartTotal > $amount): ?>
|
13 |
-
<label for="giftcard_code"><?php echo $this->__('Enter your gift card code if you have one.') ?></label>
|
14 |
-
|
15 |
-
<div class="input-box">
|
16 |
-
<input class="input-text" id="giftcard_code" name="giftcard_code" value="<?php echo $this->escapeHtml($this->getgiftcardCode()) ?>" />
|
17 |
-
</div>
|
18 |
-
<?php //endif; ?>
|
19 |
-
|
20 |
-
<?php if (count($giftCardCollection) > 0): ?>
|
21 |
-
<dl class="gc-applied-gift-cards">
|
22 |
-
<dt><?php echo $this->__('Applied Gift Cards');?></dt>
|
23 |
-
<dd>
|
24 |
-
<ul>
|
25 |
-
<?php foreach ($giftCardCollection as $giftCard): ?>
|
26 |
-
<li>
|
27 |
-
<?php if (count($giftCardCollection) > 1): ?>
|
28 |
-
<input name="giftcard_remove[]" value="<?php echo $giftCard->getCode();?>" class="checkbox" type="checkbox">
|
29 |
-
<?php else: ?>
|
30 |
-
<input name="giftcard_remove[]" value="<?php echo $giftCard->getCode();?>" type="hidden">
|
31 |
-
<?php endif; ?>
|
32 |
-
<label><?php echo $giftCard->getCode();?>
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
<
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
$('
|
64 |
-
|
65 |
-
|
66 |
-
}
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
<?php endif; ?>
|
1 |
+
<?php
|
2 |
+
if ($this->isActive()):
|
3 |
+
$giftCardCollection = $this->getAppliedGiftCards();
|
4 |
+
$amount = $this->getAmount();
|
5 |
+
$cartTotal = $this->getCartTotalWithoutGiftCard();
|
6 |
+
?>
|
7 |
+
<form id="discount-giftcard-form" action="<?php echo $this->getUrl('giftcard/checkout_cart/giftCardPost') ?>" method="post">
|
8 |
+
|
9 |
+
<div class="discount gc giftcard">
|
10 |
+
<h2><?php echo $this->__('Gift Card') ?></h2>
|
11 |
+
<div class="discount-form">
|
12 |
+
<?php //if ($cartTotal > $amount): ?>
|
13 |
+
<label for="giftcard_code"><?php echo $this->__('Enter your gift card code if you have one.') ?></label>
|
14 |
+
|
15 |
+
<div class="input-box">
|
16 |
+
<input class="input-text" id="giftcard_code" name="giftcard_code" value="<?php echo $this->escapeHtml($this->getgiftcardCode()) ?>" />
|
17 |
+
</div>
|
18 |
+
<?php //endif; ?>
|
19 |
+
|
20 |
+
<?php if (count($giftCardCollection) > 0): ?>
|
21 |
+
<dl class="gc-applied-gift-cards">
|
22 |
+
<dt><?php echo $this->__('Applied Gift Cards');?></dt>
|
23 |
+
<dd>
|
24 |
+
<ul>
|
25 |
+
<?php foreach ($giftCardCollection as $giftCard): ?>
|
26 |
+
<li>
|
27 |
+
<?php if (count($giftCardCollection) > 1): ?>
|
28 |
+
<input name="giftcard_remove[]" value="<?php echo $giftCard->getCode();?>" class="checkbox" type="checkbox">
|
29 |
+
<?php else: ?>
|
30 |
+
<input name="giftcard_remove[]" value="<?php echo $giftCard->getCode();?>" type="hidden">
|
31 |
+
<?php endif; ?>
|
32 |
+
<label><?php echo $giftCard->getCode();?>
|
33 |
+
<?php $currentCurrency = Mage::app()->getStore()->getCurrentCurrencyCode();?>
|
34 |
+
-
|
35 |
+
<span class="price"><?php echo $giftCard->getFormatedBalance($currentCurrency);?>
|
36 |
+
<?php if ($giftCard->getCurrency() != $currentCurrency): ?>
|
37 |
+
(<?php echo $giftCard->getFormatedBalance();?>)
|
38 |
+
<?php endif; ?>
|
39 |
+
</span>
|
40 |
+
</label>
|
41 |
+
</li>
|
42 |
+
<?php endforeach; ?>
|
43 |
+
</ul>
|
44 |
+
</dd>
|
45 |
+
</dl>
|
46 |
+
<?php endif; ?>
|
47 |
+
|
48 |
+
<div class="buttons-set">
|
49 |
+
<input type="hidden" name="remove" id="remove-giftcard" value="0" />
|
50 |
+
<button type="button" title="<?php echo $this->__('Apply Gift Card') ?>" class="button active" onclick="discountGiftCardForm.submit(false)" value="<?php echo $this->__('Apply Gift Card') ?>"><span><span><?php echo $this->__('Apply Gift Card') ?></span></span></button>
|
51 |
+
<?php if (count($giftCardCollection) > 0): ?>
|
52 |
+
<button type="button" title="<?php echo $this->__('Remove Gift Cards') ?>" class="button" onclick="discountGiftCardForm.submit(true)" value="<?php echo $this->__('Remove Gift Cards') ?>"><span><span><?php echo $this->__('Remove Gift Cards') ?></span></span></button>
|
53 |
+
<?php endif; ?>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
</form>
|
58 |
+
<script type="text/javascript">
|
59 |
+
//<![CDATA[
|
60 |
+
var discountGiftCardForm = new VarienForm('discount-giftcard-form');
|
61 |
+
discountGiftCardForm.submit = function (isRemove) {
|
62 |
+
if (isRemove) {
|
63 |
+
if ($('giftcard_code'))
|
64 |
+
$('giftcard_code').removeClassName('required-entry');
|
65 |
+
$('remove-giftcard').value = "1";
|
66 |
+
} else {
|
67 |
+
if ($('giftcard_code'))
|
68 |
+
$('giftcard_code').addClassName('required-entry');
|
69 |
+
$('remove-giftcard').value = "0";
|
70 |
+
}
|
71 |
+
return VarienForm.prototype.submit.bind(discountGiftCardForm)();
|
72 |
+
}
|
73 |
+
//]]>
|
74 |
+
</script>
|
75 |
<?php endif; ?>
|
app/design/frontend/base/default/template/mt/giftcard/payment/giftcard/form.phtml
CHANGED
@@ -1,3 +1,5 @@
|
|
|
|
|
|
1 |
<?php $formVisible = Mage::helper('giftcard')->isPaymentMethodFormVisible();?>
|
2 |
<script type="text/javascript">
|
3 |
var paymentElement = $('p_method_giftcard');
|
@@ -13,4 +15,9 @@
|
|
13 |
'requestUrl': '<?php echo $this->getControllerUrl(); ?>'
|
14 |
});
|
15 |
</script>
|
16 |
-
<?php echo $this->getLayout()->createBlock('giftcard/payment_giftcard_form_giftcard')->toHtml(); ?>
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ($this->isActive()): ?>
|
2 |
+
|
3 |
<?php $formVisible = Mage::helper('giftcard')->isPaymentMethodFormVisible();?>
|
4 |
<script type="text/javascript">
|
5 |
var paymentElement = $('p_method_giftcard');
|
15 |
'requestUrl': '<?php echo $this->getControllerUrl(); ?>'
|
16 |
});
|
17 |
</script>
|
18 |
+
<?php echo $this->getLayout()->createBlock('giftcard/payment_giftcard_form_giftcard')->toHtml(); ?>
|
19 |
+
<?php else: ?>
|
20 |
+
<script type="text/javascript">
|
21 |
+
GiftCardCheckout.hidePaymentMethod();
|
22 |
+
</script>
|
23 |
+
<?php endif;?>
|
app/design/frontend/base/default/template/mt/giftcard/payment/giftcard/form/giftcard.phtml
CHANGED
@@ -1,12 +1,23 @@
|
|
1 |
<?php $formVisible = Mage::helper('giftcard')->isPaymentMethodFormVisible();?>
|
2 |
<div id="checkout-payment-method-gift-card">
|
3 |
<ul class="form-list">
|
4 |
-
<?php $giftCardCollection =
|
5 |
<?php if (count($giftCardCollection) > 0): ?>
|
6 |
<?php foreach ($giftCardCollection as $key => $giftCard): ?>
|
7 |
<li class="control gc-form-element">
|
8 |
<input id="gift_card_code_<?php echo $key;?>" checked="checked" class="checkbox" type="checkbox" title="<?php echo $this->__('Use Gift Card to check out');?>" name="apply_gift_card[]" value="<?php echo $giftCard->getCode();?>"/>
|
9 |
-
<label for="gift_card_code_<?php echo $key;?>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
</li>
|
11 |
<?php endforeach; ?>
|
12 |
<?php endif; ?>
|
1 |
<?php $formVisible = Mage::helper('giftcard')->isPaymentMethodFormVisible();?>
|
2 |
<div id="checkout-payment-method-gift-card">
|
3 |
<ul class="form-list">
|
4 |
+
<?php $giftCardCollection = $this->getAppliedGiftCardCollection();?>
|
5 |
<?php if (count($giftCardCollection) > 0): ?>
|
6 |
<?php foreach ($giftCardCollection as $key => $giftCard): ?>
|
7 |
<li class="control gc-form-element">
|
8 |
<input id="gift_card_code_<?php echo $key;?>" checked="checked" class="checkbox" type="checkbox" title="<?php echo $this->__('Use Gift Card to check out');?>" name="apply_gift_card[]" value="<?php echo $giftCard->getCode();?>"/>
|
9 |
+
<label for="gift_card_code_<?php echo $key;?>">
|
10 |
+
<?php echo $this->__('Gift Card');?> (<?php echo $giftCard->getCode();?>)
|
11 |
+
<?php echo $this->__('Balance: ');?>
|
12 |
+
<strong>
|
13 |
+
<?php
|
14 |
+
$currentCurrency = Mage::app()->getStore()->getCurrentCurrencyCode();
|
15 |
+
echo $giftCard->getFormatedBalance($currentCurrency);?>
|
16 |
+
<?php if ($giftCard->getCurrency() != $currentCurrency): ?>
|
17 |
+
(<?php echo $giftCard->getFormatedBalance();?>)
|
18 |
+
<?php endif; ?>
|
19 |
+
</strong>
|
20 |
+
</label>
|
21 |
</li>
|
22 |
<?php endforeach; ?>
|
23 |
<?php endif; ?>
|
package.xml
CHANGED
@@ -1,18 +1,21 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>MT_Giftcard</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.gnu.org/copyleft/gpl.html">GPL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Summary </summary>
|
10 |
<description>Free magento gift card extension</description>
|
11 |
-
<notes>
|
|
|
|
|
|
|
12 |
<authors><author><name>Edvinas Stulpinas</name><user>edas1</user><email>edvinas.stulpinas@gmail.com</email></author></authors>
|
13 |
-
<date>2015-04-
|
14 |
-
<time>
|
15 |
-
<contents><target name="mage"><dir name="app"><dir name="code"><dir name="community"><dir name="MT"><dir name="Giftcard"><dir><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tabs"><dir name="Giftcardseries"><file name="Form.php" hash="6ba57986e47de3810eb5432edd8cae13"/><file name="Grid.php" hash="d3af7e0412fc9b81543af8a58d9bb2c5"/></dir></dir><file name="Tabs.php" hash="7d8a2728a2c2b931381b0ef627160323"/></dir></dir></dir><dir name="Giftcard"><dir name="Giftcard"><dir name="List"><file name="Grid.php" hash="dcd306e00d75bd69f8251fe8b09798ed"/></dir><file name="List.php" hash="176da6866b6abb40cf2dc9d3cba7597c"/></dir><dir name="Series"><dir name="Edit"><file name="Form.php" hash="4d52c40a6e56e6851af652b006ab96d8"/><dir name="Tabs"><file name="Edit.php" hash="4ecf35ae08c7d659db770619979c7273"/></dir><file name="Tabs.php" hash="f284f9dc303bca6ae9f2f869993a0697"/></dir><file name="Edit.php" hash="4eadad4f86671831b5c0133a419775f3"/><dir name="List"><file name="Grid.php" hash="de02b111b41d9db067666adbe15c1c5a"/></dir><file name="List.php" hash="451587dd80ac40d5ec0b08e39d2029e6"/></dir><dir name="Template"><dir name="Edit"><file name="Edit.php" hash="1917934e01ce1d4b2a45132454a6e810"/><file name="Form.php" hash="722fb3b93b8c5a800462e8d62c228bb6"/><file name="Js.php" hash="33c7d8b6eee7cb36761bd82ea076ca5e"/><file name="Tabs.php" hash="73764b68cc7d9fdd83447c13a6db5787"/><dir name="Theme"><file name="One.php" hash="d70a1e4d19aa94ca972b69b376926bd3"/></dir></dir><file name="Edit.php" hash="afec06744ddfec3f8297ef8fbc959f04"/><dir name="List"><file name="Grid.php" hash="7c3e7a4303e1dd3b8da6d3e237cc54b3"/></dir><file name="List.php" hash="0345847adc717ce416c1d8d7679ed130"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><dir name="Create"><dir name="Total"><file name="Giftcard.php" hash="d8391b1b86be319b725debf16b901c7e"/></dir></dir><file name="Refund.php" hash="7f874138440cf23e2e8eb334ef471c62"/><dir name="Total"><file name="Giftcard.php" hash="5c883c7ecb44d32e9a3d7ce9536e5e84"/></dir><dir name="View"><dir name="Total"><file name="Giftcard.php" hash="b45537b5972ad058685254fdfe6f3127"/></dir></dir></dir><dir name="Items"><dir name="Column"><dir name="Name"><file name="Giftcard.php" hash="5daed6338457ae68894de91d3c061ce9"/></dir></dir></dir><dir name="Order"><file name="View.php" hash="c1b8d185d1b5066ab9b9b7ebcdf95f96"/></dir><dir name="Total"><file name="Giftcard.php" hash="c7e43f5fd38e7c8bca659ad0dcc87d7e"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="DateTime.php" hash="7362458637165e5564d4a87abcaa9033"/><file name="Days.php" hash="2bfc2fb0491b77a962544d82cdb3c66d"/><file name="Empty.php" hash="de0d661ae7e8831bef15d57cb998632f"/><file name="Price.php" hash="56792c71abb74e153b35bf2a8c32ec6a"/><file name="Status.php" hash="504e0af3eee9c162aecaa9ad97527d08"/><file name="Store.php" hash="18e0987cf166c487206ddbeed70c58de"/><file name="Translate.php" hash="c8fd54ec81c5afda4102755d9f31cfa9"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="Helper"><dir name="Form"><file name="Price.php" hash="3c7443352425f91916f9029248d8c08e"/></dir></dir><dir name="View"><dir name="Type"><file name="Giftcard.php" hash="fceb859207300158713008c2d7a9166b"/></dir></dir></dir></dir><dir name="Checkout"><dir name="Cart"><file name="Giftcard.php" hash="024083c88fb0f3cff24c1d982f346d33"/><dir name="Item"><file name="Renderer.php" hash="13f1c3a5e4cc9bc7d778b38b160d59e9"/></dir></dir></dir><dir name="Payment"><dir name="Giftcard"><dir name="Form"><file name="Giftcard.php" hash="8b0773e98f3ed6c66eb8cbc21aea6396"/></dir><file name="Form.php" hash="ec40089b38e59d1e18160f607000d0e6"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="b20c78f0df3e59a630f51db350bf4ac4"/></dir></dir></dir><dir name="Email"><dir name="Items"><dir name="Invoice"><file name="Giftcard.php" hash="3c7d29d038abb099643b690d023f29e5"/></dir><dir name="Order"><file name="Giftcard.php" hash="a7ef6d04643fbd9c1c76cd1258ad1540"/></dir></dir></dir><dir name="Info"><file name="Buttons.php" hash="264eed43b6476d3b573c64763bae89f0"/></dir><dir name="Invoice"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="18fe4aa679f67afee128d3268bd209ae"/></dir></dir><dir name="Totals"><file name="Giftcard.php" hash="bb7f13c1b38704c60b79045bee52ba67"/></dir></dir><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="2150aa2937bca87208f529041b4b4c60"/></dir></dir><dir name="Print"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="2f8217aab2813f2628fccf94c40e0b88"/></dir></dir></dir><dir name="Shipment"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="c83a1ea831ce08046cd09d50f0654580"/></dir></dir></dir><dir name="Totals"><file name="Giftcard.php" hash="783d7f72b9fd315ebac5db64431c5309"/></dir></dir></dir></dir><dir name="Helper"><dir name="Catalog"><dir name="Product"><file name="Configuration.php" hash="c5f821d6df23c647571cd97260aace53"/></dir></dir><file name="Data.php" hash="2f435554d80fbf07cca584fc7e5f5801"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><dir name="Giftcard"><file name="Design.php" hash="db768d5c518b8dfe233f6d5457b5b9c4"/><file name="Event.php" hash="9875a70a1581b3792f649f9b6092331f"/><file name="Format.php" hash="bc91cab62109d222de772bbba7aa6274"/><file name="Series.php" hash="aba6564547ffa61d8bef13869816a365"/><file name="State.php" hash="ca38a55cfd32a71379a572a949afd8f2"/><file name="Status.php" hash="d6ed0b91ac65615c72af6c5915519ec5"/><file name="Template.php" hash="870a1b61bf5a107aa766ec6446959cb2"/><file name="Type.php" hash="ef686e71f5e08b90d33731d31bc17539"/></dir><dir name="Locale"><file name="Currency.php" hash="212769c4b0ba792abcbf0764f0293495"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="Option"><dir name="Type"><file name="GiftcardValue.php" hash="4358ccd736862f1869e7c13689cc4d69"/></dir></dir><file name="Option.php" hash="b5422bc85fda78a79601136979248aba"/><file name="Price.php" hash="10926b8121b069581716b2d722f50682"/><dir name="Type"><file name="Giftcard.php" hash="04185bb851822766d7465a61314fbd5b"/></dir><file name="Type.php" hash="f226aad02e2182c60211e4f3ec970a55"/></dir><file name="Product.php" hash="8d8ddd5e1f0433eca6fcfe1836aab9ca"/></dir><dir name="CatalogIndex"><dir name="Data"><file name="Giftcard.php" hash="802f244a7c7d446318cb164e206a51ff"/></dir></dir><dir name="Checkout"><file name="Giftcard.php" hash="1849f47f79a9a59c77673ef6ec523f3e"/></dir><dir name="Core"><dir name="Email"><dir name="Template"><file name="Init.php" hash="8e073a69ea49ba49b2e393c3e5704c6b"/></dir><file name="Template.php" hash="482a942bee454d2290849daec3039b85"/></dir></dir><dir name="Export"><file name="Abstract.php" hash="09eb1f2591a952299faece886fe42ea4"/><dir name="Adapter"><file name="Csv.php" hash="4843c1e3c036e73a7ad8d14a38359075"/><file name="Excel.php" hash="9667e698055b0b933a0b00c4502ded09"/><file name="Interface.php" hash="7fa119032136a44eba0d88aa2f25c313"/><file name="Pdf.php" hash="4a84ddff48ee47baa5a1ea9c8b27df52"/><file name="Zip.php" hash="c2d4aee14e50ff7161b71fb05d9eff1b"/></dir><file name="Collection.php" hash="b2d1ac3db40c0b893814968c604a3c31"/><file name="Grid.php" hash="5adeab37fa0f8e81239a3c40143fef82"/><file name="Object.php" hash="a6e7a80e3eb76d44b40d97c8f3da7d89"/></dir><dir name="Giftcard"><file name="Action.php" hash="6b9b615a80986e6272a2eec56bef4e0a"/><dir name="Design"><file name="Abstract.php" hash="3fd7b6e3a2fddcd68a98d8545dfef31f"/><file name="Default.php" hash="0b2d0e7aaf7675216ce74a7c0870aae4"/></dir><file name="Draw.php" hash="8786b2d3f519c605c72c43fa9ebd5b0b"/><file name="Pdf.php" hash="a5bee72e4155cc5fbd960326bbc78ef5"/></dir><file name="Giftcard.php" hash="1f9bed7588bea4b58fb5c774ed5ffb72"/><dir name="Import"><file name="Abstract.php" hash="a2b1b6b88a90fdbd8e63f5f836831148"/><dir name="Adapter"><file name="Csv.php" hash="4394752e4ff37fc5fa51fd558ea0e239"/><file name="Excel.php" hash="a99f838f56c4b97994ba757d245042d8"/><file name="Interface.php" hash="798076dd0df08e698bafb58ab7f0197e"/></dir><file name="Code.php" hash="6c2bdc65b2ac121f59abc4399388dc28"/><file name="Giftcard.php" hash="0de1f38b723e5ef89ed8235fad2104f0"/></dir><file name="Observer.php" hash="97af59612b758e34ec19702835765226"/><dir name="Option"><dir name="Source"><file name="Value.php" hash="8f3f7bc0fab0c5e045b30d3578643604"/></dir></dir><file name="Option.php" hash="12d6ca22d8d99a9b3c0ce8cf13375ad5"/><dir name="Payment"><file name="Giftcard.php" hash="693706e28c44c80104888be6830413c9"/></dir><dir name="Resource"><dir name="Giftcard"><file name="Collection.php" hash="a2ec4830dee19e8bc67ca86f77e76acb"/></dir><file name="Giftcard.php" hash="f863a386d1b201ff4b0057dd8e758cd9"/><dir name="Option"><file name="Collection.php" hash="5c800e6bd3dae83adf2a23d7d9c69f4f"/></dir><file name="Option.php" hash="1094c6e088b63521d9bfc3a3096529ee"/><dir name="Series"><file name="Collection.php" hash="c0f63638b2d7cdddec16e0f4f6132e34"/></dir><file name="Series.php" hash="e15496b1d81dde4b22d81351c87aa99b"/><dir name="Template"><file name="Collection.php" hash="5ec7e0ac6cb5202add9a5a1a64b4acfa"/></dir><file name="Template.php" hash="105a1061a84fb39eaa584753625ac517"/></dir><dir name="Sales"><file name="Discount.php" hash="c2548baed309f9a82453414257822b1a"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Giftcard.php" hash="4d99a19372e954efb8012464e4704a17"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Giftcard.php" hash="3f9aaca0bcd5e02b48237a9227a433e0"/></dir></dir></dir><dir name="Quote"><dir name="Total"><file name="Giftcard.php" hash="46984ea355030f13e36120b5a7c530de"/></dir></dir></dir><dir name="Series"><file name="Action.php" hash="d89641d09eb6fe1c497026fd82859d60"/><file name="Generator.php" hash="0eb0a8ae65de74a809385f0114789f05"/></dir><file name="Series.php" hash="d59b86da6a1998ae6aec08adef704429"/><dir name="Template"><file name="Action.php" hash="516c1eb7b63a8ab8d1bc6f9998b784ca"/></dir><file name="Template.php" hash="c55da9594342d746081dc68ff6b6de92"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Catalog"><file name="ProductController.php" hash="f331364419d5a59af4e3f8a628606d7f"/></dir><dir name="Giftcard"><file name="ExportController.php" hash="02c1c8d06865cb6848490cbbb41b653e"/><file name="GiftcardController.php" hash="001409911ad1e3c27b722cfac3218bd4"/><file name="SeriesController.php" hash="f34af93d647791618b9c33c27278a769"/><file name="TemplateController.php" hash="ed9038df5eaedf14c375234f7dc2bcdb"/></dir></dir><dir name="Checkout"><file name="CartController.php" hash="15ade20fe8542f0054aee89ea44de5be"/></dir><file name="GiftcardController.php" hash="46235437fd9fbdf7fe5e27258cfb6180"/></dir><dir name="etc"><file name="adminhtml.xml" hash="7f7e5385aeb9a43a5a528d130484147f"/><file name="config.xml" hash="1201b7cfaf87bbd49f40738015fbce43"/><file name="system.xml" hash="1a046dc4699418bc4fd5df111ac58bf6"/></dir><dir name="sql"><dir name="giftcard_setup"><file name="mysql4-install-1.0.0.php" hash="dbafa9bda0122cc8ba96781401800f68"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="d5599ed44143cbf47422f2885727c2b1"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="fd2d784cfa3af5f17f6e29997d7b7705"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="d48218a0040c98a644981d158b6891ee"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="MT_Giftcard.xml" hash="ca094ea06a7910dc265e935e161b9d98"/></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="mt"><file name="giftcard.xml" hash="b1266eb4f8f5e5c8ea6e23f7abe1fa1e"/></dir></dir><dir name="template"><dir name="mt"><dir name="giftcard"><dir><dir name="catalog"><dir name="product"><dir name="view"><dir name="type"><dir name="options"><file name="giftcard.phtml" hash="b5934afd5e7f93674402b25d63459e70"/></dir></dir></dir></dir></dir><dir name="checkout"><dir name="cart"><file name="giftcard.phtml" hash="75079565abc1788e0fd6da9e9dd9b056"/></dir></dir><dir name="payment"><dir name="giftcard"><dir name="form"><file name="giftcard.phtml" hash="fa7ab3b1c0e9e718926fd243688e1c15"/></dir><file name="form.phtml" hash="896091390a121afc6ee64adfa8748964"/></dir></dir><dir name="sales"><dir name="order"><dir name="info"><file name="buttons.phtml" hash="12abbdcdbff241a3fb448c51493286fe"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="mt"><dir name="giftcard"><dir><dir name="catalog"><dir name="product"><dir name="edit"><dir name="tab"><dir name="options"><file name="option.phtml" hash="3f5885df27c65633a6c7a1f8ba18f4d7"/><dir name="type"><file name="giftcardvalue.phtml" hash="3f5885df27c65633a6c7a1f8ba18f4d7"/></dir></dir></dir></dir></dir></dir><dir name="giftcard"><dir name="series"><file name="js.phtml" hash="99defd275b4e0a674edafe2119c56309"/></dir><dir name="template"><dir name="edit"><file name="js.phtml" hash="3e399880a503d30c90c3acd16372e3e3"/></dir></dir></dir><dir name="sales"><dir name="creditmemo"><dir name="create"><dir name="total"><file name="giftcard.phtml" hash="f0de805a54be03f04c741d8685e7179d"/></dir></dir><file name="refund.phtml" hash="64fe05f67d988621092599b05d6cffe3"/><dir name="view"><dir name="total"><file name="giftcard.phtml" hash="8e055cf4f56e07805a7bb021121cb404"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="layout"><dir name="mt"><file name="giftcard.xml" hash="481646a8be417c7dde7a9c5bee42df1d"/></dir></dir></dir></dir></dir></dir><dir name="locale"><dir name="en_US"><file name="MT_Giftcard.csv" hash="030a023d4765a41861862d26e94a2a61"/><file name="MT_Giftcard_Adminhtml.csv" hash="a4030ebbce038f66d5de95836b07b3a9"/></dir></dir></dir><dir name="js"><dir name="mt"><dir name="giftcard"><dir><dir name="adminhtml"><file name="gift_card.js" hash="a077f36a4718a5ba27b11f33af163334"/><file name="gift_card_series.js" hash="34d968fa1668c4e9aec42803090a73ce"/><file name="gift_card_template.js" hash="f247e17ba83b638e336a440c1c4c4fb6"/><dir name="jscolor"><file name="arrow.gif" hash="5034704a76cd55c1cbcbc58ea6bf523f"/><file name="cross.gif" hash="ba9a274b9323753cd95bc3b1eb2f4e5f"/><file name="demo.html" hash="742abe680859d25a2052ac5be6b65203"/><file name="hs.png" hash="fefa1a03d92ebad25c88dca94a0b63db"/><file name="hv.png" hash="990d71cada17da100653636cf8490884"/><file name="jscolor.js" hash="a26701f49bf33da8dc48f3431e5f4f42"/></dir></dir></dir><file name="jquery-2.1.1.min.js" hash="9a094379d98c6458d480ad5a51c4aa27"/></dir></dir></dir><dir name="skin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="mt"><dir name="giftcard"><file name="giftcard.css" hash="acf19b6c0935ae22f827280fbe04af39"/></dir></dir></dir><dir name="images"><dir name="mt"><dir name="giftcard"><file name="opc-ajax-loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/></dir></dir></dir><dir name="mt"><dir name="giftcard"><dir><dir name="design"><dir name="default"><dir name="fonts"><file name="Chaparral-Pro-Regular.ttf" hash="6848adda9090c62208b75b8ad77cdd75"/><file name="Roboto-Black.ttf" hash="a77b7fc4cf040eb5bb26b0685893a9df"/><file name="Roboto-Light.ttf" hash="e22062b3188c8199283ef2aa835d4653"/><file name="Roboto-Medium.ttf" hash="99fc0816a09395454061301fefa42bf1"/><file name="myriad-web-pro.ttf" hash="ff71ffc3836541cf0071d0a47ae0c715"/></dir><dir name="img"><file name="bg.jpg" hash="46661fc213743bc87132e3aebb0ff00e"/><file name="price.png" hash="a4be48a4be4d8b6b3ddbca50457476c7"/><file name="price2.png" hash="4b857a754bdfc344cea059750de0333c"/><file name="shadow.png" hash="a24d8ce96c6ac0a411e93f77a9eb59fb"/><file name="shape.jpg" hash="e0dace3f47ba46091462fbacd466d453"/></dir></dir></dir></dir></dir></dir><dir name="js"><dir name="mt"><dir name="giftcard"><file name="giftcard.js" hash="30f94e3271d018b83e55c5a454ac0286"/><file name="giftcardcheckout.js" hash="8e2a4e78046a56a77fb1891f5194cdb3"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="mt"><dir name="giftcard"><file name="gift_card_style.css" hash="4da70f033c3873fd69cbecc3a3ab52ad"/><dir name="import"><file name="gift_card_codes_example.csv" hash="8c04e295be30a1a316c50c8781c13778"/><file name="gift_card_codes_example.xlsx" hash="974af675c981d592303d6332a3fbed9f"/></dir></dir></dir></dir></dir></dir></dir><dir><dir name="lib"><dir name="PHPExcel"><file name="Autoloader.php" hash="c0ac1b27ca0013f02b65abff156eb888"/><dir><dir name="CachedObjectStorage"><file name="APC.php" hash="060a6e5b1c7a0ea4d6d38bd7a637a40c"/><file name="CacheBase.php" hash="45ec0389643f44555f45b7f732fb9328"/><file name="DiscISAM.php" hash="792c27a7920a33100d082e3a1e863e0f"/><file name="ICache.php" hash="42b7649b7901073e4f3f4d1f1184da50"/><file name="Igbinary.php" hash="9caa0af653e56e5c3ad9f9ee6bcdf71c"/><file name="Memcache.php" hash="e9c9fd2dfa1ef0c7df194f32a55c584c"/><file name="Memory.php" hash="67d943f12ce373b554c44a8427950f5e"/><file name="MemoryGZip.php" hash="7cfc009c1634fbbbdf229e1ccf4b193f"/><file name="MemorySerialized.php" hash="b9498b0c52a0e9635557841db318ed79"/><file name="PHPTemp.php" hash="8cbab31264df67172d4753abaea3028f"/><file name="SQLite.php" hash="705f689486dee5e55cb54560a743e847"/><file name="SQLite3.php" hash="2be3feafefad4a501232156beff5ae94"/><file name="Wincache.php" hash="649b95ef8f1d8b9b1fce1c32d8e13670"/></dir><dir name="CalcEngine"><file name="CyclicReferenceStack.php" hash="8e0ccafd804a7c959e5fbc78cadee900"/><file name="Logger.php" hash="73bbe66af2e991b27011b60764e2bdac"/></dir><dir name="Calculation"><file name="Database.php" hash="fcc0d987b23c0a43a30a0cc444c9e42d"/><file name="DateTime.php" hash="74929cc98942540350877d4e045c1da1"/><file name="Engineering.php" hash="2f1ab671181d9496ee11118985d25d4f"/><file name="Exception.php" hash="652642e024783e23648d116fe6f0f2be"/><file name="ExceptionHandler.php" hash="af3157a0957577c2b56b2020faa6160f"/><file name="Financial.php" hash="ca890b073f75aa48c49fb01a8f1e15ee"/><file name="FormulaParser.php" hash="e60e4f77093cc60f73edbaf4be80695a"/><file name="FormulaToken.php" hash="8a2535134cdf044103f0ac88f9db6b93"/><file name="Function.php" hash="c5201782fcaf859c643323a2883e3f45"/><file name="Functions.php" hash="d8d80883dfe5de21b8f3807a7f254022"/><file name="Logical.php" hash="d35eec76ac850e468ffff5dba3dd6bd0"/><file name="LookupRef.php" hash="9d21e4f2dc9340e4c6936f476f931ecc"/><file name="MathTrig.php" hash="a4c6abb1892c3091e6677ca6a4fc2053"/><file name="Statistical.php" hash="200647a809afc11198fcb52d47718061"/><file name="TextData.php" hash="9e97f8cf0e2b644711bcb4ba812b62a1"/><dir name="Token"><file name="Stack.php" hash="fd7a697177f560320eb38960e252e89c"/></dir><file name="functionlist.txt" hash="0b49438e2daa296d8e00527b1914c558"/></dir><dir name="Cell"><file name="AdvancedValueBinder.php" hash="cf4892ed82cfb2ecd8eb7ee7b7a5e334"/><file name="DataType.php" hash="8ccc274284e31a4c07370955114c7d70"/><file name="DataValidation.php" hash="eb5c4fa4d7185356d2056332b09d8f09"/><file name="DefaultValueBinder.php" hash="8af25074b5bbbe4301ddf05ac1957dff"/><file name="Hyperlink.php" hash="32393f6556a0f5ca28935a8b5e2377bc"/><file name="IValueBinder.php" hash="901680ab3e1103a5f48871dc9cd381d6"/></dir><dir name="Chart"><file name="DataSeries.php" hash="e7076e005301be41adf52a58e0824be7"/><file name="DataSeriesValues.php" hash="6bae1ddb7670c6966aa650b736adc56e"/><file name="Exception.php" hash="a06db381aca20a233a2343fdb1b3984d"/><file name="Layout.php" hash="f372df2e9240733449ec13299e12a731"/><file name="Legend.php" hash="007d1fc43db17a7a714ac490d621d3a4"/><file name="PlotArea.php" hash="ebc3924021d32e09fbf6e191ea7c9169"/><dir name="Renderer"><file name="PHP Charting Libraries.txt" hash="6ce1c907ce7043d81288b98e1ffd8c35"/><file name="jpgraph.php" hash="279ce653db7b4177d1c378c421dd4ffe"/></dir><file name="Title.php" hash="02874bda68ff78da251e84c68fe61b3c"/></dir><dir name="Reader"><file name="Abstract.php" hash="5e936960b43fc0286ba3b6663222eeab"/><file name="CSV.php" hash="141e9bcc6c31323092927e5e0ca8f162"/><file name="DefaultReadFilter.php" hash="83e54f1b119a512e8d64cef6b258865f"/><file name="Excel2003XML.php" hash="9fafa9bb7e70b9063a4082598f1cc52a"/><dir name="Excel2007"><file name="Chart.php" hash="496a5edc2e1a2c9664459047481e44bf"/><file name="Theme.php" hash="503ca86087407ce4711cfdacbae846dd"/></dir><file name="Excel2007.php" hash="7367d998079874628d53827d415194f9"/><dir name="Excel5"><file name="Escher.php" hash="f4e8768b6bb41c6d95a3d443189f4dc3"/><file name="MD5.php" hash="2dc878b66882d023d8ae841f1e93138a"/><file name="RC4.php" hash="fba55a88fc22e075a6e2b6a6fdcfe5fa"/></dir><file name="Excel5.php" hash="0a440d3c5a6797eb0d3bebbcff230cf1"/><file name="Exception.php" hash="7125b5445841b29f219c175258c89ae8"/><file name="Gnumeric.php" hash="14eb4e868c3c117ca78b2ee1a8fbd5e7"/><file name="HTML.php" hash="96afd8420f5fedf86759e50e18c19ae4"/><file name="IReadFilter.php" hash="0736c334c496bf42d0e16d2dd0b9dbd2"/><file name="IReader.php" hash="8e6325d94957c3edd350d967cba66eda"/><file name="OOCalc.php" hash="f0787409765f1ebd3af78d0afa83ee6c"/><file name="SYLK.php" hash="5a68110f072be2987678b928e2a5b5dd"/></dir><dir name="RichText"><file name="ITextElement.php" hash="022e671cfd5fe5036f556aa3da0b5e13"/><file name="Run.php" hash="42e3a7e9b7e9dc2b4764cd7e9256e2dc"/><file name="TextElement.php" hash="312b6cc37fa1260236670384c445cdef"/></dir><dir name="Shared"><file name="CodePage.php" hash="f778196b9cfc0da13183b253057bec0b"/><file name="Date.php" hash="a26d5625d129579d9f524ab8d0531f30"/><file name="Drawing.php" hash="af1da980682f5c1f2731f94133b81567"/><dir name="Escher"><dir name="DgContainer"><dir name="SpgrContainer"><file name="SpContainer.php" hash="8194d9a9e6d02245fea8bc4f36f07c93"/></dir><file name="SpgrContainer.php" hash="32c66b6e42634db60322c5e23f60b82f"/></dir><file name="DgContainer.php" hash="0a999b2c39273240d5d0a9df52b660e4"/><dir name="DggContainer"><dir name="BstoreContainer"><dir name="BSE"><file name="Blip.php" hash="82e7eaa1811b7cfb946c047a92427c38"/></dir><file name="BSE.php" hash="dec31faefa86bcac6179fb64d2ec273b"/></dir><file name="BstoreContainer.php" hash="1da7d264aabc0acb3fa391ab5abeae02"/></dir><file name="DggContainer.php" hash="3cc63376df61d3de6cb3d0381b26e258"/></dir><file name="Escher.php" hash="814c9b01923def958017f1333eee2177"/><file name="Excel5.php" hash="86feffcfde61c12b6e6f013620599c27"/><file name="File.php" hash="a657b5cf8872cfe2107c9c01baba8cdd"/><file name="Font.php" hash="88d74f04f0b130c6c633d773cd37669d"/><dir name="JAMA"><file name="CHANGELOG.TXT" hash="81155b0ba4a4aee114047e7aa51e4043"/><file name="CholeskyDecomposition.php" hash="d34ecb13bcefd7c6f04139def3796b60"/><file name="EigenvalueDecomposition.php" hash="c17e11c6d3aa17ad5ed1987ca2782023"/><file name="LUDecomposition.php" hash="e17c4558ef2a3e1914f7b658cc44b93d"/><file name="Matrix.php" hash="53ad625ea79d17eedc3808d257e7bab5"/><file name="QRDecomposition.php" hash="99c31e87a163d45f8c6d940ebbc5e171"/><file name="SingularValueDecomposition.php" hash="d18aa1bcae41dac035353f25d3e77a31"/><dir name="utils"><file name="Error.php" hash="ee40ef699a75fcb33856a80f1b5862cb"/><file name="Maths.php" hash="44462be998ffabaa1530d804438ca521"/></dir></dir><dir name="OLE"><file name="ChainedBlockStream.php" hash="d4bb1993b2f702946acfa46e97aa4160"/><dir name="PPS"><file name="File.php" hash="0474f51f53afc5638edcc9a0b6c3fbc2"/><file name="Root.php" hash="208d81258c79750799dbab04c81ff1f0"/></dir><file name="PPS.php" hash="9d8e405cd746bc5689b6dbfd9bd3a75f"/></dir><file name="OLE.php" hash="855929ae8f887d2cc1881176f0cc5698"/><file name="OLERead.php" hash="446ec9ee4bdd7cc7e025197033b425e9"/><dir name="PCLZip"><file name="gnu-lgpl.txt" hash="f14599a2f089f6ff8c97e2baa4e3d575"/><file name="pclzip.lib.php" hash="3ee0a4d8a06cedc0a56f29e8f351ef72"/><file name="readme.txt" hash="0d82536577908a1f78e1b5c6220f5810"/></dir><file name="PasswordHasher.php" hash="7e9dbb123da6ebf684d78d59dc55aae6"/><file name="String.php" hash="a33e20a7869cb76cfedea8168aeb144e"/><file name="TimeZone.php" hash="d65f43b613e065f013eef6803c56f0bc"/><file name="XMLWriter.php" hash="2c7ef964e936d08dc0a2a100665702e0"/><file name="ZipArchive.php" hash="e2fa9952bbefd2d81507e458d539ded4"/><file name="ZipStreamWrapper.php" hash="ad14dcb8fbd5222b7806e39122b1661c"/><dir name="trend"><file name="bestFitClass.php" hash="b59ad65a9b95d6bfa72cbdb3416ffc6b"/><file name="exponentialBestFitClass.php" hash="021fe1a3f2453c26c40b2692bf3e13d5"/><file name="linearBestFitClass.php" hash="1c56b0b6062a02ad58eb48fe77f1eff1"/><file name="logarithmicBestFitClass.php" hash="4000e8e6ee228a63a6712448d3689df0"/><file name="polynomialBestFitClass.php" hash="48e12ca22a05fb7fdb6cb66b9d996b02"/><file name="powerBestFitClass.php" hash="e76a3317b4c761b45107b160689286b2"/><file name="trendClass.php" hash="4f826ac73685676b87076de95a17ff1e"/></dir></dir><dir name="Style"><file name="Alignment.php" hash="6629881d62ec07d2bee03625ba8343a0"/><file name="Border.php" hash="5e707af05b1dcbe3cc069532cfb1a49c"/><file name="Borders.php" hash="55ab49a60cc4731aaf87bb8471d5eb99"/><file name="Color.php" hash="f70870d3d4c4a238636e775c6c489185"/><file name="Conditional.php" hash="70eaa6d58e2b64689afba07ac916137f"/><file name="Fill.php" hash="44daa400dc0b6bde70d917b8c349fe4e"/><file name="Font.php" hash="2de4834bb4b11444e4995a91517f91e3"/><file name="NumberFormat.php" hash="053298f5a8a54cdf0581f3e393014817"/><file name="Protection.php" hash="52d3d0e540fc22af4df901c9dae23cd6"/><file name="Supervisor.php" hash="9c06b8d9c19e79344fe667264bcf4104"/></dir><dir name="Worksheet"><dir name="AutoFilter"><dir name="Column"><file name="Rule.php" hash="006d912960d4c2ba3dafff71ef693a19"/></dir><file name="Column.php" hash="92ee57544a767280c79e7e0551087e7a"/></dir><file name="AutoFilter.php" hash="b729e61a53f2a3889f0d9282543b81ff"/><file name="BaseDrawing.php" hash="ca57c82c46c78c7e8b349eafa9a88593"/><file name="CellIterator.php" hash="d4bc618bbc586249c1e5dc7df1d993ac"/><file name="ColumnDimension.php" hash="3b9ec591295530beb15cd8237c7cc70d"/><dir name="Drawing"><file name="Shadow.php" hash="d630b34c395209b07d4dd804ee18dc73"/></dir><file name="Drawing.php" hash="cbf3a833861eeaaf3701787357450294"/><file name="HeaderFooter.php" hash="98de723123be2d2a249f367c570b9c29"/><file name="HeaderFooterDrawing.php" hash="c7c6f9b3505e4371f55108ff03d24d16"/><file name="MemoryDrawing.php" hash="333c41a96934a40789bb756955837fce"/><file name="PageMargins.php" hash="513f4fd898a3c7a753e6a5fd314ad662"/><file name="PageSetup.php" hash="ad4d560edf7688ed37ab304139d84f79"/><file name="Protection.php" hash="a8009085ec12f6e99f163df7946d610c"/><file name="Row.php" hash="c7240acf83a4bb1d5d867d7a0cc77f5a"/><file name="RowDimension.php" hash="b2fb45b94bb56d896d09a5d561082676"/><file name="RowIterator.php" hash="6984179f0409f6fc83db123b4b3a6e3d"/><file name="SheetView.php" hash="643122447438c7b65a12d044d8eba413"/></dir><dir name="Writer"><file name="Abstract.php" hash="71881e3c107b9e9ed8d38192b5d83700"/><file name="CSV.php" hash="641fa5f7d7b5805ef77566699631a2ff"/><dir name="Excel2007"><file name="Chart.php" hash="64ef1552a4726a0bd1e017027a529662"/><file name="Comments.php" hash="37f5f882ad0bb555d05b6996008d8662"/><file name="ContentTypes.php" hash="6e0a91955bbe0c65e517ec3a0755c7f8"/><file name="DocProps.php" hash="857de2845f5baa04e4496faa19da5d0b"/><file name="Drawing.php" hash="6b9f0004b35622ab59a613bd81f33b6d"/><file name="Rels.php" hash="4477e66d75e9f48468bf9b086159ae09"/><file name="RelsRibbon.php" hash="3f66b74fb31784ca8ce4bd5bc7291ee3"/><file name="RelsVBA.php" hash="880686bbfa3e472554291b46adcbdf7a"/><file name="StringTable.php" hash="9a4274e4c1b5b2c3fe470cf4a13d5c6b"/><file name="Style.php" hash="e3e5723d4360af64a18d30c0b93a942a"/><file name="Theme.php" hash="eac4b2103b90d25979a60f64179cb7bc"/><file name="Workbook.php" hash="018aabcb96afc1c7dd397fe5b05a6eb9"/><file name="Worksheet.php" hash="88b5cc0fde4a95b2cb89e63b7abcd46c"/><file name="WriterPart.php" hash="b57a9a922bf85e0c55b9fb3e25e7914d"/></dir><file name="Excel2007.php" hash="9747cbee3a0c7e82a77b658203c661a3"/><dir name="Excel5"><file name="BIFFwriter.php" hash="718654fec54a551f016a37ca804b42de"/><file name="Escher.php" hash="0d416af1873a7fe13017c0f53a70da16"/><file name="Font.php" hash="7f2445071c18c6b1c2c1795eae0b7c12"/><file name="Parser.php" hash="ac6ba6bf3cbdcfe7c270a5eff8d8d768"/><file name="Workbook.php" hash="fe2d6f409f6141004c784478160112ef"/><file name="Worksheet.php" hash="2eb04d70106f0635944c7d793eb124e0"/><file name="Xf.php" hash="aebe288abce9d204dee832a1b2522e3a"/></dir><file name="Excel5.php" hash="44c5bbf4edae0f164f18c6816a76f98d"/><file name="Exception.php" hash="7bab6538d9b1b384046054de54e96f42"/><file name="HTML.php" hash="00865972340ff901b501935814385eaa"/><file name="IWriter.php" hash="f09b0dc69e45f2ffa0ac9b5ab502fb82"/><dir name="PDF"><file name="Core.php" hash="e2a46d6c77a74863f81a5842d6a9ebca"/><file name="DomPDF.php" hash="90810f3edb94624db9675e903b00471c"/><file name="mPDF.php" hash="0be83c393289fe4fa01d71757beb7c1f"/><file name="tcPDF.php" hash="3ed2de3ea0628b6dddd7deae4c4b5846"/></dir><file name="PDF.php" hash="389cbece6563cd263debef97ec425957"/></dir><dir name="locale"><dir name="bg"><file name="config" hash="bd48b1342028433c0e8b1405f63681b6"/></dir><dir name="cs"><file name="config" hash="5bec343ec684797f504042520ee2d770"/><file name="functions" hash="dd9b6a53208a2d9128a0dbed5a192c61"/></dir><dir name="da"><file name="config" hash="3c9e6275eeb4e3e8b0227e6fa1cc7e99"/><file name="functions" hash="2be89aab61a219f5102367274eb6ebbd"/></dir><dir name="de"><file name="config" hash="eb1de3a4a017502843d25740d42f0a2c"/><file name="functions" hash="000406260d68b33e72ea78dfeb00b5ff"/></dir><dir name="en"><dir name="uk"><file name="config" hash="24025d0951937faf37cf1c6e0f3dc126"/></dir></dir><dir name="es"><file name="config" hash="65290b4e3b67ebb9a97a90b9222c7e15"/><file name="functions" hash="a703deb701efd97e00291db5333afb3c"/></dir><dir name="fi"><file name="config" hash="14d9c9df4ce03460ea96c3d80399ae57"/><file name="functions" hash="b5e2892f1b2a3a4961e1afcc3a6ee640"/></dir><dir name="fr"><file name="config" hash="027f624b5a6e245629eb0c61e3885e32"/><file name="functions" hash="a77aca7f185e1d209515a4496bafee4e"/></dir><dir name="hu"><file name="config" hash="5fa5ca22943755f450c54c677cdc9746"/><file name="functions" hash="1fb62789d3bac98fa779cd4b41b586ae"/></dir><dir name="it"><file name="config" hash="150afe868eb2c018cf6821f24e4cbd61"/><file name="functions" hash="33abdfe7001d4fdbe302900074323b0e"/></dir><dir name="nl"><file name="config" hash="491f94c0f2bfb810f70ad2318163cd4d"/><file name="functions" hash="0c67a37f97efc98f45722cc2f4fcc35b"/></dir><dir name="no"><file name="config" hash="279bbcda77bc7f0730e22a4bea7e3802"/><file name="functions" hash="5028d6a07e300f28f5ee32bb5aae7133"/></dir><dir name="pl"><file name="config" hash="6a58549706b2da7200b5d78f4ab41f92"/><file name="functions" hash="38738374816955fbdff6f86f6fa8a94a"/></dir><dir name="pt"><dir name="br"><file name="config" hash="f43c1e73bb43432e18d724b8f5b478c5"/><file name="functions" hash="c4790f115b3abc4a12c66b943c1902a9"/></dir><file name="config" hash="da578667203b7cda77565744077e7841"/><file name="functions" hash="d7cd17cfee5fddc681e19f9e59ddd133"/></dir><dir name="ru"><file name="config" hash="567fc66512232e26a7fb27f953190805"/><file name="functions" hash="3ee40439feab895f7b43021bc3ee0d74"/></dir><dir name="sv"><file name="config" hash="e1db96fd21891c616ba3ea744fea210d"/><file name="functions" hash="c61ab2dbccc729b8587a118debbce06b"/></dir><dir name="tr"><file name="config" hash="579938059c4a3c5114e398229ca5d081"/><file name="functions" hash="f1d72a47a1efcefe2979d5c12db88a6c"/></dir></dir></dir><file name="CachedObjectStorageFactory.php" hash="fcddd34477297d387012571e8968ca45"/><file name="Calculation.php" hash="8a4cc594019490aa21c601176209de88"/><file name="Cell.php" hash="30e0d3851122f2335149ece30169ec24"/><file name="Chart.php" hash="d19d8b127aec43520416aa9488e893bf"/><file name="Comment.php" hash="2b1e37cf0e1504b9ba0d13473ff743fa"/><file name="DocumentProperties.php" hash="a310128c6ef8686c6858b14518baa680"/><file name="DocumentSecurity.php" hash="f01bb7af3b6b4d775e99ffa49316b2c8"/><file name="Exception.php" hash="f85f0fa5025dd2a43b2f271efb7068e8"/><file name="HashTable.php" hash="4347b83f91a7f036526b3d9efa7a14f9"/><file name="IComparable.php" hash="ccb0435d62a54236d7afe9c1aed08ad3"/><file name="IOFactory.php" hash="f6e2a8c261cf66ccd1042433e66a1901"/><file name="NamedRange.php" hash="676daa1d2dfd5bd61c4e065aabf8cb84"/><file name="ReferenceHelper.php" hash="c1c7bac86d13f19ca6134c7d95256177"/><file name="RichText.php" hash="a3ecee59068d011fc751ddcd449e014c"/><file name="Settings.php" hash="eaa649e68369e3c01e30ab72429ce311"/><file name="Style.php" hash="250eacd8a8060a76903a7e5a81519ead"/><file name="Worksheet.php" hash="c3eb607361f574fe777cdc0178de7b32"/><file name="WorksheetIterator.php" hash="73d5db8e6d1c331a6f25b0bc0204946c"/></dir><file name="PHPExcel.php" hash="144f3dcdc193f98e7e63f6909190f0f5"/><dir name="phpqrcode"><file name="1419976901png-errors.txt" hash="5c0bdada27335acf976037e64f053d69"/><file name="CHANGELOG" hash="8a872fe193a26678351bfcd30ce762bf"/><file name="INSTALL" hash="4b8cd3c0df34ccdf9eda43633db9ef2a"/><file name="LICENSE" hash="01a2438b1b13b50bedf2778fc1678265"/><file name="README" hash="f541b0b72589a7d3383eface763af72b"/><file name="VERSION" hash="1be049d58921c68c0ce38169a785ac20"/><dir><dir name="bindings"><dir name="tcpdf"><file name="qrcode.php" hash="5b713d84ab4d0fc710a147a0e3848335"/></dir></dir><dir name="cache"><file name="frame_1.dat" hash="9966a137ae5c422c423c64664a6e7525"/><file name="frame_1.png" hash="411b1640bd31fb729f2133abcd06147c"/><file name="frame_10.dat" hash="5322d931be649e5ccec61461d67dd321"/><file name="frame_10.png" hash="94e6c5ecb12f212f27dcff20e82a795b"/><file name="frame_11.dat" hash="79e3ee85484b12fcc4fdc1907510dd90"/><file name="frame_11.png" hash="f6ef45cec274ec241a873ef22df7f45e"/><file name="frame_12.dat" hash="37ccf648fe2fc810ec81fa0f8c3820f1"/><file name="frame_12.png" hash="76152b897afbf40707bf238b5c6dd172"/><file name="frame_13.dat" hash="b04711a3b19ec79c84549843c5557ac9"/><file name="frame_13.png" hash="d6ed6af6d34cf2e8a8d24ae08400fae4"/><file name="frame_14.dat" hash="250770c3d53b29c438f8c0882e1d56d0"/><file name="frame_14.png" hash="d681e5d008e03ef3b2a174da3b77067a"/><file name="frame_15.dat" hash="8e37257a86d3bb454dc2568d94673f6c"/><file name="frame_15.png" hash="ef5b3f6e8fc23ebc14a8929a5300da95"/><file name="frame_16.dat" hash="7032d38df7b8225e306c6940b9380e2b"/><file name="frame_16.png" hash="3e55f66956d8035aa8d3bc1e7fc160f7"/><file name="frame_17.dat" hash="f492c83b8c1c940ee37f41407d0a6c23"/><file name="frame_17.png" hash="03db7f215625032749e912f2aab2a701"/><file name="frame_18.dat" hash="0780fa437cde6b605d86ba1a2234f19e"/><file name="frame_18.png" hash="b52277f3cd98a8f46663f5091b0a9681"/><file name="frame_19.dat" hash="dd0bf43626ee9dc7694382311d94df7f"/><file name="frame_19.png" hash="aaa7c06298eac23c24c41372b13e99ad"/><file name="frame_2.dat" hash="d2063daff8eada7d4a22cedae30f5d04"/><file name="frame_2.png" hash="1ae37415f42c6dbfed330acee0e488d6"/><file name="frame_20.dat" hash="a3a1eb820b13832a3cfceb8af8fb2ee5"/><file name="frame_20.png" hash="a674ebc38712054a376b181db975e02b"/><file name="frame_21.dat" hash="f35be2f92c1f6546b5896916e76c9b34"/><file name="frame_21.png" hash="e29a7e7e2516dfec6cf283c12e83224b"/><file name="frame_22.dat" hash="080bb29f0d4fb1c04f2973ef87b91f5a"/><file name="frame_22.png" hash="4faa3626cb02b8c824247b7f8cec0ee1"/><file name="frame_23.dat" hash="009203ec77f7fd1e19b495c3f1b08a44"/><file name="frame_23.png" hash="3c9cc974afe24e8d7750c72d3bbc298f"/><file name="frame_24.dat" hash="c1b69627f5e2705025d7db7b523e4892"/><file name="frame_24.png" hash="6722efb1632fc9a23f687d67060514cd"/><file name="frame_25.dat" hash="85f80a8a72dd8ecfe50b73dd04c03428"/><file name="frame_25.png" hash="d33e136b0ef7cbdd31857d395219efa1"/><file name="frame_26.dat" hash="00a2327c48e4e8019e4f1bf1173ea6a7"/><file name="frame_26.png" hash="bfba16b8705888625f6a1efa26008f8e"/><file name="frame_27.dat" hash="f74a3e9017abb34cf10d9161db6944a6"/><file name="frame_27.png" hash="4201dc61a80d2cdbc5180abdbf3cb09f"/><file name="frame_28.dat" hash="76acbf4f5b5214113a329585a43e4c88"/><file name="frame_28.png" hash="ba1fa3b05d4e0ce79711857b845a0d8a"/><file name="frame_29.dat" hash="8571093499a6bdb0ecb179f4ba2420ea"/><file name="frame_29.png" hash="2adea50109f78d7341993b2195a715c3"/><file name="frame_3.dat" hash="2699cfca6a5e65aacd0c7fbb6c9084d1"/><file name="frame_3.png" hash="2aed9e9c0e87bbee7443546ba55c3cf6"/><file name="frame_30.dat" hash="255e0419353a95fd6ed075683ebee392"/><file name="frame_30.png" hash="ed732e8b8a612389b31544b8b6a460b5"/><file name="frame_31.dat" hash="69e65a7e068f7743b31a33f1faad9bac"/><file name="frame_31.png" hash="6642919250856e737f3fdf2db8073178"/><file name="frame_32.dat" hash="eba1b97fa1d0a8b28d2374323848534d"/><file name="frame_32.png" hash="51231a4d0f1d7520c3faf374b95153f0"/><file name="frame_33.dat" hash="166082e4520386ae368ece323cb96e16"/><file name="frame_33.png" hash="c281e359d10cfca77e6c9d24bbacb86f"/><file name="frame_34.dat" hash="f7fcf8d02665cbcf07e97b2492b58be9"/><file name="frame_34.png" hash="72698abce1e633a798c1e4778f2f1b93"/><file name="frame_35.dat" hash="5b5ecdbf418448b208b402f73afcc1d7"/><file name="frame_35.png" hash="c87869bf4bf45da1c7127c6de2a0f11c"/><file name="frame_36.dat" hash="03912dc10e6c9548be0475a3d1a8bd36"/><file name="frame_36.png" hash="e5dd2ab9dcb0ebfcc208cab72482fd15"/><file name="frame_37.dat" hash="ac1584560973137f64a713b1cf135d95"/><file name="frame_37.png" hash="085b9a14931e24612d5a31d68dcb23ff"/><file name="frame_38.dat" hash="b45ceadcace8ab29ae23f1187827ee81"/><file name="frame_38.png" hash="a5b05f453ec538e590f8d89587a23611"/><file name="frame_39.dat" hash="1d62f529bdb36150d01a50edec41274b"/><file name="frame_39.png" hash="c83d4b2895ef4131002922efbab49a28"/><file name="frame_4.dat" hash="8f7cc1859eb9a53b5632292e3a130294"/><file name="frame_4.png" hash="b358fec2b171d3f48ed37760f2e43b4a"/><file name="frame_40.dat" hash="49e85960945738760a4657d66c955ec6"/><file name="frame_40.png" hash="4dbb42edd5532958d0a3373292ba907f"/><file name="frame_5.dat" hash="3163d7510e346dc920d4cb54a531c39d"/><file name="frame_5.png" hash="8fc575dc94ac96e59935a760eae530bc"/><file name="frame_6.dat" hash="8e295fa8a97640d442e0a0eb2071dbff"/><file name="frame_6.png" hash="e570a56ccb27e1123efa4f32875ebce0"/><file name="frame_7.dat" hash="daeda73b2271bc29305de751e93def4a"/><file name="frame_7.png" hash="f1f1f510346c6011a0a9db54a6ce1600"/><file name="frame_8.dat" hash="7fa3ac63497597e55d211749e725e1fb"/><file name="frame_8.png" hash="8da14e672ece3b8e6a87f6e730baf480"/><file name="frame_9.dat" hash="25c5097cb158d1871441f7c47dc39ee1"/><file name="frame_9.png" hash="e9c335a41a1ace41f43f096e488a4987"/><dir name="mask_0"><file name="mask_101_0.dat" hash="6c4fdf704de27629d87b83d880801c64"/><file name="mask_105_0.dat" hash="202eb068c963ec45eba3eb97d2870ce3"/><file name="mask_109_0.dat" hash="d2a05381fcf529d73d253162ba809d74"/><file name="mask_113_0.dat" hash="8a507f639e0b0556b6d92277cb5f392d"/><file name="mask_117_0.dat" hash="a5a9ad0b479b2b21e5e20f313766f86f"/><file name="mask_121_0.dat" hash="bccba8f234c62c4ab2f44ae44ab54cb9"/><file name="mask_125_0.dat" hash="f4701c9eb001f32bacb2084bfa3e985a"/><file name="mask_129_0.dat" hash="a1ebe9f05b055f64f558a6244e6c7890"/><file name="mask_133_0.dat" hash="d2929cb58d6e9cd60e8a119be822d309"/><file name="mask_137_0.dat" hash="dcd93d58f4072469967980ba59574f40"/><file name="mask_141_0.dat" hash="5ffc654902a36e2b332fda9d59091fff"/><file name="mask_145_0.dat" hash="9efe56fe464d4502494a1cf626fe9dec"/><file name="mask_149_0.dat" hash="b4e966f8336481fe22747556591cd120"/><file name="mask_153_0.dat" hash="f4e6a1e8b8d358caf45684afdff31294"/><file name="mask_157_0.dat" hash="f6ffbde0114c9697566688b47a6711d6"/><file name="mask_161_0.dat" hash="62f427d65bb9b4443d2e7ade8d459eb7"/><file name="mask_165_0.dat" hash="0e55dfeac94cd03d80ac3beadf229be2"/><file name="mask_169_0.dat" hash="e9d7cf1075155e841397c34439cb7727"/><file name="mask_173_0.dat" hash="5e921e75199ac8624f0bda6b7c8a0ca5"/><file name="mask_177_0.dat" hash="ddb00baf98441c85e41289c22725c176"/><file name="mask_21_0.dat" hash="0718577fa2c550f18c1ada43073686c3"/><file name="mask_25_0.dat" hash="86dff5e28a8686795053144e8e1a1468"/><file name="mask_29_0.dat" hash="0e10a1d9372b0d19001975e9cfae0283"/><file name="mask_33_0.dat" hash="f80d9b95cdc71d8569289bdf50461c0f"/><file name="mask_37_0.dat" hash="a29b43128de8475414f71c138a48ff39"/><file name="mask_41_0.dat" hash="994bd068e5e27de60ab2c80f741a3305"/><file name="mask_45_0.dat" hash="081b0e72ce1c7c98b19a9569ac3a44dd"/><file name="mask_49_0.dat" hash="f50d98727bbdb9f8550cc9170f2ec5f9"/><file name="mask_53_0.dat" hash="4f116fa5476c96c493d9fa39144f3e0b"/><file name="mask_57_0.dat" hash="63842c6c6382a6e9ad6ad9a5d260e10f"/><file name="mask_61_0.dat" hash="a8c349ae832d6ecf6393bab781285d43"/><file name="mask_65_0.dat" hash="e025e048393a0ef230ecfca730627d67"/><file name="mask_69_0.dat" hash="03b969d8d5cc667b9db6d30435ed0465"/><file name="mask_73_0.dat" hash="b4ddb6571dfa5e097778529e515aa991"/><file name="mask_77_0.dat" hash="c958cba6bf9169ed0b5e5e812bde8407"/><file name="mask_81_0.dat" hash="59352f5a91fdda1c299839c388b31094"/><file name="mask_85_0.dat" hash="27d360595156bca380e0882db865d97f"/><file name="mask_89_0.dat" hash="340efa3d23812287232ab47d46acc7f4"/><file name="mask_93_0.dat" hash="071afbef25ba4ce443fe371d286d3f4b"/><file name="mask_97_0.dat" hash="89b20fb88a32644757ee346306a23203"/></dir><dir name="mask_1"><file name="mask_101_1.dat" hash="bf6ab6978bd3e4ddece1c510e84e286d"/><file name="mask_105_1.dat" hash="9d953276346ed743a173ea8ca0e8cd2b"/><file name="mask_109_1.dat" hash="e0b18b6aae70d01b424bcf2f37f76f92"/><file name="mask_113_1.dat" hash="ad0a4162bb87fc14323e8fc95da0f491"/><file name="mask_117_1.dat" hash="cd26e07902b23b0c743505a2732b2498"/><file name="mask_121_1.dat" hash="3755b5cde7076711cb29fbb86e8a0e7f"/><file name="mask_125_1.dat" hash="ca310b53c8ec27d0718e3ef9211d723c"/><file name="mask_129_1.dat" hash="56d78d56fd0bd490a806a9d0a418b93c"/><file name="mask_133_1.dat" hash="25d97fb00854adb525107f41f3178204"/><file name="mask_137_1.dat" hash="c46aabe94b0f98709e634f4722bdb5cf"/><file name="mask_141_1.dat" hash="261a83e7dcf606694332c6c9e04b2b2e"/><file name="mask_145_1.dat" hash="38d5d0690e4603854cc05d315f1dd9c5"/><file name="mask_149_1.dat" hash="aa2eca119e10ec7b9b68a0114ac564ad"/><file name="mask_153_1.dat" hash="7afe60df62eed29834a72c7a0fa036b1"/><file name="mask_157_1.dat" hash="5d9825afa01b120972f1078079d94fd1"/><file name="mask_161_1.dat" hash="226022ea7568c6713f7ced33d58cd0c3"/><file name="mask_165_1.dat" hash="84ae6b587247749c38c4f95eb13db733"/><file name="mask_169_1.dat" hash="7e6db5dc520265a7c2e1b5f840b1aac0"/><file name="mask_173_1.dat" hash="3ce3d555e49b7cb1598b571cd9c39d11"/><file name="mask_177_1.dat" hash="82e07b24b1381c1f679c9ee6dfadccf7"/><file name="mask_21_1.dat" hash="bee4cdaef688947610b10b469c563994"/><file name="mask_25_1.dat" hash="4290a56446ca90443215f2fb4c1959aa"/><file name="mask_29_1.dat" hash="2456b09ddffa9f6c024d0146b2de747b"/><file name="mask_33_1.dat" hash="9d41f80f181d65bb09c4fac192180588"/><file name="mask_37_1.dat" hash="188e3cdd055dba53f9e428491adafe77"/><file name="mask_41_1.dat" hash="0dd7fad119dc0f8d64027c8cb7b87b8d"/><file name="mask_45_1.dat" hash="c0a3c6ed3d6c9e87235f3118c529e20d"/><file name="mask_49_1.dat" hash="2d78d9b0d2ca5f8c2f70a0aee7c91c72"/><file name="mask_53_1.dat" hash="5335af744066a31f48d6e3cab2b40dbe"/><file name="mask_57_1.dat" hash="df0543a3e8403ccfbadc87e1f711c006"/><file name="mask_61_1.dat" hash="87976040b3e1c0f0ef6ce09a100e8a6f"/><file name="mask_65_1.dat" hash="63efa207af9229d00444dc5ffbd0554f"/><file name="mask_69_1.dat" hash="aae34841ca735ca390f8542ee03afdf2"/><file name="mask_73_1.dat" hash="8493bba42242fb0a464247675a7a35c1"/><file name="mask_77_1.dat" hash="3e8c67e245d2d273cb14e773d6a9dfaa"/><file name="mask_81_1.dat" hash="0340c9c4ccd8a3840523a734655afa3f"/><file name="mask_85_1.dat" hash="b0743efcadd883a6597eca6c32cf1f66"/><file name="mask_89_1.dat" hash="f68463319238c992e1672fb74874096e"/><file name="mask_93_1.dat" hash="ea4adb79715c58e337a875b4e4a3956c"/><file name="mask_97_1.dat" hash="e8c8a30ab35215bdd8dbf715ed1cda6a"/></dir><dir name="mask_2"><file name="mask_101_2.dat" hash="c19bd200710ef2a60c5758db76df1202"/><file name="mask_105_2.dat" hash="1bf1c38f25b93af043bacc05798748ac"/><file name="mask_109_2.dat" hash="bffead7278a51efb89b94e6d267f13f0"/><file name="mask_113_2.dat" hash="84cbf90c73ba9a78c0a283b7e70c4ca6"/><file name="mask_117_2.dat" hash="f9fa108e550908a5a1f1087b92bf2154"/><file name="mask_121_2.dat" hash="0b6414fb6f76bfe0381c6cb2aacd34ba"/><file name="mask_125_2.dat" hash="aca184e91ebb60548c7118e17c10de73"/><file name="mask_129_2.dat" hash="0e929552e878974a3951d1eabb31a694"/><file name="mask_133_2.dat" hash="2fe6a8bd3fbe0805d5247952d398d8e9"/><file name="mask_137_2.dat" hash="563bfe8ba15383804f83ca96d39a8896"/><file name="mask_141_2.dat" hash="0f554119e613553d0e290496578d827b"/><file name="mask_145_2.dat" hash="ef3c2eae15e4726bb8803ad2c41dd635"/><file name="mask_149_2.dat" hash="24353d418076add713c045cbd20570a6"/><file name="mask_153_2.dat" hash="3d413b652cfe3d99374e30688053b90c"/><file name="mask_157_2.dat" hash="6e1c88422eb13dd8489d464e3281ee82"/><file name="mask_161_2.dat" hash="53b23561c00e1d00b8f575b3cac30ab8"/><file name="mask_165_2.dat" hash="8e84496c645a09f23cd18bdbb725c31f"/><file name="mask_169_2.dat" hash="990a5c2ece92d9d0e07228b7fbf898de"/><file name="mask_173_2.dat" hash="9749985009d535e753d29ea300456be6"/><file name="mask_177_2.dat" hash="c3c527e46e0dd6909193a06e30cc5f9a"/><file name="mask_21_2.dat" hash="ef7fd6a1deb6cc2e393ace6dd84d5a36"/><file name="mask_25_2.dat" hash="eabdf7cb85e1cf0bdb7952438a24e1cd"/><file name="mask_29_2.dat" hash="e39952d54f008e8d39ad61172d7a6fcd"/><file name="mask_33_2.dat" hash="ceb77e491c9ab253730ba4e72fd948ba"/><file name="mask_37_2.dat" hash="85edba0353ded1e99ef4f7a962cbac1f"/><file name="mask_41_2.dat" hash="7760ee0c6c86087fcde96e2eae9cb90d"/><file name="mask_45_2.dat" hash="3e38a0052f6badc68191d3ee3069e3d9"/><file name="mask_49_2.dat" hash="47ca1f72a8d43d06211b16cc98349abd"/><file name="mask_53_2.dat" hash="419e2b85764065370e791d4602b3d6cd"/><file name="mask_57_2.dat" hash="3c1fa898079586f5338aff22ad3e5e1c"/><file name="mask_61_2.dat" hash="d6e4a7bd67c891d213e2f4e79188fa87"/><file name="mask_65_2.dat" hash="6eddee56c23be857e881eed534e36bc3"/><file name="mask_69_2.dat" hash="e68f0f694c8c9a5f3f86a2906cdbe67a"/><file name="mask_73_2.dat" hash="54c839fcf1bf0a5251ea3d6458f75623"/><file name="mask_77_2.dat" hash="622903170480ae4ba0a41549544cf47b"/><file name="mask_81_2.dat" hash="3c55f79ff8ea70dd8a0862f351b2f3d0"/><file name="mask_85_2.dat" hash="3adfad79aca1860f53b719d3d6d48190"/><file name="mask_89_2.dat" hash="272d60997a9a1691cbe3091733e29162"/><file name="mask_93_2.dat" hash="f17848e3c1aa7981607d62355e36f2d5"/><file name="mask_97_2.dat" hash="85effa425682735086394a0c7bbafbb0"/></dir><dir name="mask_3"><file name="mask_101_3.dat" hash="ae198375944bf5e5db80ed22e67b68b6"/><file name="mask_105_3.dat" hash="6015c6e5f50aa989e01dd58097533ac3"/><file name="mask_109_3.dat" hash="0aff2d331afacd144a9358b0d74facc0"/><file name="mask_113_3.dat" hash="8f19e9effc6dd1c0fc6479bd67c48bf9"/><file name="mask_117_3.dat" hash="a2b2164b64aa246005688ff289cf1a4e"/><file name="mask_121_3.dat" hash="5c2f2642b172d9fe4b65fff2f1dadd62"/><file name="mask_125_3.dat" hash="9f3ad8403cb0e4dee43b6d1120704c42"/><file name="mask_129_3.dat" hash="b2849c22daa0217d68aa604856b9a78d"/><file name="mask_133_3.dat" hash="e81d804c6c49187029b6570262984b81"/><file name="mask_137_3.dat" hash="a59f1c0e5ad80120c501911dc9ef2145"/><file name="mask_141_3.dat" hash="037a2695936927ee7a1707b4811124b7"/><file name="mask_145_3.dat" hash="be939feee94f6d6d6ccc81ae1f600dbd"/><file name="mask_149_3.dat" hash="3196a80f19d3569d2f46ca1c30b8a24b"/><file name="mask_153_3.dat" hash="546b11d703368abb4c0d32a8d9c37982"/><file name="mask_157_3.dat" hash="8470a13e8aacd293d2553bdd313c0f3d"/><file name="mask_161_3.dat" hash="d094c5c953718c9f00cffb2e0d71c2f6"/><file name="mask_165_3.dat" hash="aa34451d98a131743df4bb1d5fd260f1"/><file name="mask_169_3.dat" hash="08548e5d2e1bdad75f9ed1b97b6c8152"/><file name="mask_173_3.dat" hash="7e7cb6489490d6e668a85b812b0b2612"/><file name="mask_177_3.dat" hash="7f21c6fbc48b877e5b31caac71633886"/><file name="mask_21_3.dat" hash="986c775b20f9bc975c3a83faee76329c"/><file name="mask_25_3.dat" hash="d62b82857c88be6ef18f4afb4cf09d56"/><file name="mask_29_3.dat" hash="9f8058257aa8b76d8445b9bb22b9c05a"/><file name="mask_33_3.dat" hash="4f1e8177a0c749ac3931d81c983ffa40"/><file name="mask_37_3.dat" hash="88c26716f6735be2fb4131eed5058051"/><file name="mask_41_3.dat" hash="7d652cb4b36012bc9ba5a7e1d035159c"/><file name="mask_45_3.dat" hash="3714071caccd1e070a2346b919d5f37b"/><file name="mask_49_3.dat" hash="2e2242a88660982e6667bb7ef0fea8de"/><file name="mask_53_3.dat" hash="87169242d83d8a40022bc9d4060798ae"/><file name="mask_57_3.dat" hash="7c6f98cf3629b427436375da98857ac5"/><file name="mask_61_3.dat" hash="6d1b20de6f2805cf18ef98970a7498ee"/><file name="mask_65_3.dat" hash="e0e64afa29e61db165dfc2638cacea41"/><file name="mask_69_3.dat" hash="68e564748c41b81d08e1a34a78a68296"/><file name="mask_73_3.dat" hash="449a36d7abd76c05e25444c8a1d7db82"/><file name="mask_77_3.dat" hash="446c00259878f35d8b468e640ad2ae51"/><file name="mask_81_3.dat" hash="5e55ada7d9fc5f5237e7ef505ba703de"/><file name="mask_85_3.dat" hash="b46ebcdc0121b1a3bedbd184495cfb88"/><file name="mask_89_3.dat" hash="14f648b97ed382c545c8632ac4e1b6f5"/><file name="mask_93_3.dat" hash="b2705428db6f3df45f0bf54bf7f7ebcf"/><file name="mask_97_3.dat" hash="b0103bf0ceaa6d15e13c1ddf314837c7"/></dir><dir name="mask_4"><file name="mask_101_4.dat" hash="ca45a07682fbb6bc77a32e9a15314494"/><file name="mask_105_4.dat" hash="7b74b40294afa78a889105b236e5a3cf"/><file name="mask_109_4.dat" hash="2f88c8ed36981f3080a6f1e035173635"/><file name="mask_113_4.dat" hash="d9a50ab9759fe8a037f4157e478d49ec"/><file name="mask_117_4.dat" hash="df85ef67e5c4cf3267aedc9055ff9a2b"/><file name="mask_121_4.dat" hash="7a66881619731b961dcfac808e2f6be0"/><file name="mask_125_4.dat" hash="409a1bcff906697dfa1f4a2b83aa7f72"/><file name="mask_129_4.dat" hash="c43f5c311576c0ce3537fcdc0aa9baaf"/><file name="mask_133_4.dat" hash="1b0d84cfdbd3520dae9cea6779e6102e"/><file name="mask_137_4.dat" hash="afad876a701bc44207b76b159cc624c4"/><file name="mask_141_4.dat" hash="ff707a8bfc3a08df2715dace4eeee2c9"/><file name="mask_145_4.dat" hash="e08158360699d664f225befb46faafae"/><file name="mask_149_4.dat" hash="16b0984a56f48cb56afb82acd67671a8"/><file name="mask_153_4.dat" hash="730cc2b3e3e12832a3d135dccec1985b"/><file name="mask_157_4.dat" hash="9c80740894d87ac138659dd817cfd326"/><file name="mask_161_4.dat" hash="4e5210091ec433c5c527d1f0585f73f7"/><file name="mask_165_4.dat" hash="a6dbdfb0999db134cca08f7e30cfa7de"/><file name="mask_169_4.dat" hash="9089622362230a309a438d6b3b552c1c"/><file name="mask_173_4.dat" hash="56ea5b38d276af919f2c6544c9ca0c69"/><file name="mask_177_4.dat" hash="87e64a44a0adf6eaeaff9dd68e771ad1"/><file name="mask_21_4.dat" hash="c1328902261a4b750bffd6a322a69e43"/><file name="mask_25_4.dat" hash="128cdfcfa192fb806a5d81f91ebc05dd"/><file name="mask_29_4.dat" hash="1afb863e3bd5f551724cd5e0eaaa659f"/><file name="mask_33_4.dat" hash="b60bbea04379a5edd6765ce656ec235f"/><file name="mask_37_4.dat" hash="fdb59b9945c57ac798ce7f56b436d061"/><file name="mask_41_4.dat" hash="6086f8d8e5e07367d4639ae9cb0ed432"/><file name="mask_45_4.dat" hash="7c39a588c3a02a9f2df71bbb451185f6"/><file name="mask_49_4.dat" hash="be9fe9f94ae480bec52518c31e252259"/><file name="mask_53_4.dat" hash="db6c8031329065e5bcb48d6dc0f53d53"/><file name="mask_57_4.dat" hash="b9d06f6aa6b2398637f04933cdbcd517"/><file name="mask_61_4.dat" hash="f7bb6ffa6ccabbc9fa44aaceb8d50561"/><file name="mask_65_4.dat" hash="04603c3e8d97ef14e2dad753e6eb93c3"/><file name="mask_69_4.dat" hash="36df758133b3febd68156ab37d01a511"/><file name="mask_73_4.dat" hash="51dd4eb76dff0927be98beedf05eaba7"/><file name="mask_77_4.dat" hash="dd103faf186586280ffe0641e2b7978f"/><file name="mask_81_4.dat" hash="90a9312e91e290c7391df673683fd487"/><file name="mask_85_4.dat" hash="d8216a889322d1935a3e7d26fefa473d"/><file name="mask_89_4.dat" hash="6396c3787c999f1d409da28ec4e0e7ee"/><file name="mask_93_4.dat" hash="e9d3369fdd1d79792395646f5923e1fc"/><file name="mask_97_4.dat" hash="77535b91df7f053f8931260141afe6b7"/></dir><dir name="mask_5"><file name="mask_101_5.dat" hash="63e4303918909723ece25197688b8ba7"/><file name="mask_105_5.dat" hash="ee01fae3b22b508e1adb3f47dc99c941"/><file name="mask_109_5.dat" hash="1325823b4e7600739d46c64d4212a5d1"/><file name="mask_113_5.dat" hash="c01d8795c46106917095511b9930c0a0"/><file name="mask_117_5.dat" hash="fbd2cd3349eb860d77369d4b0b944537"/><file name="mask_121_5.dat" hash="156bb97e4e652111cc8969c8c2c15e8e"/><file name="mask_125_5.dat" hash="0cb7294228c178cdd823b6a644967f1e"/><file name="mask_129_5.dat" hash="05635b96e33640886e90b4b8d56171a4"/><file name="mask_133_5.dat" hash="afb77cc82a0b754c7e8c896484430fdd"/><file name="mask_137_5.dat" hash="5dd206b6f8cef84943004dd46473e209"/><file name="mask_141_5.dat" hash="de316b74fdb13d4e2dd231db258e5b10"/><file name="mask_145_5.dat" hash="9db1a1f7ff00930a3a942ce19e5229f8"/><file name="mask_149_5.dat" hash="616f4baac1ccb75cebae890ca66cc639"/><file name="mask_153_5.dat" hash="6a244fbd16d99c00d881e7229626d838"/><file name="mask_157_5.dat" hash="fe12067a1b756e60b55402cd8ecd24d6"/><file name="mask_161_5.dat" hash="6447ad594af51dcfa9f972e82a21e54e"/><file name="mask_165_5.dat" hash="9301e05832397fd35cda0704d5a64e85"/><file name="mask_169_5.dat" hash="7ce18389a7d8a4eddd78e837665fa379"/><file name="mask_173_5.dat" hash="3e39ad33f5a469258e348dd7dbb83b1e"/><file name="mask_177_5.dat" hash="a5a8a619dba0f1ff547e228fc05696aa"/><file name="mask_21_5.dat" hash="7ea675316e14102a14ae2cc70897fd7f"/><file name="mask_25_5.dat" hash="d850e1d1e779dae8073761378b6ce671"/><file name="mask_29_5.dat" hash="150bfabd079b92aa70ab30a7e9368dfe"/><file name="mask_33_5.dat" hash="213369f74b18f08edea17c351d141103"/><file name="mask_37_5.dat" hash="b41c0f5323c4fa71a305521ba452b09d"/><file name="mask_41_5.dat" hash="6dea7e67b63ea326f85517d1c4c56d69"/><file name="mask_45_5.dat" hash="829091dac90854289ec9bcf351774a9d"/><file name="mask_49_5.dat" hash="9c3e06caa2d4917b7b5450ce0a27a7cf"/><file name="mask_53_5.dat" hash="4a81ede5d9554feb48b079e76a895fd1"/><file name="mask_57_5.dat" hash="5194ce0c45d7d9676abaf2fa2cef99fc"/><file name="mask_61_5.dat" hash="863bf39b5bcda2ad4767fb9027770695"/><file name="mask_65_5.dat" hash="9c7fc509da9e5df7e5edbc2a1ae55fd0"/><file name="mask_69_5.dat" hash="1d9d0d5c8c2c9d3e1f47e43d7a4d0869"/><file name="mask_73_5.dat" hash="21200ef88b501d6d22dfe931100fd4c8"/><file name="mask_77_5.dat" hash="517ed455f5eec7593ea201a2ed4cee5f"/><file name="mask_81_5.dat" hash="b3e6de4ae3f3ee7c22e9731e8f951c97"/><file name="mask_85_5.dat" hash="cbe89ebc95a4c3a1ef3eeb9cb81f89e2"/><file name="mask_89_5.dat" hash="8c2bc4a7da237a03224e2301d3895e33"/><file name="mask_93_5.dat" hash="513cb1d0cab1c36d1eca4484340c5e66"/><file name="mask_97_5.dat" hash="c9940067833f5e8e6a29eeb04f99a705"/></dir><dir name="mask_6"><file name="mask_101_6.dat" hash="fe3409bab63a28fd156562843368940b"/><file name="mask_105_6.dat" hash="34efa23c98039ef903960e7fa0592653"/><file name="mask_109_6.dat" hash="36ea76ef2e46af972407d49ff8da9387"/><file name="mask_113_6.dat" hash="03c97aec73f929287857fe364305c984"/><file name="mask_117_6.dat" hash="a9db9006460b267fdd008ee6d7961930"/><file name="mask_121_6.dat" hash="c252620b89e84448b2503203387b4cb9"/><file name="mask_125_6.dat" hash="b2163f500e8c2dc3e14442bbcf1ae2d4"/><file name="mask_129_6.dat" hash="0aecf6a2b535e1036bd64c688b65191e"/><file name="mask_133_6.dat" hash="fe8e9a6d458264eb66ad124528bc47cb"/><file name="mask_137_6.dat" hash="09421a3a805e387e6250cb1c87afcb5b"/><file name="mask_141_6.dat" hash="9910802e214f42ae2abdcee85116c2e3"/><file name="mask_145_6.dat" hash="aef30014661d9963c9617938bda7e2d3"/><file name="mask_149_6.dat" hash="2f9da67a9504c0deca5121d321b200e8"/><file name="mask_153_6.dat" hash="3c6c97c86dc381a338e67917478f3855"/><file name="mask_157_6.dat" hash="51b4b3cf7dddb9debe256fd8911a05f6"/><file name="mask_161_6.dat" hash="e3f360c52072bbfa68ef4d7f68c1970b"/><file name="mask_165_6.dat" hash="b5a9a0a0b8a48e2e193f941535c6484b"/><file name="mask_169_6.dat" hash="2b32a6d292ed03b746cd73f8f5d59f02"/><file name="mask_173_6.dat" hash="54f997312cdc4ef751491cfaf3308c66"/><file name="mask_177_6.dat" hash="92cacc6329349c5effbddeb9a2e559fa"/><file name="mask_21_6.dat" hash="1e2c0fc394840848946b2879a8ea0e58"/><file name="mask_25_6.dat" hash="67ededb602cd3eea65bd7cd15b3b8aba"/><file name="mask_29_6.dat" hash="ae9e79b8d717906f2cee4ac758ed5768"/><file name="mask_33_6.dat" hash="ca09e953f305a38d9e82b1a566c6c856"/><file name="mask_37_6.dat" hash="f1174b18aeeacd12b2efe0d1d9316c99"/><file name="mask_41_6.dat" hash="eb25abab0eccbe9b50e0727f65ddfb3e"/><file name="mask_45_6.dat" hash="e9df8dc1d0d56c4187a0081323998076"/><file name="mask_49_6.dat" hash="3fe09ab83277240614e315932f768afa"/><file name="mask_53_6.dat" hash="83c85d40e678c9b37c2d37f401bc14ee"/><file name="mask_57_6.dat" hash="4e807ebe4413aa11b14af7a0a9d42a50"/><file name="mask_61_6.dat" hash="10b367e0da3f5d0b5fe0b91e830f5653"/><file name="mask_65_6.dat" hash="c0b3bba3387d20f796672ffe9d0e38f9"/><file name="mask_69_6.dat" hash="a37fef158283319557bd0bf3ebe4846d"/><file name="mask_73_6.dat" hash="d9b39a4a9a1a7da544faba4a74c23d04"/><file name="mask_77_6.dat" hash="3268bdbf71bfcd6eca66a6e3dbed48b9"/><file name="mask_81_6.dat" hash="74955ed39c6185272affaeb81090919b"/><file name="mask_85_6.dat" hash="26e0c67dd75a268b3efc628d38d932da"/><file name="mask_89_6.dat" hash="a37653e6a06e2c536a8f585a005ef7f0"/><file name="mask_93_6.dat" hash="3ac10716db6cdd2859a807b9f95a18a2"/><file name="mask_97_6.dat" hash="7d9e1ddc9553878f2931db40fc6ed0e0"/></dir><dir name="mask_7"><file name="mask_101_7.dat" hash="e83d50dcfeddecf35f5bed16b54bbba8"/><file name="mask_105_7.dat" hash="e3bb1535f7075601e2cbb165173421f4"/><file name="mask_109_7.dat" hash="fe7590ee146b69ad00b7169c08a6ab58"/><file name="mask_113_7.dat" hash="84b1badf25a7a5cc4407b2174404821e"/><file name="mask_117_7.dat" hash="4e4233f2b6a3e9b1fa28e68ed52b037f"/><file name="mask_121_7.dat" hash="c9996c9461742edfab6dda88b613585a"/><file name="mask_125_7.dat" hash="f4553613c89cf07e4561ad2aae92e0cc"/><file name="mask_129_7.dat" hash="b4edc59c5e1f790379f71351f196e6bc"/><file name="mask_133_7.dat" hash="e6a4f6fa0a88402cdc0255ca95f5d199"/><file name="mask_137_7.dat" hash="fd33075985f60259af6b7dfd2ae189e5"/><file name="mask_141_7.dat" hash="ec73544083abf6bad1669d781bf09437"/><file name="mask_145_7.dat" hash="75a6237d00e616ca916d977602c0cb7a"/><file name="mask_149_7.dat" hash="a2d5667629afc9ea067e1839eacc8f68"/><file name="mask_153_7.dat" hash="a01eb9a63c1920b705ff4d8b717f4ce7"/><file name="mask_157_7.dat" hash="fad2e537867b26a49f29d60265c0fb40"/><file name="mask_161_7.dat" hash="5d88f58b291f5bb88a0406cfa29012c8"/><file name="mask_165_7.dat" hash="41a900ae9693e5c27d980fdbbd1cc439"/><file name="mask_169_7.dat" hash="365708854b5a146db2b5580225d8048f"/><file name="mask_173_7.dat" hash="13683d9f282668ed475bf707ee53e201"/><file name="mask_177_7.dat" hash="8149d01010cee85d1849a9dca0e102a5"/><file name="mask_21_7.dat" hash="7c80f76fd015f19e48b7a570d55bc262"/><file name="mask_25_7.dat" hash="ea54a40e79f32877e02d1ea8791cb471"/><file name="mask_29_7.dat" hash="a6f4995de8e329204ee3410b22d8da4d"/><file name="mask_33_7.dat" hash="51273577e33506f83d00d7971fc38dc8"/><file name="mask_37_7.dat" hash="8c0fbb3e5121299816be076ce6a356c4"/><file name="mask_41_7.dat" hash="b97a30c39540b5160c652b5324ae9a08"/><file name="mask_45_7.dat" hash="18166274b73ca16a2c5a145076b990dc"/><file name="mask_49_7.dat" hash="270bfbf77a14569a5fc88925beb39189"/><file name="mask_53_7.dat" hash="84e0be977afc54746e41e28f47de1ad9"/><file name="mask_57_7.dat" hash="a37a26bece7e816a87ccdfcef7e96b71"/><file name="mask_61_7.dat" hash="a108bbc684fb0ad8f59228f410d4124d"/><file name="mask_65_7.dat" hash="647767fd83beeec449ef18e04ae12af7"/><file name="mask_69_7.dat" hash="577baae8a8809899b6763719cf5bfa8d"/><file name="mask_73_7.dat" hash="b2bf60ae1da1ce4bb7db15129e99d58b"/><file name="mask_77_7.dat" hash="ab9a75a46a851ad80f0e57b6dd5c64da"/><file name="mask_81_7.dat" hash="fcfaf88379459ac068236827681d9e43"/><file name="mask_85_7.dat" hash="525c8b876f509a127d3dfd80d81aad3f"/><file name="mask_89_7.dat" hash="7c7a821cb5e7d65e7b6e020bd6351f35"/><file name="mask_93_7.dat" hash="c906b28ae62d8866a0eb35ae87db567f"/><file name="mask_97_7.dat" hash="c04cea679212bda3930b3534565a6fd2"/></dir></dir><dir name="tools"><file name="merge.bat" hash="86e934a4304536ad09b2f7b9e814241d"/><file name="merge.php" hash="0b113c70589ac6cc76291087b3f3dff9"/><file name="merge.sh" hash="d2b77c3493b2ffe3d76d4fb9330e72a1"/><file name="merged_config.php" hash="8c4be9477ea9c372b3d2796df9d9d867"/><file name="merged_header.php" hash="3fc51eef6239691f523be743fde28470"/></dir></dir><file name="index.php" hash="15632fb7fff24ae10781a87bc1a5a9bf"/><file name="phpqrcode.php" hash="6e4949ac97acce06de82b2b09988926f"/><file name="qrbitstream.php" hash="7b95645db7e06aba3b55af7dd249663b"/><file name="qrconfig.php" hash="15c58fed3d55a98cda8abeed8c336fa6"/><file name="qrconst.php" hash="4cd7d63ff0b638020e6b0c6d11133d09"/><file name="qrencode.php" hash="dda263c8a9742aaa71cc302820308541"/><file name="qrimage.php" hash="2d1588686abe320c3bf003c94e967ce0"/><file name="qrinput.php" hash="07ee5315fb6c319dc208de59a9de95c0"/><file name="qrlib.php" hash="4d2b63e34326b0df5153be6d928ec960"/><file name="qrmask.php" hash="12ce875d67e242532e2b0da9f0a334ee"/><file name="qrrscode.php" hash="17af6b8769e70c132f227b089152a47f"/><file name="qrspec.php" hash="7d276c5a768c04d62ae0afde8abaad2d"/><file name="qrsplit.php" hash="206c8468e0089be5f58453cbbd003ec0"/><file name="qrtools.php" hash="27aea0ee5d1395d80ef4b9ce7d08fa40"/></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.0.0</min><max>5.6.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>MT_Giftcard</name>
|
4 |
+
<version>1.1.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.gnu.org/copyleft/gpl.html">GPL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Summary </summary>
|
10 |
<description>Free magento gift card extension</description>
|
11 |
+
<notes>Currency fix
|
12 |
+
Gift Card Data form sales_flat_quote moved to mt_giftcard_quote 
|
13 |
+
Gift Card Data form sales_flat_order moved to mt_giftcard_order
|
14 |
+
</notes>
|
15 |
<authors><author><name>Edvinas Stulpinas</name><user>edas1</user><email>edvinas.stulpinas@gmail.com</email></author></authors>
|
16 |
+
<date>2015-04-25</date>
|
17 |
+
<time>05:51:25</time>
|
18 |
+
<contents><target name="mage"><dir name="app"><dir name="code"><dir name="community"><dir name="MT"><dir name="Giftcard"><dir><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tabs"><dir name="Giftcardseries"><file name="Form.php" hash="6ba57986e47de3810eb5432edd8cae13"/><file name="Grid.php" hash="d3af7e0412fc9b81543af8a58d9bb2c5"/></dir></dir><file name="Tabs.php" hash="7d8a2728a2c2b931381b0ef627160323"/></dir></dir></dir><dir name="Giftcard"><dir name="Giftcard"><dir name="List"><file name="Grid.php" hash="dcd306e00d75bd69f8251fe8b09798ed"/></dir><file name="List.php" hash="176da6866b6abb40cf2dc9d3cba7597c"/></dir><dir name="Series"><dir name="Edit"><file name="Form.php" hash="4d52c40a6e56e6851af652b006ab96d8"/><dir name="Tabs"><file name="Edit.php" hash="4ecf35ae08c7d659db770619979c7273"/></dir><file name="Tabs.php" hash="f284f9dc303bca6ae9f2f869993a0697"/></dir><file name="Edit.php" hash="4eadad4f86671831b5c0133a419775f3"/><dir name="List"><file name="Grid.php" hash="de02b111b41d9db067666adbe15c1c5a"/></dir><file name="List.php" hash="451587dd80ac40d5ec0b08e39d2029e6"/></dir><dir name="Template"><dir name="Edit"><file name="Edit.php" hash="1917934e01ce1d4b2a45132454a6e810"/><file name="Form.php" hash="722fb3b93b8c5a800462e8d62c228bb6"/><file name="Js.php" hash="33c7d8b6eee7cb36761bd82ea076ca5e"/><file name="Tabs.php" hash="73764b68cc7d9fdd83447c13a6db5787"/><dir name="Theme"><file name="One.php" hash="d70a1e4d19aa94ca972b69b376926bd3"/></dir></dir><file name="Edit.php" hash="afec06744ddfec3f8297ef8fbc959f04"/><dir name="List"><file name="Grid.php" hash="7c3e7a4303e1dd3b8da6d3e237cc54b3"/></dir><file name="List.php" hash="0345847adc717ce416c1d8d7679ed130"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><dir name="Create"><dir name="Total"><file name="Giftcard.php" hash="e495174b46328c76d86457a752cc7eaa"/></dir></dir><file name="Refund.php" hash="7f874138440cf23e2e8eb334ef471c62"/><dir name="Total"><file name="Giftcard.php" hash="5c883c7ecb44d32e9a3d7ce9536e5e84"/></dir><dir name="View"><dir name="Total"><file name="Giftcard.php" hash="b45537b5972ad058685254fdfe6f3127"/></dir></dir></dir><dir name="Invoice"><dir name="Total"><file name="Giftcard.php" hash="d030cd0363802ce5f948c85659fe8377"/></dir></dir><dir name="Items"><dir name="Column"><dir name="Name"><file name="Giftcard.php" hash="5daed6338457ae68894de91d3c061ce9"/></dir></dir></dir><dir name="Order"><file name="View.php" hash="c1b8d185d1b5066ab9b9b7ebcdf95f96"/></dir><dir name="Total"><file name="Giftcard.php" hash="a9645c6f45d2dc99584996d6c34ae66f"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="DateTime.php" hash="7362458637165e5564d4a87abcaa9033"/><file name="Days.php" hash="2bfc2fb0491b77a962544d82cdb3c66d"/><file name="Empty.php" hash="de0d661ae7e8831bef15d57cb998632f"/><file name="Price.php" hash="56792c71abb74e153b35bf2a8c32ec6a"/><file name="Status.php" hash="504e0af3eee9c162aecaa9ad97527d08"/><file name="Store.php" hash="18e0987cf166c487206ddbeed70c58de"/><file name="Translate.php" hash="c8fd54ec81c5afda4102755d9f31cfa9"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="Helper"><dir name="Form"><file name="Price.php" hash="3c7443352425f91916f9029248d8c08e"/></dir></dir><dir name="View"><dir name="Type"><file name="Giftcard.php" hash="fceb859207300158713008c2d7a9166b"/></dir></dir></dir></dir><dir name="Checkout"><dir name="Cart"><file name="Giftcard.php" hash="b66b9afc1c092f293baad606e1e08da5"/><dir name="Item"><file name="Renderer.php" hash="13f1c3a5e4cc9bc7d778b38b160d59e9"/></dir></dir></dir><dir name="Payment"><dir name="Giftcard"><dir name="Form"><file name="Giftcard.php" hash="138a0ae32ea246a50830dad555a839a0"/></dir><file name="Form.php" hash="94eb40ece1689dea0088d4ba081f9976"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="b20c78f0df3e59a630f51db350bf4ac4"/></dir></dir><dir name="Totals"><file name="Giftcard.php" hash="aeee2e40cdbd796a6ccb97ab3e017c4e"/></dir></dir><dir name="Email"><dir name="Items"><dir name="Invoice"><file name="Giftcard.php" hash="b42b734220656f50e9d243d026d11e4c"/></dir><dir name="Order"><file name="Giftcard.php" hash="a3b5b90185a9af5abff119d6ee672742"/></dir></dir></dir><dir name="Info"><file name="Buttons.php" hash="9a098b144768ac6b56f675ec9162e285"/></dir><dir name="Invoice"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="18fe4aa679f67afee128d3268bd209ae"/></dir></dir><dir name="Totals"><file name="Giftcard.php" hash="bb7f13c1b38704c60b79045bee52ba67"/></dir></dir><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="9a240568de66f1455d30fdddab3c1c28"/></dir></dir><dir name="Print"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="2f8217aab2813f2628fccf94c40e0b88"/></dir></dir></dir><dir name="Shipment"><dir name="Item"><dir name="Renderer"><file name="Giftcard.php" hash="c83a1ea831ce08046cd09d50f0654580"/></dir></dir></dir><dir name="Totals"><file name="Giftcard.php" hash="4419eb85d429b8f781568088e3ef48a0"/></dir></dir></dir></dir><dir name="Helper"><dir name="Catalog"><dir name="Product"><file name="Configuration.php" hash="c5f821d6df23c647571cd97260aace53"/></dir></dir><file name="Data.php" hash="6a82153ba031da059278a0ebdff504e1"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><dir name="Giftcard"><file name="Design.php" hash="db768d5c518b8dfe233f6d5457b5b9c4"/><file name="Event.php" hash="9875a70a1581b3792f649f9b6092331f"/><file name="Format.php" hash="bc91cab62109d222de772bbba7aa6274"/><file name="Series.php" hash="aba6564547ffa61d8bef13869816a365"/><file name="State.php" hash="ca38a55cfd32a71379a572a949afd8f2"/><file name="Status.php" hash="d6ed0b91ac65615c72af6c5915519ec5"/><file name="Template.php" hash="870a1b61bf5a107aa766ec6446959cb2"/><file name="Type.php" hash="ef686e71f5e08b90d33731d31bc17539"/></dir><dir name="Locale"><file name="Currency.php" hash="212769c4b0ba792abcbf0764f0293495"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="Option"><dir name="Type"><file name="GiftcardValue.php" hash="4358ccd736862f1869e7c13689cc4d69"/></dir></dir><file name="Option.php" hash="b5422bc85fda78a79601136979248aba"/><file name="Price.php" hash="10926b8121b069581716b2d722f50682"/><dir name="Type"><file name="Giftcard.php" hash="04185bb851822766d7465a61314fbd5b"/></dir><file name="Type.php" hash="f226aad02e2182c60211e4f3ec970a55"/></dir><file name="Product.php" hash="8d8ddd5e1f0433eca6fcfe1836aab9ca"/></dir><dir name="CatalogIndex"><dir name="Data"><file name="Giftcard.php" hash="802f244a7c7d446318cb164e206a51ff"/></dir></dir><dir name="Checkout"><file name="Giftcard.php" hash="1849f47f79a9a59c77673ef6ec523f3e"/></dir><dir name="Core"><dir name="Email"><dir name="Template"><file name="Init.php" hash="3b48c0678d953928a71a9b4fd6b5d488"/></dir><file name="Template.php" hash="f8559c9e1339da1d5107b66c298ace3e"/></dir></dir><dir name="Export"><file name="Abstract.php" hash="09eb1f2591a952299faece886fe42ea4"/><dir name="Adapter"><file name="Csv.php" hash="4843c1e3c036e73a7ad8d14a38359075"/><file name="Excel.php" hash="9667e698055b0b933a0b00c4502ded09"/><file name="Interface.php" hash="7fa119032136a44eba0d88aa2f25c313"/><file name="Pdf.php" hash="4a84ddff48ee47baa5a1ea9c8b27df52"/><file name="Zip.php" hash="c2d4aee14e50ff7161b71fb05d9eff1b"/></dir><file name="Collection.php" hash="b2d1ac3db40c0b893814968c604a3c31"/><file name="Grid.php" hash="5adeab37fa0f8e81239a3c40143fef82"/><file name="Object.php" hash="a6e7a80e3eb76d44b40d97c8f3da7d89"/></dir><dir name="Giftcard"><file name="Action.php" hash="29d6acce913461c42d4870637275d084"/><dir name="Design"><file name="Abstract.php" hash="3fd7b6e3a2fddcd68a98d8545dfef31f"/><file name="Default.php" hash="0b2d0e7aaf7675216ce74a7c0870aae4"/></dir><file name="Draw.php" hash="8786b2d3f519c605c72c43fa9ebd5b0b"/><file name="Pdf.php" hash="a5bee72e4155cc5fbd960326bbc78ef5"/></dir><file name="Giftcard.php" hash="333f69d76a817b915d14387f3043dc8f"/><dir name="Import"><file name="Abstract.php" hash="a2b1b6b88a90fdbd8e63f5f836831148"/><dir name="Adapter"><file name="Csv.php" hash="4394752e4ff37fc5fa51fd558ea0e239"/><file name="Excel.php" hash="a99f838f56c4b97994ba757d245042d8"/><file name="Interface.php" hash="798076dd0df08e698bafb58ab7f0197e"/></dir><file name="Code.php" hash="6c2bdc65b2ac121f59abc4399388dc28"/><file name="Giftcard.php" hash="0de1f38b723e5ef89ed8235fad2104f0"/></dir><file name="Observer.php" hash="02f9a36ede127f325d89ba11ef4c9eb4"/><dir name="Option"><dir name="Source"><file name="Value.php" hash="8f3f7bc0fab0c5e045b30d3578643604"/></dir></dir><file name="Option.php" hash="12d6ca22d8d99a9b3c0ce8cf13375ad5"/><file name="Order.php" hash="4403321cea59d44c22027f0e5746ec2f"/><dir name="Payment"><file name="Giftcard.php" hash="693706e28c44c80104888be6830413c9"/></dir><file name="Quote.php" hash="42ee728ad839ee6d6f3e4c0c7e41b306"/><dir name="Resource"><dir name="Giftcard"><file name="Collection.php" hash="6fef5b46c1429f459d37dcb329283c1f"/></dir><file name="Giftcard.php" hash="f863a386d1b201ff4b0057dd8e758cd9"/><dir name="Option"><file name="Collection.php" hash="5c800e6bd3dae83adf2a23d7d9c69f4f"/></dir><file name="Option.php" hash="1094c6e088b63521d9bfc3a3096529ee"/><dir name="Order"><file name="Collection.php" hash="158c2e4df1d9979b612573af7538b2a6"/></dir><file name="Order.php" hash="63d27e1672efc0f3a4851692b558a550"/><dir name="Quote"><file name="Collection.php" hash="3380425c81f59718d7bc8c64b3fb078f"/></dir><file name="Quote.php" hash="c703457e610faf5a4dee66463b457e16"/><dir name="Series"><file name="Collection.php" hash="08a2bb0efc2a937b64d724f1dd418aae"/></dir><file name="Series.php" hash="9118e86a78d5cefce82f32254a8cc826"/><dir name="Template"><file name="Collection.php" hash="5ec7e0ac6cb5202add9a5a1a64b4acfa"/></dir><file name="Template.php" hash="105a1061a84fb39eaa584753625ac517"/></dir><dir name="Sales"><file name="Discount.php" hash="c2548baed309f9a82453414257822b1a"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Giftcard.php" hash="e4accfa8514a2c75c37da21477aa992e"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Giftcard.php" hash="3f9aaca0bcd5e02b48237a9227a433e0"/></dir></dir></dir><dir name="Quote"><dir name="Total"><file name="Giftcard.php" hash="1fa4a5a0038eb07060ed35501b6a195c"/></dir></dir></dir><dir name="Series"><file name="Action.php" hash="d89641d09eb6fe1c497026fd82859d60"/><file name="Generator.php" hash="0eb0a8ae65de74a809385f0114789f05"/></dir><file name="Series.php" hash="8250553686b59f4c9ae0b931a2327dda"/><dir name="Template"><file name="Action.php" hash="516c1eb7b63a8ab8d1bc6f9998b784ca"/></dir><file name="Template.php" hash="c55da9594342d746081dc68ff6b6de92"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Catalog"><file name="ProductController.php" hash="f331364419d5a59af4e3f8a628606d7f"/></dir><dir name="Giftcard"><file name="ExportController.php" hash="02c1c8d06865cb6848490cbbb41b653e"/><file name="GiftcardController.php" hash="001409911ad1e3c27b722cfac3218bd4"/><file name="SeriesController.php" hash="f34af93d647791618b9c33c27278a769"/><file name="TemplateController.php" hash="ed9038df5eaedf14c375234f7dc2bcdb"/></dir></dir><dir name="Checkout"><file name="CartController.php" hash="da8e913bc91238eba8909b866aa446c0"/></dir><file name="GiftcardController.php" hash="46235437fd9fbdf7fe5e27258cfb6180"/></dir><dir name="etc"><file name="adminhtml.xml" hash="8cda4dbf761e728cafaa76ea32792124"/><file name="config.xml" hash="c607bcee6f824e0abbce76b6b79462ed"/><file name="system.xml" hash="1a046dc4699418bc4fd5df111ac58bf6"/></dir><dir name="sql"><dir name="giftcard_setup"><file name="mysql4-install-1.0.0.php" hash="dbafa9bda0122cc8ba96781401800f68"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="d5599ed44143cbf47422f2885727c2b1"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="fd2d784cfa3af5f17f6e29997d7b7705"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="d48218a0040c98a644981d158b6891ee"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="43dabe0e160f56498b7ca93a3b56f287"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="MT_Giftcard.xml" hash="ca094ea06a7910dc265e935e161b9d98"/></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="mt"><file name="giftcard.xml" hash="5274916e3a62b7f57d2f0c5ed05efe09"/></dir></dir><dir name="template"><dir name="mt"><dir name="giftcard"><dir><dir name="catalog"><dir name="product"><dir name="view"><dir name="type"><dir name="options"><file name="giftcard.phtml" hash="b5934afd5e7f93674402b25d63459e70"/></dir></dir></dir></dir></dir><dir name="checkout"><dir name="cart"><file name="giftcard.phtml" hash="641555797f280461b9ad0014f613bc96"/></dir></dir><dir name="payment"><dir name="giftcard"><dir name="form"><file name="giftcard.phtml" hash="6d828b549f4e335bf366fc9f8005db31"/></dir><file name="form.phtml" hash="51206b76eabf93573fc5eb904565c473"/></dir></dir><dir name="sales"><dir name="order"><dir name="info"><file name="buttons.phtml" hash="12abbdcdbff241a3fb448c51493286fe"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="mt"><dir name="giftcard"><dir><dir name="catalog"><dir name="product"><dir name="edit"><dir name="tab"><dir name="options"><file name="option.phtml" hash="3f5885df27c65633a6c7a1f8ba18f4d7"/><dir name="type"><file name="giftcardvalue.phtml" hash="3f5885df27c65633a6c7a1f8ba18f4d7"/></dir></dir></dir></dir></dir></dir><dir name="giftcard"><dir name="series"><file name="js.phtml" hash="99defd275b4e0a674edafe2119c56309"/></dir><dir name="template"><dir name="edit"><file name="js.phtml" hash="3e399880a503d30c90c3acd16372e3e3"/></dir></dir></dir><dir name="sales"><dir name="creditmemo"><dir name="create"><dir name="total"><file name="giftcard.phtml" hash="de466b80894662cf86fb6cf29fe45268"/></dir></dir><file name="refund.phtml" hash="64fe05f67d988621092599b05d6cffe3"/><dir name="view"><dir name="total"><file name="giftcard.phtml" hash="8e055cf4f56e07805a7bb021121cb404"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="layout"><dir name="mt"><file name="giftcard.xml" hash="5df1eec3a4308ad262b8af24b4c4c2f8"/></dir></dir></dir></dir></dir></dir><dir name="locale"><dir name="en_US"><file name="MT_Giftcard.csv" hash="030a023d4765a41861862d26e94a2a61"/><file name="MT_Giftcard_Adminhtml.csv" hash="a4030ebbce038f66d5de95836b07b3a9"/></dir></dir></dir><dir name="js"><dir name="mt"><dir name="giftcard"><dir><dir name="adminhtml"><file name="gift_card.js" hash="a077f36a4718a5ba27b11f33af163334"/><file name="gift_card_series.js" hash="34d968fa1668c4e9aec42803090a73ce"/><file name="gift_card_template.js" hash="f247e17ba83b638e336a440c1c4c4fb6"/><dir name="jscolor"><file name="arrow.gif" hash="5034704a76cd55c1cbcbc58ea6bf523f"/><file name="cross.gif" hash="ba9a274b9323753cd95bc3b1eb2f4e5f"/><file name="demo.html" hash="742abe680859d25a2052ac5be6b65203"/><file name="hs.png" hash="fefa1a03d92ebad25c88dca94a0b63db"/><file name="hv.png" hash="990d71cada17da100653636cf8490884"/><file name="jscolor.js" hash="a26701f49bf33da8dc48f3431e5f4f42"/></dir></dir></dir><file name="jquery-2.1.1.min.js" hash="9a094379d98c6458d480ad5a51c4aa27"/></dir></dir></dir><dir name="skin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="mt"><dir name="giftcard"><file name="giftcard.css" hash="5cf6f1a510a9af8afb0f2636d0bb36ff"/></dir></dir></dir><dir name="images"><dir name="mt"><dir name="giftcard"><file name="opc-ajax-loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/></dir></dir></dir><dir name="mt"><dir name="giftcard"><dir><dir name="design"><dir name="default"><dir name="fonts"><file name="Chaparral-Pro-Regular.ttf" hash="6848adda9090c62208b75b8ad77cdd75"/><file name="Roboto-Black.ttf" hash="a77b7fc4cf040eb5bb26b0685893a9df"/><file name="Roboto-Light.ttf" hash="e22062b3188c8199283ef2aa835d4653"/><file name="Roboto-Medium.ttf" hash="99fc0816a09395454061301fefa42bf1"/><file name="myriad-web-pro.ttf" hash="ff71ffc3836541cf0071d0a47ae0c715"/></dir><dir name="img"><file name="bg.jpg" hash="46661fc213743bc87132e3aebb0ff00e"/><file name="price.png" hash="a4be48a4be4d8b6b3ddbca50457476c7"/><file name="price2.png" hash="4b857a754bdfc344cea059750de0333c"/><file name="shadow.png" hash="a24d8ce96c6ac0a411e93f77a9eb59fb"/><file name="shape.jpg" hash="e0dace3f47ba46091462fbacd466d453"/></dir></dir></dir></dir></dir></dir><dir name="js"><dir name="mt"><dir name="giftcard"><file name="giftcard.js" hash="30f94e3271d018b83e55c5a454ac0286"/><file name="giftcardcheckout.js" hash="6d47bd1939b0a052de9addfbe3859063"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="mt"><dir name="giftcard"><file name="gift_card_style.css" hash="4da70f033c3873fd69cbecc3a3ab52ad"/><dir name="import"><file name="gift_card_codes_example.csv" hash="8c04e295be30a1a316c50c8781c13778"/><file name="gift_card_codes_example.xlsx" hash="974af675c981d592303d6332a3fbed9f"/></dir></dir></dir></dir></dir></dir></dir><dir><dir name="lib"><dir name="PHPExcel"><file name="Autoloader.php" hash="c0ac1b27ca0013f02b65abff156eb888"/><dir><dir name="CachedObjectStorage"><file name="APC.php" hash="060a6e5b1c7a0ea4d6d38bd7a637a40c"/><file name="CacheBase.php" hash="45ec0389643f44555f45b7f732fb9328"/><file name="DiscISAM.php" hash="792c27a7920a33100d082e3a1e863e0f"/><file name="ICache.php" hash="42b7649b7901073e4f3f4d1f1184da50"/><file name="Igbinary.php" hash="9caa0af653e56e5c3ad9f9ee6bcdf71c"/><file name="Memcache.php" hash="e9c9fd2dfa1ef0c7df194f32a55c584c"/><file name="Memory.php" hash="67d943f12ce373b554c44a8427950f5e"/><file name="MemoryGZip.php" hash="7cfc009c1634fbbbdf229e1ccf4b193f"/><file name="MemorySerialized.php" hash="b9498b0c52a0e9635557841db318ed79"/><file name="PHPTemp.php" hash="8cbab31264df67172d4753abaea3028f"/><file name="SQLite.php" hash="705f689486dee5e55cb54560a743e847"/><file name="SQLite3.php" hash="2be3feafefad4a501232156beff5ae94"/><file name="Wincache.php" hash="649b95ef8f1d8b9b1fce1c32d8e13670"/></dir><dir name="CalcEngine"><file name="CyclicReferenceStack.php" hash="8e0ccafd804a7c959e5fbc78cadee900"/><file name="Logger.php" hash="73bbe66af2e991b27011b60764e2bdac"/></dir><dir name="Calculation"><file name="Database.php" hash="fcc0d987b23c0a43a30a0cc444c9e42d"/><file name="DateTime.php" hash="74929cc98942540350877d4e045c1da1"/><file name="Engineering.php" hash="2f1ab671181d9496ee11118985d25d4f"/><file name="Exception.php" hash="652642e024783e23648d116fe6f0f2be"/><file name="ExceptionHandler.php" hash="af3157a0957577c2b56b2020faa6160f"/><file name="Financial.php" hash="ca890b073f75aa48c49fb01a8f1e15ee"/><file name="FormulaParser.php" hash="e60e4f77093cc60f73edbaf4be80695a"/><file name="FormulaToken.php" hash="8a2535134cdf044103f0ac88f9db6b93"/><file name="Function.php" hash="c5201782fcaf859c643323a2883e3f45"/><file name="Functions.php" hash="d8d80883dfe5de21b8f3807a7f254022"/><file name="Logical.php" hash="d35eec76ac850e468ffff5dba3dd6bd0"/><file name="LookupRef.php" hash="9d21e4f2dc9340e4c6936f476f931ecc"/><file name="MathTrig.php" hash="a4c6abb1892c3091e6677ca6a4fc2053"/><file name="Statistical.php" hash="200647a809afc11198fcb52d47718061"/><file name="TextData.php" hash="9e97f8cf0e2b644711bcb4ba812b62a1"/><dir name="Token"><file name="Stack.php" hash="fd7a697177f560320eb38960e252e89c"/></dir><file name="functionlist.txt" hash="0b49438e2daa296d8e00527b1914c558"/></dir><dir name="Cell"><file name="AdvancedValueBinder.php" hash="cf4892ed82cfb2ecd8eb7ee7b7a5e334"/><file name="DataType.php" hash="8ccc274284e31a4c07370955114c7d70"/><file name="DataValidation.php" hash="eb5c4fa4d7185356d2056332b09d8f09"/><file name="DefaultValueBinder.php" hash="8af25074b5bbbe4301ddf05ac1957dff"/><file name="Hyperlink.php" hash="32393f6556a0f5ca28935a8b5e2377bc"/><file name="IValueBinder.php" hash="901680ab3e1103a5f48871dc9cd381d6"/></dir><dir name="Chart"><file name="DataSeries.php" hash="e7076e005301be41adf52a58e0824be7"/><file name="DataSeriesValues.php" hash="6bae1ddb7670c6966aa650b736adc56e"/><file name="Exception.php" hash="a06db381aca20a233a2343fdb1b3984d"/><file name="Layout.php" hash="f372df2e9240733449ec13299e12a731"/><file name="Legend.php" hash="007d1fc43db17a7a714ac490d621d3a4"/><file name="PlotArea.php" hash="ebc3924021d32e09fbf6e191ea7c9169"/><dir name="Renderer"><file name="PHP Charting Libraries.txt" hash="6ce1c907ce7043d81288b98e1ffd8c35"/><file name="jpgraph.php" hash="279ce653db7b4177d1c378c421dd4ffe"/></dir><file name="Title.php" hash="02874bda68ff78da251e84c68fe61b3c"/></dir><dir name="Reader"><file name="Abstract.php" hash="5e936960b43fc0286ba3b6663222eeab"/><file name="CSV.php" hash="141e9bcc6c31323092927e5e0ca8f162"/><file name="DefaultReadFilter.php" hash="83e54f1b119a512e8d64cef6b258865f"/><file name="Excel2003XML.php" hash="9fafa9bb7e70b9063a4082598f1cc52a"/><dir name="Excel2007"><file name="Chart.php" hash="496a5edc2e1a2c9664459047481e44bf"/><file name="Theme.php" hash="503ca86087407ce4711cfdacbae846dd"/></dir><file name="Excel2007.php" hash="7367d998079874628d53827d415194f9"/><dir name="Excel5"><file name="Escher.php" hash="f4e8768b6bb41c6d95a3d443189f4dc3"/><file name="MD5.php" hash="2dc878b66882d023d8ae841f1e93138a"/><file name="RC4.php" hash="fba55a88fc22e075a6e2b6a6fdcfe5fa"/></dir><file name="Excel5.php" hash="0a440d3c5a6797eb0d3bebbcff230cf1"/><file name="Exception.php" hash="7125b5445841b29f219c175258c89ae8"/><file name="Gnumeric.php" hash="14eb4e868c3c117ca78b2ee1a8fbd5e7"/><file name="HTML.php" hash="96afd8420f5fedf86759e50e18c19ae4"/><file name="IReadFilter.php" hash="0736c334c496bf42d0e16d2dd0b9dbd2"/><file name="IReader.php" hash="8e6325d94957c3edd350d967cba66eda"/><file name="OOCalc.php" hash="f0787409765f1ebd3af78d0afa83ee6c"/><file name="SYLK.php" hash="5a68110f072be2987678b928e2a5b5dd"/></dir><dir name="RichText"><file name="ITextElement.php" hash="022e671cfd5fe5036f556aa3da0b5e13"/><file name="Run.php" hash="42e3a7e9b7e9dc2b4764cd7e9256e2dc"/><file name="TextElement.php" hash="312b6cc37fa1260236670384c445cdef"/></dir><dir name="Shared"><file name="CodePage.php" hash="f778196b9cfc0da13183b253057bec0b"/><file name="Date.php" hash="a26d5625d129579d9f524ab8d0531f30"/><file name="Drawing.php" hash="af1da980682f5c1f2731f94133b81567"/><dir name="Escher"><dir name="DgContainer"><dir name="SpgrContainer"><file name="SpContainer.php" hash="8194d9a9e6d02245fea8bc4f36f07c93"/></dir><file name="SpgrContainer.php" hash="32c66b6e42634db60322c5e23f60b82f"/></dir><file name="DgContainer.php" hash="0a999b2c39273240d5d0a9df52b660e4"/><dir name="DggContainer"><dir name="BstoreContainer"><dir name="BSE"><file name="Blip.php" hash="82e7eaa1811b7cfb946c047a92427c38"/></dir><file name="BSE.php" hash="dec31faefa86bcac6179fb64d2ec273b"/></dir><file name="BstoreContainer.php" hash="1da7d264aabc0acb3fa391ab5abeae02"/></dir><file name="DggContainer.php" hash="3cc63376df61d3de6cb3d0381b26e258"/></dir><file name="Escher.php" hash="814c9b01923def958017f1333eee2177"/><file name="Excel5.php" hash="86feffcfde61c12b6e6f013620599c27"/><file name="File.php" hash="a657b5cf8872cfe2107c9c01baba8cdd"/><file name="Font.php" hash="88d74f04f0b130c6c633d773cd37669d"/><dir name="JAMA"><file name="CHANGELOG.TXT" hash="81155b0ba4a4aee114047e7aa51e4043"/><file name="CholeskyDecomposition.php" hash="d34ecb13bcefd7c6f04139def3796b60"/><file name="EigenvalueDecomposition.php" hash="c17e11c6d3aa17ad5ed1987ca2782023"/><file name="LUDecomposition.php" hash="e17c4558ef2a3e1914f7b658cc44b93d"/><file name="Matrix.php" hash="53ad625ea79d17eedc3808d257e7bab5"/><file name="QRDecomposition.php" hash="99c31e87a163d45f8c6d940ebbc5e171"/><file name="SingularValueDecomposition.php" hash="d18aa1bcae41dac035353f25d3e77a31"/><dir name="utils"><file name="Error.php" hash="ee40ef699a75fcb33856a80f1b5862cb"/><file name="Maths.php" hash="44462be998ffabaa1530d804438ca521"/></dir></dir><dir name="OLE"><file name="ChainedBlockStream.php" hash="d4bb1993b2f702946acfa46e97aa4160"/><dir name="PPS"><file name="File.php" hash="0474f51f53afc5638edcc9a0b6c3fbc2"/><file name="Root.php" hash="208d81258c79750799dbab04c81ff1f0"/></dir><file name="PPS.php" hash="9d8e405cd746bc5689b6dbfd9bd3a75f"/></dir><file name="OLE.php" hash="855929ae8f887d2cc1881176f0cc5698"/><file name="OLERead.php" hash="446ec9ee4bdd7cc7e025197033b425e9"/><dir name="PCLZip"><file name="gnu-lgpl.txt" hash="f14599a2f089f6ff8c97e2baa4e3d575"/><file name="pclzip.lib.php" hash="3ee0a4d8a06cedc0a56f29e8f351ef72"/><file name="readme.txt" hash="0d82536577908a1f78e1b5c6220f5810"/></dir><file name="PasswordHasher.php" hash="7e9dbb123da6ebf684d78d59dc55aae6"/><file name="String.php" hash="a33e20a7869cb76cfedea8168aeb144e"/><file name="TimeZone.php" hash="d65f43b613e065f013eef6803c56f0bc"/><file name="XMLWriter.php" hash="2c7ef964e936d08dc0a2a100665702e0"/><file name="ZipArchive.php" hash="e2fa9952bbefd2d81507e458d539ded4"/><file name="ZipStreamWrapper.php" hash="ad14dcb8fbd5222b7806e39122b1661c"/><dir name="trend"><file name="bestFitClass.php" hash="b59ad65a9b95d6bfa72cbdb3416ffc6b"/><file name="exponentialBestFitClass.php" hash="021fe1a3f2453c26c40b2692bf3e13d5"/><file name="linearBestFitClass.php" hash="1c56b0b6062a02ad58eb48fe77f1eff1"/><file name="logarithmicBestFitClass.php" hash="4000e8e6ee228a63a6712448d3689df0"/><file name="polynomialBestFitClass.php" hash="48e12ca22a05fb7fdb6cb66b9d996b02"/><file name="powerBestFitClass.php" hash="e76a3317b4c761b45107b160689286b2"/><file name="trendClass.php" hash="4f826ac73685676b87076de95a17ff1e"/></dir></dir><dir name="Style"><file name="Alignment.php" hash="6629881d62ec07d2bee03625ba8343a0"/><file name="Border.php" hash="5e707af05b1dcbe3cc069532cfb1a49c"/><file name="Borders.php" hash="55ab49a60cc4731aaf87bb8471d5eb99"/><file name="Color.php" hash="f70870d3d4c4a238636e775c6c489185"/><file name="Conditional.php" hash="70eaa6d58e2b64689afba07ac916137f"/><file name="Fill.php" hash="44daa400dc0b6bde70d917b8c349fe4e"/><file name="Font.php" hash="2de4834bb4b11444e4995a91517f91e3"/><file name="NumberFormat.php" hash="053298f5a8a54cdf0581f3e393014817"/><file name="Protection.php" hash="52d3d0e540fc22af4df901c9dae23cd6"/><file name="Supervisor.php" hash="9c06b8d9c19e79344fe667264bcf4104"/></dir><dir name="Worksheet"><dir name="AutoFilter"><dir name="Column"><file name="Rule.php" hash="006d912960d4c2ba3dafff71ef693a19"/></dir><file name="Column.php" hash="92ee57544a767280c79e7e0551087e7a"/></dir><file name="AutoFilter.php" hash="b729e61a53f2a3889f0d9282543b81ff"/><file name="BaseDrawing.php" hash="ca57c82c46c78c7e8b349eafa9a88593"/><file name="CellIterator.php" hash="d4bc618bbc586249c1e5dc7df1d993ac"/><file name="ColumnDimension.php" hash="3b9ec591295530beb15cd8237c7cc70d"/><dir name="Drawing"><file name="Shadow.php" hash="d630b34c395209b07d4dd804ee18dc73"/></dir><file name="Drawing.php" hash="cbf3a833861eeaaf3701787357450294"/><file name="HeaderFooter.php" hash="98de723123be2d2a249f367c570b9c29"/><file name="HeaderFooterDrawing.php" hash="c7c6f9b3505e4371f55108ff03d24d16"/><file name="MemoryDrawing.php" hash="333c41a96934a40789bb756955837fce"/><file name="PageMargins.php" hash="513f4fd898a3c7a753e6a5fd314ad662"/><file name="PageSetup.php" hash="ad4d560edf7688ed37ab304139d84f79"/><file name="Protection.php" hash="a8009085ec12f6e99f163df7946d610c"/><file name="Row.php" hash="c7240acf83a4bb1d5d867d7a0cc77f5a"/><file name="RowDimension.php" hash="b2fb45b94bb56d896d09a5d561082676"/><file name="RowIterator.php" hash="6984179f0409f6fc83db123b4b3a6e3d"/><file name="SheetView.php" hash="643122447438c7b65a12d044d8eba413"/></dir><dir name="Writer"><file name="Abstract.php" hash="71881e3c107b9e9ed8d38192b5d83700"/><file name="CSV.php" hash="641fa5f7d7b5805ef77566699631a2ff"/><dir name="Excel2007"><file name="Chart.php" hash="64ef1552a4726a0bd1e017027a529662"/><file name="Comments.php" hash="37f5f882ad0bb555d05b6996008d8662"/><file name="ContentTypes.php" hash="6e0a91955bbe0c65e517ec3a0755c7f8"/><file name="DocProps.php" hash="857de2845f5baa04e4496faa19da5d0b"/><file name="Drawing.php" hash="6b9f0004b35622ab59a613bd81f33b6d"/><file name="Rels.php" hash="4477e66d75e9f48468bf9b086159ae09"/><file name="RelsRibbon.php" hash="3f66b74fb31784ca8ce4bd5bc7291ee3"/><file name="RelsVBA.php" hash="880686bbfa3e472554291b46adcbdf7a"/><file name="StringTable.php" hash="9a4274e4c1b5b2c3fe470cf4a13d5c6b"/><file name="Style.php" hash="e3e5723d4360af64a18d30c0b93a942a"/><file name="Theme.php" hash="eac4b2103b90d25979a60f64179cb7bc"/><file name="Workbook.php" hash="018aabcb96afc1c7dd397fe5b05a6eb9"/><file name="Worksheet.php" hash="88b5cc0fde4a95b2cb89e63b7abcd46c"/><file name="WriterPart.php" hash="b57a9a922bf85e0c55b9fb3e25e7914d"/></dir><file name="Excel2007.php" hash="9747cbee3a0c7e82a77b658203c661a3"/><dir name="Excel5"><file name="BIFFwriter.php" hash="718654fec54a551f016a37ca804b42de"/><file name="Escher.php" hash="0d416af1873a7fe13017c0f53a70da16"/><file name="Font.php" hash="7f2445071c18c6b1c2c1795eae0b7c12"/><file name="Parser.php" hash="ac6ba6bf3cbdcfe7c270a5eff8d8d768"/><file name="Workbook.php" hash="fe2d6f409f6141004c784478160112ef"/><file name="Worksheet.php" hash="2eb04d70106f0635944c7d793eb124e0"/><file name="Xf.php" hash="aebe288abce9d204dee832a1b2522e3a"/></dir><file name="Excel5.php" hash="44c5bbf4edae0f164f18c6816a76f98d"/><file name="Exception.php" hash="7bab6538d9b1b384046054de54e96f42"/><file name="HTML.php" hash="00865972340ff901b501935814385eaa"/><file name="IWriter.php" hash="f09b0dc69e45f2ffa0ac9b5ab502fb82"/><dir name="PDF"><file name="Core.php" hash="e2a46d6c77a74863f81a5842d6a9ebca"/><file name="DomPDF.php" hash="90810f3edb94624db9675e903b00471c"/><file name="mPDF.php" hash="0be83c393289fe4fa01d71757beb7c1f"/><file name="tcPDF.php" hash="3ed2de3ea0628b6dddd7deae4c4b5846"/></dir><file name="PDF.php" hash="389cbece6563cd263debef97ec425957"/></dir><dir name="locale"><dir name="bg"><file name="config" hash="bd48b1342028433c0e8b1405f63681b6"/></dir><dir name="cs"><file name="config" hash="5bec343ec684797f504042520ee2d770"/><file name="functions" hash="dd9b6a53208a2d9128a0dbed5a192c61"/></dir><dir name="da"><file name="config" hash="3c9e6275eeb4e3e8b0227e6fa1cc7e99"/><file name="functions" hash="2be89aab61a219f5102367274eb6ebbd"/></dir><dir name="de"><file name="config" hash="eb1de3a4a017502843d25740d42f0a2c"/><file name="functions" hash="000406260d68b33e72ea78dfeb00b5ff"/></dir><dir name="en"><dir name="uk"><file name="config" hash="24025d0951937faf37cf1c6e0f3dc126"/></dir></dir><dir name="es"><file name="config" hash="65290b4e3b67ebb9a97a90b9222c7e15"/><file name="functions" hash="a703deb701efd97e00291db5333afb3c"/></dir><dir name="fi"><file name="config" hash="14d9c9df4ce03460ea96c3d80399ae57"/><file name="functions" hash="b5e2892f1b2a3a4961e1afcc3a6ee640"/></dir><dir name="fr"><file name="config" hash="027f624b5a6e245629eb0c61e3885e32"/><file name="functions" hash="a77aca7f185e1d209515a4496bafee4e"/></dir><dir name="hu"><file name="config" hash="5fa5ca22943755f450c54c677cdc9746"/><file name="functions" hash="1fb62789d3bac98fa779cd4b41b586ae"/></dir><dir name="it"><file name="config" hash="150afe868eb2c018cf6821f24e4cbd61"/><file name="functions" hash="33abdfe7001d4fdbe302900074323b0e"/></dir><dir name="nl"><file name="config" hash="491f94c0f2bfb810f70ad2318163cd4d"/><file name="functions" hash="0c67a37f97efc98f45722cc2f4fcc35b"/></dir><dir name="no"><file name="config" hash="279bbcda77bc7f0730e22a4bea7e3802"/><file name="functions" hash="5028d6a07e300f28f5ee32bb5aae7133"/></dir><dir name="pl"><file name="config" hash="6a58549706b2da7200b5d78f4ab41f92"/><file name="functions" hash="38738374816955fbdff6f86f6fa8a94a"/></dir><dir name="pt"><dir name="br"><file name="config" hash="f43c1e73bb43432e18d724b8f5b478c5"/><file name="functions" hash="c4790f115b3abc4a12c66b943c1902a9"/></dir><file name="config" hash="da578667203b7cda77565744077e7841"/><file name="functions" hash="d7cd17cfee5fddc681e19f9e59ddd133"/></dir><dir name="ru"><file name="config" hash="567fc66512232e26a7fb27f953190805"/><file name="functions" hash="3ee40439feab895f7b43021bc3ee0d74"/></dir><dir name="sv"><file name="config" hash="e1db96fd21891c616ba3ea744fea210d"/><file name="functions" hash="c61ab2dbccc729b8587a118debbce06b"/></dir><dir name="tr"><file name="config" hash="579938059c4a3c5114e398229ca5d081"/><file name="functions" hash="f1d72a47a1efcefe2979d5c12db88a6c"/></dir></dir></dir><file name="CachedObjectStorageFactory.php" hash="fcddd34477297d387012571e8968ca45"/><file name="Calculation.php" hash="8a4cc594019490aa21c601176209de88"/><file name="Cell.php" hash="30e0d3851122f2335149ece30169ec24"/><file name="Chart.php" hash="d19d8b127aec43520416aa9488e893bf"/><file name="Comment.php" hash="2b1e37cf0e1504b9ba0d13473ff743fa"/><file name="DocumentProperties.php" hash="a310128c6ef8686c6858b14518baa680"/><file name="DocumentSecurity.php" hash="f01bb7af3b6b4d775e99ffa49316b2c8"/><file name="Exception.php" hash="f85f0fa5025dd2a43b2f271efb7068e8"/><file name="HashTable.php" hash="4347b83f91a7f036526b3d9efa7a14f9"/><file name="IComparable.php" hash="ccb0435d62a54236d7afe9c1aed08ad3"/><file name="IOFactory.php" hash="f6e2a8c261cf66ccd1042433e66a1901"/><file name="NamedRange.php" hash="676daa1d2dfd5bd61c4e065aabf8cb84"/><file name="ReferenceHelper.php" hash="c1c7bac86d13f19ca6134c7d95256177"/><file name="RichText.php" hash="a3ecee59068d011fc751ddcd449e014c"/><file name="Settings.php" hash="eaa649e68369e3c01e30ab72429ce311"/><file name="Style.php" hash="250eacd8a8060a76903a7e5a81519ead"/><file name="Worksheet.php" hash="c3eb607361f574fe777cdc0178de7b32"/><file name="WorksheetIterator.php" hash="73d5db8e6d1c331a6f25b0bc0204946c"/></dir><file name="PHPExcel.php" hash="144f3dcdc193f98e7e63f6909190f0f5"/><dir name="phpqrcode"><file name="1419976901png-errors.txt" hash="5c0bdada27335acf976037e64f053d69"/><file name="CHANGELOG" hash="8a872fe193a26678351bfcd30ce762bf"/><file name="INSTALL" hash="4b8cd3c0df34ccdf9eda43633db9ef2a"/><file name="LICENSE" hash="01a2438b1b13b50bedf2778fc1678265"/><file name="README" hash="f541b0b72589a7d3383eface763af72b"/><file name="VERSION" hash="1be049d58921c68c0ce38169a785ac20"/><dir><dir name="bindings"><dir name="tcpdf"><file name="qrcode.php" hash="5b713d84ab4d0fc710a147a0e3848335"/></dir></dir><dir name="cache"><file name="frame_1.dat" hash="9966a137ae5c422c423c64664a6e7525"/><file name="frame_1.png" hash="411b1640bd31fb729f2133abcd06147c"/><file name="frame_10.dat" hash="5322d931be649e5ccec61461d67dd321"/><file name="frame_10.png" hash="94e6c5ecb12f212f27dcff20e82a795b"/><file name="frame_11.dat" hash="79e3ee85484b12fcc4fdc1907510dd90"/><file name="frame_11.png" hash="f6ef45cec274ec241a873ef22df7f45e"/><file name="frame_12.dat" hash="37ccf648fe2fc810ec81fa0f8c3820f1"/><file name="frame_12.png" hash="76152b897afbf40707bf238b5c6dd172"/><file name="frame_13.dat" hash="b04711a3b19ec79c84549843c5557ac9"/><file name="frame_13.png" hash="d6ed6af6d34cf2e8a8d24ae08400fae4"/><file name="frame_14.dat" hash="250770c3d53b29c438f8c0882e1d56d0"/><file name="frame_14.png" hash="d681e5d008e03ef3b2a174da3b77067a"/><file name="frame_15.dat" hash="8e37257a86d3bb454dc2568d94673f6c"/><file name="frame_15.png" hash="ef5b3f6e8fc23ebc14a8929a5300da95"/><file name="frame_16.dat" hash="7032d38df7b8225e306c6940b9380e2b"/><file name="frame_16.png" hash="3e55f66956d8035aa8d3bc1e7fc160f7"/><file name="frame_17.dat" hash="f492c83b8c1c940ee37f41407d0a6c23"/><file name="frame_17.png" hash="03db7f215625032749e912f2aab2a701"/><file name="frame_18.dat" hash="0780fa437cde6b605d86ba1a2234f19e"/><file name="frame_18.png" hash="b52277f3cd98a8f46663f5091b0a9681"/><file name="frame_19.dat" hash="dd0bf43626ee9dc7694382311d94df7f"/><file name="frame_19.png" hash="aaa7c06298eac23c24c41372b13e99ad"/><file name="frame_2.dat" hash="d2063daff8eada7d4a22cedae30f5d04"/><file name="frame_2.png" hash="1ae37415f42c6dbfed330acee0e488d6"/><file name="frame_20.dat" hash="a3a1eb820b13832a3cfceb8af8fb2ee5"/><file name="frame_20.png" hash="a674ebc38712054a376b181db975e02b"/><file name="frame_21.dat" hash="f35be2f92c1f6546b5896916e76c9b34"/><file name="frame_21.png" hash="e29a7e7e2516dfec6cf283c12e83224b"/><file name="frame_22.dat" hash="080bb29f0d4fb1c04f2973ef87b91f5a"/><file name="frame_22.png" hash="4faa3626cb02b8c824247b7f8cec0ee1"/><file name="frame_23.dat" hash="009203ec77f7fd1e19b495c3f1b08a44"/><file name="frame_23.png" hash="3c9cc974afe24e8d7750c72d3bbc298f"/><file name="frame_24.dat" hash="c1b69627f5e2705025d7db7b523e4892"/><file name="frame_24.png" hash="6722efb1632fc9a23f687d67060514cd"/><file name="frame_25.dat" hash="85f80a8a72dd8ecfe50b73dd04c03428"/><file name="frame_25.png" hash="d33e136b0ef7cbdd31857d395219efa1"/><file name="frame_26.dat" hash="00a2327c48e4e8019e4f1bf1173ea6a7"/><file name="frame_26.png" hash="bfba16b8705888625f6a1efa26008f8e"/><file name="frame_27.dat" hash="f74a3e9017abb34cf10d9161db6944a6"/><file name="frame_27.png" hash="4201dc61a80d2cdbc5180abdbf3cb09f"/><file name="frame_28.dat" hash="76acbf4f5b5214113a329585a43e4c88"/><file name="frame_28.png" hash="ba1fa3b05d4e0ce79711857b845a0d8a"/><file name="frame_29.dat" hash="8571093499a6bdb0ecb179f4ba2420ea"/><file name="frame_29.png" hash="2adea50109f78d7341993b2195a715c3"/><file name="frame_3.dat" hash="2699cfca6a5e65aacd0c7fbb6c9084d1"/><file name="frame_3.png" hash="2aed9e9c0e87bbee7443546ba55c3cf6"/><file name="frame_30.dat" hash="255e0419353a95fd6ed075683ebee392"/><file name="frame_30.png" hash="ed732e8b8a612389b31544b8b6a460b5"/><file name="frame_31.dat" hash="69e65a7e068f7743b31a33f1faad9bac"/><file name="frame_31.png" hash="6642919250856e737f3fdf2db8073178"/><file name="frame_32.dat" hash="eba1b97fa1d0a8b28d2374323848534d"/><file name="frame_32.png" hash="51231a4d0f1d7520c3faf374b95153f0"/><file name="frame_33.dat" hash="166082e4520386ae368ece323cb96e16"/><file name="frame_33.png" hash="c281e359d10cfca77e6c9d24bbacb86f"/><file name="frame_34.dat" hash="f7fcf8d02665cbcf07e97b2492b58be9"/><file name="frame_34.png" hash="72698abce1e633a798c1e4778f2f1b93"/><file name="frame_35.dat" hash="5b5ecdbf418448b208b402f73afcc1d7"/><file name="frame_35.png" hash="c87869bf4bf45da1c7127c6de2a0f11c"/><file name="frame_36.dat" hash="03912dc10e6c9548be0475a3d1a8bd36"/><file name="frame_36.png" hash="e5dd2ab9dcb0ebfcc208cab72482fd15"/><file name="frame_37.dat" hash="ac1584560973137f64a713b1cf135d95"/><file name="frame_37.png" hash="085b9a14931e24612d5a31d68dcb23ff"/><file name="frame_38.dat" hash="b45ceadcace8ab29ae23f1187827ee81"/><file name="frame_38.png" hash="a5b05f453ec538e590f8d89587a23611"/><file name="frame_39.dat" hash="1d62f529bdb36150d01a50edec41274b"/><file name="frame_39.png" hash="c83d4b2895ef4131002922efbab49a28"/><file name="frame_4.dat" hash="8f7cc1859eb9a53b5632292e3a130294"/><file name="frame_4.png" hash="b358fec2b171d3f48ed37760f2e43b4a"/><file name="frame_40.dat" hash="49e85960945738760a4657d66c955ec6"/><file name="frame_40.png" hash="4dbb42edd5532958d0a3373292ba907f"/><file name="frame_5.dat" hash="3163d7510e346dc920d4cb54a531c39d"/><file name="frame_5.png" hash="8fc575dc94ac96e59935a760eae530bc"/><file name="frame_6.dat" hash="8e295fa8a97640d442e0a0eb2071dbff"/><file name="frame_6.png" hash="e570a56ccb27e1123efa4f32875ebce0"/><file name="frame_7.dat" hash="daeda73b2271bc29305de751e93def4a"/><file name="frame_7.png" hash="f1f1f510346c6011a0a9db54a6ce1600"/><file name="frame_8.dat" hash="7fa3ac63497597e55d211749e725e1fb"/><file name="frame_8.png" hash="8da14e672ece3b8e6a87f6e730baf480"/><file name="frame_9.dat" hash="25c5097cb158d1871441f7c47dc39ee1"/><file name="frame_9.png" hash="e9c335a41a1ace41f43f096e488a4987"/><dir name="mask_0"><file name="mask_101_0.dat" hash="6c4fdf704de27629d87b83d880801c64"/><file name="mask_105_0.dat" hash="202eb068c963ec45eba3eb97d2870ce3"/><file name="mask_109_0.dat" hash="d2a05381fcf529d73d253162ba809d74"/><file name="mask_113_0.dat" hash="8a507f639e0b0556b6d92277cb5f392d"/><file name="mask_117_0.dat" hash="a5a9ad0b479b2b21e5e20f313766f86f"/><file name="mask_121_0.dat" hash="bccba8f234c62c4ab2f44ae44ab54cb9"/><file name="mask_125_0.dat" hash="f4701c9eb001f32bacb2084bfa3e985a"/><file name="mask_129_0.dat" hash="a1ebe9f05b055f64f558a6244e6c7890"/><file name="mask_133_0.dat" hash="d2929cb58d6e9cd60e8a119be822d309"/><file name="mask_137_0.dat" hash="dcd93d58f4072469967980ba59574f40"/><file name="mask_141_0.dat" hash="5ffc654902a36e2b332fda9d59091fff"/><file name="mask_145_0.dat" hash="9efe56fe464d4502494a1cf626fe9dec"/><file name="mask_149_0.dat" hash="b4e966f8336481fe22747556591cd120"/><file name="mask_153_0.dat" hash="f4e6a1e8b8d358caf45684afdff31294"/><file name="mask_157_0.dat" hash="f6ffbde0114c9697566688b47a6711d6"/><file name="mask_161_0.dat" hash="62f427d65bb9b4443d2e7ade8d459eb7"/><file name="mask_165_0.dat" hash="0e55dfeac94cd03d80ac3beadf229be2"/><file name="mask_169_0.dat" hash="e9d7cf1075155e841397c34439cb7727"/><file name="mask_173_0.dat" hash="5e921e75199ac8624f0bda6b7c8a0ca5"/><file name="mask_177_0.dat" hash="ddb00baf98441c85e41289c22725c176"/><file name="mask_21_0.dat" hash="0718577fa2c550f18c1ada43073686c3"/><file name="mask_25_0.dat" hash="86dff5e28a8686795053144e8e1a1468"/><file name="mask_29_0.dat" hash="0e10a1d9372b0d19001975e9cfae0283"/><file name="mask_33_0.dat" hash="f80d9b95cdc71d8569289bdf50461c0f"/><file name="mask_37_0.dat" hash="a29b43128de8475414f71c138a48ff39"/><file name="mask_41_0.dat" hash="994bd068e5e27de60ab2c80f741a3305"/><file name="mask_45_0.dat" hash="081b0e72ce1c7c98b19a9569ac3a44dd"/><file name="mask_49_0.dat" hash="f50d98727bbdb9f8550cc9170f2ec5f9"/><file name="mask_53_0.dat" hash="4f116fa5476c96c493d9fa39144f3e0b"/><file name="mask_57_0.dat" hash="63842c6c6382a6e9ad6ad9a5d260e10f"/><file name="mask_61_0.dat" hash="a8c349ae832d6ecf6393bab781285d43"/><file name="mask_65_0.dat" hash="e025e048393a0ef230ecfca730627d67"/><file name="mask_69_0.dat" hash="03b969d8d5cc667b9db6d30435ed0465"/><file name="mask_73_0.dat" hash="b4ddb6571dfa5e097778529e515aa991"/><file name="mask_77_0.dat" hash="c958cba6bf9169ed0b5e5e812bde8407"/><file name="mask_81_0.dat" hash="59352f5a91fdda1c299839c388b31094"/><file name="mask_85_0.dat" hash="27d360595156bca380e0882db865d97f"/><file name="mask_89_0.dat" hash="340efa3d23812287232ab47d46acc7f4"/><file name="mask_93_0.dat" hash="071afbef25ba4ce443fe371d286d3f4b"/><file name="mask_97_0.dat" hash="89b20fb88a32644757ee346306a23203"/></dir><dir name="mask_1"><file name="mask_101_1.dat" hash="bf6ab6978bd3e4ddece1c510e84e286d"/><file name="mask_105_1.dat" hash="9d953276346ed743a173ea8ca0e8cd2b"/><file name="mask_109_1.dat" hash="e0b18b6aae70d01b424bcf2f37f76f92"/><file name="mask_113_1.dat" hash="ad0a4162bb87fc14323e8fc95da0f491"/><file name="mask_117_1.dat" hash="cd26e07902b23b0c743505a2732b2498"/><file name="mask_121_1.dat" hash="3755b5cde7076711cb29fbb86e8a0e7f"/><file name="mask_125_1.dat" hash="ca310b53c8ec27d0718e3ef9211d723c"/><file name="mask_129_1.dat" hash="56d78d56fd0bd490a806a9d0a418b93c"/><file name="mask_133_1.dat" hash="25d97fb00854adb525107f41f3178204"/><file name="mask_137_1.dat" hash="c46aabe94b0f98709e634f4722bdb5cf"/><file name="mask_141_1.dat" hash="261a83e7dcf606694332c6c9e04b2b2e"/><file name="mask_145_1.dat" hash="38d5d0690e4603854cc05d315f1dd9c5"/><file name="mask_149_1.dat" hash="aa2eca119e10ec7b9b68a0114ac564ad"/><file name="mask_153_1.dat" hash="7afe60df62eed29834a72c7a0fa036b1"/><file name="mask_157_1.dat" hash="5d9825afa01b120972f1078079d94fd1"/><file name="mask_161_1.dat" hash="226022ea7568c6713f7ced33d58cd0c3"/><file name="mask_165_1.dat" hash="84ae6b587247749c38c4f95eb13db733"/><file name="mask_169_1.dat" hash="7e6db5dc520265a7c2e1b5f840b1aac0"/><file name="mask_173_1.dat" hash="3ce3d555e49b7cb1598b571cd9c39d11"/><file name="mask_177_1.dat" hash="82e07b24b1381c1f679c9ee6dfadccf7"/><file name="mask_21_1.dat" hash="bee4cdaef688947610b10b469c563994"/><file name="mask_25_1.dat" hash="4290a56446ca90443215f2fb4c1959aa"/><file name="mask_29_1.dat" hash="2456b09ddffa9f6c024d0146b2de747b"/><file name="mask_33_1.dat" hash="9d41f80f181d65bb09c4fac192180588"/><file name="mask_37_1.dat" hash="188e3cdd055dba53f9e428491adafe77"/><file name="mask_41_1.dat" hash="0dd7fad119dc0f8d64027c8cb7b87b8d"/><file name="mask_45_1.dat" hash="c0a3c6ed3d6c9e87235f3118c529e20d"/><file name="mask_49_1.dat" hash="2d78d9b0d2ca5f8c2f70a0aee7c91c72"/><file name="mask_53_1.dat" hash="5335af744066a31f48d6e3cab2b40dbe"/><file name="mask_57_1.dat" hash="df0543a3e8403ccfbadc87e1f711c006"/><file name="mask_61_1.dat" hash="87976040b3e1c0f0ef6ce09a100e8a6f"/><file name="mask_65_1.dat" hash="63efa207af9229d00444dc5ffbd0554f"/><file name="mask_69_1.dat" hash="aae34841ca735ca390f8542ee03afdf2"/><file name="mask_73_1.dat" hash="8493bba42242fb0a464247675a7a35c1"/><file name="mask_77_1.dat" hash="3e8c67e245d2d273cb14e773d6a9dfaa"/><file name="mask_81_1.dat" hash="0340c9c4ccd8a3840523a734655afa3f"/><file name="mask_85_1.dat" hash="b0743efcadd883a6597eca6c32cf1f66"/><file name="mask_89_1.dat" hash="f68463319238c992e1672fb74874096e"/><file name="mask_93_1.dat" hash="ea4adb79715c58e337a875b4e4a3956c"/><file name="mask_97_1.dat" hash="e8c8a30ab35215bdd8dbf715ed1cda6a"/></dir><dir name="mask_2"><file name="mask_101_2.dat" hash="c19bd200710ef2a60c5758db76df1202"/><file name="mask_105_2.dat" hash="1bf1c38f25b93af043bacc05798748ac"/><file name="mask_109_2.dat" hash="bffead7278a51efb89b94e6d267f13f0"/><file name="mask_113_2.dat" hash="84cbf90c73ba9a78c0a283b7e70c4ca6"/><file name="mask_117_2.dat" hash="f9fa108e550908a5a1f1087b92bf2154"/><file name="mask_121_2.dat" hash="0b6414fb6f76bfe0381c6cb2aacd34ba"/><file name="mask_125_2.dat" hash="aca184e91ebb60548c7118e17c10de73"/><file name="mask_129_2.dat" hash="0e929552e878974a3951d1eabb31a694"/><file name="mask_133_2.dat" hash="2fe6a8bd3fbe0805d5247952d398d8e9"/><file name="mask_137_2.dat" hash="563bfe8ba15383804f83ca96d39a8896"/><file name="mask_141_2.dat" hash="0f554119e613553d0e290496578d827b"/><file name="mask_145_2.dat" hash="ef3c2eae15e4726bb8803ad2c41dd635"/><file name="mask_149_2.dat" hash="24353d418076add713c045cbd20570a6"/><file name="mask_153_2.dat" hash="3d413b652cfe3d99374e30688053b90c"/><file name="mask_157_2.dat" hash="6e1c88422eb13dd8489d464e3281ee82"/><file name="mask_161_2.dat" hash="53b23561c00e1d00b8f575b3cac30ab8"/><file name="mask_165_2.dat" hash="8e84496c645a09f23cd18bdbb725c31f"/><file name="mask_169_2.dat" hash="990a5c2ece92d9d0e07228b7fbf898de"/><file name="mask_173_2.dat" hash="9749985009d535e753d29ea300456be6"/><file name="mask_177_2.dat" hash="c3c527e46e0dd6909193a06e30cc5f9a"/><file name="mask_21_2.dat" hash="ef7fd6a1deb6cc2e393ace6dd84d5a36"/><file name="mask_25_2.dat" hash="eabdf7cb85e1cf0bdb7952438a24e1cd"/><file name="mask_29_2.dat" hash="e39952d54f008e8d39ad61172d7a6fcd"/><file name="mask_33_2.dat" hash="ceb77e491c9ab253730ba4e72fd948ba"/><file name="mask_37_2.dat" hash="85edba0353ded1e99ef4f7a962cbac1f"/><file name="mask_41_2.dat" hash="7760ee0c6c86087fcde96e2eae9cb90d"/><file name="mask_45_2.dat" hash="3e38a0052f6badc68191d3ee3069e3d9"/><file name="mask_49_2.dat" hash="47ca1f72a8d43d06211b16cc98349abd"/><file name="mask_53_2.dat" hash="419e2b85764065370e791d4602b3d6cd"/><file name="mask_57_2.dat" hash="3c1fa898079586f5338aff22ad3e5e1c"/><file name="mask_61_2.dat" hash="d6e4a7bd67c891d213e2f4e79188fa87"/><file name="mask_65_2.dat" hash="6eddee56c23be857e881eed534e36bc3"/><file name="mask_69_2.dat" hash="e68f0f694c8c9a5f3f86a2906cdbe67a"/><file name="mask_73_2.dat" hash="54c839fcf1bf0a5251ea3d6458f75623"/><file name="mask_77_2.dat" hash="622903170480ae4ba0a41549544cf47b"/><file name="mask_81_2.dat" hash="3c55f79ff8ea70dd8a0862f351b2f3d0"/><file name="mask_85_2.dat" hash="3adfad79aca1860f53b719d3d6d48190"/><file name="mask_89_2.dat" hash="272d60997a9a1691cbe3091733e29162"/><file name="mask_93_2.dat" hash="f17848e3c1aa7981607d62355e36f2d5"/><file name="mask_97_2.dat" hash="85effa425682735086394a0c7bbafbb0"/></dir><dir name="mask_3"><file name="mask_101_3.dat" hash="ae198375944bf5e5db80ed22e67b68b6"/><file name="mask_105_3.dat" hash="6015c6e5f50aa989e01dd58097533ac3"/><file name="mask_109_3.dat" hash="0aff2d331afacd144a9358b0d74facc0"/><file name="mask_113_3.dat" hash="8f19e9effc6dd1c0fc6479bd67c48bf9"/><file name="mask_117_3.dat" hash="a2b2164b64aa246005688ff289cf1a4e"/><file name="mask_121_3.dat" hash="5c2f2642b172d9fe4b65fff2f1dadd62"/><file name="mask_125_3.dat" hash="9f3ad8403cb0e4dee43b6d1120704c42"/><file name="mask_129_3.dat" hash="b2849c22daa0217d68aa604856b9a78d"/><file name="mask_133_3.dat" hash="e81d804c6c49187029b6570262984b81"/><file name="mask_137_3.dat" hash="a59f1c0e5ad80120c501911dc9ef2145"/><file name="mask_141_3.dat" hash="037a2695936927ee7a1707b4811124b7"/><file name="mask_145_3.dat" hash="be939feee94f6d6d6ccc81ae1f600dbd"/><file name="mask_149_3.dat" hash="3196a80f19d3569d2f46ca1c30b8a24b"/><file name="mask_153_3.dat" hash="546b11d703368abb4c0d32a8d9c37982"/><file name="mask_157_3.dat" hash="8470a13e8aacd293d2553bdd313c0f3d"/><file name="mask_161_3.dat" hash="d094c5c953718c9f00cffb2e0d71c2f6"/><file name="mask_165_3.dat" hash="aa34451d98a131743df4bb1d5fd260f1"/><file name="mask_169_3.dat" hash="08548e5d2e1bdad75f9ed1b97b6c8152"/><file name="mask_173_3.dat" hash="7e7cb6489490d6e668a85b812b0b2612"/><file name="mask_177_3.dat" hash="7f21c6fbc48b877e5b31caac71633886"/><file name="mask_21_3.dat" hash="986c775b20f9bc975c3a83faee76329c"/><file name="mask_25_3.dat" hash="d62b82857c88be6ef18f4afb4cf09d56"/><file name="mask_29_3.dat" hash="9f8058257aa8b76d8445b9bb22b9c05a"/><file name="mask_33_3.dat" hash="4f1e8177a0c749ac3931d81c983ffa40"/><file name="mask_37_3.dat" hash="88c26716f6735be2fb4131eed5058051"/><file name="mask_41_3.dat" hash="7d652cb4b36012bc9ba5a7e1d035159c"/><file name="mask_45_3.dat" hash="3714071caccd1e070a2346b919d5f37b"/><file name="mask_49_3.dat" hash="2e2242a88660982e6667bb7ef0fea8de"/><file name="mask_53_3.dat" hash="87169242d83d8a40022bc9d4060798ae"/><file name="mask_57_3.dat" hash="7c6f98cf3629b427436375da98857ac5"/><file name="mask_61_3.dat" hash="6d1b20de6f2805cf18ef98970a7498ee"/><file name="mask_65_3.dat" hash="e0e64afa29e61db165dfc2638cacea41"/><file name="mask_69_3.dat" hash="68e564748c41b81d08e1a34a78a68296"/><file name="mask_73_3.dat" hash="449a36d7abd76c05e25444c8a1d7db82"/><file name="mask_77_3.dat" hash="446c00259878f35d8b468e640ad2ae51"/><file name="mask_81_3.dat" hash="5e55ada7d9fc5f5237e7ef505ba703de"/><file name="mask_85_3.dat" hash="b46ebcdc0121b1a3bedbd184495cfb88"/><file name="mask_89_3.dat" hash="14f648b97ed382c545c8632ac4e1b6f5"/><file name="mask_93_3.dat" hash="b2705428db6f3df45f0bf54bf7f7ebcf"/><file name="mask_97_3.dat" hash="b0103bf0ceaa6d15e13c1ddf314837c7"/></dir><dir name="mask_4"><file name="mask_101_4.dat" hash="ca45a07682fbb6bc77a32e9a15314494"/><file name="mask_105_4.dat" hash="7b74b40294afa78a889105b236e5a3cf"/><file name="mask_109_4.dat" hash="2f88c8ed36981f3080a6f1e035173635"/><file name="mask_113_4.dat" hash="d9a50ab9759fe8a037f4157e478d49ec"/><file name="mask_117_4.dat" hash="df85ef67e5c4cf3267aedc9055ff9a2b"/><file name="mask_121_4.dat" hash="7a66881619731b961dcfac808e2f6be0"/><file name="mask_125_4.dat" hash="409a1bcff906697dfa1f4a2b83aa7f72"/><file name="mask_129_4.dat" hash="c43f5c311576c0ce3537fcdc0aa9baaf"/><file name="mask_133_4.dat" hash="1b0d84cfdbd3520dae9cea6779e6102e"/><file name="mask_137_4.dat" hash="afad876a701bc44207b76b159cc624c4"/><file name="mask_141_4.dat" hash="ff707a8bfc3a08df2715dace4eeee2c9"/><file name="mask_145_4.dat" hash="e08158360699d664f225befb46faafae"/><file name="mask_149_4.dat" hash="16b0984a56f48cb56afb82acd67671a8"/><file name="mask_153_4.dat" hash="730cc2b3e3e12832a3d135dccec1985b"/><file name="mask_157_4.dat" hash="9c80740894d87ac138659dd817cfd326"/><file name="mask_161_4.dat" hash="4e5210091ec433c5c527d1f0585f73f7"/><file name="mask_165_4.dat" hash="a6dbdfb0999db134cca08f7e30cfa7de"/><file name="mask_169_4.dat" hash="9089622362230a309a438d6b3b552c1c"/><file name="mask_173_4.dat" hash="56ea5b38d276af919f2c6544c9ca0c69"/><file name="mask_177_4.dat" hash="87e64a44a0adf6eaeaff9dd68e771ad1"/><file name="mask_21_4.dat" hash="c1328902261a4b750bffd6a322a69e43"/><file name="mask_25_4.dat" hash="128cdfcfa192fb806a5d81f91ebc05dd"/><file name="mask_29_4.dat" hash="1afb863e3bd5f551724cd5e0eaaa659f"/><file name="mask_33_4.dat" hash="b60bbea04379a5edd6765ce656ec235f"/><file name="mask_37_4.dat" hash="fdb59b9945c57ac798ce7f56b436d061"/><file name="mask_41_4.dat" hash="6086f8d8e5e07367d4639ae9cb0ed432"/><file name="mask_45_4.dat" hash="7c39a588c3a02a9f2df71bbb451185f6"/><file name="mask_49_4.dat" hash="be9fe9f94ae480bec52518c31e252259"/><file name="mask_53_4.dat" hash="db6c8031329065e5bcb48d6dc0f53d53"/><file name="mask_57_4.dat" hash="b9d06f6aa6b2398637f04933cdbcd517"/><file name="mask_61_4.dat" hash="f7bb6ffa6ccabbc9fa44aaceb8d50561"/><file name="mask_65_4.dat" hash="04603c3e8d97ef14e2dad753e6eb93c3"/><file name="mask_69_4.dat" hash="36df758133b3febd68156ab37d01a511"/><file name="mask_73_4.dat" hash="51dd4eb76dff0927be98beedf05eaba7"/><file name="mask_77_4.dat" hash="dd103faf186586280ffe0641e2b7978f"/><file name="mask_81_4.dat" hash="90a9312e91e290c7391df673683fd487"/><file name="mask_85_4.dat" hash="d8216a889322d1935a3e7d26fefa473d"/><file name="mask_89_4.dat" hash="6396c3787c999f1d409da28ec4e0e7ee"/><file name="mask_93_4.dat" hash="e9d3369fdd1d79792395646f5923e1fc"/><file name="mask_97_4.dat" hash="77535b91df7f053f8931260141afe6b7"/></dir><dir name="mask_5"><file name="mask_101_5.dat" hash="63e4303918909723ece25197688b8ba7"/><file name="mask_105_5.dat" hash="ee01fae3b22b508e1adb3f47dc99c941"/><file name="mask_109_5.dat" hash="1325823b4e7600739d46c64d4212a5d1"/><file name="mask_113_5.dat" hash="c01d8795c46106917095511b9930c0a0"/><file name="mask_117_5.dat" hash="fbd2cd3349eb860d77369d4b0b944537"/><file name="mask_121_5.dat" hash="156bb97e4e652111cc8969c8c2c15e8e"/><file name="mask_125_5.dat" hash="0cb7294228c178cdd823b6a644967f1e"/><file name="mask_129_5.dat" hash="05635b96e33640886e90b4b8d56171a4"/><file name="mask_133_5.dat" hash="afb77cc82a0b754c7e8c896484430fdd"/><file name="mask_137_5.dat" hash="5dd206b6f8cef84943004dd46473e209"/><file name="mask_141_5.dat" hash="de316b74fdb13d4e2dd231db258e5b10"/><file name="mask_145_5.dat" hash="9db1a1f7ff00930a3a942ce19e5229f8"/><file name="mask_149_5.dat" hash="616f4baac1ccb75cebae890ca66cc639"/><file name="mask_153_5.dat" hash="6a244fbd16d99c00d881e7229626d838"/><file name="mask_157_5.dat" hash="fe12067a1b756e60b55402cd8ecd24d6"/><file name="mask_161_5.dat" hash="6447ad594af51dcfa9f972e82a21e54e"/><file name="mask_165_5.dat" hash="9301e05832397fd35cda0704d5a64e85"/><file name="mask_169_5.dat" hash="7ce18389a7d8a4eddd78e837665fa379"/><file name="mask_173_5.dat" hash="3e39ad33f5a469258e348dd7dbb83b1e"/><file name="mask_177_5.dat" hash="a5a8a619dba0f1ff547e228fc05696aa"/><file name="mask_21_5.dat" hash="7ea675316e14102a14ae2cc70897fd7f"/><file name="mask_25_5.dat" hash="d850e1d1e779dae8073761378b6ce671"/><file name="mask_29_5.dat" hash="150bfabd079b92aa70ab30a7e9368dfe"/><file name="mask_33_5.dat" hash="213369f74b18f08edea17c351d141103"/><file name="mask_37_5.dat" hash="b41c0f5323c4fa71a305521ba452b09d"/><file name="mask_41_5.dat" hash="6dea7e67b63ea326f85517d1c4c56d69"/><file name="mask_45_5.dat" hash="829091dac90854289ec9bcf351774a9d"/><file name="mask_49_5.dat" hash="9c3e06caa2d4917b7b5450ce0a27a7cf"/><file name="mask_53_5.dat" hash="4a81ede5d9554feb48b079e76a895fd1"/><file name="mask_57_5.dat" hash="5194ce0c45d7d9676abaf2fa2cef99fc"/><file name="mask_61_5.dat" hash="863bf39b5bcda2ad4767fb9027770695"/><file name="mask_65_5.dat" hash="9c7fc509da9e5df7e5edbc2a1ae55fd0"/><file name="mask_69_5.dat" hash="1d9d0d5c8c2c9d3e1f47e43d7a4d0869"/><file name="mask_73_5.dat" hash="21200ef88b501d6d22dfe931100fd4c8"/><file name="mask_77_5.dat" hash="517ed455f5eec7593ea201a2ed4cee5f"/><file name="mask_81_5.dat" hash="b3e6de4ae3f3ee7c22e9731e8f951c97"/><file name="mask_85_5.dat" hash="cbe89ebc95a4c3a1ef3eeb9cb81f89e2"/><file name="mask_89_5.dat" hash="8c2bc4a7da237a03224e2301d3895e33"/><file name="mask_93_5.dat" hash="513cb1d0cab1c36d1eca4484340c5e66"/><file name="mask_97_5.dat" hash="c9940067833f5e8e6a29eeb04f99a705"/></dir><dir name="mask_6"><file name="mask_101_6.dat" hash="fe3409bab63a28fd156562843368940b"/><file name="mask_105_6.dat" hash="34efa23c98039ef903960e7fa0592653"/><file name="mask_109_6.dat" hash="36ea76ef2e46af972407d49ff8da9387"/><file name="mask_113_6.dat" hash="03c97aec73f929287857fe364305c984"/><file name="mask_117_6.dat" hash="a9db9006460b267fdd008ee6d7961930"/><file name="mask_121_6.dat" hash="c252620b89e84448b2503203387b4cb9"/><file name="mask_125_6.dat" hash="b2163f500e8c2dc3e14442bbcf1ae2d4"/><file name="mask_129_6.dat" hash="0aecf6a2b535e1036bd64c688b65191e"/><file name="mask_133_6.dat" hash="fe8e9a6d458264eb66ad124528bc47cb"/><file name="mask_137_6.dat" hash="09421a3a805e387e6250cb1c87afcb5b"/><file name="mask_141_6.dat" hash="9910802e214f42ae2abdcee85116c2e3"/><file name="mask_145_6.dat" hash="aef30014661d9963c9617938bda7e2d3"/><file name="mask_149_6.dat" hash="2f9da67a9504c0deca5121d321b200e8"/><file name="mask_153_6.dat" hash="3c6c97c86dc381a338e67917478f3855"/><file name="mask_157_6.dat" hash="51b4b3cf7dddb9debe256fd8911a05f6"/><file name="mask_161_6.dat" hash="e3f360c52072bbfa68ef4d7f68c1970b"/><file name="mask_165_6.dat" hash="b5a9a0a0b8a48e2e193f941535c6484b"/><file name="mask_169_6.dat" hash="2b32a6d292ed03b746cd73f8f5d59f02"/><file name="mask_173_6.dat" hash="54f997312cdc4ef751491cfaf3308c66"/><file name="mask_177_6.dat" hash="92cacc6329349c5effbddeb9a2e559fa"/><file name="mask_21_6.dat" hash="1e2c0fc394840848946b2879a8ea0e58"/><file name="mask_25_6.dat" hash="67ededb602cd3eea65bd7cd15b3b8aba"/><file name="mask_29_6.dat" hash="ae9e79b8d717906f2cee4ac758ed5768"/><file name="mask_33_6.dat" hash="ca09e953f305a38d9e82b1a566c6c856"/><file name="mask_37_6.dat" hash="f1174b18aeeacd12b2efe0d1d9316c99"/><file name="mask_41_6.dat" hash="eb25abab0eccbe9b50e0727f65ddfb3e"/><file name="mask_45_6.dat" hash="e9df8dc1d0d56c4187a0081323998076"/><file name="mask_49_6.dat" hash="3fe09ab83277240614e315932f768afa"/><file name="mask_53_6.dat" hash="83c85d40e678c9b37c2d37f401bc14ee"/><file name="mask_57_6.dat" hash="4e807ebe4413aa11b14af7a0a9d42a50"/><file name="mask_61_6.dat" hash="10b367e0da3f5d0b5fe0b91e830f5653"/><file name="mask_65_6.dat" hash="c0b3bba3387d20f796672ffe9d0e38f9"/><file name="mask_69_6.dat" hash="a37fef158283319557bd0bf3ebe4846d"/><file name="mask_73_6.dat" hash="d9b39a4a9a1a7da544faba4a74c23d04"/><file name="mask_77_6.dat" hash="3268bdbf71bfcd6eca66a6e3dbed48b9"/><file name="mask_81_6.dat" hash="74955ed39c6185272affaeb81090919b"/><file name="mask_85_6.dat" hash="26e0c67dd75a268b3efc628d38d932da"/><file name="mask_89_6.dat" hash="a37653e6a06e2c536a8f585a005ef7f0"/><file name="mask_93_6.dat" hash="3ac10716db6cdd2859a807b9f95a18a2"/><file name="mask_97_6.dat" hash="7d9e1ddc9553878f2931db40fc6ed0e0"/></dir><dir name="mask_7"><file name="mask_101_7.dat" hash="e83d50dcfeddecf35f5bed16b54bbba8"/><file name="mask_105_7.dat" hash="e3bb1535f7075601e2cbb165173421f4"/><file name="mask_109_7.dat" hash="fe7590ee146b69ad00b7169c08a6ab58"/><file name="mask_113_7.dat" hash="84b1badf25a7a5cc4407b2174404821e"/><file name="mask_117_7.dat" hash="4e4233f2b6a3e9b1fa28e68ed52b037f"/><file name="mask_121_7.dat" hash="c9996c9461742edfab6dda88b613585a"/><file name="mask_125_7.dat" hash="f4553613c89cf07e4561ad2aae92e0cc"/><file name="mask_129_7.dat" hash="b4edc59c5e1f790379f71351f196e6bc"/><file name="mask_133_7.dat" hash="e6a4f6fa0a88402cdc0255ca95f5d199"/><file name="mask_137_7.dat" hash="fd33075985f60259af6b7dfd2ae189e5"/><file name="mask_141_7.dat" hash="ec73544083abf6bad1669d781bf09437"/><file name="mask_145_7.dat" hash="75a6237d00e616ca916d977602c0cb7a"/><file name="mask_149_7.dat" hash="a2d5667629afc9ea067e1839eacc8f68"/><file name="mask_153_7.dat" hash="a01eb9a63c1920b705ff4d8b717f4ce7"/><file name="mask_157_7.dat" hash="fad2e537867b26a49f29d60265c0fb40"/><file name="mask_161_7.dat" hash="5d88f58b291f5bb88a0406cfa29012c8"/><file name="mask_165_7.dat" hash="41a900ae9693e5c27d980fdbbd1cc439"/><file name="mask_169_7.dat" hash="365708854b5a146db2b5580225d8048f"/><file name="mask_173_7.dat" hash="13683d9f282668ed475bf707ee53e201"/><file name="mask_177_7.dat" hash="8149d01010cee85d1849a9dca0e102a5"/><file name="mask_21_7.dat" hash="7c80f76fd015f19e48b7a570d55bc262"/><file name="mask_25_7.dat" hash="ea54a40e79f32877e02d1ea8791cb471"/><file name="mask_29_7.dat" hash="a6f4995de8e329204ee3410b22d8da4d"/><file name="mask_33_7.dat" hash="51273577e33506f83d00d7971fc38dc8"/><file name="mask_37_7.dat" hash="8c0fbb3e5121299816be076ce6a356c4"/><file name="mask_41_7.dat" hash="b97a30c39540b5160c652b5324ae9a08"/><file name="mask_45_7.dat" hash="18166274b73ca16a2c5a145076b990dc"/><file name="mask_49_7.dat" hash="270bfbf77a14569a5fc88925beb39189"/><file name="mask_53_7.dat" hash="84e0be977afc54746e41e28f47de1ad9"/><file name="mask_57_7.dat" hash="a37a26bece7e816a87ccdfcef7e96b71"/><file name="mask_61_7.dat" hash="a108bbc684fb0ad8f59228f410d4124d"/><file name="mask_65_7.dat" hash="647767fd83beeec449ef18e04ae12af7"/><file name="mask_69_7.dat" hash="577baae8a8809899b6763719cf5bfa8d"/><file name="mask_73_7.dat" hash="b2bf60ae1da1ce4bb7db15129e99d58b"/><file name="mask_77_7.dat" hash="ab9a75a46a851ad80f0e57b6dd5c64da"/><file name="mask_81_7.dat" hash="fcfaf88379459ac068236827681d9e43"/><file name="mask_85_7.dat" hash="525c8b876f509a127d3dfd80d81aad3f"/><file name="mask_89_7.dat" hash="7c7a821cb5e7d65e7b6e020bd6351f35"/><file name="mask_93_7.dat" hash="c906b28ae62d8866a0eb35ae87db567f"/><file name="mask_97_7.dat" hash="c04cea679212bda3930b3534565a6fd2"/></dir></dir><dir name="tools"><file name="merge.bat" hash="86e934a4304536ad09b2f7b9e814241d"/><file name="merge.php" hash="0b113c70589ac6cc76291087b3f3dff9"/><file name="merge.sh" hash="d2b77c3493b2ffe3d76d4fb9330e72a1"/><file name="merged_config.php" hash="8c4be9477ea9c372b3d2796df9d9d867"/><file name="merged_header.php" hash="3fc51eef6239691f523be743fde28470"/></dir></dir><file name="index.php" hash="15632fb7fff24ae10781a87bc1a5a9bf"/><file name="phpqrcode.php" hash="6e4949ac97acce06de82b2b09988926f"/><file name="qrbitstream.php" hash="7b95645db7e06aba3b55af7dd249663b"/><file name="qrconfig.php" hash="15c58fed3d55a98cda8abeed8c336fa6"/><file name="qrconst.php" hash="4cd7d63ff0b638020e6b0c6d11133d09"/><file name="qrencode.php" hash="dda263c8a9742aaa71cc302820308541"/><file name="qrimage.php" hash="2d1588686abe320c3bf003c94e967ce0"/><file name="qrinput.php" hash="07ee5315fb6c319dc208de59a9de95c0"/><file name="qrlib.php" hash="4d2b63e34326b0df5153be6d928ec960"/><file name="qrmask.php" hash="12ce875d67e242532e2b0da9f0a334ee"/><file name="qrrscode.php" hash="17af6b8769e70c132f227b089152a47f"/><file name="qrspec.php" hash="7d276c5a768c04d62ae0afde8abaad2d"/><file name="qrsplit.php" hash="206c8468e0089be5f58453cbbd003ec0"/><file name="qrtools.php" hash="27aea0ee5d1395d80ef4b9ce7d08fa40"/></dir></dir></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.0.0</min><max>5.6.0</max></php></required></dependencies>
|
21 |
</package>
|
skin/frontend/base/default/css/mt/giftcard/giftcard.css
CHANGED
@@ -25,7 +25,9 @@
|
|
25 |
.gc .gc-applied-gift-cards {
|
26 |
padding-top: 10px;
|
27 |
}
|
28 |
-
|
|
|
|
|
29 |
/*checkout*/
|
30 |
|
31 |
.sp-methods #checkout-payment-method-gift-card ul.form-list {
|
25 |
.gc .gc-applied-gift-cards {
|
26 |
padding-top: 10px;
|
27 |
}
|
28 |
+
.gc-applied-gift-cards span.price {
|
29 |
+
display: inline-block;
|
30 |
+
}
|
31 |
/*checkout*/
|
32 |
|
33 |
.sp-methods #checkout-payment-method-gift-card ul.form-list {
|
skin/frontend/base/default/js/mt/giftcard/giftcardcheckout.js
CHANGED
@@ -1,112 +1,117 @@
|
|
1 |
-
var GiftCardCheckout = {
|
2 |
-
|
3 |
-
config: {},
|
4 |
-
|
5 |
-
init: function(config)
|
6 |
-
{
|
7 |
-
GiftCardCheckout.config = config;
|
8 |
-
GiftCardCheckout.updateEvents();
|
9 |
-
payment.addAfterInitFunction('giftcard', function(){
|
10 |
-
GiftCardCheckout.initEvents();
|
11 |
-
GiftCardCheckout.updateEvents();
|
12 |
-
GiftCardCheckout.endLoading();
|
13 |
-
});
|
14 |
-
},
|
15 |
-
|
16 |
-
initEvents: function()
|
17 |
-
{
|
18 |
-
jQuery('#p_method_giftcard').click(function(){
|
19 |
-
if (jQuery(this).is(':checked'))
|
20 |
-
jQuery('.gc-form-element').show();
|
21 |
-
else {
|
22 |
-
jQuery('.gc-form-element').hide();
|
23 |
-
GiftCardCheckout.clearGiftCardCode();
|
24 |
-
jQuery('input[name="apply_gift_card[]"]').removeAttr('checked');
|
25 |
-
}
|
26 |
-
});
|
27 |
-
},
|
28 |
-
|
29 |
-
addGiftCardCodeSubmit :function()
|
30 |
-
{
|
31 |
-
GiftCardCheckout.startLoading();
|
32 |
-
var giftCardCode = jQuery('#gift_card_code').val();
|
33 |
-
|
34 |
-
jQuery('#gc-applied-codes-error').hide();
|
35 |
-
jQuery('#gc-please-wait').show();
|
36 |
-
|
37 |
-
var formVisible = 0;
|
38 |
-
if (jQuery('#p_method_giftcard').is(':checked'))
|
39 |
-
formVisible = 1;
|
40 |
-
|
41 |
-
jQuery.post(GiftCardCheckout.config.requestUrl+'addGiftCardCodeAjax', {
|
42 |
-
is_form_visible: formVisible,
|
43 |
-
giftcard_code: giftCardCode
|
44 |
-
}, function(response){
|
45 |
-
var data = jQuery.parseJSON(response);
|
46 |
-
if (data.content != '') {
|
47 |
-
jQuery('#checkout-payment-method-gift-card').html(data.content);
|
48 |
-
}
|
49 |
-
GiftCardCheckout.updateEvents();
|
50 |
-
GiftCardCheckout.endLoading();
|
51 |
-
});
|
52 |
-
},
|
53 |
-
|
54 |
-
addGiftCardCode :function(giftCardCode)
|
55 |
-
{
|
56 |
-
GiftCardCheckout.startLoading();
|
57 |
-
jQuery.post(GiftCardCheckout.config.requestUrl+'addGiftCardCodeAjax', {
|
58 |
-
giftcard_code: giftCardCode
|
59 |
-
}, function(){
|
60 |
-
GiftCardCheckout.endLoading();
|
61 |
-
});
|
62 |
-
},
|
63 |
-
|
64 |
-
removeGiftCardCode :function(giftCardCode)
|
65 |
-
{
|
66 |
-
GiftCardCheckout.startLoading();
|
67 |
-
jQuery.post(GiftCardCheckout.config.requestUrl+'removeGiftCardCodeAjax', {
|
68 |
-
giftcard_code: giftCardCode
|
69 |
-
}, function(){
|
70 |
-
GiftCardCheckout.endLoading();
|
71 |
-
});
|
72 |
-
},
|
73 |
-
|
74 |
-
clearGiftCardCode :function()
|
75 |
-
{
|
76 |
-
GiftCardCheckout.startLoading();
|
77 |
-
jQuery.post(GiftCardCheckout.config.requestUrl+'clearGiftCardCodeAjax', {}, function(){
|
78 |
-
GiftCardCheckout.endLoading();
|
79 |
-
});
|
80 |
-
},
|
81 |
-
|
82 |
-
updateEvents :function()
|
83 |
-
{
|
84 |
-
jQuery('input[name="apply_gift_card[]"]').click(function(){
|
85 |
-
if (jQuery(this).is(':checked')) {
|
86 |
-
GiftCardCheckout.addGiftCardCode(jQuery(this).val());
|
87 |
-
} else {
|
88 |
-
GiftCardCheckout.removeGiftCardCode(jQuery(this).val());
|
89 |
-
}
|
90 |
-
});
|
91 |
-
},
|
92 |
-
|
93 |
-
startLoading :function()
|
94 |
-
{
|
95 |
-
jQuery('#gc-please-wait').show();
|
96 |
-
jQuery('.gc-cart-action button').attr('disabled', 'disabled');
|
97 |
-
jQuery('input[name="apply_gift_card[]"]').attr('disabled', 'disabled');
|
98 |
-
jQuery('#p_method_giftcard').attr('disabled', 'disabled');
|
99 |
-
jQuery('#gift_card_code').attr('disabled', 'disabled');
|
100 |
-
},
|
101 |
-
|
102 |
-
endLoading :function()
|
103 |
-
{
|
104 |
-
jQuery('#gc-please-wait').hide();
|
105 |
-
jQuery('.gc-cart-action button').removeAttr('disabled');
|
106 |
-
jQuery('input[name="apply_gift_card[]"]').removeAttr('disabled');
|
107 |
-
jQuery('#p_method_giftcard').removeAttr('disabled');
|
108 |
-
jQuery('#gift_card_code').removeAttr('disabled');
|
109 |
-
}
|
110 |
-
|
111 |
-
|
|
|
|
|
|
|
|
|
|
|
112 |
jQuery.noConflict();
|
1 |
+
var GiftCardCheckout = {
|
2 |
+
|
3 |
+
config: {},
|
4 |
+
|
5 |
+
init: function(config)
|
6 |
+
{
|
7 |
+
GiftCardCheckout.config = config;
|
8 |
+
GiftCardCheckout.updateEvents();
|
9 |
+
payment.addAfterInitFunction('giftcard', function(){
|
10 |
+
GiftCardCheckout.initEvents();
|
11 |
+
GiftCardCheckout.updateEvents();
|
12 |
+
GiftCardCheckout.endLoading();
|
13 |
+
});
|
14 |
+
},
|
15 |
+
|
16 |
+
initEvents: function()
|
17 |
+
{
|
18 |
+
jQuery('#p_method_giftcard').click(function(){
|
19 |
+
if (jQuery(this).is(':checked'))
|
20 |
+
jQuery('.gc-form-element').show();
|
21 |
+
else {
|
22 |
+
jQuery('.gc-form-element').hide();
|
23 |
+
GiftCardCheckout.clearGiftCardCode();
|
24 |
+
jQuery('input[name="apply_gift_card[]"]').removeAttr('checked');
|
25 |
+
}
|
26 |
+
});
|
27 |
+
},
|
28 |
+
|
29 |
+
addGiftCardCodeSubmit :function()
|
30 |
+
{
|
31 |
+
GiftCardCheckout.startLoading();
|
32 |
+
var giftCardCode = jQuery('#gift_card_code').val();
|
33 |
+
|
34 |
+
jQuery('#gc-applied-codes-error').hide();
|
35 |
+
jQuery('#gc-please-wait').show();
|
36 |
+
|
37 |
+
var formVisible = 0;
|
38 |
+
if (jQuery('#p_method_giftcard').is(':checked'))
|
39 |
+
formVisible = 1;
|
40 |
+
|
41 |
+
jQuery.post(GiftCardCheckout.config.requestUrl+'addGiftCardCodeAjax', {
|
42 |
+
is_form_visible: formVisible,
|
43 |
+
giftcard_code: giftCardCode
|
44 |
+
}, function(response){
|
45 |
+
var data = jQuery.parseJSON(response);
|
46 |
+
if (data.content != '') {
|
47 |
+
jQuery('#checkout-payment-method-gift-card').html(data.content);
|
48 |
+
}
|
49 |
+
GiftCardCheckout.updateEvents();
|
50 |
+
GiftCardCheckout.endLoading();
|
51 |
+
});
|
52 |
+
},
|
53 |
+
|
54 |
+
addGiftCardCode :function(giftCardCode)
|
55 |
+
{
|
56 |
+
GiftCardCheckout.startLoading();
|
57 |
+
jQuery.post(GiftCardCheckout.config.requestUrl+'addGiftCardCodeAjax', {
|
58 |
+
giftcard_code: giftCardCode
|
59 |
+
}, function(){
|
60 |
+
GiftCardCheckout.endLoading();
|
61 |
+
});
|
62 |
+
},
|
63 |
+
|
64 |
+
removeGiftCardCode :function(giftCardCode)
|
65 |
+
{
|
66 |
+
GiftCardCheckout.startLoading();
|
67 |
+
jQuery.post(GiftCardCheckout.config.requestUrl+'removeGiftCardCodeAjax', {
|
68 |
+
giftcard_code: giftCardCode
|
69 |
+
}, function(){
|
70 |
+
GiftCardCheckout.endLoading();
|
71 |
+
});
|
72 |
+
},
|
73 |
+
|
74 |
+
clearGiftCardCode :function()
|
75 |
+
{
|
76 |
+
GiftCardCheckout.startLoading();
|
77 |
+
jQuery.post(GiftCardCheckout.config.requestUrl+'clearGiftCardCodeAjax', {}, function(){
|
78 |
+
GiftCardCheckout.endLoading();
|
79 |
+
});
|
80 |
+
},
|
81 |
+
|
82 |
+
updateEvents :function()
|
83 |
+
{
|
84 |
+
jQuery('input[name="apply_gift_card[]"]').click(function(){
|
85 |
+
if (jQuery(this).is(':checked')) {
|
86 |
+
GiftCardCheckout.addGiftCardCode(jQuery(this).val());
|
87 |
+
} else {
|
88 |
+
GiftCardCheckout.removeGiftCardCode(jQuery(this).val());
|
89 |
+
}
|
90 |
+
});
|
91 |
+
},
|
92 |
+
|
93 |
+
startLoading :function()
|
94 |
+
{
|
95 |
+
jQuery('#gc-please-wait').show();
|
96 |
+
jQuery('.gc-cart-action button').attr('disabled', 'disabled');
|
97 |
+
jQuery('input[name="apply_gift_card[]"]').attr('disabled', 'disabled');
|
98 |
+
jQuery('#p_method_giftcard').attr('disabled', 'disabled');
|
99 |
+
jQuery('#gift_card_code').attr('disabled', 'disabled');
|
100 |
+
},
|
101 |
+
|
102 |
+
endLoading :function()
|
103 |
+
{
|
104 |
+
jQuery('#gc-please-wait').hide();
|
105 |
+
jQuery('.gc-cart-action button').removeAttr('disabled');
|
106 |
+
jQuery('input[name="apply_gift_card[]"]').removeAttr('disabled');
|
107 |
+
jQuery('#p_method_giftcard').removeAttr('disabled');
|
108 |
+
jQuery('#gift_card_code').removeAttr('disabled');
|
109 |
+
},
|
110 |
+
|
111 |
+
hidePaymentMethod: function()
|
112 |
+
{
|
113 |
+
jQuery('#p_method_giftcard').parent().remove();
|
114 |
+
}
|
115 |
+
};
|
116 |
+
|
117 |
jQuery.noConflict();
|