fermopoint - Version 1.2.2

Version Notes

* Some improvements

Download this release

Release Info

Developer Fermo!Point
Extension fermopoint
Version 1.2.2
Comparing to
See all releases


Code changes from version 1.2.1 to 1.2.2

app/code/community/FermoPoint/StorePickup/Block/Map.php CHANGED
@@ -33,6 +33,7 @@ class FermoPoint_StorePickup_Block_Map extends Mage_Core_Block_Template
33
  $params = array(
34
  'v' => '3.exp',
35
  'region' => 'it',
 
36
  );
37
  if ($apiKey = Mage::helper('fpstorepickup/config')->getGMapsKey())
38
  $params['key'] = $apiKey;
33
  $params = array(
34
  'v' => '3.exp',
35
  'region' => 'it',
36
+ 'libraries' => 'geometry',
37
  );
38
  if ($apiKey = Mage::helper('fpstorepickup/config')->getGMapsKey())
39
  $params['key'] = $apiKey;
app/code/community/FermoPoint/StorePickup/Model/Api/SearchData.php CHANGED
@@ -4,8 +4,10 @@ class FermoPoint_StorePickup_Model_Api_SearchData extends Varien_Object {
4
 
5
  protected function _validate()
6
  {
7
- if ( ! Zend_Validate::is($this->getAddress(), 'NotEmpty')
8
- || ! Zend_Validate::is($this->getRadius(), 'NotEmpty')
 
 
9
  )
10
  Mage::throwException(Mage::helper('fpstorepickup')->__('Invalid search parameters.'));
11
 
@@ -14,6 +16,10 @@ class FermoPoint_StorePickup_Model_Api_SearchData extends Varien_Object {
14
 
15
  protected function _searchLocation()
16
  {
 
 
 
 
17
  $location = Mage::getSingleton('fpstorepickup/googleMaps')->getLocation($this->getAddress());
18
  if ($location === null)
19
  Mage::throwException(Mage::helper('fpstorepickup')->__('Location does not found'));
@@ -39,7 +45,7 @@ class FermoPoint_StorePickup_Model_Api_SearchData extends Varien_Object {
39
  $src = $this->toApi();
40
  $result = true;
41
  foreach ($src as $key => $val)
42
- if ( ! isset($with[$key]) || $with[$key] != $val)
43
  {
44
  $result = false;
45
  break;
@@ -52,7 +58,7 @@ class FermoPoint_StorePickup_Model_Api_SearchData extends Varien_Object {
52
  $result = array(
53
  'lat' => $this->getLatitude(),
54
  'lng' => $this->getLongitude(),
55
- 'radius' => $this->getRadius(),
56
  'day' => $this->hasData('day') ? (int) $this->getDay() : null,
57
  'from' => $this->hasData('from') ? (int) $this->getFrom() : 0,
58
  'to' => $this->hasData('to') ? (int) $this->getTo() : 24,
4
 
5
  protected function _validate()
6
  {
7
+ if (( ! Zend_Validate::is($this->getAddress(), 'NotEmpty')
8
+ && ( ! Zend_Validate::is($this->getLatitude(), 'NotEmpty')
9
+ || ! Zend_Validate::is($this->getLongitude(), 'NotEmpty')
10
+ )) || ! Zend_Validate::is($this->getRadius(), 'NotEmpty')
11
  )
12
  Mage::throwException(Mage::helper('fpstorepickup')->__('Invalid search parameters.'));
13
 
16
 
17
  protected function _searchLocation()
18
  {
19
+ $address = $this->getAddress();
20
+ if (empty($address))
21
+ return $this;
22
+
23
  $location = Mage::getSingleton('fpstorepickup/googleMaps')->getLocation($this->getAddress());
24
  if ($location === null)
25
  Mage::throwException(Mage::helper('fpstorepickup')->__('Location does not found'));
45
  $src = $this->toApi();
46
  $result = true;
47
  foreach ($src as $key => $val)
48
+ if ( ! array_key_exists($key, $with) || $with[$key] != $val)
49
  {
50
  $result = false;
51
  break;
58
  $result = array(
59
  'lat' => $this->getLatitude(),
60
  'lng' => $this->getLongitude(),
61
+ 'radius' => (int) $this->getRadius(),
62
  'day' => $this->hasData('day') ? (int) $this->getDay() : null,
63
  'from' => $this->hasData('from') ? (int) $this->getFrom() : 0,
64
  'to' => $this->hasData('to') ? (int) $this->getTo() : 24,
app/code/community/FermoPoint/StorePickup/controllers/IndexController.php CHANGED
@@ -21,7 +21,8 @@ class FermoPoint_StorePickup_IndexController extends Mage_Core_Controller_Front_
21
  $request->loadFromPost($this->getRequest()->getPost());
22
  $response->setLatitude($request->getLatitude());
23
  $response->setLongitude($request->getLongitude());
24
- $response->setPoints(Mage::getSingleton('fpstorepickup/points')->getPoints($request));
 
25
  } catch (Mage_Core_Exception $e) {
26
  $response->setError(true);
27
  $response->setMessage($e->getMessage());
21
  $request->loadFromPost($this->getRequest()->getPost());
22
  $response->setLatitude($request->getLatitude());
23
  $response->setLongitude($request->getLongitude());
24
+ if ( ! $request->getAddress())
25
+ $response->setPoints(Mage::getSingleton('fpstorepickup/points')->getPoints($request));
26
  } catch (Mage_Core_Exception $e) {
27
  $response->setError(true);
28
  $response->setMessage($e->getMessage());
app/code/community/FermoPoint/StorePickup/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <FermoPoint_StorePickup>
5
- <version>1.2.1</version>
6
  </FermoPoint_StorePickup>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <FermoPoint_StorePickup>
5
+ <version>1.2.2</version>
6
  </FermoPoint_StorePickup>
7
  </modules>
8
  <global>
app/design/frontend/base/default/template/fpstorepickup/firecheckout/onepage/billing/js.phtml CHANGED
@@ -4,14 +4,14 @@
4
  '<?php echo Mage::helper('fpstorepickup')->getChangeMethodUrl(); ?>',
5
  '<?php echo Mage::helper('fpstorepickup')->getSearchUrl(); ?>',
6
  '<?php echo Mage::helper('fpstorepickup')->getMediaUrl(); ?>',
7
- function (point, idx) {
8
  var days = [];
9
  for (var i = 0; i < point.hours.length; i++) {
10
  days.push('<span class="dow">' + point.hours[i].day + '</span>' + point.hours[i].hours.join(', '));
11
  }
12
  return '<div class="fermopoint-info-window">' +
13
  '<div class="fermopoint-info-row title">' + point.name + '</div>' +
14
- '<div class="fermopoint-info-row select"><a class="fermopoint-select-me" rel="' + idx + '" href="#">' + Translator.translate('Select this pick-up point') + '</a></div>' +
15
  '<div class="fermopoint-info-row"></div>' +
16
  '<div class="fermopoint-info-row address">' + point.street + ', ' + point.city + ', ' + point.postcode + ', ' + point.region + '</div>' +
17
  '<div class="fermopoint-info-row distance"><strong>' + Translator.translate('Distance') + ': </strong>' + point.distance + ' km </div>' +
4
  '<?php echo Mage::helper('fpstorepickup')->getChangeMethodUrl(); ?>',
5
  '<?php echo Mage::helper('fpstorepickup')->getSearchUrl(); ?>',
6
  '<?php echo Mage::helper('fpstorepickup')->getMediaUrl(); ?>',
7
+ function (point) {
8
  var days = [];
9
  for (var i = 0; i < point.hours.length; i++) {
10
  days.push('<span class="dow">' + point.hours[i].day + '</span>' + point.hours[i].hours.join(', '));
11
  }
12
  return '<div class="fermopoint-info-window">' +
13
  '<div class="fermopoint-info-row title">' + point.name + '</div>' +
14
+ '<div class="fermopoint-info-row select"><a class="fermopoint-select-me" rel="' + point.id + '" href="#">' + Translator.translate('Select this pick-up point') + '</a></div>' +
15
  '<div class="fermopoint-info-row"></div>' +
16
  '<div class="fermopoint-info-row address">' + point.street + ', ' + point.city + ', ' + point.postcode + ', ' + point.region + '</div>' +
17
  '<div class="fermopoint-info-row distance"><strong>' + Translator.translate('Distance') + ': </strong>' + point.distance + ' km </div>' +
app/design/frontend/base/default/template/fpstorepickup/map.phtml CHANGED
@@ -7,16 +7,18 @@
7
  <div class="address">
8
  <div class="fermopoint-address">
9
  <input type="text" id="fermopoint_search_address" value="<?php echo $this->htmlEscape($this->getBillingAddress()) ?>" size="50" />
10
- <label for="fermopoint_search_radius"><?php echo $this->__('Radius') ?></label>
11
- <select id="fermopoint_search_radius">
12
- <option value="1">1 km</option>
13
- <option value="5">5 km</option>
14
- <option value="10">10 km</option>
15
- <option value="20">20 km</option>
16
- <option value="30">30 km</option>
17
- <option value="50">50 km</option>
18
- <option value="100" selected="selected">100 km</option>
19
- </select>
 
 
20
  </div>
21
  <div class="fermopoint-search">
22
  <button id="fermopoint_search" class="button"><span><span><?php echo $this->__('Search') ?></span></span></button>
@@ -113,10 +115,11 @@
113
  };
114
  fpStorePickup.onSearchEnd = function (points, error) {
115
  $('fermopoint_search').removeClassName('in-progress').removeClassName('disabled');
116
- if (! error && ! points.length)
117
  setTimeout(function () {
118
  alert('<?php echo $this->__('No points found around given location') ?>');
119
  }, 1);
 
120
  };
121
  fpStorePickup.onSelectPoint = function (point) {
122
  $('fermopoint_point').show();
7
  <div class="address">
8
  <div class="fermopoint-address">
9
  <input type="text" id="fermopoint_search_address" value="<?php echo $this->htmlEscape($this->getBillingAddress()) ?>" size="50" />
10
+ <div style="display:none">
11
+ <label for="fermopoint_search_radius"><?php echo $this->__('Radius') ?></label>
12
+ <select id="fermopoint_search_radius">
13
+ <option value="1">1 km</option>
14
+ <option value="5">5 km</option>
15
+ <option value="10">10 km</option>
16
+ <option value="20">20 km</option>
17
+ <option value="30">30 km</option>
18
+ <option value="50">50 km</option>
19
+ <option value="100" selected="selected">100 km</option>
20
+ </select>
21
+ </div>
22
  </div>
23
  <div class="fermopoint-search">
24
  <button id="fermopoint_search" class="button"><span><span><?php echo $this->__('Search') ?></span></span></button>
115
  };
116
  fpStorePickup.onSearchEnd = function (points, error) {
117
  $('fermopoint_search').removeClassName('in-progress').removeClassName('disabled');
118
+ /*if (! error && ! points.length)
119
  setTimeout(function () {
120
  alert('<?php echo $this->__('No points found around given location') ?>');
121
  }, 1);
122
+ */
123
  };
124
  fpStorePickup.onSelectPoint = function (point) {
125
  $('fermopoint_point').show();
js/fermopoint/storepickup.js CHANGED
@@ -9,7 +9,6 @@ FermopointStorePickup.prototype = {
9
 
10
  this.error = false;
11
  this.points = [];
12
- this.markers = [];
13
  this.location = null;
14
  this.map = null;
15
  this.clusterer = null;
@@ -165,7 +164,7 @@ FermopointStorePickup.prototype = {
165
  var i,
166
  bounds;
167
 
168
- if ( ! this.markers.length)
169
  return;
170
 
171
  bounds = new google.maps.LatLngBounds();
@@ -173,25 +172,24 @@ FermopointStorePickup.prototype = {
173
  if (this.location)
174
  bounds.extend(this.location.getPosition());
175
 
176
- for (i = 0; i < this.markers.length; i++)
177
- bounds.extend(this.markers[i].getPosition());
178
 
179
  this.map.fitBounds(bounds);
180
  },
181
 
182
- showPointInfo: function (marker, idx) {
183
- var point = this.points[idx],
184
- days = [],
185
  content;
186
  for (var i = 0; i < point.hours.length; i++) {
187
  days.push('<span class="dow">' + point.hours[i].day + '</span>' + point.hours[i].hours.join(', '));
188
  }
189
  if (typeof this.infoCallback === 'function')
190
- content = this.infoCallback(point, idx);
191
  else
192
  content = '<div class="fermopoint-info-window">' +
193
  '<div class="fermopoint-info-row title">' + point.name + '</div>' +
194
- '<div class="fermopoint-info-row select"><a class="fermopoint-select-me" rel="' + idx + '" href="#">' + Translator.translate('Select this pick-up point') + '</a></div>' +
195
  '<div class="fermopoint-info-row"></div>' +
196
  '<div class="fermopoint-info-row distance"><strong>' + Translator.translate('Distance') + ': </strong>' + point.distance + ' km </div>' +
197
  '<div class="fermopoint-info-row contact"><strong>' + Translator.translate('Contact') + ': </strong>' + point.contact + '</div>'+
@@ -201,43 +199,54 @@ FermopointStorePickup.prototype = {
201
  this.infoWindow.setContent(content);
202
  this.infoWindow.open(this.map, marker);
203
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
 
205
  setPoints: function (points) {
206
- var i, marker, point, caller = this;
207
- for (i = 0; i < this.markers.length; i++)
208
- this.markers[i].setMap(null);
209
 
210
  this.clusterer.clearMarkers();
211
- this.markers.length = 0;
212
 
213
  this.points = points;
214
  if ( ! this.points.length)
215
  return;
216
 
 
217
  for (i = 0; i < this.points.length; i++) {
218
  point = this.points[i];
219
- marker = new google.maps.Marker({
220
- position: new google.maps.LatLng(point.latitude, point.longitude),
221
- map: this.map,
222
- icon: this.mediaUrl + 'marker_point.png'
223
- });
224
- google.maps.event.addListener(marker, 'click', (function(marker, i) {
225
- return function () {
226
- caller.showPointInfo(marker, i);
227
- }
228
- })(marker, i));
229
- this.markers.push(marker);
230
  }
231
 
232
- this.clusterer.addMarkers(this.markers);
233
 
234
- this.rebound();
235
  },
236
 
237
- choosePoint: function (idx) {
238
  this.infoWindow.close();
239
  if (typeof(this.onSelectPoint) === 'function')
240
- this.onSelectPoint.call(this, this.points[idx]);
 
 
241
  },
242
 
243
  initMap: function (container) {
@@ -274,20 +283,54 @@ FermopointStorePickup.prototype = {
274
  url: this.mediaUrl + 'cluster4.png'
275
  }]
276
  });
277
-
 
 
278
  if (typeof(this.onInit) === 'function')
279
  this.onInit.call(this);
280
  },
281
 
282
  setLocation: function (lat, lng) {
 
283
  if (this.location)
284
  this.location.setMap(null);
285
  this.location = new google.maps.Marker({
286
- position: new google.maps.LatLng(lat, lng),
287
  map: this.map
288
  });
 
 
 
 
 
 
 
 
 
 
 
 
289
 
290
- this.rebound();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
291
  },
292
 
293
  search: function (address, radius) {
@@ -321,7 +364,6 @@ FermopointStorePickup.prototype = {
321
  }
322
 
323
  caller.setLocation(json.latitude, json.longitude);
324
- caller.setPoints(json.points);
325
  }
326
  });
327
  },
9
 
10
  this.error = false;
11
  this.points = [];
 
12
  this.location = null;
13
  this.map = null;
14
  this.clusterer = null;
164
  var i,
165
  bounds;
166
 
167
+ if ( ! this.points.length)
168
  return;
169
 
170
  bounds = new google.maps.LatLngBounds();
172
  if (this.location)
173
  bounds.extend(this.location.getPosition());
174
 
175
+ for (i = 0; i < this.points.length; i++)
176
+ bounds.extend(this.points[i].marker.getPosition());
177
 
178
  this.map.fitBounds(bounds);
179
  },
180
 
181
+ showPointInfo: function (marker, point) {
182
+ var days = [],
 
183
  content;
184
  for (var i = 0; i < point.hours.length; i++) {
185
  days.push('<span class="dow">' + point.hours[i].day + '</span>' + point.hours[i].hours.join(', '));
186
  }
187
  if (typeof this.infoCallback === 'function')
188
+ content = this.infoCallback(point);
189
  else
190
  content = '<div class="fermopoint-info-window">' +
191
  '<div class="fermopoint-info-row title">' + point.name + '</div>' +
192
+ '<div class="fermopoint-info-row select"><a class="fermopoint-select-me" rel="' + point.id + '" href="#">' + Translator.translate('Select this pick-up point') + '</a></div>' +
193
  '<div class="fermopoint-info-row"></div>' +
194
  '<div class="fermopoint-info-row distance"><strong>' + Translator.translate('Distance') + ': </strong>' + point.distance + ' km </div>' +
195
  '<div class="fermopoint-info-row contact"><strong>' + Translator.translate('Contact') + ': </strong>' + point.contact + '</div>'+
199
  this.infoWindow.setContent(content);
200
  this.infoWindow.open(this.map, marker);
201
  },
202
+
203
+ calcDistance: function(p1, p2) {
204
+ return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(2);
205
+ },
206
+
207
+ addMarker: function (point) {
208
+ var caller = this,
209
+ marker = new google.maps.Marker({
210
+ position: new google.maps.LatLng(point.latitude, point.longitude),
211
+ map: this.map,
212
+ icon: this.mediaUrl + 'marker_point.png'
213
+ });
214
+ google.maps.event.addListener(marker, 'click', function () {
215
+ caller.showPointInfo(marker, point);
216
+ });
217
+ return marker;
218
+ },
219
 
220
  setPoints: function (points) {
221
+ var i, point, markers, marker;
222
+ for (i = 0; i < this.points.length; i++)
223
+ this.points[i].marker.setMap(null);
224
 
225
  this.clusterer.clearMarkers();
 
226
 
227
  this.points = points;
228
  if ( ! this.points.length)
229
  return;
230
 
231
+ markers = [];
232
  for (i = 0; i < this.points.length; i++) {
233
  point = this.points[i];
234
+ marker = this.addMarker(point);
235
+ this.points[i].marker = marker;
236
+ markers.push(marker);
 
 
 
 
 
 
 
 
237
  }
238
 
239
+ this.clusterer.addMarkers(markers);
240
 
241
+ //this.rebound();
242
  },
243
 
244
+ choosePoint: function (id) {
245
  this.infoWindow.close();
246
  if (typeof(this.onSelectPoint) === 'function')
247
+ for (var i = 0; i < this.points.length; i++)
248
+ if (this.points[i].id == id)
249
+ this.onSelectPoint.call(this, this.points[i]);
250
  },
251
 
252
  initMap: function (container) {
283
  url: this.mediaUrl + 'cluster4.png'
284
  }]
285
  });
286
+
287
+ this.searchBounds(41.9000, 12.4833, 5000);
288
+
289
  if (typeof(this.onInit) === 'function')
290
  this.onInit.call(this);
291
  },
292
 
293
  setLocation: function (lat, lng) {
294
+ var position = new google.maps.LatLng(lat, lng);
295
  if (this.location)
296
  this.location.setMap(null);
297
  this.location = new google.maps.Marker({
298
+ position: position,
299
  map: this.map
300
  });
301
+ this.map.setCenter(position);
302
+ this.map.setZoom(12);
303
+
304
+ //this.rebound();
305
+ },
306
+
307
+ searchBounds: function (latitude, longitude, radius) {
308
+ var url = this.searchUrl,
309
+ caller = this;
310
+
311
+ if (typeof(this.onSearchStart) === 'function')
312
+ this.onSearchStart.call(this);
313
 
314
+ new Ajax.Request(url, {
315
+ parameters: {
316
+ latitude: latitude,
317
+ longitude: longitude,
318
+ radius: radius
319
+ },
320
+ onComplete: function () {
321
+ if (typeof(caller.onSearchEnd) === 'function')
322
+ caller.onSearchEnd.call(caller, caller.points, caller.error);
323
+ },
324
+ onSuccess: function(transport) {
325
+ var json = transport.responseText.evalJSON();
326
+ caller.error = json.error;
327
+
328
+ if (json.error)
329
+ return;
330
+
331
+ caller.setPoints(json.points);
332
+ }
333
+ });
334
  },
335
 
336
  search: function (address, radius) {
364
  }
365
 
366
  caller.setLocation(json.latitude, json.longitude);
 
367
  }
368
  });
369
  },
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>fermopoint</name>
4
- <version>1.2.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Module for integrating Fermo!Points collecting points system.</description>
11
  <notes>* Some improvements</notes>
12
  <authors><author><name>Fermo!Point</name><user>fermopoint</user><email>support@fermopoint.it</email></author></authors>
13
- <date>2015-10-20</date>
14
- <time>06:37:12</time>
15
- <contents><target name="magecommunity"><dir name="FermoPoint"><dir name="StorePickup"><dir><dir name="Block"><dir name="Adminhtml"><dir name="Configuration"><file name="Disabled.php" hash="27fc2af187259bddd66552c84231f5f5"/><file name="Manual.php" hash="132e7c4a9f89ad71dccb4ce1b2c4c242"/></dir><dir name="Remote"><dir name="Grid"><dir name="Renderer"><file name="Notes.php" hash="0d3427070e683a438abdabc1926cf316"/></dir></dir><file name="Grid.php" hash="9dcea09a45c0dabe2931380a20a97b9b"/></dir><file name="Remote.php" hash="71367be2fb6723af4ff91b8207209ab0"/><file name="Stats.php" hash="e5f884c631ab63546570ab35e0a8336c"/></dir><dir name="Checkout"><dir name="Billing"><file name="Js.php" hash="6be3156e2bb484852a9d5b0e9aa7eee2"/><file name="Radio.php" hash="6839fed605f95a79537e09467a578e58"/></dir><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="aa8e5a31eb2ce85672e0f8aa290b4759"/></dir><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="59f7cea723940a81ab4a849b0dccca4f"/></dir></dir></dir></dir><dir name="FireCheckout"><dir name="Billing"><file name="Js.php" hash="dc5d3d07ad298c28a0651d6c090d7ef6"/><file name="Radio.php" hash="d85b3da0d7755b3e272a1102325815bf"/></dir><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="aa8e5a31eb2ce85672e0f8aa290b4759"/></dir><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="dc6592a6ed82b51a6eb8e44272a6248d"/></dir></dir></dir></dir><file name="Map.php" hash="546a20b5c8477952392fdf7d90635e04"/></dir><dir name="Helper"><file name="Config.php" hash="976bccea81cde416e6c7ccdecbc174ee"/><file name="Data.php" hash="2cf93d2c91bdb35f6b69a6850358365c"/></dir><dir name="Model"><dir name="Api"><file name="OrderCollection.php" hash="f43b08d838be60a4e923fd8e3373356f"/><file name="SearchData.php" hash="97543705dfb6ff16c64761d566ff30f7"/></dir><file name="Api.php" hash="ea72b53b180c5d9a9e44f40bc413e881"/><dir name="Carrier"><file name="Storepickup.php" hash="fe1eba536223f737c90b6ee1019d89e8"/></dir><file name="GoogleMaps.php" hash="57e207c865f97f5eb7c2832862a052d1"/><file name="Observer.php" hash="c7403a99deffd0cabc38bc64c274e417"/><dir name="Order"><file name="Point.php" hash="e5d033a2ee6add18f52bd0068102b22f"/></dir><file name="Point.php" hash="b5924ba282ad76dffc269b9c13b823f9"/><file name="Points.php" hash="37f236eabd20c5f91dc6958b600d5d21"/><dir name="Resource"><dir name="Order"><dir name="Point"><file name="Collection.php" hash="294427a66e6588ec4a5ef9af18eecd01"/></dir><file name="Point.php" hash="6c02668768be696fa833bab39fe3f9db"/></dir><dir name="Point"><file name="Collection.php" hash="9745e0182402f72ee43ce6cd7834afce"/></dir><file name="Point.php" hash="6b8e4a20dbda96bdf1c71bf56fcf8c31"/></dir><dir name="Source"><file name="Payment.php" hash="2a2213f3b7832f8891d147015c0361cd"/><file name="Selectorpayment.php" hash="8448ba93eb8ebe2c25eeeef100ff47f9"/><file name="State.php" hash="6a3f558509964600aa9491fbc7b5a15d"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="RemoteController.php" hash="1572704560ae35965d184bfa25fef23c"/></dir><file name="IndexController.php" hash="339258a7f63260b5dfa7706058d08c5d"/><file name="ValidateController.php" hash="81869825387f94dfaa8475408edf054f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="f790d0329024eba67a9018fd782a763a"/><file name="config.xml" hash="eba098a2b77f0cc8fb2829d4a40cd4c9"/><file name="jstranslator.xml" hash="f6340ca99cf070450e94d3f0c8f86da2"/><file name="system.xml" hash="4585c331972160f8c6f9d26f2bb36476"/></dir><dir name="sql"><dir name="fpstorepickup_setup"><file name="mysql4-install-1.0.0.php" hash="c48472469c87f9975c4b203715e0137c"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="4801c11b1c8698ecbf9b4d857b055c33"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="21b100d87f0d3820e6317774c5ed273d"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="a120ae850a03a56010cf9576715beabd"/></dir></dir></dir><file name="Exception.php" hash="5d30b0aa037248c2709775c8485d5fff"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="fpstorepickup.xml" hash="e753271157b0dfbba46396a5046efdee"/></dir><dir name="template"><dir name="fpstorepickup"><file name="stats.phtml" hash="977cf97e8e340abdc86825c4e853195c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="fpstorepickup.xml" hash="ba7e537b0d17993a5cc7ab95765296ad"/></dir><dir name="template"><dir name="fpstorepickup"><dir><dir name="checkout"><dir name="onepage"><dir name="billing"><file name="js.phtml" hash="0d0d4fa1a2a807ececff43ffad03e322"/><file name="radio.phtml" hash="975e2309308ae63914aa16b9ad81ea47"/></dir></dir></dir><dir name="firecheckout"><dir name="onepage"><dir name="billing"><file name="js.phtml" hash="0f6cf600a3ceec97b94f85c3b52a9c68"/><file name="radio.phtml" hash="a40fd64f5cdd9e35dcd4d8997cf22b13"/></dir></dir></dir></dir><file name="map.phtml" hash="1749388c6101314b73939c7a0c47983c"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="app"><dir name="etc"><dir name="modules"><file name="FermoPoint_StorePickup.xml" hash="88569786925f04dade3952d7951f0fca"/></dir></dir></dir><dir name="js"><dir name="fermopoint"><file name="firecheckout.js" hash="c573c6f2f7a05998a9ed17c59bed749c"/><file name="markerclusterer.js" hash="b623ac6d39ea8ed99d179db49b7b0bab"/><file name="storepickup.js" hash="d69054fc484ec4da120b2602adeb3323"/></dir></dir><dir name="media"><dir name="fermopoint"><file name="cluster1.png" hash="545e7decba75c26883195707a1caf453"/><file name="cluster2.png" hash="1a2554261502135f8699081f7b7dfc15"/><file name="cluster3.png" hash="381dc5802ac150d868bab1edee7cba6c"/><file name="cluster4.png" hash="5fad1a5d344e178f587c759d9466a937"/><file name="marker_location.png" hash="000a6513abbe2c9683b19f49873710c5"/><file name="marker_point.png" hash="9b4dd5a4dd6ace99004ee529a9097de8"/></dir></dir></target><target name="magelocale"><dir name="it_IT"><file name="FermoPoint_StorePickup.csv" hash="cbaa015c86386833206af782606b37aa"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="fermopoint"><dir name="css"><file name="storepickup.css" hash="c7b2d42d974a3c19bc447925fc8222e0"/></dir><dir name="images"><file name="opc-ajax-loader.gif" hash="e805ea7eca1f34c75ba0f93780d32d38"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>fermopoint</name>
4
+ <version>1.2.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
10
  <description>Module for integrating Fermo!Points collecting points system.</description>
11
  <notes>* Some improvements</notes>
12
  <authors><author><name>Fermo!Point</name><user>fermopoint</user><email>support@fermopoint.it</email></author></authors>
13
+ <date>2015-11-03</date>
14
+ <time>06:16:48</time>
15
+ <contents><target name="magecommunity"><dir name="FermoPoint"><dir name="StorePickup"><dir><dir name="Block"><dir name="Adminhtml"><dir name="Configuration"><file name="Disabled.php" hash="27fc2af187259bddd66552c84231f5f5"/><file name="Manual.php" hash="132e7c4a9f89ad71dccb4ce1b2c4c242"/></dir><dir name="Remote"><dir name="Grid"><dir name="Renderer"><file name="Notes.php" hash="0d3427070e683a438abdabc1926cf316"/></dir></dir><file name="Grid.php" hash="9dcea09a45c0dabe2931380a20a97b9b"/></dir><file name="Remote.php" hash="71367be2fb6723af4ff91b8207209ab0"/><file name="Stats.php" hash="e5f884c631ab63546570ab35e0a8336c"/></dir><dir name="Checkout"><dir name="Billing"><file name="Js.php" hash="6be3156e2bb484852a9d5b0e9aa7eee2"/><file name="Radio.php" hash="6839fed605f95a79537e09467a578e58"/></dir><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="aa8e5a31eb2ce85672e0f8aa290b4759"/></dir><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="59f7cea723940a81ab4a849b0dccca4f"/></dir></dir></dir></dir><dir name="FireCheckout"><dir name="Billing"><file name="Js.php" hash="dc5d3d07ad298c28a0651d6c090d7ef6"/><file name="Radio.php" hash="d85b3da0d7755b3e272a1102325815bf"/></dir><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="aa8e5a31eb2ce85672e0f8aa290b4759"/></dir><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="dc6592a6ed82b51a6eb8e44272a6248d"/></dir></dir></dir></dir><file name="Map.php" hash="4d6c24521489ea192bc1f0c0d3cbaf26"/></dir><dir name="Helper"><file name="Config.php" hash="976bccea81cde416e6c7ccdecbc174ee"/><file name="Data.php" hash="2cf93d2c91bdb35f6b69a6850358365c"/></dir><dir name="Model"><dir name="Api"><file name="OrderCollection.php" hash="f43b08d838be60a4e923fd8e3373356f"/><file name="SearchData.php" hash="ccbba430222bdfd145db0536914c7cc3"/></dir><file name="Api.php" hash="ea72b53b180c5d9a9e44f40bc413e881"/><dir name="Carrier"><file name="Storepickup.php" hash="fe1eba536223f737c90b6ee1019d89e8"/></dir><file name="GoogleMaps.php" hash="57e207c865f97f5eb7c2832862a052d1"/><file name="Observer.php" hash="c7403a99deffd0cabc38bc64c274e417"/><dir name="Order"><file name="Point.php" hash="e5d033a2ee6add18f52bd0068102b22f"/></dir><file name="Point.php" hash="b5924ba282ad76dffc269b9c13b823f9"/><file name="Points.php" hash="37f236eabd20c5f91dc6958b600d5d21"/><dir name="Resource"><dir name="Order"><dir name="Point"><file name="Collection.php" hash="294427a66e6588ec4a5ef9af18eecd01"/></dir><file name="Point.php" hash="6c02668768be696fa833bab39fe3f9db"/></dir><dir name="Point"><file name="Collection.php" hash="9745e0182402f72ee43ce6cd7834afce"/></dir><file name="Point.php" hash="6b8e4a20dbda96bdf1c71bf56fcf8c31"/></dir><dir name="Source"><file name="Payment.php" hash="2a2213f3b7832f8891d147015c0361cd"/><file name="Selectorpayment.php" hash="8448ba93eb8ebe2c25eeeef100ff47f9"/><file name="State.php" hash="6a3f558509964600aa9491fbc7b5a15d"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="RemoteController.php" hash="1572704560ae35965d184bfa25fef23c"/></dir><file name="IndexController.php" hash="c35f79f12a2d78a38fd6b3cfa81f50ee"/><file name="ValidateController.php" hash="81869825387f94dfaa8475408edf054f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="f790d0329024eba67a9018fd782a763a"/><file name="config.xml" hash="ab4306923fbc94f25bc2f6844edbdcbb"/><file name="jstranslator.xml" hash="f6340ca99cf070450e94d3f0c8f86da2"/><file name="system.xml" hash="4585c331972160f8c6f9d26f2bb36476"/></dir><dir name="sql"><dir name="fpstorepickup_setup"><file name="mysql4-install-1.0.0.php" hash="c48472469c87f9975c4b203715e0137c"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="4801c11b1c8698ecbf9b4d857b055c33"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="21b100d87f0d3820e6317774c5ed273d"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="a120ae850a03a56010cf9576715beabd"/></dir></dir></dir><file name="Exception.php" hash="5d30b0aa037248c2709775c8485d5fff"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="fpstorepickup.xml" hash="e753271157b0dfbba46396a5046efdee"/></dir><dir name="template"><dir name="fpstorepickup"><file name="stats.phtml" hash="977cf97e8e340abdc86825c4e853195c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="fpstorepickup.xml" hash="ba7e537b0d17993a5cc7ab95765296ad"/></dir><dir name="template"><dir name="fpstorepickup"><dir><dir name="checkout"><dir name="onepage"><dir name="billing"><file name="js.phtml" hash="0d0d4fa1a2a807ececff43ffad03e322"/><file name="radio.phtml" hash="975e2309308ae63914aa16b9ad81ea47"/></dir></dir></dir><dir name="firecheckout"><dir name="onepage"><dir name="billing"><file name="js.phtml" hash="b5127c0c43885449bd5e65ffa54f0bc1"/><file name="radio.phtml" hash="a40fd64f5cdd9e35dcd4d8997cf22b13"/></dir></dir></dir></dir><file name="map.phtml" hash="95bb4272fdf10e69c3b96ff50e9945d7"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="app"><dir name="etc"><dir name="modules"><file name="FermoPoint_StorePickup.xml" hash="88569786925f04dade3952d7951f0fca"/></dir></dir></dir><dir name="js"><dir name="fermopoint"><file name="firecheckout.js" hash="c573c6f2f7a05998a9ed17c59bed749c"/><file name="markerclusterer.js" hash="b623ac6d39ea8ed99d179db49b7b0bab"/><file name="storepickup.js" hash="7c68b80b15c193c27c10750d32067cd1"/></dir></dir><dir name="media"><dir name="fermopoint"><file name="cluster1.png" hash="545e7decba75c26883195707a1caf453"/><file name="cluster2.png" hash="1a2554261502135f8699081f7b7dfc15"/><file name="cluster3.png" hash="381dc5802ac150d868bab1edee7cba6c"/><file name="cluster4.png" hash="5fad1a5d344e178f587c759d9466a937"/><file name="marker_location.png" hash="000a6513abbe2c9683b19f49873710c5"/><file name="marker_point.png" hash="9b4dd5a4dd6ace99004ee529a9097de8"/></dir></dir></target><target name="magelocale"><dir name="it_IT"><file name="FermoPoint_StorePickup.csv" hash="cbaa015c86386833206af782606b37aa"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="fermopoint"><dir name="css"><file name="storepickup.css" hash="c7b2d42d974a3c19bc447925fc8222e0"/></dir><dir name="images"><file name="opc-ajax-loader.gif" hash="e805ea7eca1f34c75ba0f93780d32d38"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>