Sitewards_B2BProfessional - Version 3.0.4

Version Notes

Updated availability information and add-to-cart functionality

Download this release

Release Info

Developer Sitewards Magento Team
Extension Sitewards_B2BProfessional
Version 3.0.4
Comparing to
See all releases


Code changes from version 3.0.2 to 3.0.4

app/code/community/Sitewards/B2BProfessional/Block/Catalog/Product/List.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Sitewards_B2BProfessional_Block_Catalog_Product_List
5
+ * - List block which checks if the products can be ordered and if not
6
+ * replaces the add-to-cart button with the view-details button
7
+ *
8
+ * @category Sitewards
9
+ * @package Sitewards_B2BProfessional
10
+ * @copyright Copyright (c) 2014 Sitewards GmbH (http://www.sitewards.com/)
11
+ */
12
+ class Sitewards_B2BProfessional_Block_Catalog_Product_List extends Mage_Catalog_Block_Product_List
13
+ {
14
+ /**
15
+ * Fires a custom event we can catch in the observer and process
16
+ * the products where the add-to-cart-button should be hidden
17
+ *
18
+ * @return Mage_Eav_Model_Entity_Collection_Abstract
19
+ */
20
+ public function getLoadedProductCollection()
21
+ {
22
+ $oProductCollection = parent::getLoadedProductCollection();
23
+
24
+ Mage::dispatchEvent(
25
+ 'sitewards_b2bprofessional_product_list_collection_load_after',
26
+ array(
27
+ 'product_collection' => $oProductCollection
28
+ )
29
+ );
30
+
31
+ return $oProductCollection;
32
+ }
33
+ }
app/code/community/Sitewards/B2BProfessional/Docs/Sitewards B2B Professional_Deutsch V4.pdf DELETED
Binary file
app/code/community/Sitewards/B2BProfessional/Docs/Sitewards B2B Professional_ENG_V4.pdf DELETED
Binary file
app/code/community/Sitewards/B2BProfessional/Docs/Sitewards_B2B_Professional_DE.pdf ADDED
Binary file
app/code/community/Sitewards/B2BProfessional/Docs/Sitewards_B2B_Professional_EN.pdf ADDED
Binary file
app/code/community/Sitewards/B2BProfessional/Helper/Data.php CHANGED
@@ -51,6 +51,15 @@ class Sitewards_B2BProfessional_Helper_Data extends Sitewards_B2BProfessional_He
51
  */
52
  protected $aPriceBlockClassNames;
53
 
 
 
 
 
 
 
 
 
 
54
  /**
55
  * Check to see if the extension is active
56
  *
@@ -103,6 +112,35 @@ class Sitewards_B2BProfessional_Helper_Data extends Sitewards_B2BProfessional_He
103
  return in_array(get_class($oBlock), $aPriceBlockClassNames);
104
  }
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  /**
107
  * Check to see if the given product is active
108
  * - In this case active means product behaves as normal in a magento shop
@@ -205,4 +243,14 @@ class Sitewards_B2BProfessional_Helper_Data extends Sitewards_B2BProfessional_He
205
  }
206
  return $this->aPriceBlockClassNames;
207
  }
 
 
 
 
 
 
 
 
 
 
208
  }
51
  */
52
  protected $aPriceBlockClassNames;
53
 
54
+ /**
55
+ * Variable for the add-to-cart blocks' layout names
56
+ *
57
+ * @var string[]
58
+ */
59
+ protected $aAddToCartBlockLayoutNames = array(
60
+ 'product.info.addtocart'
61
+ );
62
+
63
  /**
64
  * Check to see if the extension is active
65
  *
112
  return in_array(get_class($oBlock), $aPriceBlockClassNames);
113
  }
114
 
115
+ /**
116
+ * Check to see if the block is an add-to-cart block
117
+ *
118
+ * @param Mage_Core_Block_Template $oBlock
119
+ * @return bool
120
+ */
121
+ public function isBlockAddToCartBlock($oBlock)
122
+ {
123
+ $aAddToCartBlockClassNames = $this->getAddToCartBlockLayoutNames();
124
+ return in_array($oBlock->getNameInLayout(), $aAddToCartBlockClassNames);
125
+ }
126
+
127
+ /**
128
+ * Check to see if it's the add-to-cart block should be hidden
129
+ *
130
+ * @param Mage_Core_Block_Template $oBlock
131
+ * @return bool
132
+ */
133
+ public function isAddToCartBlockAndHidden($oBlock)
134
+ {
135
+ if ($this->isBlockAddToCartBlock($oBlock)) {
136
+ $oProduct = $oBlock->getProduct();
137
+ if ($this->isProductActive($oProduct) === false) {
138
+ return true;
139
+ }
140
+ }
141
+ return false;
142
+ }
143
+
144
  /**
145
  * Check to see if the given product is active
146
  * - In this case active means product behaves as normal in a magento shop
243
  }
244
  return $this->aPriceBlockClassNames;
245
  }
246
+
247
+ /**
248
+ * Get the add-to-cart blocks' layout names
249
+ *
250
+ * @return string[]
251
+ */
252
+ protected function getAddToCartBlockLayoutNames()
253
+ {
254
+ return $this->aAddToCartBlockLayoutNames;
255
+ }
256
  }
