AJAX_ZOOM - Version 1.0.7

Version Notes

Minor bugfixes

Download this release

Release Info

Developer AJAX-ZOOM
Extension AJAX_ZOOM
Version 1.0.7
Comparing to
See all releases


Code changes from version 1.0.6 to 1.0.7

app/code/local/Ax/Zoom/controllers/IndexController.php CHANGED
@@ -3,9 +3,9 @@
3
  * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/controllers/IndexController.php
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
- * Version: 1.0.0
7
- * Date: 2015-09-08
8
- * Review: 2015-09-08
9
  * URL: http://www.ajax-zoom.com
10
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
11
  *
@@ -232,15 +232,17 @@ class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
232
  'status' => '1'
233
  ));
234
 
 
 
235
  if (count($data['folders']) == 0) { // files (360)
236
- $this->copyImages($productId, $id360, $id360set, $dst);
237
  } elseif (count($data['folders']) == 1) { // 1 folder (360)
238
- $this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0]);
239
  } else { // 3d
240
- $this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0]);
241
  for ($i=1; $i < count($data['folders']); $i++) {
242
  $id360set = Mage::getModel('axzoom/ax360set')->setData(array('id_360' => $id360, 'sort_order' => 0))->save()->getId();
243
- $this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][$i]);
244
 
245
  $sets[] = array(
246
  'name' => $name,
@@ -312,7 +314,7 @@ class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
312
  );
313
  }
314
 
315
- public function copyImages($productId, $id360, $id360set, $path)
316
  {
317
  $files = $this->getFilesFromFolder($path);
318
  $folder = $this->createProduct360Folder($productId, $id360set);
@@ -323,7 +325,12 @@ class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
323
  $tmp = explode('.', $name);
324
  $ext = end($tmp);
325
  $dst = $folder . '/' . $name;
326
- if(@!rename($path.'/'.$file, $dst)) {
 
 
 
 
 
327
  copy($path.'/'.$file, $dst);
328
  }
329
  }
3
  * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/controllers/IndexController.php
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
+ * Version: 1.0.7
7
+ * Date: 2015-11-15
8
+ * Review: 2015-11-15
9
  * URL: http://www.ajax-zoom.com
10
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
11
  *
232
  'status' => '1'
233
  ));
234
 
235
+ $move = is_dir($path) ? false : true;
236
+
237
  if (count($data['folders']) == 0) { // files (360)
238
+ $this->copyImages($productId, $id360, $id360set, $dst, $move);
239
  } elseif (count($data['folders']) == 1) { // 1 folder (360)
240
+ $this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0], $move);
241
  } else { // 3d
242
+ $this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0], $move);
243
  for ($i=1; $i < count($data['folders']); $i++) {
244
  $id360set = Mage::getModel('axzoom/ax360set')->setData(array('id_360' => $id360, 'sort_order' => 0))->save()->getId();
245
+ $this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][$i], $move);
246
 
247
  $sets[] = array(
248
  'name' => $name,
314
  );
315
  }
316
 
317
+ public function copyImages($productId, $id360, $id360set, $path, $move)
318
  {
319
  $files = $this->getFilesFromFolder($path);
320
  $folder = $this->createProduct360Folder($productId, $id360set);
325
  $tmp = explode('.', $name);
326
  $ext = end($tmp);
327
  $dst = $folder . '/' . $name;
328
+
329
+ if($move) {
330
+ if(@!rename($path.'/'.$file, $dst)) {
331
+ copy($path.'/'.$file, $dst);
332
+ }
333
+ } else {
334
  copy($path.'/'.$file, $dst);
335
  }
336
  }
app/code/local/Ax/Zoom/etc/config.xml CHANGED
@@ -4,9 +4,9 @@
4
  * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/config.xml
5
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
6
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
7
- * Version: 1.0.6
8
- * Date: 2015-10-26
9
- * Review: 2015-10-26
10
  * URL: http://www.ajax-zoom.com
11
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
  *
@@ -15,11 +15,12 @@
15
  * @license http://www.ajax-zoom.com/index.php?cid=download
16
  */
17
  -->
 
18
  <config>
19
 
20
  <modules>
21
  <Ax_Zoom>
22
- <version>1.0.6</version>
23
  </Ax_Zoom>
24
  </modules>
25
 
@@ -520,6 +521,7 @@
520
  <magento>
521
  <magentoAllImagesStart>false</magentoAllImagesStart>
522
  <magentoNoImage>false</magentoNoImage>
 
523
  </magento>
524
  </axzoom_options>
525
  </default>
4
  * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/config.xml
5
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
6
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
7
+ * Version: 1.0.7
8
+ * Date: 2015-11-15
9
+ * Review: 2015-11-15
10
  * URL: http://www.ajax-zoom.com
11
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
  *
15
  * @license http://www.ajax-zoom.com/index.php?cid=download
16
  */
17
  -->
18
+
19
  <config>
20
 
21
  <modules>
22
  <Ax_Zoom>
23
+ <version>1.0.7</version>
24
  </Ax_Zoom>
25
  </modules>
26
 
521
  <magento>
522
  <magentoAllImagesStart>false</magentoAllImagesStart>
