Version Notes
1.0.0
- UTF-8 fix
- Test connection error message showed invalid log file location
- New products in unicenta were not transfering details, it worked only on update once a product was modified in unicenta.
- Improved error reporting around connection testing
0.0.9
- Refactored Code
- You can choose if attributes are always transfered or only on product creation
- Moved Test Connection to database connection details
- Renamed the configurations
- Added Sycn Products button to enable you to test it is working without waiting for cron
- Added Sycn Stock button to enable you to test it is working without waiting for cron
- Fixed bug for Magento installations with a prefix
0.0.5
* Product set can be configured from Admin. This also solves a problem when Magento's default attribute set was deleted.
* The warehouse that will track the stock can be selected from admin configuration.
* Images on Unicenta are tranfered to Magento when the Magento Product does not have any images.
0.0.4
Advanced log to identify database connection issues
0.0.3
First official public release
Release Info
Developer | asulpunto |
Extension | Asulpunto_Unicentaopos |
Version | 1.0.0 |
Comparing to | |
See all releases |
Code changes from version 0.0.9 to 1.0.0
- app/code/community/Asulpunto/Unicentaopos/Helper/Data.php +13 -4
- app/code/community/Asulpunto/Unicentaopos/Model/Productstock.php +24 -31
- app/code/community/Asulpunto/Unicentaopos/Model/Unicentaoposapi.php +9 -14
- app/code/community/Asulpunto/Unicentaopos/etc/config.xml +1 -1
- app/code/community/Asulpunto/Unicentaopos/etc/system.xml +1 -1
- app/design/adminhtml/default/default/template/asulpunto/unicentaopos/system/config/button.phtml +1 -1
- package.xml +12 -5
@@ -31,9 +31,10 @@ class Asulpunto_Unicentaopos_Helper_Data extends Mage_Core_Helper_Abstract
|
|
31 |
$password=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/password');
|
32 |
$name=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/dbname');
|
33 |
try {
|
34 |
-
$db = new PDO("mysql:host={$url};dbname={$name}",
|
35 |
$login,
|
36 |
-
$password
|
|
|
37 |
);
|
38 |
} catch (Exception $e){
|
39 |
Mage::log(__METHOD__." ERROR Getting Connetion URL:$url DBNAME:$name Login:$login Password:$password",null,"asulpunto_unicentaopos.log");
|
@@ -46,8 +47,16 @@ class Asulpunto_Unicentaopos_Helper_Data extends Mage_Core_Helper_Abstract
|
|
46 |
public function doQuery($sql){
|
47 |
$db=$this->getUnicentaOposConnection();
|
48 |
if (is_null($db)) return null;
|
49 |
-
$
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
|
53 |
public function doExecute($sql){
|
31 |
$password=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/password');
|
32 |
$name=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/dbname');
|
33 |
try {
|
34 |
+
$db = new PDO("mysql:host={$url};dbname={$name};charset=utf8",
|
35 |
$login,
|
36 |
+
$password,
|
37 |
+
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")
|
38 |
);
|
39 |
} catch (Exception $e){
|
40 |
Mage::log(__METHOD__." ERROR Getting Connetion URL:$url DBNAME:$name Login:$login Password:$password",null,"asulpunto_unicentaopos.log");
|
47 |
public function doQuery($sql){
|
48 |
$db=$this->getUnicentaOposConnection();
|
49 |
if (is_null($db)) return null;
|
50 |
+
$stm=$db->prepare($sql);
|
51 |
+
$stm->execute();
|
52 |
+
|
53 |
+
if ($stm->errorCode()==0){
|
54 |
+
$rows=$stm->fetchAll();
|
55 |
+
return $rows;
|
56 |
+
} else {
|
57 |
+
Mage::log("FAIL: \n".print_r($stm->errorInfo(),true)."SQL:".$sql,null,"asulpunto_unicentaopos.log");
|
58 |
+
return null;
|
59 |
+
}
|
60 |
}
|
61 |
|
62 |
public function doExecute($sql){
|
@@ -31,16 +31,6 @@ class Asulpunto_Unicentaopos_Model_Productstock extends Mage_Core_Model_Abstract
|
|
31 |
private $_cnf_shortdescription='';
|
32 |
private $_cnf_price='';
|
33 |
private $_cnf_name='';
|
34 |
-
private $_cnf_barcode_attribute='';
|
35 |
-
|
36 |
-
public function __construct() {
|
37 |
-
$this->_cnf_longdescription= Mage::getStoreConfig('asulpuntounicentaopos/attributes/longdescription');
|
38 |
-
$this->_cnf_shortdescription= Mage::getStoreConfig('asulpuntounicentaopos/attributes/shortdescription');
|
39 |
-
$this->_cnf_price= Mage::getStoreConfig('asulpuntounicentaopos/attributes/price');
|
40 |
-
$this->_cnf_name= Mage::getStoreConfig('asulpuntounicentaopos/attributes/name');
|
41 |
-
$this->_cnf_barcode_attribute=Mage::getStoreConfig('asulpuntounicentaopos/attributes/barcode');
|
42 |
-
parent::_construct();
|
43 |
-
}
|
44 |
|
45 |
|
46 |
public function setProductImage($image,$product){
|
@@ -96,17 +86,14 @@ class Asulpunto_Unicentaopos_Model_Productstock extends Mage_Core_Model_Abstract
|
|
96 |
$newProduct=true;
|
97 |
}
|
98 |
|
|
|
99 |
//$product->setWebsiteIds(array(1));
|
100 |
-
$product=$this->_transferField($product,'name'
|
101 |
-
$product=$this->_transferField($product,'description'
|
102 |
$product=$this->_transferField($product,'short_description',$row->getName(),$this->_cnf_shortdescription,$newProduct);
|
103 |
-
$product=$this->_transferField($product,'price'
|
104 |
-
$product=$this->_transferField($product,$
|
105 |
|
106 |
-
//$product->setName($row->getName());
|
107 |
-
//$product->setDescription();
|
108 |
-
//$product->setShortDescription($row->getName());
|
109 |
-
//$product->setPrice($row->getPrice());
|
110 |
if ($row->getInfoupdated()==2) $product=$this->setProductImage($row->getImage(),$product);
|
111 |
$product->save();
|
112 |
|
@@ -254,20 +241,19 @@ class Asulpunto_Unicentaopos_Model_Productstock extends Mage_Core_Model_Abstract
|
|
254 |
|
255 |
|
256 |
private function _transferField($object,$name,$value,$config,$newMode){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
if ($newMode){
|
258 |
if ($config==Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_ALWAYS || $config==Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_CREATE){
|
259 |
-
$arr=explode('_',$name);
|
260 |
-
$name='';
|
261 |
-
foreach($arr as $s){
|
262 |
-
$name=$name.ucfirst($name);
|
263 |
-
}
|
264 |
-
$f="set$name";
|
265 |
$object->$f($value);
|
266 |
}
|
267 |
}else{ //This is update mode
|
268 |
if ($config==Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_ALWAYS ){
|
269 |
-
$name=ucfirst($name);
|
270 |
-
$f="set$name";
|
271 |
$object->$f($value);
|
272 |
}
|
273 |
}
|
@@ -275,11 +261,18 @@ class Asulpunto_Unicentaopos_Model_Productstock extends Mage_Core_Model_Abstract
|
|
275 |
}
|
276 |
|
277 |
|
278 |
-
public function configSim($cfg){
|
279 |
-
$
|
280 |
-
|
281 |
-
|
282 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
}
|
284 |
|
285 |
}
|
31 |
private $_cnf_shortdescription='';
|
32 |
private $_cnf_price='';
|
33 |
private $_cnf_name='';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
35 |
|
36 |
public function setProductImage($image,$product){
|
86 |
$newProduct=true;
|
87 |
}
|
88 |
|
89 |
+
$cnf_barcode_attribute=Mage::getStoreConfig('asulpuntounicentaopos/attributes/barcode');
|
90 |
//$product->setWebsiteIds(array(1));
|
91 |
+
$product=$this->_transferField($product,'name', $row->getName(),$this->_cnf_name,$newProduct);
|
92 |
+
$product=$this->_transferField($product,'description', $row->getLongdesc(),$this->_cnf_longdescription,$newProduct);
|
93 |
$product=$this->_transferField($product,'short_description',$row->getName(),$this->_cnf_shortdescription,$newProduct);
|
94 |
+
$product=$this->_transferField($product,'price', $row->getPrice(),$this->_cnf_price,$newProduct);
|
95 |
+
$product=$this->_transferField($product,$cnf_barcode_attribute,$row->getBarcode(),Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_ALWAYS,$newProduct);
|
96 |
|
|
|
|
|
|
|
|
|
97 |
if ($row->getInfoupdated()==2) $product=$this->setProductImage($row->getImage(),$product);
|
98 |
$product->save();
|
99 |
|
241 |
|
242 |
|
243 |
private function _transferField($object,$name,$value,$config,$newMode){
|
244 |
+
$arr=explode('_',$name);
|
245 |
+
$name='';
|
246 |
+
foreach($arr as $s){
|
247 |
+
$name=$name.ucfirst($s);
|
248 |
+
}
|
249 |
+
$f="set$name";
|
250 |
+
|
251 |
if ($newMode){
|
252 |
if ($config==Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_ALWAYS || $config==Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_CREATE){
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
$object->$f($value);
|
254 |
}
|
255 |
}else{ //This is update mode
|
256 |
if ($config==Asulpunto_Unicentaopos_Model_Source_Transfer::TRANSFER_ALWAYS ){
|
|
|
|
|
257 |
$object->$f($value);
|
258 |
}
|
259 |
}
|
261 |
}
|
262 |
|
263 |
|
264 |
+
public function configSim($cfg=null){
|
265 |
+
if (is_null($cfg )){
|
266 |
+
$this->_cnf_longdescription=Mage::getStoreConfig('asulpuntounicentaopos/attributes/longdescription');
|
267 |
+
$this->_cnf_shortdescription=Mage::getStoreConfig('asulpuntounicentaopos/attributes/shortdescription');
|
268 |
+
$this->_cnf_price=Mage::getStoreConfig('asulpuntounicentaopos/attributes/price');
|
269 |
+
$this->_cnf_name=Mage::getStoreConfig('asulpuntounicentaopos/attributes/name');
|
270 |
+
} else {
|
271 |
+
$this->_cnf_longdescription=$cfg;
|
272 |
+
$this->_cnf_shortdescription=$cfg;
|
273 |
+
$this->_cnf_price=$cfg;
|
274 |
+
$this->_cnf_name=$cfg;
|
275 |
+
}
|
276 |
}
|
277 |
|
278 |
}
|
@@ -23,19 +23,15 @@
|
|
23 |
class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstract
|
24 |
{
|
25 |
|
|
|
26 |
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
$rows=Mage::Helper('unicentaopos')->doQuery("select * from `APPLICATIONS`");
|
31 |
-
if (!is_null($rows)){
|
32 |
foreach ($rows as $row){
|
33 |
if ($row['ID']=='unicentaopos')
|
34 |
return 'OK';
|
35 |
}
|
36 |
-
}
|
37 |
-
}catch(Exception $e){
|
38 |
-
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
39 |
}
|
40 |
$error['url']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/url');
|
41 |
$error['login']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/login');
|
@@ -45,29 +41,28 @@ class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstr
|
|
45 |
return json_encode($error);
|
46 |
}
|
47 |
|
48 |
-
public function cronProducts($mode
|
49 |
-
|
50 |
$ps=Mage::getModel('unicentaopos/productstock');
|
51 |
$ps->loadProductHash();//load a hash of history
|
52 |
$ps->noImageProducts();//load products without images so that if change is detected we load them.
|
53 |
|
54 |
-
if ($mode
|
|
|
|
|
55 |
$ps->configSim($mode);
|
56 |
}
|
57 |
$db=Mage::Helper('unicentaopos')->getUnicentaOposConnection();
|
58 |
if (is_null($db))return false;
|
59 |
$sql="select * from `PRODUCTS`";
|
60 |
$rows=$db->query($sql);
|
|
|
61 |
|
62 |
foreach ($rows as $row){
|
63 |
$ps->getUnicentaProducts($row);
|
64 |
$ps->doImage($row);
|
65 |
}
|
66 |
$ps->updateMagentoProducts();
|
67 |
-
}catch(Exception $e){
|
68 |
-
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
69 |
-
return false;
|
70 |
-
}
|
71 |
return true;
|
72 |
}
|
73 |
|
23 |
class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstract
|
24 |
{
|
25 |
|
26 |
+
public function checkActivate(){
|
27 |
|
28 |
|
29 |
+
$rows=Mage::Helper('unicentaopos')->doQuery("select * from `APPLICATIONS`");
|
30 |
+
if (!is_null($rows)){
|
|
|
|
|
31 |
foreach ($rows as $row){
|
32 |
if ($row['ID']=='unicentaopos')
|
33 |
return 'OK';
|
34 |
}
|
|
|
|
|
|
|
35 |
}
|
36 |
$error['url']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/url');
|
37 |
$error['login']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/login');
|
41 |
return json_encode($error);
|
42 |
}
|
43 |
|
44 |
+
public function cronProducts($mode){
|
45 |
+
|
46 |
$ps=Mage::getModel('unicentaopos/productstock');
|
47 |
$ps->loadProductHash();//load a hash of history
|
48 |
$ps->noImageProducts();//load products without images so that if change is detected we load them.
|
49 |
|
50 |
+
if (is_a($mode,'Mage_Cron_Model_Schedule')){
|
51 |
+
$ps->configSim();
|
52 |
+
}else{
|
53 |
$ps->configSim($mode);
|
54 |
}
|
55 |
$db=Mage::Helper('unicentaopos')->getUnicentaOposConnection();
|
56 |
if (is_null($db))return false;
|
57 |
$sql="select * from `PRODUCTS`";
|
58 |
$rows=$db->query($sql);
|
59 |
+
if (is_null($rows)) return false;
|
60 |
|
61 |
foreach ($rows as $row){
|
62 |
$ps->getUnicentaProducts($row);
|
63 |
$ps->doImage($row);
|
64 |
}
|
65 |
$ps->updateMagentoProducts();
|
|
|
|
|
|
|
|
|
66 |
return true;
|
67 |
}
|
68 |
|
@@ -25,7 +25,7 @@
|
|
25 |
<config>
|
26 |
<modules>
|
27 |
<Asulpunto_Unicentaopos>
|
28 |
-
<version>0.0
|
29 |
</Asulpunto_Unicentaopos>
|
30 |
</modules>
|
31 |
<global>
|
25 |
<config>
|
26 |
<modules>
|
27 |
<Asulpunto_Unicentaopos>
|
28 |
+
<version>1.0.0</version>
|
29 |
</Asulpunto_Unicentaopos>
|
30 |
</modules>
|
31 |
<global>
|
@@ -47,7 +47,7 @@
|
|
47 |
<show_in_website>1</show_in_website>
|
48 |
<show_in_store>1</show_in_store>
|
49 |
<comment>
|
50 |
-
<![CDATA[Version: 0.
|
51 |
</banner>
|
52 |
<unicentaconfig translate="label">
|
53 |
<label>uniCenta Connection Configuration</label>
|
47 |
<show_in_website>1</show_in_website>
|
48 |
<show_in_store>1</show_in_store>
|
49 |
<comment>
|
50 |
+
<![CDATA[Version: 1.0.0<br/>Module developed by <a href="http://www.asulpunto.com">Asulpunto</a><br/>Support: <a href="http://www.asulpunto.com/supportforum">http://www.asulpunto.com/supportforum</a>]]></comment>
|
51 |
</banner>
|
52 |
<unicentaconfig translate="label">
|
53 |
<label>uniCenta Connection Configuration</label>
|
@@ -36,7 +36,7 @@
|
|
36 |
name=obj['name'];
|
37 |
login=obj['login'];
|
38 |
pass=obj['password'];
|
39 |
-
alert("Connection ERROR. Cannot connect to database. "+"\nHostname:"+url+"\nDatabase name:"+name+"\nLogin:"+login+"\nPassword:"+pass+"\nPlease change the configuration, press the 'Save Config' button and test again.\nPlease check [magento]/var/
|
40 |
}
|
41 |
}
|
42 |
});
|
36 |
name=obj['name'];
|
37 |
login=obj['login'];
|
38 |
pass=obj['password'];
|
39 |
+
alert("Connection ERROR. Cannot connect to database. "+"\nHostname:"+url+"\nDatabase name:"+name+"\nLogin:"+login+"\nPassword:"+pass+"\nPlease change the configuration, press the 'Save Config' button and test again.\nPlease check [magento]/var/log/asulpunto_unicentaopos.log for more details.");
|
40 |
}
|
41 |
}
|
42 |
});
|
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Asulpunto_Unicentaopos</name>
|
4 |
-
<version>0.0
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/GPL-3.0">GNU General Public License 3.0</license>
|
7 |
<channel>community</channel>
|
@@ -20,7 +20,14 @@ Features:
|
|
20 |
To use this extension you have to install uniCenta oPOS's database on a Mysql server accessible by the Magento server.
|
21 |

|
22 |
</description>
|
23 |
-
<notes>0.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
- Refactored Code
|
25 |
- You can choose if attributes are always transfered or only on product creation
|
26 |
- Moved Test Connection to database connection details
|
@@ -41,9 +48,9 @@ Advanced log to identify database connection issues
|
|
41 |
0.0.3
|
42 |
First official public release </notes>
|
43 |
<authors><author><name>asulpunto</name><user>asulpunto</user><email>asulpunto@asulpunto.com</email></author></authors>
|
44 |
-
<date>2014-
|
45 |
-
<time>19:
|
46 |
-
<contents><target name="magecommunity"><dir name="Asulpunto"><dir name="Unicentaopos"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="8de2e6e124cdcd67597725a9a7368ed8"/><file name="Buttongetproducts.php" hash="8d5667a1c1f9d56875d71f6b628c9f36"/><file name="Buttonstock.php" hash="a41f426871cb05ce6b1ddc755419a7be"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="
|
47 |
<compatible/>
|
48 |
<dependencies><required><php><min>5.2.0</min><max>5.5.0</max></php></required></dependencies>
|
49 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Asulpunto_Unicentaopos</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/GPL-3.0">GNU General Public License 3.0</license>
|
7 |
<channel>community</channel>
|
20 |
To use this extension you have to install uniCenta oPOS's database on a Mysql server accessible by the Magento server.
|
21 |

|
22 |
</description>
|
23 |
+
<notes>1.0.0
|
24 |
+
- UTF-8 fix
|
25 |
+
- Test connection error message showed invalid log file location
|
26 |
+
- New products in unicenta were not transfering details, it worked only on update once a product was modified in unicenta.
|
27 |
+
- Improved error reporting around connection testing
|
28 |
+

|
29 |
+

|
30 |
+
0.0.9
|
31 |
- Refactored Code
|
32 |
- You can choose if attributes are always transfered or only on product creation
|
33 |
- Moved Test Connection to database connection details
|
48 |
0.0.3
|
49 |
First official public release </notes>
|
50 |
<authors><author><name>asulpunto</name><user>asulpunto</user><email>asulpunto@asulpunto.com</email></author></authors>
|
51 |
+
<date>2014-02-17</date>
|
52 |
+
<time>19:25:48</time>
|
53 |
+
<contents><target name="magecommunity"><dir name="Asulpunto"><dir name="Unicentaopos"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="8de2e6e124cdcd67597725a9a7368ed8"/><file name="Buttongetproducts.php" hash="8d5667a1c1f9d56875d71f6b628c9f36"/><file name="Buttonstock.php" hash="a41f426871cb05ce6b1ddc755419a7be"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="27720decf1ea0a2f252af78a530fdee5"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Unicentaoposorderitem"><file name="Collection.php" hash="bb9cf8ab48304c34fd7bd575e1002574"/></dir><file name="Unicentaoposorderitem.php" hash="edc7cfecd2b60b0bc372da8c0509cf7d"/><dir name="Unicentaoposproduct"><file name="Collection.php" hash="03f65e284b426d36daa2376e38a813e1"/></dir><file name="Unicentaoposproduct.php" hash="1f849c04da97b863ee88c3b34dc8255b"/></dir><file name="Orders.php" hash="105bd671d41de1b163ec1bb458337136"/><file name="Productstock.php" hash="5b272e11bc603bb32cb3f1fe70545ba5"/><dir name="Source"><file name="Attributes.php" hash="0c9d1465dbeb8c22dc1bf2c207d27738"/><file name="Location.php" hash="231c61909cef275342fe746e6b1a3406"/><file name="Producttypelist.php" hash="ee920c29a4c36e5d39503d049729c206"/><file name="Transfer.php" hash="c6b83cd1c753d8712ae8dcdb79428740"/></dir><file name="Unicentaoposapi.php" hash="630e567e340a39f1b83eed515e3ccb52"/><file name="Unicentaoposorderitem.php" hash="31b0f22a1fa3af396a01b741fd9d4adf"/><file name="Unicentaoposproduct.php" hash="8754d16acf3372355bf379deb563ab03"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="UnicentaoposController.php" hash="5890605a3563955fb5a33431bde12a1f"/></dir></dir><dir name="etc"><file name="config.xml" hash="1b566d211ebf424419a450f802bd53fb"/><file name="system.xml" hash="7588dc4bcba7fd8b5bcfcb954c1fd386"/></dir><dir name="sql"><dir name="unicentaopos_setup"><file name="mysql4-install-0.0.1.php" hash="84ba3c4373b2a1c6b1219e8fbd881b51"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="76ea73b06b500e88db0891df95744b65"/><file name="mysql4-upgrade-0.0.4-0.0.5.php" hash="666324a87a44f9e4f161bbea4f4c8c06"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="asulpunto"><dir name="unicentaopos"><dir name="system"><dir name="config"><file name="button.phtml" hash="8d16601bbd83850e719205af44070dde"/><file name="buttongetproducts.phtml" hash="7b42df54ec62f90ea3e949655db481d5"/><file name="buttonstock.phtml" hash="dcba538825ce28f86d7e809203b4a591"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Asulpunto_Unicentaopos.xml" hash="0b81c393d2739bbabe04eeccadeaf858"/></dir></target></contents>
|
54 |
<compatible/>
|
55 |
<dependencies><required><php><min>5.2.0</min><max>5.5.0</max></php></required></dependencies>
|
56 |
</package>
|