app/code/community/Sitewards/B2BProfessional/Helper/Redirects.php CHANGED
@@ -46,12 +46,14 @@ class Sitewards_B2BProfessional_Helper_Redirects extends Sitewards_B2BProfession
46
  */
47
  protected function isRedirectRequired($oControllerAction)
48
  {
49
- $bIsCmsController = $this->isCmsController($oControllerAction);
50
- $bIsFrontController = $this->isFrontController($oControllerAction);
51
- $bIsApiController = $this->isApiController($oControllerAction);
52
- $bIsCustomerController = $this->isCustomerController($oControllerAction);
 
53
 
54
- return !$bIsCmsController && $bIsFrontController && !$bIsCustomerController && !$bIsApiController;
 
55
  }
56
 
57
  /**
@@ -99,6 +101,17 @@ class Sitewards_B2BProfessional_Helper_Redirects extends Sitewards_B2BProfession
99
  || $oControllerAction instanceof Mage_Cms_PageController;
100
  }
101
 
 
 
 
 
 
 
 
 
 
 
 
102
  /**
103
  * Set-up the redirect to the customer login page
104
  *
46
  */
47
  protected function isRedirectRequired($oControllerAction)
48
  {
49
+ $bIsCmsController = $this->isCmsController($oControllerAction);
50
+ $bIsFrontController = $this->isFrontController($oControllerAction);
51
+ $bIsApiController = $this->isApiController($oControllerAction);
52
+ $bIsCustomerController = $this->isCustomerController($oControllerAction);
53
+ $bIsXmlConnectController = $this->isXmlConnectController($oControllerAction);
54
 
55
+ return !$bIsCmsController && $bIsFrontController && !$bIsCustomerController
56
+ && !$bIsApiController && !$bIsXmlConnectController;
57
  }
58
 