523
  <magentoNoImage>false</magentoNoImage>
524
+ <magentoAdminThumb>false</magentoAdminThumb>
525
  </magento>
526
  </axzoom_options>
527
  </default>
app/code/local/Ax/Zoom/etc/system.xml CHANGED
@@ -1377,7 +1377,7 @@
1377
  <comment>Load all images independent on label (color), also from "Simple Products" which are bind to Configurable Product on start.</comment>
1378
  <frontend_type>select</frontend_type>
1379
  <source_model>axzoom/yesno</source_model>
1380
- <sort_order>1</sort_order>
1381
  <show_in_default>1</show_in_default>
1382
  <show_in_website>1</show_in_website>
1383
  <show_in_store>1</show_in_store>
@@ -1387,12 +1387,21 @@
1387
  <comment>Show magento no image available, if no AJAX-ZOOM no image available will be shown</comment>
1388
  <frontend_type>select</frontend_type>
1389
  <source_model>axzoom/yesno</source_model>
1390
- <sort_order>2</sort_order>
1391
  <show_in_default>1</show_in_default>
1392
  <show_in_website>1</show_in_website>
1393
  <show_in_store>1</show_in_store>
1394
  </magentoNoImage>
1395
-
 
 
 
 
 
 
 
 
 
1396
  </fields>
1397
  </magento>
1398
 
@@ -1408,7 +1417,7 @@
1408
  <label>displayOnlyForThisProductID</label>
1409
  <comment>CSV with product IDs for which AJAX-ZOOM will be only enabled. Leave blank to have it enabled for all products! This option can be usefull e.g. if you want to make A/B tests and enable AJAX-ZOOM only for certain products, e.g. 7,15 would enable AJAX-ZOOM only for products with ID 7 and 15</comment>
1410
  <frontend_type>textarea</frontend_type>
1411
- <sort_order>47</sort_order>
1412
  <show_in_default>1</show_in_default>
1413
  <show_in_website>1</show_in_website>
1414
  <show_in_store>1</show_in_store>
1377
  <comment>Load all images independent on label (color), also from "Simple Products" which are bind to Configurable Product on start.</comment>
1378
  <frontend_type>select</frontend_type>
1379
  <source_model>axzoom/yesno</source_model>
1380
+ <sort_order>10</sort_order>
1381
  <show_in_default>1</show_in_default>
1382
  <show_in_website>1</show_in_website>
1383
  <show_in_store>1</show_in_store>
1387
  <comment>Show magento no image available, if no AJAX-ZOOM no image available will be shown</comment>
1388
  <frontend_type>select</frontend_type>
1389
  <source_model>axzoom/yesno</source_model>
1390
+ <sort_order>20</sort_order>
1391
  <show_in_default>1</show_in_default>
1392
  <show_in_website>1</show_in_website>
1393
  <show_in_store>1</show_in_store>
1394
  </magentoNoImage>
1395
+ <magentoAdminThumb>
1396
+ <label>magentoAdminThumb</label>
1397
+ <comment>Replace normal images in admin area with dynamically generated thumbs of these images</comment>
1398
+ <frontend_type>select</frontend_type>
1399
+ <source_model>axzoom/yesno</source_model>
1400
+ <sort_order>30</sort_order>
1401
+ <show_in_default>1</show_in_default>
1402
+ <show_in_website>1</show_in_website>
1403
+ <show_in_store>1</show_in_store>
1404
+ </magentoAdminThumb>
1405
  </fields>
1406
  </magento>
1407
 
1417
  <label>displayOnlyForThisProductID</label>
1418
  <comment>CSV with product IDs for which AJAX-ZOOM will be only enabled. Leave blank to have it enabled for all products! This option can be usefull e.g. if you want to make A/B tests and enable AJAX-ZOOM only for certain products, e.g. 7,15 would enable AJAX-ZOOM only for products with ID 7 and 15</comment>
1419
  <frontend_type>textarea</frontend_type>
1420
+ <sort_order>10</sort_order>
1421
  <show_in_default>1</show_in_default>
1422
  <show_in_website>1</show_in_website>
1423
  <show_in_store>1</show_in_store>
app/design/adminhtml/default/default/layout/axzoom.xml CHANGED
@@ -35,7 +35,11 @@
35
  <action method="addJs"><script>axzoom/jquery.fileupload.js</script></action>
36
  <action method="addJs"><script>axzoom/jquery.fileupload-process.js</script></action>
37
  <action method="addJs"><script>axzoom/jquery.fileupload-validate.js</script></action>
38
-
 
 
 
 
39
  </reference>
40
  </adminhtml_catalog_product_edit>
41
  </layout>
35
  <action method="addJs"><script>axzoom/jquery.fileupload.js</script></action>
36
  <action method="addJs"><script>axzoom/jquery.fileupload-process.js</script></action>
37
  <action method="addJs"><script>axzoom/jquery.fileupload-validate.js</script></action>
38
+
39
+ <!-- test
40
+ <action method="addJs"><script>axzoom/jquery.livequery.min.js</script></action>
41
+ -->
42
+
43
  </reference>
44
  </adminhtml_catalog_product_edit>
45
  </layout>
