S3ibusiness_Giftpromo - Version 1.0.0

Version Notes

* Fix: gift doesn't display in Action dropdown for some shops
* Fix: gift not applied to shopping cart in any case
* Source code improvement

Download this release

Release Info

Developer Ahmed MAHI
Extension S3ibusiness_Giftpromo
Version 1.0.0
Comparing to
See all releases


Code changes from version 0.1.5 to 1.0.0

app/code/community/S3ibusiness/Giftpromo/Helper/Data.php CHANGED
@@ -9,4 +9,104 @@
9
  class S3ibusiness_Giftpromo_Helper_Data extends Mage_Core_Helper_Abstract
10
  {
11
 
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  class S3ibusiness_Giftpromo_Helper_Data extends Mage_Core_Helper_Abstract
10
  {
11
 
12
+ public function addGiftToCart($gift)
13
+ {
14
+ $cart = $this->getCart();
15
+
16
+ try {
17
+ if ($giftProduct = $this->getProduct($gift->getProductId())) {
18
+ $cart->addProduct(
19
+ $giftProduct,
20
+ array(
21
+ 'qty' => 1,
22
+ )
23
+ );
24
+ }
25
+ } catch (Exception $e) {
26
+
27
+ $this->AddCartNotice('Giftpromo: ( gift Id:' . $gift->getId() . ' ) ' . $e->getMessage());
28
+ }
29
+
30
+ }
31
+ public function addAllGift()
32
+ {
33
+ $validateGifts = $this->getCartValidateGifts();
34
+ $quote = '';
35
+ foreach ($validateGifts as $giftId) {
36
+ $gift = Mage::getModel('giftpromo/giftpromo')->load($giftId);
37
+ $quote = $this->addGiftToCart($gift);
38
+ }
39
+ try {
40
+ if (is_object($quote)) {
41
+ $quote->save();
42
+ }
43
+ } catch (Exception $e) {
44
+
45
+ $this->AddCartNotice('Giftpromo: ' . $e->getMessage());
46
+ }
47
+ }
48
+
49
+ public function getCartValidateGiftsProductsIds()
50
+ {
51
+ $validateGifts = $this->getCartValidateGifts();
52
+ $productsIds = array();
53
+ foreach ($validateGifts as $giftId) {
54
+ $gift = Mage::getModel('giftpromo/giftpromo')->load($giftId);
55
+ $productsIds[] = $gift->getProductId();
56
+ }
57
+ return $productsIds;
58
+ }
59
+ public function isInCartValidateGift($giftId)
60
+ {
61
+ $validateGifts = $this->getCartValidateGifts();
62
+ if (in_array($giftId, $validateGifts)) {
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+ public function getProduct($productId)
68
+ {
69
+ if ($productId) {
70
+ $product = Mage::getModel('catalog/product')
71
+ ->load($productId);
72
+ if ($product->getId()) {
73
+ return $product;
74
+ }
75
+ }
76
+ return false;
77
+ }
78
+ public function AddCartNotice($message)
79
+ {
80
+ if (Mage::getSingleton('checkout/session')->getUseNotice(true)) {
81
+ Mage::getSingleton('checkout/session')->addNotice($message);
82
+ } else {
83
+ Mage::getSingleton('checkout/session')->addError($message);
84
+ }
85
+ }
86
+
87
+ public function getCartValidateGifts()
88
+ {
89
+ return Mage::getSingleton('giftpromo/session')
90
+ ->getCartValidateGifts();
91
+ }
92
+ public function setCartValidateGifts($newCartValidateGifts)
93
+ {
94
+ Mage::getSingleton('giftpromo/session')
95
+ ->setCartValidateGifts($newCartValidateGifts);
96
+ }
97
+ public function deleteOldValidatesGifts()
98
+ {
99
+ Mage::getSingleton('giftpromo/session')
100
+ ->clear();
101
+
102
+ }
103
+ public function getCart()
104
+ {
105
+ return Mage::getModel('checkout/cart');
106
+ }
107
+ public function getQuote()
108
+ {
109
+ return $this->getCart()->getQuote();
110
+ }
111
+
112
+ }
app/code/community/S3ibusiness/Giftpromo/Model/Observer.php CHANGED
@@ -10,116 +10,96 @@ class S3ibusiness_Giftpromo_Model_Observer
10
  {
11
  private $_giftsCollection;
12
 
13
- public function __construct() {
14
- if(Mage::getStoreConfig('giftpromo/settings/enabled')) {
 
15
  $this->_giftsCollection = Mage::getModel('giftpromo/giftpromo')->getCollection();
16
  }
17
  }
18
- public function deleteDiscountTitle($observer) {
 
19
  $block = $observer->getEvent()->getBlock();
20
- if($block instanceof Mage_Tax_Block_Checkout_Discount){
21
- $blockTitle=explode(',',str_replace(')','',str_replace(' (', ',', $block->getTotal()->getTitle())));
22
- $title=$blockTitle[0];
23
  unset($blockTitle[0]);
24
- foreach (explode(',',$block->getQuote()->getAppliedRuleIds()) as $appliedRuleId) {
25
- $rule=Mage::getModel('salesrule/rule')->load($appliedRuleId);
26
- foreach ($this->_giftsCollection as $gift){
27
- if($rule->getSimpleAction()=='gift_product_'.$gift->getGiftId()) {
28
- $store_labels=$rule->getStoreLabels();
29
- $blockTitle=array_diff(array_diff(array_diff($blockTitle,array($rule->getName())),array($store_labels[0])),array($store_labels[1]));
30
  }
31
  }
32
  }
33
- $block->getTotal()->setTitle( $title.' ('.implode(",",$blockTitle).')');
34
  }
35
  }
36
- public function addSimpleAction($observer) {
37
- if(Mage::getStoreConfig('giftpromo/settings/enabled')) {
38
- $options=array(
39
- 'by_percent' => Mage::helper('salesrule')->__('Percent of product price discount'),
40
- 'by_fixed' => Mage::helper('salesrule')->__('Fixed amount discount'),
41
- 'cart_fixed' => Mage::helper('salesrule')->__('Fixed amount discount for whole cart'),
42
- 'buy_x_get_y' => Mage::helper('salesrule')->__('Buy X get Y free (discount amount is Y)'),
43
- );
44
- foreach ($this->_giftsCollection as $gift){
45
- if($gift->getProductId()&&$product=$this->getProduct($gift->getProductId())){
46
- $options['gift_product_'.$gift->getGiftId()] = Mage::helper('giftpromo')->__("Gift : '%s'",$gift->getGiftName()/*$product->getName()*/);
47
  }
48
  }
49
- $form = $observer->getForm();
50
- $fieldset=$form->getElement('action_fieldset');
51
  $fieldset->removeField('simple_action');
52
  $fieldset->addField('simple_action', 'select', array(
53
- 'label' => Mage::helper('salesrule')->__('Apply'),
54
- 'name' => 'simple_action',
55
- 'options' => $options,
56
- ),'^');
57
  }
58
  }
59
- public function addGiftCart($giftId){
60
- $gift=Mage::getModel('giftpromo/giftpromo')->load($giftId);
61
- $this->removeGifts($gift);
62
- if($gift->getStatus()==1&&($product=$this->getProduct($gift->getProductId()))&&$product->getIsInStock()){
63
- $cart=Mage::getSingleton('checkout/cart');
64
- $cart->addProduct($product,-1);
65
- $cart->init();
66
- $cart->save();
67
 
68
- }
69
- }
70
- public function addGifts($observer) {
71
- if(Mage::getStoreConfig('giftpromo/settings/enabled')) {
72
- $Controller = $observer->getControllerAction();
73
- if ($Controller instanceof Mage_Checkout_CartController) {
74
- $actionName = $Controller->getFullActionName();
75
- $cart=Mage::getSingleton('checkout/cart');
76
- $quote=$cart->getQuote();
77
- $actions=array('add','addgroup','updatePost','delete','couponPost','estimateUpdatePost');
78
- foreach ($actions as $action) {
79
- if($actionName=='checkout_cart_'.$action){
80
- $appliedRuleIds=$quote->getAppliedRuleIds();
81
- $giftIds=array();
82
- foreach (explode(',',$appliedRuleIds) as $appliedRuleId) {
83
- $simpleAction=$rule = Mage::getModel('salesrule/rule')
84
- ->load($appliedRuleId)->getSimpleAction();
85
- if (!(stripos($simpleAction, 'gift_product_')===false)){
86
- list($g, $p, $giftId) = explode('_',$simpleAction);
87
- $this->addGiftCart($giftId);
88
- $giftIds[]=$giftId;
89
- }
90
- }
91
- $this->removeGifts(false,$giftIds);
92
- }
93
- }
94
  }
95
  }
 
96
  }
97
- public function removeGifts($giftToDelet,$giftsToLet=false) {
98
 
99
- foreach (Mage::getSingleton('checkout/session')->getQuote()->getAllItems() as $item) {
100
- if($giftToDelet&&$item->getProductId() == $giftToDelet->getProductId()) {
101
- Mage::getSingleton('checkout/cart')->removeItem($item->getId())->save();
102
- break;
103
- }
104
- elseif(is_array($giftsToLet)){
105
- foreach ($this->_giftsCollection as $gift){
106
- if($item->getProductId() == $gift->getProductId()&&(!in_array( $gift->getId(), $giftsToLet))) {
107
- Mage::getSingleton('checkout/cart')->removeItem($item->getId())->save();
108
- }
109
- }
110
- }
111
- }
112
  }
113
 
114
- public function getProduct($productId) {
115
- if ($productId) {
116
- $product = Mage::getModel('catalog/product')
117
- ->load($productId);
118
- if ($product->getId()) {
119
- return $product;
120
- }
 
 
 
 
 
 
 
 
 
 
121
  }
122
- return false;
 
 
 
 
 
 
 
 
123
  }
124
 
125
- }
10
  {
11
  private $_giftsCollection;
12
 
13
+ public function __construct()
14
+ {
15
+ if (Mage::getStoreConfig('giftpromo/settings/enabled')) {
16
  $this->_giftsCollection = Mage::getModel('giftpromo/giftpromo')->getCollection();
17
  }
18
  }
19
+ public function deleteDiscountTitle($observer)
20
+ {
21
  $block = $observer->getEvent()->getBlock();
22
+ if ($block instanceof Mage_Tax_Block_Checkout_Discount) {
23
+ $blockTitle = explode(',', str_replace(')', '', str_replace(' (', ',', $block->getTotal()->getTitle())));
24
+ $title = $blockTitle[0];
25
  unset($blockTitle[0]);
26
+ foreach (explode(',', $block->getQuote()->getAppliedRuleIds()) as $appliedRuleId) {
27
+ $rule = Mage::getModel('salesrule/rule')->load($appliedRuleId);
28
+ foreach ($this->_giftsCollection as $gift) {
29
+ if ($rule->getSimpleAction() == 'gift_product_' . $gift->getGiftId()) {
30
+ $store_labels = $rule->getStoreLabels();
31
+ $blockTitle = array_diff(array_diff(array_diff($blockTitle, array($rule->getName())), ray($store_labels[0])), array($store_labels[1]));
32
  }
33
  }
34
  }
35
+ $block->getTotal()->setTitle($title . ' (' . implode(",", $blockTitle) . ')');
36
  }
37
  }
38
+ public function addSimpleAction($observer)
39
+ {
40
+ if (Mage::getStoreConfig('giftpromo/settings/enabled')) {
41
+ $options = array();
42
+ $fieldset = $observer->getForm()->getElement('action_fieldset');
43
+ $simple_action = $observer->getForm()->getElement('simple_action');
44
+ $options = $simple_action->getOptions();
45
+ foreach ($this->_giftsCollection as $gift) {
46
+ if ($gift->getProductId() && $product = $this->getProduct($gift->getProductId())) {
47
+ $options['gift_product_' . $gift->getGiftId()] = Mage::helper('giftpromo')->__("Gift : '%s'", $gift->getGiftName());
 
48
  }
49
  }
 
 
50
  $fieldset->removeField('simple_action');
51
  $fieldset->addField('simple_action', 'select', array(
52
+ 'label' => Mage::helper('salesrule')->__('Apply'),
53
+ 'name' => 'simple_action',
54
+ 'options' => $options,
55
+ ), '^');
56
  }
57
  }
 
 
 
 
 
 
 
 
58
 
59
+ public function beforeCollectTotals($observer)
60
+ {
61
+ $productsGiftsIds = $this->getHelper()->getCartValidateGiftsProductsIds();
62
+ $quote = $this->getHelper()->getQuote();
63
+ foreach ($observer->getEvent()->getQuote()->getAllItems() as $item) {
64
+ if (in_array($item->getProductId(), $productsGiftsIds)) {
65
+ $quote->removeItem($item->getId());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  }
67
  }
68
+ $this->getHelper()->deleteOldValidatesGifts();
69
  }
 
70
 
71
+ public function afterCollectTotals($observer)
72
+ {
73
+ $this->getHelper()->addAllGift();
 
 
 
 
 
 
 
 
 
 
74
  }
75
 
76
+ public function addGifts($observer)
77
+ {
78
+ $rule = $observer->getRule();
79
+ $address = $observer->getAddress();
80
+ $simpleAction = $rule->getSimpleAction();
81
+ if (!(stripos($simpleAction, 'gift_product_') === false)) {
82
+ list($g, $p, $giftId) = explode('_', $simpleAction);
83
+ $this->addGiftToValidateGifts($giftId);
84
+ }
85
+
86
+ }
87
+ public function addGiftToValidateGifts($giftId)
88
+ {
89
+ if (!$this->getHelper()->isInCartValidateGift($giftId)) {
90
+ $cartValidateGifts = $this->getHelper()->getCartValidateGifts();
91
+ $cartValidateGifts[] = $giftId;
92
+ $this->getHelper()->setCartValidateGifts($cartValidateGifts);
93
  }
94
+ }
95
+ public function getProduct($productId)
96
+ {
97
+ return $this->getHelper()->getProduct($productId);
98
+ }
99
+
100
+ private function getHelper()
101
+ {
102
+ return Mage::helper('giftpromo');
103
  }
104
 
105
+ }
app/code/community/S3ibusiness/Giftpromo/Model/Session.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category S3ibusiness
4
+ * @package S3ibusiness_Giftpromo
5
+ * @copyright Copyright (c) 2017 S3i Business sarl au. (http://www.s3ibusiness.com)
6
+ * @author Ahmed Mahi <1hmedmahi@gmail.com>
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
8
+ */
9
+ class S3ibusiness_Giftpromo_Model_Session extends Mage_Core_Model_Session_Abstract
10
+ {
11
+
12
+ public function __construct()
13
+ {
14
+ $this->init('giftpromo');
15
+ if (!is_array($this->getCartValidateGifts())) {
16
+ $this->setCartValidateGifts(array());
17
+ }
18
+ }
19
+
20
+ public function clear()
21
+ {
22
+ $this->setCartValidateGifts(array());
23
+ }
24
+ }
app/code/community/S3ibusiness/Giftpromo/etc/config.xml CHANGED
@@ -11,7 +11,7 @@
11
  <config>
12
  <modules>
13
  <S3ibusiness_Giftpromo>
14
- <version>0.1.5</version>
15
  </S3ibusiness_Giftpromo>
16
  </modules>
17
  <admin>
@@ -85,15 +85,6 @@
85
  </s3ibusiness_giftpromo_simple_action>
86
  </observers>
87
  </core_block_abstract_to_html_before>
88
- <controller_action_postdispatch>
89
- <observers>
90
- <s3ibusiness_giftpromo_addgift>
91
- <type>singleton</type>
92
- <class>giftpromo/observer</class>
93
- <method>addGifts</method>
94
- </s3ibusiness_giftpromo_addgift>
95
- </observers>
96
- </controller_action_postdispatch>
97
  <adminhtml_block_salesrule_actions_prepareform>
98
  <observers>
99
  <s3ibusiness_giftpromo_simple_action>
@@ -103,6 +94,34 @@
103
  </s3ibusiness_giftpromo_simple_action>
104
  </observers>
105
  </adminhtml_block_salesrule_actions_prepareform>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  </events>
107
  <models>
108
  <giftpromo>
11
  <config>
12
  <modules>
13
  <S3ibusiness_Giftpromo>
14
+ <version>1.0.0</version>
15
  </S3ibusiness_Giftpromo>
16
  </modules>
17
  <admin>
85
  </s3ibusiness_giftpromo_simple_action>
86
  </observers>
87
  </core_block_abstract_to_html_before>
 
 
 
 
 
 
 
 
 
88
  <adminhtml_block_salesrule_actions_prepareform>
89
  <observers>
90
  <s3ibusiness_giftpromo_simple_action>
94
  </s3ibusiness_giftpromo_simple_action>
95
  </observers>
96
  </adminhtml_block_salesrule_actions_prepareform>
97
+ <salesrule_validator_process>
98
+ <observers>
99
+ <s3ibusiness_giftpromo_validator_process>
100
+ <type>singleton</type>
101
+ <class>giftpromo/observer</class>
102
+ <method>addGifts</method>
103
+ </s3ibusiness_giftpromo_validator_process>
104
+ </observers>
105
+ </salesrule_validator_process>
106
+ <sales_quote_collect_totals_before>
107
+ <observers>
108
+ <s3ibusiness_giftpromo_collect_totals_before>
109
+ <type>singleton</type>
110
+ <class>giftpromo/observer</class>
111
+ <method>beforeCollectTotals</method>
112
+ </s3ibusiness_giftpromo_collect_totals_before>
113
+ </observers>
114
+ </sales_quote_collect_totals_before>
115
+ <sales_quote_collect_totals_after>
116
+ <observers>
117
+ <s3ibusiness_giftpromo_collect_totals_after>
118
+ <type>singleton</type>
119
+ <class>giftpromo/observer</class>
120
+ <method>afterCollectTotals</method>
121
+ </s3ibusiness_giftpromo_collect_totals_after>
122
+ </observers>
123
+ </sales_quote_collect_totals_after>
124
+
125
  </events>
126
  <models>
127
  <giftpromo>
package.xml CHANGED
@@ -1,22 +1,36 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>S3ibusiness_Giftpromo</name>
4
- <version>0.1.5</version>
5
  <stability>stable</stability>
6
- <license uri="http://www.opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Associate free gift and Shopping Cart Price Rules</summary>
10
- <description>Associ&#xE9; un produit cadeau a une r&#xE8;gle de prix panier (r&#xE8;gles de cadeaux)
11
-
12
- Possibilit&#xE9; d'ajout&#xE9;s plusieurs r&#xE8;gles de cadeaux
13
-
14
- Possibilit&#xE9; d'ajout&#xE9;s plus d'un produit si r&#xE8;gles est atteints</description>
15
- <notes>If you have ideas for improvements or find bugs, please send them to Ahmed MAHI at www.s3ibusiness.com, 1hmedmahi@gmail.com</notes>
16
- <authors><author><name>Ahmed MAHI</name><user>auto-converted</user><email>1hmedmahi@gmail.com</email></author><author><name>Ahmed MAHI</name><user>auto-converted</user><email>1hmedmahi@gmail.com</email></author></authors>
17
- <date>2011-04-28</date>
18
- <time>17:18:49</time>
19
- <contents><target name="magelocale"><dir name="en_US"><file name="S3ibusiness_Giftpromo.csv" hash="8b2227ebf5d4f477df01a7fb9382c7a4"/></dir><dir name="fr_FR"><file name="S3ibusiness_Giftpromo.csv" hash="c63f82685d01f7ec1193891c42d31861"/></dir></target><target name="mageetc"><dir name="modules"><file name="S3ibusiness_Giftpromo.xml" hash="2e67049078771379bd67cb0325100d2b"/></dir></target><target name="magecommunity"><dir name="S3ibusiness"><dir name="Giftpromo"><dir name="Block"><dir name="Adminhtml"><dir name="Giftpromo"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="355403013e352fad92f2723c867c27d9"/></dir><file name="Form.php" hash="b348b241d992af0c06f0536162c69381"/><file name="Tabs.php" hash="aef8e6202c1973243650fc23ce852c51"/></dir><file name="Edit.php" hash="7b108405543311a7546147fe39d781af"/><file name="Grid.php" hash="b9c38c1132ffb84c9f4168d8f3ae3da0"/></dir><file name="Giftpromo.php" hash="4e8d8c896d7f6fb6461ad8b3531f137d"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="64a97ab794e4015c8e540ce4eb412501"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ccd1d34fb079580633f4d64287faaeb1"/><file name="config.xml" hash="51a1841a56d998c4b951234ba276f781"/><file name="system.xml" hash="8cb8e63e9487db02eacbd66f6ca45667"/></dir><dir name="Helper"><file name="Data.php" hash="a6ca9646081104d93c77c93bac28d05e"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Giftpromo"><file name="Collection.php" hash="3ad4dae15dbdf93e4f8022f0bc7a3b96"/></dir><file name="Giftpromo.php" hash="3ec4a445cf54e8ccca0d8a66a1c68cf6"/></dir><file name="Giftpromo.php" hash="4c5e2e02a4fb615ab307549474cf4bfa"/><file name="Observer.php" hash="16041dfbc0df4fc10577d450715afbd1"/><file name="Status.php" hash="4ea52a3dee8ef4c17aa3fd737de81c46"/></dir><dir name="sql"><dir name="giftpromo_setup"><file name="mysql4-install-0.1.0.php" hash="8a09c06b43da6c65664c85b1740a2dcb"/></dir></dir></dir></dir></target></contents>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  <compatible/>
21
- <dependencies/>
22
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>S3ibusiness_Giftpromo</name>
4
+ <version>1.0.0</version>
5
  <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Associate free gift and shopping cart price rules for &#xD;
10
+ a particular product </summary>
11
+ <description>&lt;p&gt;Business Gift Promo Magento Extension &#xD;
12
+ can set Associate gift and price rules for &#xD;
13
+ a particular product in the web store. &#xD;
14
+ &lt;p /&gt;So, when user purchasing any product, &#xD;
15
+ then he gets a particular product as a &#xD;
16
+ gift from the store.&#xD;
17
+ &lt;p /&gt; So, Visitor of the &#xD;
18
+ store and sales are increasing &#xD;
19
+ dramatically. &#xD;
20
+ &#xD;
21
+ &lt;h1&gt;-------------------------------------------------------------&lt;/h1&gt;&#xD;
22
+ &lt;div&gt;&#xD;
23
+ &lt;p /&gt;Associ&#xE9; un &#xA0;produit cadeau a une r&#xE8;gle de prix panier (r&#xE8;gles de cadeaux)&lt;/p&gt;&#xD;
24
+ &lt;p&gt;Possibilit&#xE9; d'ajout&#xE9;s plusieurs r&#xE8;gles de cadeaux&lt;/p&gt;&#xD;
25
+ &lt;p&gt;Possibilit&#xE9; d'ajout&#xE9;s plus d'un produit si r&#xE8;gles est atteints&lt;/p&gt;&#xD;
26
+ &lt;/div&gt;</description>
27
+ <notes>* Fix: gift doesn't display in Action dropdown for some shops&#xD;
28
+ * Fix: gift not applied to shopping cart in any case&#xD;
29
+ * Source code improvement</notes>
30
+ <authors><author><name>Ahmed MAHI</name><user>MAG000175527</user><email>1hmedmahi@gmail.com</email></author></authors>
31
+ <date>2017-02-13</date>
32
+ <time>09:12:53</time>
33
+ <contents><target name="magecommunity"><dir name="S3ibusiness"><dir name="Giftpromo"><dir name="Block"><dir name="Adminhtml"><dir name="Giftpromo"><dir name="Edit"><file name="Form.php" hash="b348b241d992af0c06f0536162c69381"/><dir name="Tab"><file name="Form.php" hash="355403013e352fad92f2723c867c27d9"/></dir><file name="Tabs.php" hash="aef8e6202c1973243650fc23ce852c51"/></dir><file name="Edit.php" hash="7b108405543311a7546147fe39d781af"/><file name="Grid.php" hash="b9c38c1132ffb84c9f4168d8f3ae3da0"/></dir><file name="Giftpromo.php" hash="4e8d8c896d7f6fb6461ad8b3531f137d"/></dir></dir><dir name="Helper"><file name="Data.php" hash="d34afdd870610dbc7ccdd69189396c0e"/></dir><dir name="Model"><file name="Giftpromo.php" hash="4c5e2e02a4fb615ab307549474cf4bfa"/><dir name="Mysql4"><dir name="Giftpromo"><file name="Collection.php" hash="3ad4dae15dbdf93e4f8022f0bc7a3b96"/></dir><file name="Giftpromo.php" hash="3ec4a445cf54e8ccca0d8a66a1c68cf6"/></dir><file name="Observer.php" hash="9438dac73d4b9b78d7aa49d910629753"/><file name="Session.php" hash="940ae329478ca2922f073e3cda473427"/><file name="Status.php" hash="4ea52a3dee8ef4c17aa3fd737de81c46"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="64a97ab794e4015c8e540ce4eb412501"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ccd1d34fb079580633f4d64287faaeb1"/><file name="config.xml" hash="958b409d087d4add99bff8944a2cec92"/><file name="system.xml" hash="8cb8e63e9487db02eacbd66f6ca45667"/></dir><dir name="sql"><dir name="giftpromo_setup"><file name="mysql4-install-0.1.0.php" hash="8a09c06b43da6c65664c85b1740a2dcb"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="S3ibusiness_Giftpromo.xml" hash="2e67049078771379bd67cb0325100d2b"/></dir></target><target name="magelocale"><dir name="en_US"><file name="S3ibusiness_Giftpromo.csv" hash="8b2227ebf5d4f477df01a7fb9382c7a4"/></dir><dir name="fr_FR"><file name="S3ibusiness_Giftpromo.csv" hash="c63f82685d01f7ec1193891c42d31861"/></dir></target></contents>
34
  <compatible/>
35
+ <dependencies><required><php><min>5.0.0</min><max>7.0.0</max></php></required></dependencies>
36
  </package>