59
  /**
101
  || $oControllerAction instanceof Mage_Cms_PageController;
102
  }
103
 
104
+ /**
105
+ * Check to see if the controller is an xml-connect controller
106
+ *
107
+ * @param Mage_Core_Controller_Front_Action $oControllerAction
108
+ * @return bool
109
+ */
110
+ protected function isXmlConnectController($oControllerAction)
111
+ {
112
+ return $oControllerAction instanceof Mage_XmlConnect_ConfigurationController;
113
+ }
114
+
115
  /**
116
  * Set-up the redirect to the customer login page
117
  *
app/code/community/Sitewards/B2BProfessional/Model/Observer.php CHANGED
@@ -46,33 +46,6 @@ class Sitewards_B2BProfessional_Model_Observer
46
  return $this->oB2BHelper->isExtensionActive();
47
  }
48
 
49
- /**
50
- * This will cover the case where the event 'catalog_product_is_salable_after' has not been called yet
51
- * - In the same data provided by magento the "swiss-movement-sports-watch" causes this issue
52
- *
53
- * @param Varien_Event_Observer $oObserver
54
- */
55
- public function catalogProductLoadAfter(Varien_Event_Observer $oObserver)
56
- {
57
- if ($this->isExtensionActive()) {
58
- $this->setSalable($oObserver);
59
- }
60
- }
61
-
62
- /**
63
- * Check to see if a product can be sold to the current logged in user
64
- * - if the flag of salable is already false then we should do nothing
65
- *
66
- * @param Varien_Event_Observer $oObserver
67
- */
68
- public function catalogProductIsSalableAfter(Varien_Event_Observer $oObserver)
69
- {
70
- if ($this->isExtensionActive()) {
71
- $this->setSalable($oObserver);
72
- $this->setSalable($oObserver, 'salable');
73
- }
74
- }
75
-
76
  /**
77
  * Check to see if the product being added to the cart can be bought
78
  *
@@ -107,6 +80,13 @@ class Sitewards_B2BProfessional_Model_Observer
107
  if ($this->isExactlyPriceBlock($oBlock)) {
108
  $this->transformPriceBlock($oBlock, $oTransport);
109
  }
 
 
 
 
 
 
 
110
  }
111
  }
112
 
@@ -170,6 +150,24 @@ class Sitewards_B2BProfessional_Model_Observer
170
  }
171
  }
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  /**
174
  * checks if the block represents a price block
175
  *
@@ -181,6 +179,17 @@ class Sitewards_B2BProfessional_Model_Observer
181
  return $oBlock && $this->oB2BHelper->isBlockPriceBlock($oBlock);
182
  }
183
 
 
 
 
 
 
 
 
 
 
 
 
184
  /**
185
  * From a block get all the category filters when set
186
  *
@@ -299,19 +308,4 @@ class Sitewards_B2BProfessional_Model_Observer
299
  {
300
  return $oObserver->getProduct();
301
  }
302
-
303
- /**
304
- * Set the salable data on a given object
305
- *
306
- * @param Varien_Event_Observer $oObserver
307
- * @param string $sObjectName
308
- */
309
- protected function setSalable(Varien_Event_Observer $oObserver, $sObjectName = 'product')
310
- {
311
- $oProduct = $this->getEventsProduct($oObserver);
312
- $oObject = $oObserver->getData($sObjectName);
313
- if ($oObject !== null && $oObject->getIsSalable() == true) {
314
- $oObject->setIsSalable($this->oB2BHelper->isProductActive($oProduct));
315
- }
316
- }
317
  }
46
  return $this->oB2BHelper->isExtensionActive();
47
  }
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  /**
50
  * Check to see if the product being added to the cart can be bought
51
  *
80
  if ($this->isExactlyPriceBlock($oBlock)) {
81
  $this->transformPriceBlock($oBlock, $oTransport);
82
  }
83
+
84
+ /**
85
+ * Check to see if we should remove the add-to-cart button
86
+ */
87
+ if ($this->isExactlyAddToCartBlock($oBlock)) {
88
+ $oTransport->setHtml('');
89
+ }
90
  }
91
  }
92
 
150
  }
151
  }
152
 