app/design/adminhtml/default/default/template/axzoom/tab.phtml CHANGED
@@ -1,6 +1,6 @@
1
  <!--
2
  /**
3
- * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/axzoom.phtml
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
  * Version: 1.0.4
1
  <!--
2
  /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab.phtml
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
  * Version: 1.0.4
app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml CHANGED
@@ -3,9 +3,9 @@
3
  * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
- * Version: 1.0.4
7
- * Date: 2015-10-26
8
- * Review: 2015-10-26
9
  * URL: http://www.ajax-zoom.com
10
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
11
  *
@@ -21,6 +21,9 @@ $setsGroups = $model->getCollection()->addFieldToFilter('id_product', $productId
21
 
22
  $model = Mage::getModel('axzoom/ax360set');
23
  $sets = $model->getSets($productId);
 
 
 
24
  ?>
25
  <style type="text/css">
26
  .hide {
@@ -164,12 +167,40 @@ $sets = $model->getSets($productId);
164
 
165
  <script>
166
  var id_product = '<?php echo $productId ?>';
167
-
 
 
168
  jQuery(document).ready(function($){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
 
170
  function setLine(id, path, position, legend, status, group_id)
171
  {
172
- line = $("#lineSet").html();
173
  line = line.replace(/set_id/g, id);
174
  line = line.replace(/group_id/g, group_id);
175
  line = line.replace(/legend/g, legend);
@@ -315,11 +346,14 @@ $sets = $model->getSets($productId);
315
 
316
  $('.save_set').click(function (e) {
317
  e.preventDefault();
318
-
 
 
319
  doAdminAjax360('<?php echo Mage::helper("adminhtml")->getUrl("axzoom/index/addSet") ?>', {
320
  "name":$('#set_name').val(),
321
  "existing":$('#existing').val(),
322
  "zip":$('#zip').is(':checked'),
 
323
  "arcfile":$('#arcfile').val(),
324
  "id_product" : <?php echo $productId ?>}, afterAddSet
325
  );
@@ -340,9 +374,11 @@ $sets = $model->getSets($productId);
340
  "id_product" : <?php echo $productId ?>}, afterDeleteSet
341
  );
342
  });
343
-
 
344
  <?php foreach ($sets as $set): ?>
345
  setLine("<?php echo $set['id_360set'] ?>", "<?php echo $set['path'] ?>", "", "<?php echo $set['name'] ?>", "<?php echo $set['status'] ?>", "<?php echo $set['id_360'] ?>");
346
  <?php endforeach; ?>
 
347
  });
348
  </script>
3
  * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
+ * Version: 1.0.7
7
+ * Date: 2015-11-15
8
+ * Review: 2015-11-15
9
  * URL: http://www.ajax-zoom.com
10
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
11
  *
21
 
22
  $model = Mage::getModel('axzoom/ax360set');
23
  $sets = $model->getSets($productId);
24
+
25
+ $conf = Mage::getStoreConfig('axzoom_options');
26
+
27
  ?>
28
  <style type="text/css">
29
  .hide {
167
 
168
  <script>
169
  var id_product = '<?php echo $productId ?>';
170
+ var mediaPath = '<?php echo parse_url(Mage::getBaseUrl('media'))['path'];?>catalog/product';
171
+ var mediaPathTmp = '<?php echo parse_url(Mage::getBaseUrl('media'))['path'];?>tmp/catalog/product';
172
+
173
  jQuery(document).ready(function($){
174
+
175
+ <?php if ($conf['magento']['magentoAdminThumb']): ?>
176
+ setInterval(function(){
177
+ $('tr td:first-child','#media_gallery_content_list').each(function(){
178
+ var el = $(this);
179
+ if ($('img', el).css('display') == 'none'){
180
+ var azImgPath = $('.cell-image input', el.parent()).val();
181
+ if (typeof azImgPath == 'string'){
182
+ if (azImgPath.substring(azImgPath.length - 3) == 'tmp'){
183
+ azImgPath = mediaPathTmp + azImgPath.substring(0, azImgPath.length - 4);
184
+ }else{
185
+ azImgPath = mediaPath + azImgPath;
186
+ }
187
+ $('.place-holder').css({'display': 'none'});
188
+ $('img', el).css({'display': '', 'cursor': 'pointer'})
189
+ .attr('src', '<?php echo Mage::getBaseUrl('js'); ?>axzoom/axZm/zoomLoad.php?azImg='+azImgPath+'&width=100&height=300&qual=90')
190
+ .bind('click', function(){
191
+ window.open(azImgPath);
192
+ })
193
+ }
194
+ }
195
+ });
196
+
197
+ }, 1000);
198
+
199
+ <?php endif; ?>
200
 
201
  function setLine(id, path, position, legend, status, group_id)
202
  {
203
+ var line = $("#lineSet").html();
204
  line = line.replace(/set_id/g, id);
205
  line = line.replace(/group_id/g, group_id);
206
  line = line.replace(/legend/g, legend);
346
 
347
  $('.save_set').click(function (e) {
348
  e.preventDefault();
349
+ if (!$('#set_name').val()){
350
+ $('#set_name').val('no_name_'+(new Date().getTime()));
351
+ }
352
  doAdminAjax360('<?php echo Mage::helper("adminhtml")->getUrl("axzoom/index/addSet") ?>', {
353
  "name":$('#set_name').val(),
354
  "existing":$('#existing').val(),
355
  "zip":$('#zip').is(':checked'),
356
+ "delete":$('#delete').is(':checked'),
357
  "arcfile":$('#arcfile').val(),
358
  "id_product" : <?php echo $productId ?>}, afterAddSet
359
  );
374
  "id_product" : <?php echo $productId ?>}, afterDeleteSet
375
  );
376
  });
377
+
378
+
379
  <?php foreach ($sets as $set): ?>
380
  setLine("<?php echo $set['id_360set'] ?>", "<?php echo $set['path'] ?>", "", "<?php echo $set['name'] ?>", "<?php echo $set['status'] ?>", "<?php echo $set['id_360'] ?>");
381
  <?php endforeach; ?>
382
+
383
  });
384
  </script>
app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml CHANGED
@@ -3,9 +3,9 @@
3
  * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
- * Version: 1.0.4
7
- * Date: 2015-10-26
8
- * Review: 2015-10-26
9
  * URL: http://www.ajax-zoom.com
10
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
11
  *
@@ -153,8 +153,8 @@ if ($product->isConfigurable()) {
153
  <?php endforeach; ?>
154
 
155
  <div class="" style="display: block; margin-top: 10px;">
156
- <?php echo $this->__('Same as with images you can define which 360 should be shown in conjunction with which combinations.') ?>
157
- <?php echo $this->__('If you do not select any this 360 will be shown for all combinations.') ?>
158
  </div>
159
  </td>
160
  </tr>
@@ -288,10 +288,12 @@ jQuery(function ($) {
288
 
289
  $('.comb-check-all:button').toggle(function() {
290
  $('input.settings-combinations').attr('checked','checked');
291
- $(this).val('uncheck all')
 
292
  } ,function() {
293
  $('input.settings-combinations').removeAttr('checked');
294
- $(this).val('check all');
 
295
  } );
296
  });
297
  </script>
3
  * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml
4
  * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
5
  * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
6
+ * Version: 1.0.7
7
+ * Date: 2015-11-15
8
+ * Review: 2015-11-15
9
  * URL: http://www.ajax-zoom.com
10
  * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
11
  *
153
  <?php endforeach; ?>
154
 
155
  <div class="" style="display: block; margin-top: 10px;">
156
+ <?php echo $this->__('Here you can define if this 360 should be bind to associated products.') ?>
157
+ <?php echo $this->__('If you do not select any this 360 will be shown in all associated products.') ?>
158
  </div>
159
  </td>
160
  </tr>
288
 
289
  $('.comb-check-all:button').toggle(function() {
290
  $('input.settings-combinations').attr('checked','checked');
291
+ $(this).val('uncheck all');
292
+ setComb();
293
  } ,function() {
294
  $('input.settings-combinations').removeAttr('checked');
295
+ $(this).val('check all');
296
+ setComb();
297
  } );
298
  });
299
  </script>
js/axzoom/jquery.livequery.htc ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <public:component>
2
+ <public:attach event="ondocumentready" onevent="try{$.livequery.handle.added(element)}catch(e){}" />
3
+ <public:attach event="ondetach" onevent="try{$.livequery.handle.removed(element)}catch(e){}" />
4
+ <public:attach event="onpropertychange" onevent="handlePropertyChange()" />
5
+ <script>
6
+ function handlePropertyChange() {
7
+ if ( $.livequery.watchAttributes ) {
8
+ var attr = event.propertyName;
9
+ if ( $.inArray(attr, $.livequery.attributeFilter) > -1 ) {
10
+ $.livequery.handle.modified(element);
11
+ }
12
+ }
13
+ }
14
+ </script>
15
+ </public:component>
js/axzoom/jquery.livequery.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
2
+ /*! Copyright (c) 2014 Brandon Aaron (http://brandonaaron.net)
3
+ * Licensed under the MIT License (LICENSE.txt)
4
+ */
5
+ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){a.extend(a.fn,{livequery:function(b,c,d){var e=a.livequery.findorcreate(this,b,c,d);return e.run(),this},expire:function(b,c,d){var e=a.livequery.find(this,b,c,d);return e&&e.stop(),this}}),a.livequery=function(b,c,d,e){this.selector=c,this.jq=b,this.context=b.context,this.matchedFn=d,this.unmatchedFn=e,this.stopped=!1,this.id=a.livequery.queries.push(this)-1,d.$lqguid=d.$lqguid||a.livequery.guid++,e&&(e.$lqguid=e.$lqguid||a.livequery.guid++)},a.livequery.prototype={run:function(){this.stopped=!1,this.jq.find(this.selector).each(a.proxy(function(a,b){this.added(b)},this))},stop:function(){this.jq.find(this.selector).each(a.proxy(function(a,b){this.removed(b)},this)),this.stopped=!0},matches:function(b){return!this.isStopped()&&a(b,this.context).is(this.selector)&&this.jq.has(b).length},added:function(a){this.isStopped()||this.isMatched(a)||(this.markAsMatched(a),this.matchedFn.call(a,a))},removed:function(a){!this.isStopped()&&this.isMatched(a)&&(this.removeMatchedMark(a),this.unmatchedFn&&this.unmatchedFn.call(a,a))},getLQArray:function(b){var c=a.data(b,a.livequery.key)||[],d=a.inArray(this.id,c);return c.index=d,c},markAsMatched:function(b){var c=this.getLQArray(b);-1===c.index&&(c.push(this.id),a.data(b,a.livequery.key,c))},removeMatchedMark:function(b){var c=this.getLQArray(b);c.index>-1&&(c.splice(c.index,1),a.data(b,a.livequery.key,c))},isMatched:function(a){var b=this.getLQArray(a);return-1!==b.index},isStopped:function(){return this.stopped===!0}},a.extend(a.livequery,{version:"2.0.0-pre",guid:0,queries:[],watchAttributes:!0,attributeFilter:["class","className"],setup:!1,timeout:null,method:"none",prepared:!1,key:"livequery",htcPath:!1,prepare:{mutationobserver:function(){var b=new MutationObserver(a.livequery.handle.mutationobserver);b.observe(document,{childList:!0,attributes:a.livequery.watchAttributes,subtree:!0,attributeFilter:a.livequery.attributeFilter}),a.livequery.prepared=!0},mutationevent:function(){document.addEventListener("DOMNodeInserted",a.livequery.handle.mutationevent,!1),document.addEventListener("DOMNodeRemoved",a.livequery.handle.mutationevent,!1),a.livequery.watchAttributes&&document.addEventListener("DOMAttrModified",a.livequery.handle.mutationevent,!1),a.livequery.prepared=!0},iebehaviors:function(){a.livequery.htcPath&&(a("head").append("<style>body *{behavior:url("+a.livequery.htcPath+")}</style>"),a.livequery.prepared=!0)}},handle:{added:function(b){a.each(a.livequery.queries,function(a,c){c.matches(b)&&setTimeout(function(){c.added(b)},1)})},removed:function(b){a.each(a.livequery.queries,function(a,c){c.isMatched(b)&&setTimeout(function(){c.removed(b)},1)})},modified:function(b){a.each(a.livequery.queries,function(a,c){c.isMatched(b)?c.matches(b)||c.removed(b):c.matches(b)&&c.added(b)})},mutationevent:function(b){var c={DOMNodeInserted:"added",DOMNodeRemoved:"removed",DOMAttrModified:"modified"},d=c[b.type];"modified"===d?a.livequery.attributeFilter.indexOf(b.attrName)>-1&&a.livequery.handle.modified(b.target):a.livequery.handle[d](b.target)},mutationobserver:function(b){a.each(b,function(b,c){"attributes"===c.type?a.livequery.handle.modified(c.target):a.each(["added","removed"],function(b,d){a.each(c[d+"Nodes"],function(b,c){a.livequery.handle[d](c)})})})}},find:function(b,c,d,e){var f;return a.each(a.livequery.queries,function(a,g){return c!==g.selector||b!==g.jq||d&&d.$lqguid!==g.matchedFn.$lqguid||e&&e.$lqguid!==g.unmatchedFn.$lqguid?void 0:(f=g)&&!1}),f},findorcreate:function(b,c,d,e){return a.livequery.find(b,c,d,e)||new a.livequery(b,c,d,e)}}),a(function(){if("MutationObserver"in window?a.livequery.method="mutationobserver":"MutationEvent"in window?a.livequery.method="mutationevent":"behavior"in document.documentElement.currentStyle&&(a.livequery.method="iebehaviors"),!a.livequery.method)throw new Error("Could not find a means to monitor the DOM");a.livequery.prepare[a.livequery.method]()})});
js/axzoom/lic.php CHANGED
@@ -14,7 +14,7 @@
14
  * @license http://www.ajax-zoom.com/index.php?cid=download
