Wisepricer_Syncer - Version 1.3.0.0

Version Notes

Set bigger time limit at install

Download this release

Release Info

Developer Moshe
Extension Wisepricer_Syncer
Version 1.3.0.0
Comparing to
See all releases


Code changes from version 1.2.0.1 to 1.3.0.0

app/code/local/Wisepricer/Syncer/Block/Adminhtml/Mapping.php CHANGED
@@ -175,7 +175,7 @@ class Wisepricer_Syncer_Block_Adminhtml_Mapping extends Mage_Adminhtml_Block_Wid
175
  $websites = $switcher->getWebsites();
176
 
177
  $options=array();
178
- $options[]=array('label'=>'All','value'=>0);
179
  foreach($websites as $website){
180
  foreach($website->getGroups() as $group){
181
 
@@ -235,7 +235,7 @@ class Wisepricer_Syncer_Block_Adminhtml_Mapping extends Mage_Adminhtml_Block_Wid
235
  public function getImportOutStockSet(){
236
  $model = Mage::getModel('wisepricer_syncer/config');
237
  $lisenceData=$model->load(1);
238
- if($lisenceData->getImport_outofstock()!='0'){
239
  return 'checked';
240
  }else{
241
  return '';
175
  $websites = $switcher->getWebsites();
176
 
177
  $options=array();
178
+ $options[]=array('label'=>'All','value'=>770);
179
  foreach($websites as $website){
180
  foreach($website->getGroups() as $group){
181
 
235
  public function getImportOutStockSet(){
236
  $model = Mage::getModel('wisepricer_syncer/config');
237
  $lisenceData=$model->load(1);
238
+ if($lisenceData->getImport_outofstock()=='0'){
239
  return 'checked';
240
  }else{
241
  return '';
app/code/local/Wisepricer/Syncer/Helper/Data.php CHANGED
@@ -2,10 +2,127 @@
2
 
3
 
4
 
5
- class Wisepricer_Syncer_Helper_Data extends Mage_Core_Helper_Abstract
6
 
7
- {
8
 
 
 
 
 
 
 
 
9
 
 
 
 
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }
2
 
3
 
4
 
5
+ class Wisepricer_Syncer_Helper_Data extends Mage_Core_Helper_Abstract{
6
 
7
+ public function getConfigDataByFullPath($path){
8
 
9
+ if (!$row = Mage::getSingleton('core/config_data')->getCollection()->getItemByColumnValue('path', $path)) {
10
+ $conf = Mage::getSingleton('core/config')->init()->getXpath('/config/default/'.$path);
11
+ if(is_array($conf)){
12
+ $value = array_shift($conf);
13
+ }else{
14
+ return '';
15
+ }
16
 
17
+ } else {
18
+ $value = $row->getValue();
19
+ }
20
 
21
+ return $value;
22
+
23
+ }
24
+
25
+ public function getConfigMultiDataByFullPath($path){
26
+
27
+ if (!$rows = Mage::getSingleton('core/config_data')->getCollection()->getItemsByColumnValue('path', $path)) {
28
+ $conf = Mage::getSingleton('core/config')->init()->getXpath('/config/default/'.$path);
29
+ $value = array_shift($conf);
30
+ } else {
31
+ $values=array();
32
+ foreach($rows as $row){
33
+ $values[$row->getScopeId()]=$row->getValue();
34
+ }
35
+ }
36
+
37
+ return $values;
38
+
39
+ }
40
+
41
+ public function getMultiStoreDataJson(){
42
+
43
+ $websites=Mage::getModel('core/website')->getCollection();
44
+
45
+ $multistoreData=array();
46
+ $multistoreJson='';
47
+ $useStoreCode=$this->getConfigDataByFullPath('web/url/use_store');
48
+ $mage=Mage::getVersion();
49
+ $ext=(string) Mage::getConfig()->getNode()->modules->Wisepricer_Syncer->version;
50
+ $version=array('mage'=>$mage,'ext'=>$ext);
51
+
52
+ //getting site url
53
+ $url=$this->getConfigDataByFullPath('web/unsecure/base_url');
54
+
55
+ $storesArr=array();
56
+ foreach($websites as $website){
57
+ $code=$website->getCode();
58
+ $stores=$website->getStores();
59
+ foreach($stores as $store){
60
+ $storesArr[$store->getStoreId()]=$store->getData();
61
+ }
62
+ }
63
+
64
+ if(count($storesArr)==1){
65
+ try{
66
+ $dataArr = array(
67
+ // 'stores' => array(array_pop($storesArr)),
68
+ 'stores' => array_pop($storesArr),
69
+ 'version' => $version
70
+ );
71
+ } catch (Exception $e){
72
+ $dataArr = array(
73
+ 'stores' => $multistoreData,
74
+ 'version' => $version
75
+ );
76
+ }
77
+
78
+ $dataArr['site'] = $url;
79
+ $multistoreJson = json_encode($dataArr);
80
+
81
+ }else{
82
+
83
+ $storeUrls=$this->getConfigMultiDataByFullPath('web/unsecure/base_url');
84
+ $locales=$this->getConfigMultiDataByFullPath('general/locale/code');
85
+ $storeComplete=array();
86
+
87
+ foreach($storesArr as $key=>$value){
88
+
89
+ if(!$value['is_active']){
90
+ continue;
91
+ }
92
+
93
+ $storeComplete=$value;
94
+ if(array_key_exists($key,$locales)){
95
+ $storeComplete['lang']=$locales[$key];
96
+ }else{
97
+ $storeComplete['lang']=$locales[0];
98
+ }
99
+
100
+ if(array_key_exists($key,$storeUrls)){
101
+ $storeComplete['url']=$storeUrls[$key];
102
+ }else{
103
+ $storeComplete['url']=$storeUrls[0];
104
+ }
105
+
106
+ if($useStoreCode){
107
+ $storeComplete['url']=$storeUrls[0].$value['code'];
108
+ }
109
+
110
+ $multistoreData[]=$storeComplete;
111
+ }
112
+
113
+ $dataArr=array(
114
+ 'stores'=>$multistoreData,
115
+ 'version'=>$version
116
+ );
117
+
118
+ $dataArr['site']=$url;
119
+
120
+ $multistoreJson=json_encode($dataArr);
121
+
122
+ }
123
+
124
+ Mage::log($multistoreJson,null,'wplog.log');
125
+
126
+ return $multistoreJson;
127
+ }
128
  }
app/code/local/Wisepricer/Syncer/Model/Reprice.php CHANGED
@@ -29,7 +29,7 @@ class Wisepricer_Syncer_Model_Reprice extends Mage_Core_Model_Abstract{
29
  return $connection->fetchOne($sql, array($entity_type_code));
30
  }
31
 
32
- private function _getIdFromSku($sku){
33
  $connection = $this->_getConnection('core_read');
34
  $sql = "SELECT entity_id FROM " . $this->_getTableName('catalog_product_entity') . " WHERE sku = ?";
35
  return $connection->fetchOne($sql, array($sku));
@@ -78,97 +78,84 @@ class Wisepricer_Syncer_Model_Reprice extends Mage_Core_Model_Abstract{
78
  }
79
  }
80
 
81
- public function updatePricesBySku($prodArr,$price_field){
 
82
  $connection = $this->_getConnection('core_write');
83
 
84
  if(!is_array($prodArr)){
85
- $sku = $prodArr->sku;
86
- $newPrice = $prodArr->price;
87
  }else{
88
- $sku = $prodArr['sku'];
89
- $newPrice = $prodArr['price'];
90
- }
91
- try{
92
- $productId = $this->_getIdFromSku($sku);
93
- $attributeId = $this->_getAttributeId($price_field);
94
- $spAttributeId = $this->_getAttributeId('special_price');
95
- $specialPrice = $this->_getSpecialPrice($productId,$spAttributeId);
96
-
97
- if($specialPrice){
98
- $attributeId= $spAttributeId;
99
  }
100
 
101
- if($newPrice <= 0){
102
- throw new Exception("Price [$newPrice] is invalid Product Id: $productId");
103
- }
104
-
105
- $sql = "UPDATE " . $this->_getTableName('catalog_product_entity_decimal') . " cped
106
- SET cped.value = ?
107
- WHERE cped.attribute_id = ?
108
- AND cped.entity_id = ?";
109
- $connection->query($sql, array($newPrice, $attributeId, $productId));
110
- $this->_getConfigurableIds($productId, $newPrice);
111
-
112
- }catch(Exception $e){
113
- Mage::log($e->getMessage(),null,'wplog.log');
114
- echo $e->getMessage();
115
- }
116
- }
117
 
118
- public function updatePricesById($prodArr,$price_field){
119
- $connection = $this->_getConnection('core_write');
120
 
121
- if(!is_array($prodArr)){
122
- $productId = $prodArr->sku;
123
- $newPrice = $prodArr->price;
124
- }else{
125
- $productId = $prodArr['sku'];
126
- $newPrice = $prodArr['price'];
127
- }
128
- try{
129
- $attributeId = $this->_getAttributeId($price_field);
130
 
131
- $spAttributeId = $this->_getAttributeId('special_price');
132
- $specialPrice = $this->_getSpecialPrice($productId,$spAttributeId);
133
 
134
- if($specialPrice){
135
- $attributeId= $spAttributeId;
136
- }
137
 
138
- if($newPrice <= 0){
139
- throw new Exception("Price [$newPrice] is invalid Product Id: $productId");
140
- }
141
 
142
- $sql = "UPDATE " . $this->_getTableName('catalog_product_entity_decimal') . " cped
143
- SET cped.value = ?
144
- WHERE cped.attribute_id = ?
145
- AND cped.entity_id = ?";
146
- $connection->query($sql, array($newPrice, $attributeId, $productId));
147
- $this->_getConfigurableIds($productId, $newPrice);
148
 
149
- }catch(Exception $e){
150
- Mage::log($e->getMessage(),null,'wplog.log');
151
- echo $e->getMessage();
152
- }
153
- }
154
 
155
- public function getParrentIds(){
156
- return $this->_parrentIds;
157
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
 
159
- public function repriceConfigurable($productId, $newPrice, $priceField){
160
- $product = Mage::getModel('catalog/product')->load($productId);
161
- $oldPrice = $this->getProductPrice($product);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
 
163
- if($oldPrice <= $newPrice){
164
- throw new Exception("New price is larger or equal to old price Product Id: $productId");
165
  }
 
 
166
 
167
- $prodArr = array();
168
- $prodArr['sku'] = $productId;
169
- $prodArr['price'] = $newPrice;
170
- $this->updatePricesById($prodArr, $priceField);
171
- return $newPrice;
172
  }
173
 
174
  private function getProductPrice($product){
29
  return $connection->fetchOne($sql, array($entity_type_code));
30
  }
31
 
32
+ public function getIdFromSku($sku){
33
  $connection = $this->_getConnection('core_read');
34
  $sql = "SELECT entity_id FROM " . $this->_getTableName('catalog_product_entity') . " WHERE sku = ?";
35
  return $connection->fetchOne($sql, array($sku));
78
  }
79
  }
80
 
81
+ public function updatePricesById($prodArr,$entityTypeId,$store_id,$mappings){
82
+
83
  $connection = $this->_getConnection('core_write');
84
 
85
  if(!is_array($prodArr)){
86
+ $productId = $prodArr->sku;
 
87
  }else{
88
+ $productId = $prodArr['sku'];
 
 
 
 
 
 
 
 
 
 
89
  }
90
 
91
+ $sql='';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
 
93
+ foreach($prodArr as $pricesName=>$priceValue){
 
94
 
95
+ try{
96
+ if($pricesName=='sku'){
97
+ continue;
98
+ }
 
 
 
 
 
99
 
100
+ $mPriceName=isset($mappings[$pricesName])? $mappings[$pricesName]['magento_field'] : '';
 
101
 
102
+ $attributeId = $this->_getAttributeId($mPriceName);
 
 
103
 
104
+ if(!$attributeId){
 
 
105
 
106
+ Mage::log('Product '.$productId.', could not find field '.$pricesName,null,'wplog.log');
107
+ continue;
108
+ }
 
 
 
109
 
110
+ if($priceValue == 0 || $pricesName==''){
 
 
 
 
111
 
112
+ if($mPriceName=='price'){
113
+ throw new Exception("Price [$priceValue] is invalid Product Id: $productId");
114
+ }else{
115
+ $sql="DELETE FROM " . $this->_getTableName('catalog_product_entity_decimal') . " WHERE entity_type_id=? AND attribute_id=? AND store_id=? AND entity_id=?";
116
+
117
+ $res=$connection->query($sql, array($entityTypeId, $attributeId,$store_id,$productId));
118
+ }
119
+
120
+ }else{
121
+
122
+ $sql="SELECT value_id FROM ".$this->_getTableName('catalog_product_entity_decimal')
123
+ ." WHERE attribute_id=? AND entity_id=? AND store_id=?";
124
+
125
+ $res=$connection->fetchOne($sql, array($attributeId,$productId,$store_id));
126
+
127
+ if(!is_numeric($res)){
128
+ $sql="INSERT INTO " . $this->_getTableName('catalog_product_entity_decimal') . "
129
+ (entity_type_id,attribute_id,store_id,entity_id,value)
130
+ VALUES (?,?,?,?,?)";
131
+
132
+ $res=$connection->query($sql, array($entityTypeId, $attributeId,$store_id,$productId,$priceValue));
133
 
134
+ }else{
135
+ $sql = "UPDATE " . $this->_getTableName('catalog_product_entity_decimal') . " cped
136
+ SET cped.value = {$priceValue}
137
+ WHERE cped.attribute_id = {$attributeId}
138
+ AND cped.entity_id = {$productId}";
139
+ //if($attributeId=='76') {echo $sql; die;}
140
+ $res=$connection->query($sql);
141
+ }
142
+ }
143
+
144
+
145
+
146
+ }catch(Exception $e){
147
+ Mage::log($e->getMessage(),null,'wplog.log');
148
+
149
+ // echo $sql;
150
+ // echo 'Line '.__LINE__.' '.$e->getMessage();
151
+ }
152
 
 
 
153
  }
154
+
155
+ }
156
 
157
+ public function getParrentIds(){
158
+ return $this->_parrentIds;
 
 
 
159
  }
160
 
161
  private function getProductPrice($product){
app/code/local/Wisepricer/Syncer/controllers/Adminhtml/SyncerController.php CHANGED
@@ -21,9 +21,10 @@ class Wisepricer_Syncer_Adminhtml_SyncerController extends Mage_Adminhtml_Contro
21
  $this->loadLayout()->_setActiveMenu('wisepricer');
22
  $this->renderLayout();
23
  }
 
24
  public function mappingAction()
25
  {
26
- set_time_limit (1800);
27
  $model = Mage::getModel('wisepricer_syncer/config');
28
  $lisenceData=$model->load(1);
29
  if(count($lisenceData->getData())>0){
@@ -37,13 +38,14 @@ class Wisepricer_Syncer_Adminhtml_SyncerController extends Mage_Adminhtml_Contro
37
  $this->loadLayout()->_setActiveMenu('wisepricer');
38
  $this->renderLayout();
39
  }
 
40
  public function _savekey()
41
  {
42
  $post = $this->getRequest()->getPost('register_form');
43
  $lisensekey = $post['licensekey'];
44
  $website = $post['website'];
45
- $type = $post['product_type'];
46
-
47
  if(isset($post['reprice_configurable'])){
48
  $reprConf = $post['reprice_configurable'];
49
  if(!$reprConf){
@@ -54,40 +56,40 @@ class Wisepricer_Syncer_Adminhtml_SyncerController extends Mage_Adminhtml_Contro
54
  }else{
55
  $reprConf=0;
56
  }
57
-
58
- if(isset($post['import_outofstock'])){
59
  $import_outofstock = $post['import_outofstock'];
60
  if(!$import_outofstock){
61
- $import_outofstock=0;
62
- }else{
63
  $import_outofstock=1;
 
 
64
  }
65
  }else{
66
- $import_outofstock=0;
67
  }
68
-
69
  try {
70
  if (empty($lisensekey)) {
71
  Mage::throwException($this->__('Invalid form data. The license key is missing!'));
72
  }
 
73
  $model = Mage::getModel('wisepricer_syncer/config');
 
74
  $lisenceData=$model->load(1);
75
- if(count($lisenceData->getData())>0){
76
- $lisenceData->setLicensekey($lisensekey);
77
- $lisenceData->setWebsite($website);
78
- $lisenceData->setProduct_type($type);
79
- $lisenceData->setReprice_configurable($reprConf);
80
- $lisenceData->setImport_outofstock($import_outofstock);
81
- $lisenceData->save();
82
- }else{
83
- $model->setLicensekey($lisensekey)->save();
84
- }
85
 
86
  }
87
  catch (Exception $e) {
88
  Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
89
  }
90
  }
 
91
  protected function _validateMapping($post){
92
 
93
  $isValid=false;
@@ -109,9 +111,13 @@ class Wisepricer_Syncer_Adminhtml_SyncerController extends Mage_Adminhtml_Contro
109
 
110
  return $isValid;
111
  }
 
112
  public function savemappingAction(){
 
113
  set_time_limit (1800);
 
114
  $post= $this->getRequest()->getPost('mapping_form');
 
115
  $this->_savekey();
116
 
117
  $isValid=$this->_validateMapping($post);
21
  $this->loadLayout()->_setActiveMenu('wisepricer');
22
  $this->renderLayout();
23
  }
24
+
25
  public function mappingAction()
26
  {
27
+ set_time_limit (1800);
28
  $model = Mage::getModel('wisepricer_syncer/config');
29
  $lisenceData=$model->load(1);
30
  if(count($lisenceData->getData())>0){
38
  $this->loadLayout()->_setActiveMenu('wisepricer');
39
  $this->renderLayout();
40
  }
41
+
42
  public function _savekey()
43
  {
44
  $post = $this->getRequest()->getPost('register_form');
45
  $lisensekey = $post['licensekey'];
46
  $website = $post['website'];
47
+ $type = $post['product_type'];
48
+
49
  if(isset($post['reprice_configurable'])){
50
  $reprConf = $post['reprice_configurable'];
51
  if(!$reprConf){
56
  }else{
57
  $reprConf=0;
58
  }
59
+
60
+ if(isset($post['import_outofstock'])){
61
  $import_outofstock = $post['import_outofstock'];
62
  if(!$import_outofstock){
 
 
63
  $import_outofstock=1;
64
+ }else{
65
+ $import_outofstock=0;
66
  }
67
  }else{
68
+ $import_outofstock=1;
69
  }
70
+
71
  try {
72
  if (empty($lisensekey)) {
73
  Mage::throwException($this->__('Invalid form data. The license key is missing!'));
74
  }
75
+
76
  $model = Mage::getModel('wisepricer_syncer/config');
77
+
78
  $lisenceData=$model->load(1);
79
+
80
+ $lisenceData->setLicensekey($lisensekey);
81
+ $lisenceData->setWebsite($website);
82
+ $lisenceData->setProduct_type($type);
83
+ $lisenceData->setReprice_configurable($reprConf);
84
+ $lisenceData->setImport_outofstock($import_outofstock);
85
+ $lisenceData->save();
 
 
 
86
 
87
  }
88
  catch (Exception $e) {
89
  Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
90
  }
91
  }
92
+
93
  protected function _validateMapping($post){
94
 
95
  $isValid=false;
111
 
112
  return $isValid;
113
  }
114
+
115
  public function savemappingAction(){
116
+
117
  set_time_limit (1800);
118
+
119
  $post= $this->getRequest()->getPost('mapping_form');
120
+
121
  $this->_savekey();
122
 
123
  $isValid=$this->_validateMapping($post);
app/code/local/Wisepricer/Syncer/controllers/ProductsController.php CHANGED
@@ -14,7 +14,9 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
14
  public function sendAction(){
15
  // Mage::log('start sending',null,'wplog.log');
16
  set_time_limit (1800);
 
17
  $licenseData =Mage::getModel('wisepricer_syncer/config')->load(1);
 
18
  if(!$licenseData->getData()||$licenseData->getIs_confirmed()==0){
19
 
20
  $returnArr=array(
@@ -43,6 +45,13 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
43
 
44
 
45
  $startInd = $post['start'];
 
 
 
 
 
 
 
46
  if(!$startInd){
47
  $startInd=0;
48
  }
@@ -52,12 +61,12 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
52
  $count=200;
53
  }
54
 
55
- $pageNum=($startInd/$count)+1;
56
-
57
 
58
  $fieldsEncoded= $post['params'];
 
59
  $fields =json_decode(urldecode ($fieldsEncoded));
60
- if(empty($fields)){
61
  Mage::log(print_r('post[params]= '.$post['params'],true),null,'wplog.log');
62
  Mage::log(print_r('fields= '.$fields,true),null,'wplog.log');
63
  // slashes prevents from json decoding on some systems
@@ -101,12 +110,20 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
101
 
102
  }
103
 
 
 
 
 
 
104
 
105
- if($licenseData->getWebsite()!=0){
106
  $collection->addStoreFilter($licenseData->getWebsite());
 
 
 
107
  }
108
-
109
- if($licenseData->getImport_outofstock()){
110
  Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
111
  }
112
 
@@ -128,7 +145,9 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
128
  foreach ($collection as $product) {
129
 
130
  $productCollData=$product->getData();
131
- $productModel=Mage::getModel('catalog/product')->load($productCollData['entity_id']);
 
 
132
 
133
  $this->productOrigData=$productModel->getData();
134
  $productData=array();
@@ -204,6 +223,8 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
204
 
205
  $productData['producturl']=Mage::helper('catalog/product')->getProductUrl($productCollData['entity_id']);
206
 
 
 
207
  $productsOutput[]=$productData;
208
  }
209
 
@@ -285,7 +306,7 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
285
 
286
  $sessionId=$this->_randString(8);
287
 
288
- Mage::getModel('core/cookie')->set('wpsession',$sessionId , true);
289
 
290
  $returnArr=array(
291
  'status'=>'success',
@@ -320,6 +341,7 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
320
 
321
  echo json_encode($returnArr);
322
  }
 
323
  public function getpublicAction(){
324
 
325
  $publickey=$this->_getpublickey();
@@ -333,11 +355,14 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
333
  echo json_encode($returnArr);
334
  }
335
 
336
-
337
  public function repriceAction(){
 
338
  Mage::log(print_r('Entered reprice action',true),null,'wplog.log');
 
339
  set_time_limit (1800);
 
340
  $licenseData =Mage::getModel('wisepricer_syncer/config')->load(1);
 
341
  if(!$licenseData->getData()||$licenseData->getIs_confirmed()==0){
342
 
343
  $returnArr=array(
@@ -363,77 +388,99 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
363
  echo json_encode($returnArr);
364
  die;
365
  }
 
 
366
 
367
  $productsEncoded= $post['products'];
 
368
  $products =json_decode(urldecode ($productsEncoded));
 
369
  $responseArr=array();
 
370
  $sucessCounter=0;
 
371
  $failedCounter=0;
 
372
  Mage::log(print_r('repricing '.count($products),true),null,'wplog.log');
373
- $repriceModel=Mage::getModel('wisepricer_syncer/reprice');
374
- $id_type= $this->_getMagentoFieldByWsField('sku');
375
- $price_field= $this->_getMagentoFieldByWsField('price');
376
 
377
- if(strtolower($id_type)=='sku'){
378
 
379
- foreach ($products as $prodArr) {
380
 
381
- if ($repriceModel->checkIfSkuExists($prodArr->sku)) {
382
- try {
 
383
 
384
- $repriceModel->updatePricesBySku($prodArr,$price_field);
385
- $responseArr[]=array('sku'=>$prodArr->sku,'price'=>$prodArr->price,'error_code'=>'0');
386
- $sucessCounter++;
387
 
388
- } catch (Exception $exc) {
389
- $responseArr[]=array('sku'=>$prodArr->sku,'error_code'=>'444','error_details'=>$exc->getMessage());
390
- $failedCounter++;
391
- }
392
- }else{
393
- $responseArr[]=array('sku'=>$prodArr->sku,'error_code'=>'333','error_details'=>'SKU could not be loaded');
394
- $failedCounter++;
395
 
396
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
397
 
 
398
  }
399
 
400
- }elseif(strtolower($id_type)=='entity_id'){
401
-
402
- foreach ($products as $prodArr) {
403
 
404
- if ($repriceModel->checkIfIdExists($prodArr->sku)) {
405
- try {
406
-
407
- $repriceModel->updatePricesById($prodArr,$price_field);
408
- $responseArr[]=array('sku'=>$prodArr->sku,'price'=>$prodArr->price,'error_code'=>'0');
409
  $sucessCounter++;
410
 
411
  } catch (Exception $exc) {
412
- $responseArr[]=array('sku'=>$prodArr->sku,'error_code'=>'444','error_details'=>$exc->getMessage());
413
  $failedCounter++;
414
  }
415
- }else{
416
- $responseArr[]=array('sku'=>$prodArr->sku,'error_code'=>'333','error_details'=>'ID could not be loaded');
417
- $failedCounter++;
418
-
419
- }
420
-
421
- }
422
-
423
- }
424
-
425
- $parrentsIds=$repriceModel->getParrentIds();
426
- foreach($parrentsIds as $parId => $price){
427
- try{
428
- $minPrice=$repriceModel->repriceConfigurable($parId, $price, $price_field);
429
- $responseArr[]=array('sku'=>$parId,'price'=>$minPrice,'error_code'=>'0');
430
- $sucessCounter++;
431
- }catch (Exception $exc) {
432
- $responseArr[]=array('sku'=>$parId,'error_code'=>'444','error_details'=>$exc->getMessage());
433
- $failedCounter++;
434
- }
435
-
436
- }
437
 
438
 
439
  Mage::log(print_r('finished repricing',true),null,'wplog.log');
@@ -457,6 +504,8 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
457
 
458
  public function reindexAction(){
459
 
 
 
460
  Mage::log(print_r('Entered reindex action',true),null,'wplog.log');
461
 
462
  $licenseData =Mage::getModel('wisepricer_syncer/config')->load(1);
@@ -486,20 +535,39 @@ class Wisepricer_Syncer_ProductsController extends Wisepricer_Syncer_BaseControl
486
  die;
487
  }
488
  Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price')->reindexAll();
 
 
 
 
 
 
489
  }
490
 
491
  public function generatejasonAction(){
492
- $result['products']=array(
493
- array(
494
- 'sku'=>'zol_r_sm',
495
- 'price'=>'303.3'
496
- ),
497
- array(
498
- 'sku'=>'4fasd5f5',
499
- 'price'=>'770.0'
500
- )
501
- );
502
- echo json_encode($result['products']);
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  die;
504
  }
505
 
14
  public function sendAction(){
15
  // Mage::log('start sending',null,'wplog.log');
16
  set_time_limit (1800);
17
+
18
  $licenseData =Mage::getModel('wisepricer_syncer/config')->load(1);
19
+
20
  if(!$licenseData->getData()||$licenseData->getIs_confirmed()==0){
21
 
22
  $returnArr=array(
45
 
46
 
47
  $startInd = $post['start'];
48
+
49
+ $fromId=0;
50
+
51
+ if(isset($post['from_id'])){
52
+ $fromId=$post['from_id'];
53
+ }
54
+
55
  if(!$startInd){
56
  $startInd=0;
57
  }
61
  $count=200;
62
  }
63
 
64
+ $store_id=isset($post['store_id']) ? $post['store_id'] : 1;
 
65
 
66
  $fieldsEncoded= $post['params'];
67
+
68
  $fields =json_decode(urldecode ($fieldsEncoded));
69
+ if(empty($fields)){ //params=["all"]
70
  Mage::log(print_r('post[params]= '.$post['params'],true),null,'wplog.log');
71
  Mage::log(print_r('fields= '.$fields,true),null,'wplog.log');
72
  // slashes prevents from json decoding on some systems
110
 
111
  }
112
 
113
+ if($fromId>0){
114
+ $collection->addAttributeToFilter('entity_id', array(
115
+ 'from' => $fromId
116
+ ));
117
+ }
118
 
119
+ if($licenseData->getWebsite()!=770){
120
  $collection->addStoreFilter($licenseData->getWebsite());
121
+ //if user set from config to send only products from one store
122
+ //he can send it only from there
123
+ $store_id=$licenseData->getWebsite();
124
  }
125
+
126
+ if($licenseData->getImport_outofstock()==0){
127
  Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
128
  }
129
 
145
  foreach ($collection as $product) {
146
 
147
  $productCollData=$product->getData();
148
+ $productModel=Mage::getModel('catalog/product')
149
+ ->setStoreId($store_id)
150
+ ->load($productCollData['entity_id']);
151
 
152
  $this->productOrigData=$productModel->getData();
153
  $productData=array();
223
 
224
  $productData['producturl']=Mage::helper('catalog/product')->getProductUrl($productCollData['entity_id']);
225
 
226
+ $productData['product_id']=$productCollData['entity_id'];
227
+
228
  $productsOutput[]=$productData;
229
  }
230
 
306
 
307
  $sessionId=$this->_randString(8);
308
 
309
+ Mage::getModel('core/cookie')->set('wpsession',$sessionId , 86400);
310
 
311
  $returnArr=array(
312
  'status'=>'success',
341
 
342
  echo json_encode($returnArr);
343
  }
344
+
345
  public function getpublicAction(){
346
 
347
  $publickey=$this->_getpublickey();
355
  echo json_encode($returnArr);
356
  }
357
 
 
358
  public function repriceAction(){
359
+
360
  Mage::log(print_r('Entered reprice action',true),null,'wplog.log');
361
+
362
  set_time_limit (1800);
363
+
364
  $licenseData =Mage::getModel('wisepricer_syncer/config')->load(1);
365
+
366
  if(!$licenseData->getData()||$licenseData->getIs_confirmed()==0){
367
 
368
  $returnArr=array(
388
  echo json_encode($returnArr);
389
  die;
390
  }
391
+
392
+ $store_id=isset($post['store_id']) ? $post['store_id'] : 0;
393
 
394
  $productsEncoded= $post['products'];
395
+
396
  $products =json_decode(urldecode ($productsEncoded));
397
+ //echo '<pre>'.print_r($products,true); die;
398
  $responseArr=array();
399
+
400
  $sucessCounter=0;
401
+
402
  $failedCounter=0;
403
+
404
  Mage::log(print_r('repricing '.count($products),true),null,'wplog.log');
 
 
 
405
 
406
+ $mappings =Mage::getModel('wisepricer_syncer/mapping')->getCollection()->getData();
407
 
408
+ $newMappings=array();
409
 
410
+ foreach ($mappings as $mp) {
411
+ $newMappings[$mp['wsp_field']]=$mp;
412
+ }
413
 
 
 
 
414
 
415
+ $repriceModel=Mage::getModel('wisepricer_syncer/reprice');
416
+
417
+ $id_type= $this->_getMagentoFieldByWsField('sku');
418
+
419
+ $price_field= $this->_getMagentoFieldByWsField('price'); //
420
+
421
+ $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
422
 
423
+ $entityTypeId = $setup->getEntityTypeId('catalog_product');
424
+
425
+ foreach ($products as $prodArr) {
426
+
427
+ $productId=0;
428
+
429
+ $sku= $prodArr->sku;
430
+
431
+ if(strtolower($id_type)=='sku'){
432
+
433
+ if (!$repriceModel->checkIfSkuExists($prodArr->sku)) {
434
+
435
+ $responseArr[]=array('sku'=>$sku,'error_code'=>'333','error_details'=>'SKU could not be loaded');
436
+
437
+ $failedCounter++;
438
+
439
+ continue;
440
+ }
441
+
442
+ $productId=$repriceModel->getIdFromSku($prodArr->sku);
443
+ //we change the sku to id because all reprices will be made by id only
444
+ $prodArr->sku= $productId;
445
+
446
+ }else{
447
+
448
+ if(!$repriceModel->checkIfIdExists($prodArr->sku)){
449
+
450
+ $responseArr[]=array('sku'=>$sku,'error_code'=>'333','error_details'=>'ID could not be loaded');
451
+
452
+ $failedCounter++;
453
 
454
+ continue;
455
  }
456
 
457
+ }
458
+
459
+ try {
460
 
461
+ $repriceModel->updatePricesById($prodArr,$entityTypeId,$store_id,$newMappings);
462
+ $responseArr[]=array('sku'=>$sku,'price'=>$prodArr,'error_code'=>'0');
 
 
 
463
  $sucessCounter++;
464
 
465
  } catch (Exception $exc) {
466
+ $responseArr[]=array('sku'=>$sku,'error_code'=>'444','error_details'=>$exc->getMessage());
467
  $failedCounter++;
468
  }
469
+
470
+ }
471
+
472
+ // $parrentsIds=$repriceModel->getParrentIds();
473
+ // foreach($parrentsIds as $parId => $price){
474
+ // try{
475
+ // $minPrice=$repriceModel->repriceConfigurable($parId, $price, $price_field);
476
+ // $responseArr[]=array('sku'=>$parId,'price'=>$minPrice,'error_code'=>'0');
477
+ // $sucessCounter++;
478
+ // }catch (Exception $exc) {
479
+ // $responseArr[]=array('sku'=>$parId,'error_code'=>'444','error_details'=>$exc->getMessage());
480
+ // $failedCounter++;
481
+ // }
482
+ //
483
+ // }
 
 
 
 
 
 
 
484
 
485
 
486
  Mage::log(print_r('finished repricing',true),null,'wplog.log');
504
 
505
  public function reindexAction(){
506
 
507
+ set_time_limit (1800);
508
+
509
  Mage::log(print_r('Entered reindex action',true),null,'wplog.log');
510
 
511
  $licenseData =Mage::getModel('wisepricer_syncer/config')->load(1);
535
  die;
536
  }
537
  Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price')->reindexAll();
538
+
539
+ $returnArr=array(
540
+ 'status'=>'success',
541
+ 'error_code'=>'0'
542
+ );
543
+ echo json_encode($returnArr);
544
  }
545
 
546
  public function generatejasonAction(){
547
+ echo '[{"sku":"128905","price":"529.99","special_price":"500","amazon_price":"560","ebay_price":"550"}]';
548
+ die;
549
+ }
550
+
551
+ public function getstoresAction(){
552
+
553
+ $post = $this->getRequest()->getParams();
554
+
555
+ $magentoSessionId=Mage::getModel('core/cookie')->get('wpsession');
556
+
557
+ if((!$magentoSessionId)||($magentoSessionId!=$post['sesssionid'])){
558
+
559
+ $returnArr=array(
560
+ 'status'=>'failure',
561
+ 'error_code'=>'771',
562
+ 'error_details'=>'Unauthorized access.'
563
+ );
564
+ echo json_encode($returnArr);
565
+ die;
566
+ }
567
+
568
+ $helper=Mage::helper('syncer');
569
+
570
+ echo $helper->getMultiStoreDataJson();
571
  die;
572
  }
573
 
app/code/local/Wisepricer/Syncer/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Wisepricer_Syncer>
5
- <version>1.2.0.1</version>
6
  <url>http://www.wisepricer.com/index.php</url>
7
  <modulename>Wisepricer Syncer</modulename>
8
  </Wisepricer_Syncer>
@@ -26,7 +26,7 @@
26
  </wisepricer_syncer_mysql4>
27
  </models>
28
  <events>
29
- <catalog_controller_product_init>
30
  <observers>
31
  <wisepricer_syncer>
32
  <class>wisepricer_syncer/observer</class>
@@ -49,7 +49,7 @@
49
  <method>checkout_type_onepage_save_order</method>
50
  </wisepricer_syncer>
51
  </observers>
52
- </checkout_type_onepage_save_order>
53
  </events>
54
  <resources>
55
  <syncer_setup>
2
  <config>
3
  <modules>
4
  <Wisepricer_Syncer>
5
+ <version>1.3.0.0</version>
6
  <url>http://www.wisepricer.com/index.php</url>
7
  <modulename>Wisepricer Syncer</modulename>
8
  </Wisepricer_Syncer>
26
  </wisepricer_syncer_mysql4>
27
  </models>
28
  <events>
29
+ <!--<catalog_controller_product_init>
30
  <observers>
31
  <wisepricer_syncer>
32
  <class>wisepricer_syncer/observer</class>
49
  <method>checkout_type_onepage_save_order</method>
50
  </wisepricer_syncer>
51
  </observers>
52
+ </checkout_type_onepage_save_order>-->
53
  </events>
54
  <resources>
55
  <syncer_setup>
app/code/local/Wisepricer/Syncer/sql/syncer_setup/mysql4-install-1.1.3.8.php CHANGED
@@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS {$this->getTable('wisepricer_syncer_config')} (
12
 
13
  `licensekey` varchar(255) character set utf8 NOT NULL,
14
 
15
- `is_confirmed` smallint(5) unsigned NOT NULL default '0',
16
 
17
  `publickey` text character set utf8 NOT NULL,
18
 
@@ -22,7 +22,9 @@ CREATE TABLE IF NOT EXISTS {$this->getTable('wisepricer_syncer_config')} (
22
 
23
  `product_type` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT 'simple',
24
 
25
- `reprice_configurable` int(1) NOT NULL DEFAULT '1',
 
 
26
 
27
  PRIMARY KEY (`licensekey_id`)
28
 
12
 
13
  `licensekey` varchar(255) character set utf8 NOT NULL,
14
 
15
+ `is_confirmed` TINYINT(1) unsigned NOT NULL default '0',
16
 
17
  `publickey` text character set utf8 NOT NULL,
18
 
22
 
23
  `product_type` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT 'simple',
24
 
25
+ `reprice_configurable` TINYINT(1) NOT NULL DEFAULT '1',
26
+
27
+ `import_outofstock` TINYINT(1) NOT NULL DEFAULT '1',
28
 
29
  PRIMARY KEY (`licensekey_id`)
30
 
app/code/local/Wisepricer/Syncer/sql/syncer_setup/mysql4-upgrade-1.1.3.8-1.1.3.9.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $installer->run("
8
-
9
- CREATE TABLE IF NOT EXISTS {$this->getTable('wisepricer_syncer_hits_counter')} (
10
-
11
- `hits_id` int(11) NOT NULL auto_increment,
12
-
13
- `sku` varchar(255) character set utf8 NOT NULL,
14
-
15
- `hits` int(11) unsigned NOT NULL default '0',
16
-
17
- PRIMARY KEY (`hits_id`)
18
-
19
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
20
-
21
- CREATE TABLE IF NOT EXISTS {$this->getTable('wisepricer_syncer_sales')} (
22
-
23
- `sales_id` int(11) NOT NULL auto_increment,
24
-
25
- `order_id` varchar( 1024 ) NOT NULL,
26
-
27
- `status` int(1) unsigned NOT NULL default '0',
28
-
29
- PRIMARY KEY (`sales_id`)
30
-
31
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
32
-
33
- ");
34
-
35
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Wisepricer/Syncer/sql/syncer_setup/mysql4-upgrade-1.1.3.9-1.1.4.1.php DELETED
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $installer->run("
8
-
9
- ALTER TABLE {$this->getTable('wisepricer_syncer_config')} ADD `import_outofstock` INT( 255 ) NULL default '1';
10
- ");
11
-
12
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Wisepricer/Syncer/sql/syncer_setup/mysql4-upgrade-1.1.4.1-1.1.4.2.php DELETED
@@ -1,65 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $insertStr='';
8
-
9
- try{
10
-
11
- $dt=strtotime('-30 days');
12
- $mysqldate = date( 'Y-m-d H:i:s', $dt );
13
-
14
- $orders=Mage::getModel('sales/order')->getCollection()
15
- ->addFieldToFilter('status',array('in'=> array('processing', 'processed', 'complete')))
16
- ->addFieldToFilter('created_at',array('gt'=>$mysqldate));
17
-
18
- foreach($orders as $order){
19
-
20
- $insertStr.= 'INSERT INTO '.$this->getTable('wisepricer_syncer_sales').' ( `sales_id` ,`order_id` ,`status`,order_date) VALUES (NULL , "'.$order->getIncrementId().'", "0","'.$order->getCreatedAt().'");';
21
- }
22
-
23
- }catch(Exception $e){
24
-
25
- }
26
-
27
- $installer->run("
28
-
29
-
30
- DROP TABLE IF EXISTS {$this->getTable('wisepricer_syncer_hits_counter')};
31
-
32
- CREATE TABLE IF NOT EXISTS {$this->getTable('wisepricer_syncer_hits_counter')} (
33
-
34
- `hits_id` int(11) NOT NULL auto_increment,
35
-
36
- `sku` varchar(255) character set utf8 NOT NULL,
37
-
38
- `hits` int(11) unsigned NOT NULL default '0',
39
-
40
- `hit_date` date DEFAULT NULL,
41
-
42
- PRIMARY KEY (`hits_id`)
43
-
44
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
45
-
46
- DROP TABLE IF EXISTS {$this->getTable('wisepricer_syncer_sales')};
47
-
48
- CREATE TABLE IF NOT EXISTS {$this->getTable('wisepricer_syncer_sales')} (
49
-
50
- `sales_id` int(11) NOT NULL auto_increment,
51
-
52
- `order_id` varchar( 1024 ) NOT NULL,
53
-
54
- `status` int(1) unsigned NOT NULL default '0',
55
-
56
- `order_date` date DEFAULT NULL,
57
-
58
- PRIMARY KEY (`sales_id`)
59
-
60
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
61
-
62
- ".$insertStr."
63
- ");
64
-
65
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Wisepricer/Syncer/sql/syncer_setup/mysql4-upgrade-1.1.4.6-1.1.4.7.php CHANGED
@@ -8,7 +8,7 @@ $installer->addAttribute('catalog_product', 'ignore_wisepricer', array(
8
  'type' => 'int',
9
  'backend' => '',
10
  'frontend' => '',
11
- 'label' => 'Ignore WisePricer',
12
  'input' => 'select',
13
  'class' => '',
14
  'source' => 'eav/entity_attribute_source_boolean',
8
  'type' => 'int',
9
  'backend' => '',
10
  'frontend' => '',
11
+ 'label' => 'Ignore Wiser',
12
  'input' => 'select',
13
  'class' => '',
14
  'source' => 'eav/entity_attribute_source_boolean',
app/code/local/Wisepricer/Syncer/sql/syncer_setup/mysql4-upgrade-1.1.4.7-1.1.4.8.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $attributeId=$installer->getAttribute('catalog_product','ignore_wisepricer');
8
+
9
+ $allAttributeSetIds=$installer->getAllAttributeSetIds('catalog_product');
10
+
11
+ if(is_array($attributeId)){
12
+ foreach ($allAttributeSetIds as $attributeSetId) {
13
+ try{
14
+ $attributeGroupId=$installer->getAttributeGroup('catalog_product',$attributeSetId,'General');
15
+ }
16
+ catch(Exception $e)
17
+ {
18
+ $attributeGroupId=$installer->getDefaultAttributeGroupId('catalog/product',$attributeSetId);
19
+ }
20
+
21
+ if(is_array($attributeGroupId)){
22
+ $installer->addAttributeToSet('catalog_product',$attributeSetId,$attributeGroupId['attribute_group_id'],$attributeId['attribute_id']);
23
+ }
24
+ }
25
+ }
26
+
27
+
28
+ $installer->endSetup();
app/design/adminhtml/default/default/template/wisepricer/mapping.phtml CHANGED
@@ -117,9 +117,24 @@
117
  <td class="input-ele"><?php echo $this->renderPriceAttributesSelect('mapping_form[price]','price','price','required-entry chzn-select')?></td>
118
  <td></td>
119
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  <tr>
121
  <td class="label firstcol"><span><?php echo $this->__('Cost')?></span></td>
122
- <td class="input-ele"><?php echo $this->renderAttributesSelect('mapping_form[cost]','cost','0','chzn-select')?></td>
123
  <td></td>
124
  </tr>
125
  <tr>
117
  <td class="input-ele"><?php echo $this->renderPriceAttributesSelect('mapping_form[price]','price','price','required-entry chzn-select')?></td>
118
  <td></td>
119
  </tr>
120
+ <tr>
121
+ <td class="label firstcol"><span><?php echo $this->__('Special Price')?> <span class="required">*</span></span></td>
122
+ <td class="input-ele"><?php echo $this->renderPriceAttributesSelect('mapping_form[special_price]','special_price','special_price','required-entry chzn-select')?></td>
123
+ <td></td>
124
+ </tr>
125
+ <tr>
126
+ <td class="label firstcol"><span><?php echo $this->__('Amazon Price')?></span></td>
127
+ <td class="input-ele"><?php echo $this->renderPriceAttributesSelect('mapping_form[amazon_price]','amazon_price','amazon_price','chzn-select')?></td>
128
+ <td></td>
129
+ </tr>
130
+ <tr>
131
+ <td class="label firstcol"><span><?php echo $this->__('Ebay Price')?></span></td>
132
+ <td class="input-ele"><?php echo $this->renderPriceAttributesSelect('mapping_form[ebay_price]','ebay_price','ebay_price','chzn-select')?></td>
133
+ <td></td>
134
+ </tr>
135
  <tr>
136
  <td class="label firstcol"><span><?php echo $this->__('Cost')?></span></td>
137
+ <td class="input-ele"><?php echo $this->renderAttributesSelect('mapping_form[cost]','cost','cost','chzn-select')?></td>
138
  <td></td>
139
  </tr>
140
  <tr>
app/etc/modules/Wisepricer_Syncer.xml CHANGED
@@ -1,23 +1,9 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <config>
3
-
4
-
5
  <modules>
6
-
7
-
8
  <Wisepricer_Syncer>
9
-
10
-
11
  <active>true</active>
12
-
13
-
14
  <codePool>local</codePool>
15
-
16
-
17
  </Wisepricer_Syncer>
18
-
19
-
20
  </modules>
21
-
22
-
23
  </config>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <config>
 
 
3
  <modules>
 
 
4
  <Wisepricer_Syncer>
 
 
5
  <active>true</active>
 
 
6
  <codePool>local</codePool>
 
 
7
  </Wisepricer_Syncer>
 
 
8
  </modules>
 
 
9
  </config>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Wisepricer_Syncer</name>
4
- <version>1.2.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
@@ -9,10 +9,10 @@
9
  <summary>WisePricer- Beat your competition</summary>
10
  <description>WisePricer is a new tool that allows you to Track &amp; monitor successful online retailers and update your store prices in real-time. With WisePricer you&#x2019;ll never get left behind the competition.</description>
11
  <notes>Set bigger time limit at install</notes>
12
- <authors><author><name>Moshe</name><user>auto-converted</user><email>moshe@wisepricer.com</email></author></authors>
13
- <date>2015-06-03</date>
14
- <time>05:59:42</time>
15
- <contents><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="wisepricer"><file name="bullet-green.png" hash="78d917a9d9aea11366bada6e0ae53931"/><file name="validation_advice_bg.gif" hash="ffdad80de989e3b04a977be3778c4347"/><file name="wp-alert-icon.png" hash="0dbbadfbbe2329098d03f8351aa2eaf2"/><file name="wp-logo.png" hash="48db98cdfc570336c942271352f31094"/><file name="wp-save-btn.png" hash="6d8e02c7f5e54dcc705e6436f126c66d"/></dir></dir><dir name="wisepricer"><file name="chosen-sprite.png" hash="8e70d120437ffc6a1bf7cebeca292d5c"/><file name="chosen.css" hash="bcd3f3e697219898e26631ccf29d97ba"/><file name="chosen.proto.js" hash="8259b22f4f337ba9ab63506b5ee4a52f"/><file name="myprototype.js" hash="2325b8b147c5dfaa8531c9d8bafd3648"/><file name="prototype17.js" hash="2325b8b147c5dfaa8531c9d8bafd3648"/><file name="wisepricer.css" hash="bd4dc50e10de4b41ae1c0ab18b2045ad"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="syncer.xml" hash="a9d0f0b5af6b7bc28fb3c3b897c1773c"/></dir><dir name="template"><dir name="wisepricer"><file name="mapping.phtml" hash="021a17507985d01b681792f26311bca4"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Wisepricer_Syncer.xml" hash="838dc229469d27db4c96a49591b12f55"/></dir></target><target name="magelocal"><dir name="Wisepricer"><dir name="Syncer"><dir name="Block"><dir name="Adminhtml"><file name="Mapping.php" hash="612d45b21f0650d119801cda480cc8d7"/><file name="Register.php" hash="ed2ffde3237ecba2dbdd6002b5077af3"/></dir></dir><dir name="controllers"><file name="BaseController.php" hash="def65eee1964d7c0667e8cb32375e74c"/><file name="ProductsController.php" hash="a2b3ed52e8c1e4a0dffb4b14ce754055"/><file name="SalesController.php" hash="eb9e9d553da503e43632bd5b1451b9be"/><dir name="Adminhtml"><file name="SyncerController.php" hash="1c65590b13ed6a30c4fb5f0ed0abad86"/></dir></dir><dir name="etc"><file name="config.xml" hash="3b2008e7fe66a47f0d4a3f7b364ba676"/></dir><dir name="Helper"><file name="Data.php" hash="025b73c04ab0ca01d2e7c75aaad7fea6"/></dir><dir name="lib"><dir name="phpseclib"><dir name="Crypt"><file name="AES.php" hash="dd67dd1dbc7706e6c740e8430054d5e0"/><file name="DES.php" hash="47ac443f1edd2833cdc2f4eb80aa9a71"/><file name="Hash.php" hash="9be22f6426f2176caebb34a6cd2cb579"/><file name="Random.php" hash="5befc55c3423792c0cd50bc6d4f527b1"/><file name="RC4.php" hash="c6ec724c3a5d807d5ea4645518c37d29"/><file name="Rijndael.php" hash="7a92c95c750dd9ec1b8ce92915b4aa35"/><file name="RSA.php" hash="9bd5734f28d149d183c603643f6dbbb4"/><file name="TripleDES.php" hash="07c384b505d52802803313126e9e3836"/></dir><dir name="Math"><file name="BigInteger.php" hash="61aa9373ea606c928187d168159ac3f8"/></dir><dir name="Net"><file name="SFTP.php" hash="029f797c16ddd23b1d65636a72141115"/><file name="SSH1.php" hash="818d83815fe9bb5741594226bbdad975"/><file name="SSH2.php" hash="db5145effae044c7a1f6e7d778b566f5"/></dir><dir name="PHP"><dir name="Compat"><dir name="Function"><file name="array_fill.php" hash="840a674cac272c5588fa59f9421ed9a3"/><file name="bcpowmod.php" hash="4cb8fab0ee419f4b5a626980bbf04938"/><file name="str_split.php" hash="85cb5961afa62dde933190ee851a6d9a"/></dir></dir></dir></dir></dir><dir name="Model"><file name="Config.php" hash="d669c3dc977ddf71a58c90fa8df3180c"/><file name="Mapping.php" hash="d924ae8bcf54a3ca1224e8680d847fee"/><file name="Observer.php" hash="6d7216c55bb46f202a33f61bcad556d6"/><file name="Reprice.php" hash="5e946b4a21bb53c9657aff32a8527b03"/><dir name="Adminhtml"><file name="Attributes.php" hash="cadf0b88a3878ae0ec847b3c116cda43"/></dir><dir name="Mysql4"><file name="Config.php" hash="61b7eb73489844aa0ee041c216bab2db"/><file name="Mapping.php" hash="d97574adda931ce798964c67041f6af5"/><dir name="Config"><file name="Collection.php" hash="c7c7b6844e3ff8893163c392f4132f30"/></dir><dir name="Mapping"><file name="Collection.php" hash="c0f15143db582e070cfb83de92c57d09"/></dir></dir><dir name="Source"><file name="Boolean.php" hash="dbb3f3187972a1a918eec16345de987a"/></dir></dir><dir name="sql"><dir name="syncer_setup"><file name="mysql4-install-1.1.3.8.php" hash="f149922af5a6e5be8a474b4cc68d415f"/><file name="mysql4-upgrade-1.1.3.8-1.1.3.9.php" hash="8d7bcdc6fb908a4906f3af7dfcb28ab8"/><file name="mysql4-upgrade-1.1.3.9-1.1.4.1.php" hash="99396eeee161d50822de7be3aa76cbec"/><file name="mysql4-upgrade-1.1.4.1-1.1.4.2.php" hash="a22f329bc42c0ff9239a8040dd632c03"/><file name="mysql4-upgrade-1.1.4.6-1.1.4.7.php" hash="118223789736627e0cc3c17600c41839"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
- <dependencies/>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Wisepricer_Syncer</name>
4
+ <version>1.3.0.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
9
  <summary>WisePricer- Beat your competition</summary>
10
  <description>WisePricer is a new tool that allows you to Track &amp; monitor successful online retailers and update your store prices in real-time. With WisePricer you&#x2019;ll never get left behind the competition.</description>
11
  <notes>Set bigger time limit at install</notes>
12
+ <authors><author><name>Moshe</name><user>moshewp</user><email>moshe@wisepricer.com</email></author></authors>
13
+ <date>2016-03-01</date>
14
+ <time>20:28:52</time>
15
+ <contents><target name="magelocal"><dir name="Wisepricer"><dir name="Syncer"><dir name="Block"><dir name="Adminhtml"><file name="Mapping.php" hash="139db2ef5eca95fa1704d626b80f5c94"/><file name="Register.php" hash="ed2ffde3237ecba2dbdd6002b5077af3"/></dir></dir><dir name="Helper"><file name="Data.php" hash="2998a107bc39f2a0cd321bcbb165b00f"/></dir><dir name="Model"><dir name="Adminhtml"><file name="Attributes.php" hash="cadf0b88a3878ae0ec847b3c116cda43"/></dir><file name="Config.php" hash="d669c3dc977ddf71a58c90fa8df3180c"/><file name="Mapping.php" hash="d924ae8bcf54a3ca1224e8680d847fee"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="c7c7b6844e3ff8893163c392f4132f30"/></dir><file name="Config.php" hash="61b7eb73489844aa0ee041c216bab2db"/><dir name="Mapping"><file name="Collection.php" hash="c0f15143db582e070cfb83de92c57d09"/></dir><file name="Mapping.php" hash="d97574adda931ce798964c67041f6af5"/></dir><file name="Observer.php" hash="6d7216c55bb46f202a33f61bcad556d6"/><file name="Reprice.php" hash="3c5cfe0758c2bc433b3b46e0ea3ab539"/><dir name="Source"><file name="Boolean.php" hash="dbb3f3187972a1a918eec16345de987a"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="SyncerController.php" hash="9aa11d88f7a97ef8557771321fcbcffe"/></dir><file name="BaseController.php" hash="def65eee1964d7c0667e8cb32375e74c"/><file name="ProductsController.php" hash="7a94388f7d9b2b5a8bde670e6a342276"/><file name="SalesController.php" hash="eb9e9d553da503e43632bd5b1451b9be"/></dir><dir name="etc"><file name="config.xml" hash="cb47d5d294b1e4b449121d162ed71042"/></dir><dir name="lib"><dir name="phpseclib"><dir name="Crypt"><file name="AES.php" hash="dd67dd1dbc7706e6c740e8430054d5e0"/><file name="DES.php" hash="47ac443f1edd2833cdc2f4eb80aa9a71"/><file name="Hash.php" hash="9be22f6426f2176caebb34a6cd2cb579"/><file name="RC4.php" hash="c6ec724c3a5d807d5ea4645518c37d29"/><file name="RSA.php" hash="9bd5734f28d149d183c603643f6dbbb4"/><file name="Random.php" hash="5befc55c3423792c0cd50bc6d4f527b1"/><file name="Rijndael.php" hash="7a92c95c750dd9ec1b8ce92915b4aa35"/><file name="TripleDES.php" hash="07c384b505d52802803313126e9e3836"/></dir><dir name="Math"><file name="BigInteger.php" hash="61aa9373ea606c928187d168159ac3f8"/></dir><dir name="Net"><file name="SFTP.php" hash="029f797c16ddd23b1d65636a72141115"/><file name="SSH1.php" hash="818d83815fe9bb5741594226bbdad975"/><file name="SSH2.php" hash="db5145effae044c7a1f6e7d778b566f5"/></dir><dir name="PHP"><dir name="Compat"><dir name="Function"><file name="array_fill.php" hash="840a674cac272c5588fa59f9421ed9a3"/><file name="bcpowmod.php" hash="4cb8fab0ee419f4b5a626980bbf04938"/><file name="str_split.php" hash="85cb5961afa62dde933190ee851a6d9a"/></dir></dir></dir></dir></dir><dir name="sql"><dir name="syncer_setup"><file name="mysql4-install-1.1.3.8.php" hash="2f1bf4346328ac1026c73173590e0afa"/><file name="mysql4-upgrade-1.1.4.6-1.1.4.7.php" hash="07995f1f86a06a2f8505bb67ce7e375a"/><file name="mysql4-upgrade-1.1.4.7-1.1.4.8.php" hash="83e2e87669f2c4f491167b1a444c58cd"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Wisepricer_Syncer.xml" hash="ab10056fb463e1b72841741d8afb546f"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="syncer.xml" hash="a9d0f0b5af6b7bc28fb3c3b897c1773c"/></dir><dir name="template"><dir name="wisepricer"><file name="mapping.phtml" hash="73de9345b356cc502b2c3fae61a55de3"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="wisepricer"><file name="bullet-green.png" hash="78d917a9d9aea11366bada6e0ae53931"/><file name="validation_advice_bg.gif" hash="ffdad80de989e3b04a977be3778c4347"/><file name="wp-alert-icon.png" hash="0dbbadfbbe2329098d03f8351aa2eaf2"/><file name="wp-logo.png" hash="48db98cdfc570336c942271352f31094"/><file name="wp-save-btn.png" hash="6d8e02c7f5e54dcc705e6436f126c66d"/></dir></dir><dir name="wisepricer"><file name="chosen-sprite.png" hash="8e70d120437ffc6a1bf7cebeca292d5c"/><file name="chosen.css" hash="bcd3f3e697219898e26631ccf29d97ba"/><file name="chosen.proto.js" hash="8259b22f4f337ba9ab63506b5ee4a52f"/><file name="myprototype.js" hash="2325b8b147c5dfaa8531c9d8bafd3648"/><file name="prototype17.js" hash="2325b8b147c5dfaa8531c9d8bafd3648"/><file name="wisepricer.css" hash="bd4dc50e10de4b41ae1c0ab18b2045ad"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>