153
+ /**
154
+ * Checks if the product can be added to the cart and if not, adds a dummy required
155
+ * option in order to replace the add-to-cart button's url with the view-details url
156
+ *
157
+ * @param Varien_Event_Observer $oObserver
158
+ */
159
+ public function sitewardsB2bprofessionalProductListCollectionLoadAfter(Varien_Event_Observer $oObserver)
160
+ {
161
+ $oProductCollection = $oObserver->getProductCollection();
162
+ $oDummyOption = Mage::getModel('catalog/product_option');
163
+ foreach ($oProductCollection as $oProduct) {
164
+ if ($this->oB2BHelper->isProductActive($oProduct) === false) {
165
+ $oProduct->setRequiredOptions(array($oDummyOption));
166
+ }
167
+ }
168
+ return $oProductCollection;
169
+ }
170
+
171
  /**
172
  * checks if the block represents a price block
173
  *
179
  return $oBlock && $this->oB2BHelper->isBlockPriceBlock($oBlock);
180
  }
181
 
182
+ /**
183
+ * checks if the block represents an add-to-cart block
184
+ *
185
+ * @param Mage_Core_Block_Abstract $oBlock
186
+ * @return bool
187
+ */
188
+ protected function isExactlyAddToCartBlock($oBlock)
189
+ {
190
+ return $this->oB2BHelper->isAddToCartBlockAndHidden($oBlock);
191
+ }
192
+
193
  /**
194
  * From a block get all the category filters when set
195
  *
308
  {
309
  return $oObserver->getProduct();
310
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  }
app/code/community/Sitewards/B2BProfessional/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Sitewards_B2BProfessional>
5
- <version>3.0.2</version>
6
  </Sitewards_B2BProfessional>
7
  </modules>
8
  <global>
@@ -16,27 +16,16 @@
16
  <class>Sitewards_B2BProfessional_Helper</class>
17
  </sitewards_b2bprofessional>
18
  </helpers>
 
 
 
 
 
 
 
19
  </global>
20
  <frontend>
21
  <events>
22
- <catalog_product_load_after>
23
- <observers>
24
- <sitewards_b2bprofessional>
25
- <type>singleton</type>
26
- <class>sitewards_b2bprofessional/observer</class>
27
- <method>catalogProductLoadAfter</method>
28
- </sitewards_b2bprofessional>
29
- </observers>
30
- </catalog_product_load_after>
31
- <catalog_product_is_salable_after>
32
- <observers>
33
- <sitewards_b2bprofessional>
34
- <type>singleton</type>
35
- <class>sitewards_b2bprofessional/observer</class>
36
- <method>catalogProductIsSalableAfter</method>
37
- </sitewards_b2bprofessional>
38
- </observers>
39
- </catalog_product_is_salable_after>
40
  <catalog_product_type_prepare_full_options>
41
  <observers>
42
  <sitewards_b2bprofessional>
@@ -82,8 +71,37 @@
82
  </sitewards_b2bprofessional>
83
  </observers>
84
  </controller_action_predispatch>
 
 
 
 
 
 
 
 
 
85
  </events>
 
 
 
 
 
 
 
 
 
86
  </frontend>
 
 
 
 
 
 
 
 
 
 
 
87
  <default>
88
  <b2bprofessional>
89
  <generalsettings>
2
  <config>
3
  <modules>
4
  <Sitewards_B2BProfessional>
5
+ <version>3.0.4</version>
6
  </Sitewards_B2BProfessional>
7
  </modules>
8
  <global>
16
  <class>Sitewards_B2BProfessional_Helper</class>
17
  </sitewards_b2bprofessional>
18
  </helpers>
19
+ <blocks>
20
+ <catalog>
21
+ <rewrite>
22
+ <product_list>Sitewards_B2BProfessional_Block_Catalog_Product_List</product_list>
23
+ </rewrite>
24
+ </catalog>
25
+ </blocks>
26
  </global>
27
  <frontend>
28
  <events>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  <catalog_product_type_prepare_full_options>
30
  <observers>
31
  <sitewards_b2bprofessional>
71
  </sitewards_b2bprofessional>
72
  </observers>
73
  </controller_action_predispatch>
74
+ <sitewards_b2bprofessional_product_list_collection_load_after>
75
+ <observers>
76
+ <sitewards_b2bprofessional>
77
+ <type>singleton</type>
78
+ <class>sitewards_b2bprofessional/observer</class>
79
+ <method>sitewardsB2bprofessionalProductListCollectionLoadAfter</method>
80
+ </sitewards_b2bprofessional>
81
+ </observers>
82
+ </sitewards_b2bprofessional_product_list_collection_load_after>
83
  </events>
84
+ <translate>
85
+ <modules>
86
+ <Sitewards_B2BProfessional>
87
+ <files>
88
+ <default>Sitewards_B2BProfessional.csv</default>
89
+ </files>
90
+ </Sitewards_B2BProfessional>
91
+ </modules>
92
+ </translate>
93
  </frontend>
94
+ <adminhtml>
95
+ <translate>
96
+ <modules>
97
+ <Sitewards_B2BProfessional>
98
+ <files>
99
+ <default>Sitewards_B2BProfessional.csv</default>
100
+ </files>
101
+ </Sitewards_B2BProfessional>
102
+ </modules>
103
+ </translate>
104
+ </adminhtml>
105
  <default>
106
  <b2bprofessional>
107
  <generalsettings>
app/locale/it_IT/Sitewards_B2BProfessional.csv ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Your account is not allowed to access this store.","Al tuo account non è concesso accedere a questo Negozio."
2
+ "Please login","Prego connettersi"
3
+ "General settings","Impostazioni Generali"
4
+ "Enable B2B extension","Abilita estensione B2B"
5
+ "Activate by category","Attiva per categoria"
6
+ "Active categories","Categorie attive"
7
+ "Activate by customer group","Attiva per gruppo cliente"
8
+ "Active customer groups","Attiva gruppi clienti"
9
+ "Enable or disable extension. Customer activation behaviour can be configured under <br />""Customer Configuration > Customer activation""","Abilita o disabilita l'estensione. L'attivazione per i gruppi Cliente puo' essere attivata in <br />""Configurazione Cliente > Attivazione Cliente"""
10
+ "Activate customers for all stores. Otherwise they will only see the prices in the store, they have registered for.","Activate customers for all stores. Otherwise they will only see the prices in the store, they have registered for."
11
+ "Activate extension only for categories selected below","Attiva l'estensione solo per le categorie selezionate di seguito"
12
+ "Select categories for which the extension should be active.<br />Hold down Ctrl-key for multiple selection.<br />Be aware, that a product with multiple categories can not be checked out if one of its categories is selected here.","Seleziona le categoria per le quali l'estensione deve essere attiva.<br />Premi il tasto Ctrl per selezioni multiple.<br />Sappi che, un prodotto con categorie multiple non puo' essere deselezionato se una delle sue categorie e presente in questa lista."
13
+ "Activate extension only for customer groups selected below","Attiva l'estensione solo per i gruppi cliente selezionati di seguito"
14
+ "Select customer groups for which the extension should be active.<br />Hold down Ctrl-key for multiple selection.","Select customer groups for which the extension should be active.<br />Hold down Ctrl-key for multiple selection."
15
+ "When activating this extension by customer group the guest user is also included.","Quando questa estensione e' attivata per gruppo cliente gli utenti ospite sono sempre inclusi."
16
+ "Require User Login","Richiede Login Utente"
17
+ "The user is required to login before they can view pages in this shop. <br /> Note: CMS pages are always allowed.","All' utente e' richiesto il login prima di poter vedere le pagine di questo negozio. <br /> Nota: le pagine CMS sono sempre concesse."
18
+ "Redirect User To Page","Ridirigi Utente alla Pagina"
19
+ "Select which page to redirect a user to.","Seleziona a quale pagina ridirigere l'utente."
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Sitewards_B2BProfessional</name>
4
- <version>3.0.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
7
  <channel>community</channel>
@@ -20,11 +20,11 @@ Features of the B2BProfessional Extension:&#xD;
20
  &#xB7; Activation for specific product categories&#xD;
21
  &#xB7; Activation for specific customer groups&#xD;
22
  &#xB7; Optional require login to access store</description>
23
- <notes>Fix compatibility issues with Firegento MageSetup. Issue was with displaying of prices of bundle products when not logged in.</notes>
24
  <authors><author><name>Sitewards Magento Team</name><user>sitewards</user><email>magento@sitewards.com</email></author></authors>
25
- <date>2014-08-27</date>
26
- <time>08:12:39</time>
27
- <contents><target name="magecommunity"><dir name="Sitewards"><dir name="B2BProfessional"><dir name="Docs"><file name="Sitewards B2B Professional_Deutsch V4.pdf" hash="69c5aabb9eba3cb4d060206f68bfffa9"/><file name="Sitewards B2B Professional_ENG_V4.pdf" hash="ec57137d81856521207e5014dfad133d"/></dir><dir name="Helper"><file name="Category.php" hash="72689cd7ea584379faf651d5dab7c351"/><file name="Core.php" hash="42335338c141593bc65b1e7913e4faf1"/><file name="Customer.php" hash="66f0f771c367e84181392f08efd693a4"/><file name="Data.php" hash="986044678c3628e854048d3e41c4e51e"/><file name="Redirects.php" hash="4b6d65cbf94a58b8b8b74eb480075fed"/></dir><dir name="Model"><file name="Observer.php" hash="8559f644f93147215ab8f8e5d45e5495"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Category.php" hash="c45ee6c8eaaec42d239705b591c77919"/><file name="Page.php" hash="4527fdfc9bba40aa98dffc6db8fa5d3e"/></dir></dir></dir></dir><dir name="Test"><dir name="Helper"><dir name="Data"><dir name="fixtures"><file name="testIsExtensionActive.yaml" hash="1597dbaa9909bf2cd6cdc41188d79a40"/></dir></dir><file name="Data.php" hash="1c57859446ccbe78bdd3cf14cace8f19"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="4a2fcabe901e2baae0eea97a08f05363"/><file name="config.xml" hash="c05c80fb120f443433c7eccbf812caeb"/><file name="system.xml" hash="2b37ce38dd2ef8ed6fde97ebe503eac3"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Sitewards_B2BProfessional.xml" hash="023a28f2a21cd706dea246807465b99f"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Sitewards_B2BProfessional.csv" hash="6015eda25375bedb1b91182fbf61b2af"/></dir><dir name="en_US"><file name="Sitewards_B2BProfessional.csv" hash="44feec9f9e16dcc49cb2576c3244df4b"/></dir></target></contents>
28
  <compatible/>
29
- <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php><package><name>Netzarbeiter_CustomerActivation</name><channel>community</channel><min>0.3.0</min><max/></package><package><name>Sitewards_DeliveryDate</name><channel>community</channel><min>0.1.0</min><max/></package><package><name>Sitewards_QuickOrders</name><channel>community</channel><min>0.1.0</min><max/></package></required></dependencies>
30
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Sitewards_B2BProfessional</name>
4
+ <version>3.0.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
7
  <channel>community</channel>
20
  &#xB7; Activation for specific product categories&#xD;
21
  &#xB7; Activation for specific customer groups&#xD;
22
  &#xB7; Optional require login to access store</description>
23
+ <notes>Updated availability information and add-to-cart functionality</notes>
24
  <authors><author><name>Sitewards Magento Team</name><user>sitewards</user><email>magento@sitewards.com</email></author></authors>
25
+ <date>2014-12-15</date>
26
+ <time>10:10:23</time>
27
+ <contents><target name="magecommunity"><dir name="Sitewards"><dir name="B2BProfessional"><dir name="Block"><dir name="Catalog"><dir name="Product"><file name="List.php" hash="d69eb2648f4596835abe8a24cee566dc"/></dir></dir></dir><dir name="Docs"><file name="Sitewards_B2B_Professional_DE.pdf" hash="a857acd1c9a66db2da34ec77130d2d0d"/><file name="Sitewards_B2B_Professional_EN.pdf" hash="e60a445e495af6d1f8ebd42d86353c28"/></dir><dir name="Helper"><file name="Category.php" hash="72689cd7ea584379faf651d5dab7c351"/><file name="Core.php" hash="42335338c141593bc65b1e7913e4faf1"/><file name="Customer.php" hash="66f0f771c367e84181392f08efd693a4"/><file name="Data.php" hash="b5c6ab8a1117e73c967c06e64f644ea1"/><file name="Redirects.php" hash="9d1e940c32a08849db7fb5af2f85bf49"/></dir><dir name="Model"><file name="Observer.php" hash="a26d37e0cc36fc72de97927a30e8803a"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Category.php" hash="c45ee6c8eaaec42d239705b591c77919"/><file name="Page.php" hash="4527fdfc9bba40aa98dffc6db8fa5d3e"/></dir></dir></dir></dir><dir name="Test"><dir name="Helper"><dir name="Data"><dir name="fixtures"><file name="testIsExtensionActive.yaml" hash="1597dbaa9909bf2cd6cdc41188d79a40"/></dir></dir><file name="Data.php" hash="1c57859446ccbe78bdd3cf14cace8f19"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="4a2fcabe901e2baae0eea97a08f05363"/><file name="config.xml" hash="98c2cc6b3f6b37d960bbc914bdbb6756"/><file name="system.xml" hash="2b37ce38dd2ef8ed6fde97ebe503eac3"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Sitewards_B2BProfessional.xml" hash="023a28f2a21cd706dea246807465b99f"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Sitewards_B2BProfessional.csv" hash="6015eda25375bedb1b91182fbf61b2af"/></dir><dir name="en_US"><file name="Sitewards_B2BProfessional.csv" hash="44feec9f9e16dcc49cb2576c3244df4b"/></dir><dir name="it_IT"><file name="Sitewards_B2BProfessional.csv" hash="6f0a26855c54dd742bd9638b97b416f4"/></dir></target></contents>
28
  <compatible/>
29
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Netzarbeiter_CustomerActivation</name><channel>community</channel><min>0.3.0</min><max>0.4.6</max></package></required></dependencies>
30
  </package>