15
  */
16
 
17
- $obj = SimpleXML_Load_String(implode('', file('../../../app/etc/local.xml')));
18
  $mysqli = mysqli_connect(preg_replace('/:[0-9]{1,}$/', '', (string)$obj->global->resources->default_setup->connection->host), (string)$obj->global->resources->default_setup->connection->username, (string)$obj->global->resources->default_setup->connection->password, (string)$obj->global->resources->default_setup->connection->dbname);
19
 
20
  $data_query = mysqli_query($mysqli, "SELECT `value` FROM `" . (string)$obj->global->resources->db->table_prefix . "core_config_data` WHERE `path` = 'axzoom_options/license/lic'");
@@ -22,10 +22,11 @@ $data = mysqli_fetch_array($data_query);
22
  $tmp = unserialize($data['value']);
23
 
24
  foreach ($tmp as $key => $l) {
25
- $_SESSION['axZmLicenses'][$l['domain']] = array(
26
- 'licenceType' => $l['type'],
27
- 'licenceKey' => $l['license'],
28
- 'error200' => $l['error200'],
29
- 'error300' => $l['error300']
30
- );
31
- }
 
14
  * @license http://www.ajax-zoom.com/index.php?cid=download
15
  */
16
 
17
+ $obj = SimpleXML_Load_String(implode('', file(dirname(dirname(dirname(__FILE__))).'/app/etc/local.xml')));
18
  $mysqli = mysqli_connect(preg_replace('/:[0-9]{1,}$/', '', (string)$obj->global->resources->default_setup->connection->host), (string)$obj->global->resources->default_setup->connection->username, (string)$obj->global->resources->default_setup->connection->password, (string)$obj->global->resources->default_setup->connection->dbname);
19
 
20
  $data_query = mysqli_query($mysqli, "SELECT `value` FROM `" . (string)$obj->global->resources->db->table_prefix . "core_config_data` WHERE `path` = 'axzoom_options/license/lic'");
22
  $tmp = unserialize($data['value']);
23
 
24
  foreach ($tmp as $key => $l) {
25
+ $zoom['config']['licenses'][$l['domain']] = array(
26
+ 'licenceType' => $l['type'],
27
+ 'licenceKey' => $l['license'],
28
+ 'error200' => $l['error200'],
29
+ 'error300' => $l['error300']
30
+ );
31
+ }
32
+ ?>
js/axzoom/zoomConfigCustomAZ.inc.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+ // You can also place / copy you custom parameters from /js/axzoom/axZm/zoomConfig.inc.php
3
+ // or /js/axzoom/zoomConfigCustom.inc.php in this file below this message.
4
+ // This way it would be possible to upgrade AJAX-ZOOM by fully overwriting /js/axzoom/axZm/ folder
5
+
6
+ ?>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>AJAX_ZOOM</name>
4
- <version>1.0.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.ajax-zoom.com/index.php?cid=download">Commercial, demoware</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Responsive product detail view mousehover zoom extension with optional 360&#xB0; spins or multilevel 3D</summary>
10
  <description>Responsive, jQuery based mouse over zoom for viewing high resolution product images and optionally 360&#xB0; spins or multilevel 3D. Image pyramid / tiles view in responsive Fancybox or full screen on click. Upload or import 360&#xB0; images over admin interface. Optional responsive thumbnails slider integration. Instant (on-the-fly) generation of all thumbnails. Works great on touch-enabled devices. Free to download, install and test.</description>
11
- <notes>Changed some internal paths</notes>
12
  <authors><author><name>AJAX-ZOOM</name><user>vadus</user><email>support@ajax-zoom.com</email></author></authors>
13
- <date>2015-10-27</date>
14
- <time>19:16:20</time>
15
- <contents><target name="magelocal"><dir><dir name="Ax"><dir><dir name="Zoom"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="License.php" hash="b45fed73aec988d00ca1032656b9ae5b"/></dir></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="5e1b97911f28d1dc5d5fac6e59ca9c13"/></dir><file name="Tabs.php" hash="40a78742e8b28cea4877e305211a9c6c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="0aebfbfed16082f2a04697bbf085a2f9"/><file name="Head.php" hash="aac81557eb8726c7cd2b936873c52dbc"/></dir><dir name="Model"><file name="Ax360.php" hash="4f023c2c5cfeb66e5f2b63f9447f34c3"/><file name="Ax360set.php" hash="465975902e4ec60cb974f8e6cb30b2fa"/><file name="Axproducts.php" hash="0b425dcdf48578e727829112e6cacfd0"/><file name="Galleryposition.php" hash="1fe09377be47053af14d556fbb494d29"/><file name="Observer.php" hash="6f2ef3a1b7e67582d4acdc4c7ecedeb7"/><file name="Position.php" hash="576c9eccfc8e222588e0016fd8894ac7"/><dir name="Resource"><dir name="Ax360"><file name="Collection.php" hash="48d7f85f932259fdd06a62f15068a853"/></dir><file name="Ax360.php" hash="ad69211cd904f734019946ece44c07c0"/><dir name="Ax360set"><file name="Collection.php" hash="614398a735db3e8aa9de460c89c1b038"/></dir><file name="Ax360set.php" hash="e8c94cfc8d75c19e4762c3afad93b187"/><dir name="Axproducts"><file name="Collection.php" hash="15f673a08dab33c7a77f25b4c6641946"/></dir><file name="Axproducts.php" hash="93b114dd25c5e3fe501a78040ce2b36c"/></dir><file name="Words.php" hash="3c0d65a98cdaf81606f77d253c3256ae"/><file name="Yesno.php" hash="8cea5e1c9d6110c5cd54c6ffeda50382"/></dir><dir name="controllers"><file name="IndexController.php" hash="71441294da00f2d1c380370db1dcc317"/></dir><dir name="etc"><file name="config.xml" hash="a4349a04a29d60be177ea0cb99975b4b"/><file name="system.xml" hash="ea333c3e779f1d3498a0e3fdca7a61eb"/></dir><dir name="sql"><dir name="axzoom_setup"><file name="install-0.0.1.php" hash="297c456d925253f83528fb4a4e561820"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="2001ec50597cdd47d2fe90eb354e9173"/></dir><dir name="template"><dir name="axzoom"><file name="tab.phtml" hash="aa36b07caf743006f98189f135b43e95"/><file name="tab360-sets.phtml" hash="d8f24613816c4910d684bfc6d098f295"/><file name="tab360-settings.phtml" hash="9d163e0ffbdf7ee00e00a62a5c8c2e99"/><file name="tab360.phtml" hash="a2b3b42d9ef50c7c20f4f775f728b47d"/><file name="uploader.phtml" hash="216551ecb38afbede39b14eb1f3a6a18"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="e7107f3d585d09d9b1b01f603b4a5d5e"/></dir><dir name="template"><dir name="ax_zoom"><dir><dir name="catalog"><dir name="product"><dir name="view"><file name="media.phtml" hash="4fc81acd4feec1b0e3777c3217334336"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Ax_Zoom.xml" hash="149d56d71dbaebaa89d0324bfad842eb"/></dir></dir></target><target name="magelocale"><dir><dir name="ru_RU"><file name="Ax_Zoom.csv" hash="ad9b1e1ad87a1187dbd076b43af97429"/></dir></dir></target><target name="mageweb"><dir><dir name="js"><dir name="axzoom"><file name="check_fallback.js" hash="e3b055d8f689d5b67f87a5d27aa4537b"/><file name="check_jquery.js" hash="2e9c357045f123583a4051f237e0b380"/><file name="check_jquery_admin.js" hash="b5b7dc978af43493ae973548093b553c"/><file name="image_path.gif" hash="bf922e182e18a02613f26ca5eaa4c560"/><file name="jquery-1.11.3.min.js" hash="1c1e3d814cc7278f801463874463e504"/><file name="jquery-migrate-1.2.1.min.js" hash="eb05d8d73b5b13d8d84308a4751ece96"/><file name="jquery.fileupload-process.js" hash="0da6f8ef76956f6ce7842dcf8941d1fa"/><file name="jquery.fileupload-validate.js" hash="561d450d59e39724999629cae64cd80e"/><file name="jquery.fileupload.js" hash="d4b3a5c4f6e69185727cfe98f17f0239"/><file name="jquery.ui.widget.min.js" hash="2425a542e6dde093dd85ac0b5adc0141"/><file name="lic.php" hash="24084e1f51b59004d2e11ae416d03df7"/><file name="no_image-100x100.jpg" hash="ebbaa789d1a5e5b1bb6fdb9ccd683aa2"/><dir><dir name="pic"><file name="readme.txt" hash="763fdb72282a84d27d9a6c93e014775a"/></dir><dir name="preview"><file name="index.php" hash="c304cfb13785e145e95d5f21cc95bd12"/><file name="preview.php" hash="0ebbc68bf74927c95587decbe2f24626"/></dir><dir name="tmp"><file name="readme.txt" hash="b17a61b9642c5d472107ab7023c5c880"/></dir><dir name="zip"><file name="readme.txt" hash="2134ad018dd3da577df745a04d22899f"/><file name=".htaccess" hash="209634bb0238704c4874c35d615ae59e"/></dir></dir><file name=".htaccess" hash="b974c32a345792b0bc2fad66c2236152"/></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.1</min><max>5.6.99</max></php><extension><name>ionCube Loader</name><min/><max/></extension><extension><name>zip</name><min/><max/></extension></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>AJAX_ZOOM</name>
4
+ <version>1.0.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.ajax-zoom.com/index.php?cid=download">Commercial, demoware</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Responsive product detail view mousehover zoom extension with optional 360&#xB0; spins or multilevel 3D</summary>
10
  <description>Responsive, jQuery based mouse over zoom for viewing high resolution product images and optionally 360&#xB0; spins or multilevel 3D. Image pyramid / tiles view in responsive Fancybox or full screen on click. Upload or import 360&#xB0; images over admin interface. Optional responsive thumbnails slider integration. Instant (on-the-fly) generation of all thumbnails. Works great on touch-enabled devices. Free to download, install and test.</description>
11
+ <notes>Minor bugfixes</notes>
12
  <authors><author><name>AJAX-ZOOM</name><user>vadus</user><email>support@ajax-zoom.com</email></author></authors>
13
+ <date>2015-11-15</date>
14
+ <time>15:00:23</time>
15
+ <contents><target name="magelocal"><dir><dir name="Ax"><dir><dir name="Zoom"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="License.php" hash="b45fed73aec988d00ca1032656b9ae5b"/></dir></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="5e1b97911f28d1dc5d5fac6e59ca9c13"/></dir><file name="Tabs.php" hash="40a78742e8b28cea4877e305211a9c6c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="0aebfbfed16082f2a04697bbf085a2f9"/><file name="Head.php" hash="aac81557eb8726c7cd2b936873c52dbc"/></dir><dir name="Model"><file name="Ax360.php" hash="4f023c2c5cfeb66e5f2b63f9447f34c3"/><file name="Ax360set.php" hash="465975902e4ec60cb974f8e6cb30b2fa"/><file name="Axproducts.php" hash="0b425dcdf48578e727829112e6cacfd0"/><file name="Galleryposition.php" hash="1fe09377be47053af14d556fbb494d29"/><file name="Observer.php" hash="6f2ef3a1b7e67582d4acdc4c7ecedeb7"/><file name="Position.php" hash="576c9eccfc8e222588e0016fd8894ac7"/><dir name="Resource"><dir name="Ax360"><file name="Collection.php" hash="48d7f85f932259fdd06a62f15068a853"/></dir><file name="Ax360.php" hash="ad69211cd904f734019946ece44c07c0"/><dir name="Ax360set"><file name="Collection.php" hash="614398a735db3e8aa9de460c89c1b038"/></dir><file name="Ax360set.php" hash="e8c94cfc8d75c19e4762c3afad93b187"/><dir name="Axproducts"><file name="Collection.php" hash="15f673a08dab33c7a77f25b4c6641946"/></dir><file name="Axproducts.php" hash="93b114dd25c5e3fe501a78040ce2b36c"/></dir><file name="Words.php" hash="3c0d65a98cdaf81606f77d253c3256ae"/><file name="Yesno.php" hash="8cea5e1c9d6110c5cd54c6ffeda50382"/></dir><dir name="controllers"><file name="IndexController.php" hash="c2c9f716eb54529e7844f988c5b3f2fd"/></dir><dir name="etc"><file name="config.xml" hash="3b3cca6d82f43abaf751881bb5b71a84"/><file name="system.xml" hash="c4c28fe07cb1aa57315ef69e88418e6a"/></dir><dir name="sql"><dir name="axzoom_setup"><file name="install-0.0.1.php" hash="297c456d925253f83528fb4a4e561820"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="542d9cbf1adb9bf6f2887d9d5a124c4d"/></dir><dir name="template"><dir name="axzoom"><file name="tab.phtml" hash="97d4591d2f61b958e34fa555bdc8fd1d"/><file name="tab360-sets.phtml" hash="3c822cce2e333086e92d5605b1a4d8c3"/><file name="tab360-settings.phtml" hash="418239eb78a1771e42c47d58550560ca"/><file name="tab360.phtml" hash="a2b3b42d9ef50c7c20f4f775f728b47d"/><file name="uploader.phtml" hash="216551ecb38afbede39b14eb1f3a6a18"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="e7107f3d585d09d9b1b01f603b4a5d5e"/></dir><dir name="template"><dir name="ax_zoom"><dir><dir name="catalog"><dir name="product"><dir name="view"><file name="media.phtml" hash="4fc81acd4feec1b0e3777c3217334336"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Ax_Zoom.xml" hash="149d56d71dbaebaa89d0324bfad842eb"/></dir></dir></target><target name="magelocale"><dir><dir name="ru_RU"><file name="Ax_Zoom.csv" hash="ad9b1e1ad87a1187dbd076b43af97429"/></dir></dir></target><target name="mageweb"><dir><dir name="js"><dir name="axzoom"><file name="check_fallback.js" hash="e3b055d8f689d5b67f87a5d27aa4537b"/><file name="check_jquery.js" hash="2e9c357045f123583a4051f237e0b380"/><file name="check_jquery_admin.js" hash="b5b7dc978af43493ae973548093b553c"/><file name="image_path.gif" hash="bf922e182e18a02613f26ca5eaa4c560"/><file name="jquery-1.11.3.min.js" hash="1c1e3d814cc7278f801463874463e504"/><file name="jquery-migrate-1.2.1.min.js" hash="eb05d8d73b5b13d8d84308a4751ece96"/><file name="jquery.fileupload-process.js" hash="0da6f8ef76956f6ce7842dcf8941d1fa"/><file name="jquery.fileupload-validate.js" hash="561d450d59e39724999629cae64cd80e"/><file name="jquery.fileupload.js" hash="d4b3a5c4f6e69185727cfe98f17f0239"/><file name="jquery.livequery.htc" hash="6fddf8d185aa26ca790c9f435fee8bad"/><file name="jquery.livequery.min.js" hash="295403b41c10cc54df7c580e269088ca"/><file name="jquery.ui.widget.min.js" hash="2425a542e6dde093dd85ac0b5adc0141"/><file name="lic.php" hash="f41e4001ab878f0abba43c749cd6f610"/><file name="no_image-100x100.jpg" hash="ebbaa789d1a5e5b1bb6fdb9ccd683aa2"/><dir><dir name="pic"><file name="readme.txt" hash="763fdb72282a84d27d9a6c93e014775a"/></dir><dir name="preview"><file name="index.php" hash="c304cfb13785e145e95d5f21cc95bd12"/><file name="preview.php" hash="0ebbc68bf74927c95587decbe2f24626"/></dir><dir name="tmp"><file name="readme.txt" hash="b17a61b9642c5d472107ab7023c5c880"/></dir><dir name="zip"><file name="readme.txt" hash="2134ad018dd3da577df745a04d22899f"/><file name=".htaccess" hash="209634bb0238704c4874c35d615ae59e"/></dir></dir><file name="zoomConfigCustomAZ.inc.php" hash="51cabd3bcb03b729b16841abd03c8382"/><file name=".htaccess" hash="b974c32a345792b0bc2fad66c2236152"/></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.1</min><max>5.6.99</max></php><extension><name>ionCube Loader</name><min/><max/></extension><extension><name>zip</name><min/><max/></extension></required></dependencies>
18
  </package>