AJAX_ZOOM - Version 1.0.1

Version Notes

First public release of the new extension which integrates AJAX-ZOOM mouseover extension into Magento.

Download this release

Release Info

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


Code changes from version 1.0.0 to 1.0.1

Files changed (40) hide show
  1. app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php +15 -0
  2. app/code/local/Ax/Zoom/Block/Adminhtml/Tabs.php +14 -0
  3. app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php +15 -1
  4. app/code/local/Ax/Zoom/Helper/Data.php +15 -0
  5. app/code/local/Ax/Zoom/Helper/Head.php +15 -0
  6. app/code/local/Ax/Zoom/Model/Ax360.php +36 -1
  7. app/code/local/Ax/Zoom/Model/Ax360set.php +15 -0
  8. app/code/local/Ax/Zoom/Model/Axproducts.php +15 -0
  9. app/code/local/Ax/Zoom/Model/Observer.php +15 -0
  10. app/code/local/Ax/Zoom/Model/Position.php +15 -0
  11. app/code/local/Ax/Zoom/Model/Resource/Ax360.php +15 -0
  12. app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php +15 -0
  13. app/code/local/Ax/Zoom/Model/Resource/Ax360set.php +15 -0
  14. app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php +15 -0
  15. app/code/local/Ax/Zoom/Model/Resource/Axproducts.php +15 -0
  16. app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php +15 -0
  17. app/code/local/Ax/Zoom/Model/Words.php +15 -0
  18. app/code/local/Ax/Zoom/Model/Yesno.php +17 -2
  19. app/code/local/Ax/Zoom/controllers/IndexController.php +15 -0
  20. app/code/local/Ax/Zoom/etc/config.xml +41 -21
  21. app/code/local/Ax/Zoom/etc/system.xml +47 -0
  22. app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php +14 -0
  23. app/design/adminhtml/default/default/layout/axzoom.xml +29 -13
  24. app/design/adminhtml/default/default/template/axzoom/tab.phtml +17 -0
  25. app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml +17 -0
  26. app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml +17 -0
  27. app/design/adminhtml/default/default/template/axzoom/tab360.phtml +17 -0
  28. app/design/adminhtml/default/default/template/axzoom/uploader.phtml +17 -0
  29. app/design/frontend/default/default/layout/axzoom.xml +40 -19
  30. app/design/frontend/rwd/default/layout/axzoom.xml +17 -2
  31. app/design/frontend/rwd/default/template/ax_zoom/catalog/product/view/media.phtml +193 -157
  32. app/etc/modules/Ax_Zoom.xml +16 -0
  33. js/axzoom/check_fallback.js +38 -0
  34. js/axzoom/check_jquery.js +20 -2
  35. js/axzoom/check_jquery_admin.js +40 -0
  36. js/axzoom/jquery-1.11.0.min.js +0 -6
  37. js/axzoom/jquery-1.11.3.min.js +2 -0
  38. js/axzoom/lic.php +15 -14
  39. js/axzoom/zip/.htaccess +1 -0
  40. package.xml +10 -17
app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
3
  {
4
  public function _prepareToRender()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
18
  {
19
  public function _prepareToRender()
app/code/local/Ax/Zoom/Block/Adminhtml/Tabs.php CHANGED
@@ -1,4 +1,18 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  class Ax_Zoom_Block_Adminhtml_Tabs extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs
4
  {
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/tabs.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
 
17
  class Ax_Zoom_Block_Adminhtml_Tabs extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs
18
  {
app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php CHANGED
@@ -1,5 +1,19 @@
1
  <?php
2
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  class Ax_Zoom_Block_Adminhtml_Tabs_Tabid extends Mage_Adminhtml_Block_Widget
4
  {
5
  public function __construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Block_Adminhtml_Tabs_Tabid extends Mage_Adminhtml_Block_Widget
18
  {
19
  public function __construct()
app/code/local/Ax/Zoom/Helper/Data.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Helper_Data extends Mage_Core_Helper_Abstract
3
  {
4
  }
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Data.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Helper_Data extends Mage_Core_Helper_Abstract
18
  {
19
  }
app/code/local/Ax/Zoom/Helper/Head.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Helper_Head extends Mage_Core_Helper_Abstract
3
  {
4
  public function getFancyboxCSS()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Head.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Helper_Head extends Mage_Core_Helper_Abstract
18
  {
19
  public function getFancyboxCSS()
app/code/local/Ax/Zoom/Model/Ax360.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
3
  {
4
  static $axZmH;
@@ -203,7 +218,27 @@ class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
203
  return true;
204
  }
205
  return false;
206
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  }
208
 
209
  Ax_Zoom_Model_Ax360::$axZmH;
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
18
  {
19
  static $axZmH;
218
  return true;
219
  }
220
  return false;
221
+ }
222
+
223
+ public function imagesJsonAll($arr)
224
+ {
225
+ $imagesJson = array();
226
+ foreach ($arr as $k=>$v){
227
+ array_push($imagesJson, '{img: "' .$v . '", title: ""}');
228
+ }
229
+ return '[' .implode(', ', $imagesJson). ']';
230
+ }
231
+
232
+ public function findDefaultLabelValue($arr, $key)
233
+ {
234
+ if (!is_array($arr)){return false;}
235
+ foreach ($arr as $k=>$v){
236
+ if (isset($v['value']) && $v['value'] == $key && isset($v['label'])){
237
+ return $v['label'];
238
+ }
239
+ }
240
+ return false;
241
+ }
242
  }
243
 
244
  Ax_Zoom_Model_Ax360::$axZmH;
app/code/local/Ax/Zoom/Model/Ax360set.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Ax360set extends Mage_Core_Model_Abstract
3
  {
4
  protected function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360set.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Ax360set extends Mage_Core_Model_Abstract
18
  {
19
  protected function _construct()
app/code/local/Ax/Zoom/Model/Axproducts.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Axproducts extends Mage_Core_Model_Abstract
3
  {
4
  protected function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Axproducts.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Axproducts extends Mage_Core_Model_Abstract
18
  {
19
  protected function _construct()
app/code/local/Ax/Zoom/Model/Observer.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Observer {
3
  public function coreBlockBefore($observer)
4
  {
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Observer.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Observer {
18
  public function coreBlockBefore($observer)
19
  {
app/code/local/Ax/Zoom/Model/Position.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Position
3
  {
4
  public function toOptionArray()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Position.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Position
18
  {
19
  public function toOptionArray()
app/code/local/Ax/Zoom/Model/Resource/Ax360.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Resource_Ax360 extends Mage_Core_Model_Mysql4_Abstract
3
  {
4
  public function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Resource_Ax360 extends Mage_Core_Model_Mysql4_Abstract
18
  {
19
  public function _construct()
app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Resource_Ax360_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
  {
4
  public function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Resource_Ax360_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
18
  {
19
  public function _construct()
app/code/local/Ax/Zoom/Model/Resource/Ax360set.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Resource_Ax360set extends Mage_Core_Model_Mysql4_Abstract
3
  {
4
  public function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360set.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Resource_Ax360set extends Mage_Core_Model_Mysql4_Abstract
18
  {
19
  public function _construct()
app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Resource_Ax360set_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
  {
4
  public function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Resource_Ax360set_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
18
  {
19
  public function _construct()
app/code/local/Ax/Zoom/Model/Resource/Axproducts.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Resource_Axproducts extends Mage_Core_Model_Mysql4_Abstract
3
  {
4
  public function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Axproducts.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Resource_Axproducts extends Mage_Core_Model_Mysql4_Abstract
18
  {
19
  public function _construct()
app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Resource_Axproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
  {
4
  public function _construct()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Resource_Axproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
18
  {
19
  public function _construct()
app/code/local/Ax/Zoom/Model/Words.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Words
3
  {
4
  public function toOptionArray()
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Words.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Words
18
  {
19
  public function toOptionArray()
app/code/local/Ax/Zoom/Model/Yesno.php CHANGED
@@ -1,11 +1,26 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_Model_Yesno
3
  {
4
  public function toOptionArray()
5
  {
6
  return array(
7
- array('value'=>0, 'label'=>Mage::helper('axzoom')->__('No')),
8
- array('value'=>1, 'label'=>Mage::helper('axzoom')->__('Yes'))
9
  );
10
  }
11
 
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Yesno.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_Model_Yesno
18
  {
19
  public function toOptionArray()
20
  {
21
  return array(
22
+ array('value'=>'false', 'label'=>Mage::helper('axzoom')->__('No')),
23
+ array('value'=>'true', 'label'=>Mage::helper('axzoom')->__('Yes'))
24
  );
25
  }
26
 
app/code/local/Ax/Zoom/controllers/IndexController.php CHANGED
@@ -1,4 +1,19 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
3
  {
4
  public function AddProductImage360Action()
1
  <?php
2
+ /**
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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
18
  {
19
  public function AddProductImage360Action()
app/code/local/Ax/Zoom/etc/config.xml CHANGED
@@ -1,9 +1,25 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
 
4
  <modules>
5
  <Ax_Zoom>
6
- <version>0.0.1</version>
7
  </Ax_Zoom>
8
  </modules>
9
 
@@ -194,10 +210,10 @@
194
  <main>
195
  <divid>az_mouseOverZoomContainer</divid>
196
  <galleryDivID>az_mouseOverZoomGallery</galleryDivID>
197
- <hideGalleryOneImage>1</hideGalleryOneImage>
198
- <disableAllMsg >0</disableAllMsg >
199
  <galleryHover></galleryHover>
200
- <galleryAxZmThumbSlider>1</galleryAxZmThumbSlider>
201
  <galleryAxZmThumbSliderParam>
202
  {
203
  orientation: "horizontal",
@@ -237,21 +253,21 @@
237
  </galleryAxZmThumbSliderParam>
238
  <thumbW>58</thumbW>
239
  <thumbH>58</thumbH>
240
- <thumbRetina>1</thumbRetina>
241
  <firstImageToLoad>1</firstImageToLoad>
242
- <images360firstToLoad>0</images360firstToLoad>
243
  <images360Opt>["spinReverse", "spinReverseZ", "spinBounce", "spinDemoRounds", "spinDemoTime", "spinWhilePreload"]</images360Opt>
244
- <images360Thumb>1</images360Thumb>
245
- <images360Preview>1</images360Preview>
246
- <images360PreviewResponsive>1</images360PreviewResponsive>
247
  <images360examplePreview>mouseOverExtension360</images360examplePreview>
248
  <zoomMsg360>Drag to spin 360°, scroll to zoom in and out</zoomMsg360>
249
- <preloadMouseOverImages>0</preloadMouseOverImages>
250
  <noImageAvailableClass>axZm_mouseOverNoImage</noImageAvailableClass>
251
  <width>auto</width>
252
  <height>auto</height>
253
- <responsive>1</responsive>
254
- <oneSrcImg>0</oneSrcImg>
255
  <heightRatio>1.0</heightRatio>
256
  <heightMaxWidthRatio>["960|0.8", "700|0.7"]</heightMaxWidthRatio>
257
  <widthRatio>false</widthRatio>
@@ -266,8 +282,8 @@
266
  <exampleFancyboxFullscreen>mouseOverExtension</exampleFancyboxFullscreen>
267
  <exampleFancybox>modal</exampleFancybox>
268
  <exampleColorbox>modal</exampleColorbox>
269
- <disableScrollAnm>1</disableScrollAnm>
270
- <fullScreenApi>0</fullScreenApi>
271
  <axZmCallBacks>{}</axZmCallBacks>
272
  <azOptions>{}</azOptions>
273
  <azOptions360>{}</azOptions360>
@@ -282,7 +298,7 @@
282
  <spinnerParam>{}</spinnerParam>
283
  </main>
284
  <pinterest>
285
- <enabled>1</enabled>
286
  <build>parsePinBtns</build>
287
  <wrapClass>axZm_mouseOverPinterest</wrapClass>
288
  <href>//en.pinterest.com/pin/create/button/</href>
@@ -297,8 +313,8 @@
297
  <posAutoInside>150</posAutoInside>
298
  <posInsideArea>0.2</posInsideArea>
299
  <autoFlip>120</autoFlip>
300
- <biggestSpace>0</biggestSpace>
301
- <zoomFullSpace>0</zoomFullSpace>
302
  <zoomWidth>.product-shop|+2</zoomWidth>
303
  <zoomHeight>.product-img-box</zoomHeight>
304
  <autoMargin>15</autoMargin>
@@ -318,19 +334,19 @@
318
  <flyBackSpeed>false</flyBackSpeed>
319
  <flyBackTransition>linear</flyBackTransition>
320
  <flyBackOpacity>0.2</flyBackOpacity>
321
- <autoScroll>0</autoScroll>
322
  <smoothMove>6</smoothMove>
323
  <tint>false</tint>
324
  <tintOpacity>0.3</tintOpacity>
325
  <tintFilter>false</tintFilter>
326
- <tintLensBack>1</tintLensBack>
327
- <showTitle>1</showTitle>
328
  <titleOpacity>0.5</titleOpacity>
329
  <titlePosition>top</titlePosition>
330
  <cursorPositionX>0.5</cursorPositionX>
331
  <cursorPositionY>0.55</cursorPositionY>
332
  <touchClickAbort>500</touchClickAbort>
333
- <loading>1</loading>
334
  <loadingMessage>Loading...</loadingMessage>
335
  <loadingWidth>90</loadingWidth>
336
  <loadingHeight>20</loadingHeight>
@@ -343,6 +359,10 @@
343
  <products>
344
  <displayOnlyForThisProductID></displayOnlyForThisProductID>
345
  </products>
 
 
 
 
346
  </axzoom_options>
347
  </default>
348
 
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
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.0
8
+ * Date: 2015-09-08
9
+ * Review: 2015-09-08
10
+ * URL: http://www.ajax-zoom.com
11
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
+ *
13
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
14
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
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.0</version>
23
  </Ax_Zoom>
24
  </modules>
25
 
210
  <main>
211
  <divid>az_mouseOverZoomContainer</divid>
212
  <galleryDivID>az_mouseOverZoomGallery</galleryDivID>
213
+ <hideGalleryOneImage>true</hideGalleryOneImage>
214
+ <disableAllMsg>false</disableAllMsg>
215
  <galleryHover></galleryHover>
216
+ <galleryAxZmThumbSlider>true</galleryAxZmThumbSlider>
217
  <galleryAxZmThumbSliderParam>
218
  {
219
  orientation: "horizontal",
253
  </galleryAxZmThumbSliderParam>
254
  <thumbW>58</thumbW>
255
  <thumbH>58</thumbH>
256
+ <thumbRetina>true</thumbRetina>
257
  <firstImageToLoad>1</firstImageToLoad>
258
+ <images360firstToLoad>false</images360firstToLoad>
259
  <images360Opt>["spinReverse", "spinReverseZ", "spinBounce", "spinDemoRounds", "spinDemoTime", "spinWhilePreload"]</images360Opt>
260
+ <images360Thumb>true</images360Thumb>
261
+ <images360Preview>true</images360Preview>
262
+ <images360PreviewResponsive>true</images360PreviewResponsive>
263
  <images360examplePreview>mouseOverExtension360</images360examplePreview>
264
  <zoomMsg360>Drag to spin 360°, scroll to zoom in and out</zoomMsg360>
265
+ <preloadMouseOverImages>false</preloadMouseOverImages>
266
  <noImageAvailableClass>axZm_mouseOverNoImage</noImageAvailableClass>
267
  <width>auto</width>
268
  <height>auto</height>
269
+ <responsive>true</responsive>
270
+ <oneSrcImg>false</oneSrcImg>
271
  <heightRatio>1.0</heightRatio>
272
  <heightMaxWidthRatio>["960|0.8", "700|0.7"]</heightMaxWidthRatio>
273
  <widthRatio>false</widthRatio>
282
  <exampleFancyboxFullscreen>mouseOverExtension</exampleFancyboxFullscreen>
283
  <exampleFancybox>modal</exampleFancybox>
284
  <exampleColorbox>modal</exampleColorbox>
285
+ <disableScrollAnm>true</disableScrollAnm>
286
+ <fullScreenApi>true</fullScreenApi>
287
  <axZmCallBacks>{}</axZmCallBacks>
288
  <azOptions>{}</azOptions>
289
  <azOptions360>{}</azOptions360>
298
  <spinnerParam>{}</spinnerParam>
299
  </main>
300
  <pinterest>
301
+ <enabled>true</enabled>
302
  <build>parsePinBtns</build>
303
  <wrapClass>axZm_mouseOverPinterest</wrapClass>
304
  <href>//en.pinterest.com/pin/create/button/</href>
313
  <posAutoInside>150</posAutoInside>
314
  <posInsideArea>0.2</posInsideArea>
315
  <autoFlip>120</autoFlip>
316
+ <biggestSpace>false</biggestSpace>
317
+ <zoomFullSpace>false</zoomFullSpace>
318
  <zoomWidth>.product-shop|+2</zoomWidth>
319
  <zoomHeight>.product-img-box</zoomHeight>
320
  <autoMargin>15</autoMargin>
334
  <flyBackSpeed>false</flyBackSpeed>
335
  <flyBackTransition>linear</flyBackTransition>
336
  <flyBackOpacity>0.2</flyBackOpacity>
337
+ <autoScroll>false</autoScroll>
338
  <smoothMove>6</smoothMove>
339
  <tint>false</tint>
340
  <tintOpacity>0.3</tintOpacity>
341
  <tintFilter>false</tintFilter>
342
+ <tintLensBack>true</tintLensBack>
343
+ <showTitle>true</showTitle>
344
  <titleOpacity>0.5</titleOpacity>
345
  <titlePosition>top</titlePosition>
346
  <cursorPositionX>0.5</cursorPositionX>
347
  <cursorPositionY>0.55</cursorPositionY>
348
  <touchClickAbort>500</touchClickAbort>
349
+ <loading>true</loading>
350
  <loadingMessage>Loading...</loadingMessage>
351
  <loadingWidth>90</loadingWidth>
352
  <loadingHeight>20</loadingHeight>
359
  <products>
360
  <displayOnlyForThisProductID></displayOnlyForThisProductID>
361
  </products>
362
+ <magento>
363
+ <magentoAllImagesStart>false</magentoAllImagesStart>
364
+ <magentoNoImage>false</magentoNoImage>
365
+ </magento>
366
  </axzoom_options>
367
  </default>
368
 
app/code/local/Ax/Zoom/etc/system.xml CHANGED
@@ -1,4 +1,20 @@
1
  <?xml version="1.0"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
  <sections>
4
  <axzoom_options translate="label" module="axzoom">
@@ -1142,6 +1158,37 @@
1142
  </displayOnlyForThisProductID>
1143
  </fields>
1144
  </products>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1145
  </groups>
1146
  </axzoom_options>
1147
  </sections>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/system.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.0
8
+ * Date: 2015-09-08
9
+ * Review: 2015-09-08
10
+ * URL: http://www.ajax-zoom.com
11
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
+ *
13
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
14
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
15
+ * @license http://www.ajax-zoom.com/index.php?cid=download
16
+ */
17
+ -->
18
  <config>
19
  <sections>
20
  <axzoom_options translate="label" module="axzoom">
1158
  </displayOnlyForThisProductID>
1159
  </fields>
1160
  </products>
1161
+ <magento translate="label">
1162
+ <label>Magento specific settings</label>
1163
+ <frontend_type>text</frontend_type>
1164
+ <sort_order>99</sort_order>
1165
+ <show_in_default>1</show_in_default>
1166
+ <show_in_website>1</show_in_website>
1167
+ <show_in_store>1</show_in_store>
1168
+ <fields>
1169
+ <magentoAllImagesStart>
1170
+ <label>magentoAllImages</label>
1171
+ <comment>Load all images independent on label (color), also from "Simple Products" which are bind to Configurable Product on start.</comment>
1172
+ <frontend_type>select</frontend_type>
1173
+ <source_model>axzoom/yesno</source_model>
1174
+ <sort_order>1</sort_order>
1175
+ <show_in_default>1</show_in_default>
1176
+ <show_in_website>1</show_in_website>
1177
+ <show_in_store>1</show_in_store>
1178
+ </magentoAllImagesStart>
1179
+ <magentoNoImage>
1180
+ <label>magentoNoImage</label>
1181
+ <comment>Show magento no image available, if no AJAX-ZOOM no image available will be shown</comment>
1182
+ <frontend_type>select</frontend_type>
1183
+ <source_model>axzoom/yesno</source_model>
1184
+ <sort_order>2</sort_order>
1185
+ <show_in_default>1</show_in_default>
1186
+ <show_in_website>1</show_in_website>
1187
+ <show_in_store>1</show_in_store>
1188
+ </magentoNoImage>
1189
+
1190
+ </fields>
1191
+ </magento>
1192
  </groups>
1193
  </axzoom_options>
1194
  </sections>
app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php CHANGED
@@ -1,4 +1,18 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  //die('AJAX ZOOM module setup');
4
 
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, install-0.0.1.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
 
17
  //die('AJAX ZOOM module setup');
18
 
app/design/adminhtml/default/default/layout/axzoom.xml CHANGED
@@ -1,25 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <layout>
2
  <adminhtml_catalog_product_edit>
3
  <reference name="head">
4
- <!--<action method="removeItem"><type>js</type><name>prototype/prototype.js</name></action>-->
5
- <action method="addJs"><script>axzoom/jquery-1.11.0.min.js</script></action>
6
- <action method="addJs"><script>axzoom/jquery-migrate-1.2.1.min.js</script></action>
7
- <action method="addJs"><script>axzoom/axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js</script></action>
 
 
 
 
 
8
  <action method="addJs"><script>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js</script></action>
9
-
 
 
10
  <action method="addJs"><script>axzoom/jquery.ui.widget.min.js</script></action>
11
  <action method="addJs"><script>axzoom/jquery.fileupload.js</script></action>
12
  <action method="addJs"><script>axzoom/jquery.fileupload-process.js</script></action>
13
  <action method="addJs"><script>axzoom/jquery.fileupload-validate.js</script></action>
14
-
15
-
16
-
17
- <action method="addCss">
18
- <stylesheet>../../../../js/axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css</stylesheet>
19
- </action>
20
 
21
- <!--<action method="addJs"><script>axzoom/colorpicker.js</script></action>-->
22
- <!--<action method="addJs"><script>prototype/prototype.js</script></action>-->
23
  </reference>
24
  </adminhtml_catalog_product_edit>
25
  </layout>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/layout/axzoom.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.0
8
+ * Date: 2015-09-08
9
+ * Review: 2015-09-08
10
+ * URL: http://www.ajax-zoom.com
11
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
+ *
13
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
14
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
15
+ * @license http://www.ajax-zoom.com/index.php?cid=download
16
+ */
17
+ -->
18
  <layout>
19
  <adminhtml_catalog_product_edit>
20
  <reference name="head">
21
+
22
+ <!-- If jQuery is not defined inject jQuery 1.11.3 core with jQuery.noConflict() and jquery-migrate 1.2.1 -->
23
+ <action method="addJs"><script>axzoom/check_jquery_admin.js</script></action>
24
+
25
+ <!-- Scripts and CSS for preview AJAX-ZOOM in a Fancybox -->
26
+ <action method="addItem">
27
+ <type>js_css</type>
28
+ <name>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css</name>
29
+ </action>
30
  <action method="addJs"><script>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js</script></action>
31
+ <action method="addJs"><script>axzoom/axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js</script></action>
32
+
33
+ <!-- Fileupload for 360 images -->
34
  <action method="addJs"><script>axzoom/jquery.ui.widget.min.js</script></action>
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>
app/design/adminhtml/default/default/template/axzoom/tab.phtml CHANGED
@@ -1,3 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <script type="text/javascript">
2
  function showSuccessMessage(message)
3
  {
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.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+ -->
17
+
18
  <script type="text/javascript">
19
  function showSuccessMessage(message)
20
  {
app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml CHANGED
@@ -1,3 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  $model = Mage::getModel('axzoom/ax360');
3
  $setsGroups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
1
+ <!--
2
+ /**
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.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+ -->
17
+
18
  <?php
19
  $model = Mage::getModel('axzoom/ax360');
20
  $setsGroups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml CHANGED
@@ -1,3 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  $model = Mage::getModel('axzoom/ax360');
3
  $groups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
1
+ <!--
2
+ /**
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.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+ -->
17
+
18
  <?php
19
  $model = Mage::getModel('axzoom/ax360');
20
  $groups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
app/design/adminhtml/default/default/template/axzoom/tab360.phtml CHANGED
@@ -1,3 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php $maxImageSize = ini_get('upload_max_filesize'); ?>
2
 
3
  <input type="hidden" name="id_360set" id="id_360set" value="" />
1
+ <!--
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360.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.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+ -->
17
+
18
  <?php $maxImageSize = ini_get('upload_max_filesize'); ?>
19
 
20
  <input type="hidden" name="id_360set" id="id_360set" value="" />
app/design/adminhtml/default/default/template/axzoom/uploader.phtml CHANGED
@@ -1,3 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  $id = 'file360';
3
  $name = 'file360';
1
+ <!--
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/uploader.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.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+ -->
17
+
18
  <?php
19
  $id = 'file360';
20
  $name = 'file360';
app/design/frontend/default/default/layout/axzoom.xml CHANGED
@@ -1,34 +1,53 @@
1
  <?xml version="1.0"?>
2
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  <layout version="0.1.0">
4
  <catalog_product_view>
5
  <reference name="head">
6
  <action method="addJs">
7
  <script>axzoom/check_jquery.js</script>
8
  </action>
9
- <action method="addCss">
10
- <stylesheet>../../../../js/axzoom/axZm/axZm.css</stylesheet>
 
11
  </action>
12
  <action method="addJs">
13
  <script>axzoom/axZm/jquery.axZm.js</script>
14
  </action>
15
- <action method="addJs">
16
  <script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js</script>
17
  </action>
18
- <action method="addCss">
19
- <stylesheet>../../../../js/axzoom/axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css</stylesheet>
 
20
  </action>
21
- <action method="addJs">
22
  <script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js</script>
23
  </action>
24
- <action method="addJs">
25
  <script>axzoom/axZm/plugins/spin/spin.min.js</script>
26
  </action>
27
- <action method="addCss">
28
- <stylesheet>../../../../js/axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.css</stylesheet>
 
29
  </action>
30
- <action method="addCss">
31
- <stylesheet>../../../../js/axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomPrestashop.4.css</stylesheet>
 
32
  </action>
33
  <action method="addJs">
34
  <script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
@@ -36,20 +55,22 @@
36
  <action method="addJs">
37
  <script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.4.js</script>
38
  </action>
39
- <action method="addCss">
40
- <stylesheet>../../../../js/axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css</stylesheet>
 
41
  </action>
42
  <action method="addJs">
43
- <script>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.js</script>
44
  </action>
45
  <action method="addJs">
46
- <script>axzoom/axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js</script>
47
  </action>
48
- <action method="addCss">
49
- <stylesheet>../../../../js/axzoom/axZm/plugins/demo/colorbox/example2/colorbox.css</stylesheet>
 
50
  </action>
51
  <action method="addJs">
52
- <script>axzoom/axZm/plugins/demo/colorbox/jquery.colorbox-min.js</script>
53
  </action>
54
  <action method="addJs">
55
  <script>axzoom/axZm/plugins/JSON/jquery.json-2.3.min.js</script>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/rwd/default/layout/axzoom.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.0
8
+ * Date: 2015-09-08
9
+ * Review: 2015-09-08
10
+ * URL: http://www.ajax-zoom.com
11
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
+ *
13
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
14
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
15
+ * @license http://www.ajax-zoom.com/index.php?cid=download
16
+ */
17
+ -->
18
  <layout version="0.1.0">
19
  <catalog_product_view>
20
  <reference name="head">
21
  <action method="addJs">
22
  <script>axzoom/check_jquery.js</script>
23
  </action>
24
+ <action method="addItem">
25
+ <type>js_css</type>
26
+ <name>axzoom/axZm/axZm.css</name>
27
  </action>
28
  <action method="addJs">
29
  <script>axzoom/axZm/jquery.axZm.js</script>
30
  </action>
31
+ <action ifconfig="axzoom_options/main/galleryAxZmThumbSlider" method="addJs">
32
  <script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js</script>
33
  </action>
34
+ <action ifconfig="axzoom_options/main/galleryAxZmThumbSlider" method="addItem">
35
+ <type>js_css</type>
36
+ <name>axzoom/axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css</name>
37
  </action>
38
+ <action ifconfig="axzoom_options/main/galleryAxZmThumbSlider" method="addJs">
39
  <script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js</script>
40
  </action>
41
+ <action ifconfig="axzoom_options/main/spinner" method="addJs">
42
  <script>axzoom/axZm/plugins/spin/spin.min.js</script>
43
  </action>
44
+ <action method="addItem">
45
+ <type>js_css</type>
46
+ <name>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.css</name>
47
  </action>
48
+ <action method="addItem">
49
+ <type>js_css</type>
50
+ <name>axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.4.css</name>
51
  </action>
52
  <action method="addJs">
53
  <script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
55
  <action method="addJs">
56
  <script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.4.js</script>
57
  </action>
58
+ <action method="addItem">
59
+ <type>js_css</type>
60
+ <file helper="axzoom/Head/getFancyboxCss" />
61
  </action>
62
  <action method="addJs">
63
+ <file helper="axzoom/Head/getFancyboxJS" />
64
  </action>
65
  <action method="addJs">
66
+ <file helper="axzoom/Head/getFancyboxJSAX" />
67
  </action>
68
+ <action method="addItem">
69
+ <type>js_css</type>
70
+ <file helper="axzoom/Head/getColorboxCss" />
71
  </action>
72
  <action method="addJs">
73
+ <file helper="axzoom/Head/getColorboxJS" />
74
  </action>
75
  <action method="addJs">
76
  <script>axzoom/axZm/plugins/JSON/jquery.json-2.3.min.js</script>
app/design/frontend/rwd/default/layout/axzoom.xml CHANGED
@@ -1,5 +1,20 @@
1
  <?xml version="1.0"?>
2
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  <layout version="0.1.0">
4
  <catalog_product_view>
5
  <reference name="head">
@@ -32,7 +47,7 @@
32
  </action>
33
  <action method="addItem">
34
  <type>js_css</type>
35
- <name>axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomPrestashop.4.css</name>
36
  </action>
37
  <action method="addJs">
38
  <script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
1
  <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/rwd/default/layout/axzoom.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.0
8
+ * Date: 2015-09-08
9
+ * Review: 2015-09-08
10
+ * URL: http://www.ajax-zoom.com
11
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
+ *
13
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
14
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
15
+ * @license http://www.ajax-zoom.com/index.php?cid=download
16
+ */
17
+ -->
18
  <layout version="0.1.0">
19
  <catalog_product_view>
20
  <reference name="head">
47
  </action>
48
  <action method="addItem">
49
  <type>js_css</type>
50
+ <name>axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.4.css</name>
51
  </action>
52
  <action method="addJs">
53
  <script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
app/design/frontend/rwd/default/template/ax_zoom/catalog/product/view/media.phtml CHANGED
@@ -1,32 +1,44 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  $productId = Mage::app()->getRequest()->getParam('id');
3
  $ax = Mage::getModel('axzoom/ax360');
4
-
5
  $conf = Mage::getStoreConfig('axzoom_options');
6
  $tmp = parse_url(Mage::getBaseUrl());
7
  $axZmPath = str_replace('index.php/', '', $tmp['path']) . 'js/axzoom/axZm/';
8
- $product = Mage::getModel('catalog/product')->load($productId); //product id here
9
  $images360Json = $ax->images360Json($productId);
10
-
11
-
12
-
13
 
14
  // 360 assigned from configurable products to Simple products
15
  $map = array();
16
- if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData()) foreach ($groups as $group) {
17
- $comp = Mage::helper('core')->jsonDecode($group['combinations']);
18
- if ($comp) {
19
- foreach ($comp as $pid) {
20
- if (!isset($map[$pid])) {
21
- $map[$pid] = array();
 
 
 
22
  }
23
- array_push($map[$pid], $group['id_360']);
24
  }
25
-
26
  }
27
  }
28
 
29
-
30
  // all attributes map
31
  $mapAttributesCodeId = array();
32
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
@@ -44,12 +56,11 @@ if ($product->type_id == 'configurable') {
44
  }
45
  }
46
 
47
-
48
  // get associated products
49
  $res = array();
50
  if ($product->isConfigurable()) {
51
- $childProducts = Mage::getModel('catalog/product_type_configurable')
52
- ->getUsedProducts(null,$product);
53
  foreach ($childProducts as $child) {
54
 
55
  $data = $child->getData();
@@ -57,41 +68,54 @@ if ($product->isConfigurable()) {
57
 
58
  $pairs = array();
59
  $labels = array();
60
- foreach ($attributesCodes as $code) {
61
- $pairs[] = $mapAttributesCodeId[$code] . ':' . $data[$code];
62
-
63
  $attr = $product->getResource()->getAttribute($code);
64
- $option_label = $attr->getSource()->getOptionText($data[$code]);
 
 
 
 
 
 
 
 
65
  array_push($labels, trim($option_label));
66
  }
67
-
68
  $idx = implode(',', $pairs);
69
  $res[$idx] = array();
70
 
71
  $obj = null;
72
  $cnt = 0;
 
73
  // add native images
74
  foreach ($p->getMediaGalleryImages() as $image) {
75
-
76
  $tmp = parse_url($image->getUrl());
77
  if (!$obj) $obj = new stdClass;
78
  $params = new stdClass;
79
  $params->img = $tmp['path'];
 
80
  $params->title = '';
81
  $obj->$cnt = $params;
82
  $cnt++;
83
  }
84
 
85
- // add related images via labels
86
  foreach ($product->getMediaGalleryImages() as $image) {
87
- if ($image->label_default != '' && in_array(trim($image->label_default), $labels)) {
88
  $tmp = parse_url($image->getUrl());
89
  if (!$obj) $obj = new stdClass;
90
  $params = new stdClass;
91
  $params->img = $tmp['path'];
 
92
  $params->title = '';
93
  $obj->$cnt = $params;
94
  $cnt++;
 
 
 
95
  }
96
  }
97
 
@@ -100,93 +124,80 @@ if ($product->isConfigurable()) {
100
  } else {
101
  $res[$idx]['images'] = new stdClass();
102
  }
 
103
  $extraGroups = empty($map[$data['entity_id']]) ? array() : $map[$data['entity_id']];
104
  $res[$idx]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['entity_id'], $extraGroups)));
105
  }
106
  }
107
 
108
- //$helper = Mage::helper('configurableswatches/mediafallback');
109
- //$imageFallback = $helper->getConfigurableImagesFallbackArray($product, array('image'), null);
110
- //print_r($imageFallback);
111
-
112
-
113
- /* OLD (based on labels)
114
- // swatches
115
- $swatches = array();
116
- if (version_compare(Mage::getVersion(), '1.9.1') >= 0) {
117
- $helper = Mage::helper('configurableswatches/mediafallback');
118
- if ($labelMapping = $product->getChildAttributeLabelMapping() && $imageFallback = $helper->getConfigurableImagesFallbackArray($product, array('image'), null)) {
119
-
120
- foreach ($imageFallback['option_labels'] as $label => $data) {
121
- $swatches[$label] = array();
122
- $cnt = 1;
123
- $extraGroups = array();
124
- foreach ($data['products'] as $pid) {
125
- $p = Mage::getModel('catalog/product')->load($pid);
126
- $obj = null;
127
- foreach ($p->getMediaGalleryImages() as $image) {
128
-
129
- $tmp = parse_url($image->getUrl());
130
- $obj = new stdClass;
131
- $params = new stdClass;
132
- $params->img = $tmp['path'];
133
- $params->title = '';
134
- $obj->$cnt = $params;
135
- $cnt++;
136
- }
137
- if ($obj != null){
138
- $swatches[$label]['images'] = $obj;
139
- }
140
- if (isset($map[$pid])) {
141
- $extraGroups = array_merge($extraGroups, $map[$pid]);
142
- }
143
- }
144
- $swatches[$label]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['products'], $extraGroups)));
145
- }
146
- }
147
- }
148
- */
149
-
150
-
151
  $cnt = 0;
152
  $imagesJson = array();
 
 
 
153
  if (count($this->getGalleryImages()) > 0) {
154
 
155
- foreach ($this->getGalleryImages() as $image) {
 
 
156
 
157
- $check_image = true;
158
- if(method_exists($this, 'isGalleryImageVisible')) {
159
- $check_image = $this->isGalleryImageVisible($image);
160
- }
 
 
 
 
 
 
161
 
162
- if ($check_image) {
163
- $cnt++;
164
- $tmp = parse_url($image->getUrl());
165
- array_push($imagesJson, $cnt . ': {img: "' . $tmp['path'] . '", title: ""}');
 
166
  }
167
  }
168
- } else {
169
- if($image_url = $this->helper('catalog/image')->init($product, 'image')) {
 
 
 
170
  $tmp = parse_url($image_url);
171
  array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
172
  }
173
  }
174
  ?>
175
- <div id="az_mouseOverZoomParent" style="margin-bottom: 20px;">
 
 
 
 
 
 
 
176
  <!-- Container for mouse over image -->
177
- <div id="az_mouseOverZoomContainer" style="position: relative; border: #AAA 1px solid;">
178
- Mouseover Zoom loading...
179
  </div>
180
 
181
  <!-- gallery with thumbs (will be filled with thumbs by javascript) -->
182
- <div id="az_mouseOverZoomGallery" style="position: relative; margin-top: 20px; height: 76px; width: 100%; display: none;">
183
  Gellery loading...
184
  </div>
185
  </div>
186
 
187
- <?php echo $this->getChildHtml('after'); ?>
 
 
188
 
 
189
  <script type="text/javascript">
 
 
 
190
  <?php
191
  $exclParArray = array('LICENSE_LIC');
192
  foreach ($conf as $group => $data){
@@ -202,17 +213,32 @@ if (count($this->getGalleryImages()) > 0) {
202
  }
203
  }
204
  ?>
 
205
  var AXZMPATH = '<?php echo $axZmPath; ?>';
206
 
207
- // colors
208
  var axAssociated = jQuery.parseJSON('<?php echo Mage::helper('core')->jsonEncode($res); ?>');
209
-
210
- // default 360
211
- var IMAGES_360_JSON = <?php echo $images360Json; ?>;
 
 
 
 
212
 
213
- // default plain images
214
- var IMAGES_JSON = {<?php echo implode(',', $imagesJson);?>};
 
 
 
215
 
 
 
 
 
 
 
 
216
  var zoomParams = {
217
  disableAllMsg: AJAXZOOM_MAIN_DISABLEALLMSG,
218
  axZmPath: AXZMPATH,
@@ -339,85 +365,95 @@ if (count($this->getGalleryImages()) > 0) {
339
  zoomMsgClick: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGCLICK,
340
  spinner: AJAXZOOM_MAIN_SPINNER
341
  }
342
-
343
  };
344
-
 
345
  jQuery.mouseOverZoomInit(zoomParams);
346
 
347
- jQuery.axZm_psh = { };
348
- jQuery.axZm_psh.prevPid = null;
349
- jQuery.axZm_psh.compVersions = function(strV1, strV2) {
350
- var nRes = 0, parts1 = strV1.split('.'), parts2 = strV2.split('.'), nLen = Math.max(parts1.length, parts2.length);
351
- for (var i = 0; i < nLen; i++) {
352
- var nP1 = (i < parts1.length) ? parseInt(parts1[i], 10) : 0, nP2 = (i < parts2.length) ? parseInt(parts2[i], 10) : 0;
353
- if (isNaN(nP1)) { nP1 = 0; } if (isNaN(nP2)) { nP2 = 0; }
354
- if (nP1 != nP2) { nRes = (nP1 > nP2) ? 1 : -1; break; }
355
- }
356
- return nRes;
 
 
 
357
  };
358
 
359
- <?php //if (version_compare(Mage::getVersion(), '1.9.1') >= 0): ?>
 
 
360
 
361
-
362
- // Swatches
363
- jQuery(function($) {
364
-
365
- var resetAxZoom = function() {
366
- $.mouseOverZoomInit.replaceImages( {
 
 
 
 
 
 
 
367
  divID: AJAXZOOM_MAIN_DIVID,
368
  galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
369
- images: IMAGES_JSON,
370
- images360: IMAGES_360_JSON
371
- });
372
- };
373
-
374
- window.resetAxZoom = resetAxZoom;
375
-
376
- var updateAxZoom = function(e) {
377
-
378
- var obj = $(this);
379
-
380
- setTimeout(function(){
381
-
382
- if(e.type == 'change' && obj.val() == '') {
383
- resetAxZoom();
384
- return;
385
- }
386
 
387
- var pairs = [];
388
- for (var k in spConfig.state){
389
- if (typeof spConfig.state[k] !== 'function' && typeof spConfig.state[k] !== 'object' && spConfig.state[k] != false) {
390
- pairs.push(k + ':' + spConfig.state[k]);
391
- }
392
  }
393
- var idx = pairs.join(',');
394
-
395
- //console.log(idx, axAssociated);
396
-
397
- if(axAssociated[idx]) {
398
-
399
- if( ($.isPlainObject(axAssociated[idx].images) && !$.isEmptyObject(axAssociated[idx].images))
400
- ||
401
- ($.isPlainObject(axAssociated[idx].images360) && !$.isEmptyObject(axAssociated[idx].images360))
402
- ) {
403
- $.mouseOverZoomInit.replaceImages( {
404
- divID: AJAXZOOM_MAIN_DIVID,
405
- galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
406
- images: axAssociated[idx].images,
407
- images360: axAssociated[idx].images360
408
- });
409
- } else { // show initial images
410
- resetAxZoom();
411
  }
412
- }
413
-
414
- }, 100);
415
-
416
- }
417
 
418
- $('.swatch-label').click(updateAxZoom); // version 1.9.1 or more
419
- $('.super-attribute-select').change(updateAxZoom);
 
 
 
 
 
420
  });
421
 
422
- <?php //endif; ?>
423
  </script>
1
  <?php
2
+ /**
3
+ * Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/rwd/default/template/ax_zoom/catalog/product/view/media.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.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
+ *
12
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
13
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
14
+ * @license http://www.ajax-zoom.com/index.php?cid=download
15
+ */
16
+
17
  $productId = Mage::app()->getRequest()->getParam('id');
18
  $ax = Mage::getModel('axzoom/ax360');
 
19
  $conf = Mage::getStoreConfig('axzoom_options');
20
  $tmp = parse_url(Mage::getBaseUrl());
21
  $axZmPath = str_replace('index.php/', '', $tmp['path']) . 'js/axzoom/axZm/';
22
+ $product = Mage::getModel('catalog/product')->load($productId);
23
  $images360Json = $ax->images360Json($productId);
24
+ $imagesJsonAll = array();
 
 
25
 
26
  // 360 assigned from configurable products to Simple products
27
  $map = array();
28
+ if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData()) {
29
+ foreach ($groups as $group) {
30
+ $comp = Mage::helper('core')->jsonDecode($group['combinations']);
31
+ if ($comp) {
32
+ foreach ($comp as $pid) {
33
+ if (!isset($map[$pid])) {
34
+ $map[$pid] = array();
35
+ }
36
+ array_push($map[$pid], $group['id_360']);
37
  }
 
38
  }
 
39
  }
40
  }
41
 
 
42
  // all attributes map
43
  $mapAttributesCodeId = array();
44
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
56
  }
57
  }
58
 
 
59
  // get associated products
60
  $res = array();
61
  if ($product->isConfigurable()) {
62
+ $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
63
+
64
  foreach ($childProducts as $child) {
65
 
66
  $data = $child->getData();
68
 
69
  $pairs = array();
70
  $labels = array();
71
+
72
+ foreach ($attributesCodes as $code) { // $code is e.g. color or size
73
+ $pairs[] = $mapAttributesCodeId[$code] . ':' . $data[$code]; // generate pairs of attribures
74
  $attr = $product->getResource()->getAttribute($code);
75
+
76
+ // We need to get default label value and not language value - getAllOptions(false, true) will return default values
77
+ // http://docs.magentocommerce.com/Mage_Eav/Mage_Eav_Model_Entity_Attribute_Source_Table.html
78
+ $option_label = $ax->findDefaultLabelValue($attr->getSource()->getAllOptions(false, true), $data[$code]);
79
+ if ($option_label == false){
80
+ // This would return language specific values
81
+ $option_label = $attr->getSource()->getOptionText($data[$code]);
82
+ }
83
+
84
  array_push($labels, trim($option_label));
85
  }
86
+
87
  $idx = implode(',', $pairs);
88
  $res[$idx] = array();
89
 
90
  $obj = null;
91
  $cnt = 0;
92
+
93
  // add native images
94
  foreach ($p->getMediaGalleryImages() as $image) {
 
95
  $tmp = parse_url($image->getUrl());
96
  if (!$obj) $obj = new stdClass;
97
  $params = new stdClass;
98
  $params->img = $tmp['path'];
99
+ array_push($imagesJsonAll, $tmp['path']);
100
  $params->title = '';
101
  $obj->$cnt = $params;
102
  $cnt++;
103
  }
104
 
105
+ // add related images via labels (images from configurable product)
106
  foreach ($product->getMediaGalleryImages() as $image) {
107
+ if ($image->label_default != '' && in_array(trim($image->label_default), $labels)) {
108
  $tmp = parse_url($image->getUrl());
109
  if (!$obj) $obj = new stdClass;
110
  $params = new stdClass;
111
  $params->img = $tmp['path'];
112
+ array_push($imagesJsonAll, $tmp['path']);
113
  $params->title = '';
114
  $obj->$cnt = $params;
115
  $cnt++;
116
+ }else{
117
+ $tmp = parse_url($image->getUrl());
118
+ array_push($imagesJsonAll, $tmp['path']);
119
  }
120
  }
121
 
124
  } else {
125
  $res[$idx]['images'] = new stdClass();
126
  }
127
+
128
  $extraGroups = empty($map[$data['entity_id']]) ? array() : $map[$data['entity_id']];
129
  $res[$idx]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['entity_id'], $extraGroups)));
130
  }
131
  }
132
 
133
+ // Prepare json for AJAX-ZOOM
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  $cnt = 0;
135
  $imagesJson = array();
136
+ $imagesJsonAll = array_unique($imagesJsonAll);
137
+
138
+ // Some images present
139
  if (count($this->getGalleryImages()) > 0) {
140
 
141
+ // If no base image is defined and there is only one image in the gallery and there is a 360 view for this product, then we do not show this image at all.
142
+ // You can change it by setting the radio button "Base Image" under product configuration -> Images
143
+ if (!($images360Json != '{}' && count($this->getGalleryImages()) == 1 && $product->getImage() == 'no_selection')){
144
 
145
+ // Loop over gallery images
146
+ foreach ($this->getGalleryImages() as $image) {
147
+
148
+ $check_image = false;
149
+
150
+ if (method_exists($this, 'isGalleryImageVisible')) {
151
+ $check_image = $this->isGalleryImageVisible($image);
152
+ } else {
153
+ $check_image = true;
154
+ }
155
 
156
+ if ($check_image) {
157
+ $cnt++;
158
+ $tmp = parse_url($image->getUrl());
159
+ array_push($imagesJson, $cnt . ': {img: "' . $tmp['path'] . '", title: ""}');
160
+ }
161
  }
162
  }
163
+ }
164
+ // No images present
165
+ else if ($conf['magento']['magentoNoImage'])
166
+ {
167
+ if ($image_url = $this->helper('catalog/image')->init($product, 'image')) {
168
  $tmp = parse_url($image_url);
169
  array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
170
  }
171
  }
172
  ?>
173
+
174
+ <script type="text/javascript">
175
+ // Fallback if catalog_product_view reference name="head" is not loaded
176
+ var mageAzJsUrl = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS).'axzoom/'; ?>';
177
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_fallback.js'%3E%3C/script%3E"));
178
+ </script>
179
+
180
+ <div id="az_mouseOverZoomParent">
181
  <!-- Container for mouse over image -->
182
+ <div id="az_mouseOverZoomContainer">
183
+ Zoom loading...
184
  </div>
185
 
186
  <!-- gallery with thumbs (will be filled with thumbs by javascript) -->
187
+ <div id="az_mouseOverZoomGallery">
188
  Gellery loading...
189
  </div>
190
  </div>
191
 
192
+ <?php
193
+ echo $this->getChildHtml('after');
194
+ ?>
195
 
196
+ <!-- AJAX-ZOOM js block -->
197
  <script type="text/javascript">
198
+ ;(function($){
199
+
200
+ // Load plugin settings
201
  <?php
202
  $exclParArray = array('LICENSE_LIC');
203
  foreach ($conf as $group => $data){
213
  }
214
  }
215
  ?>
216
+
217
  var AXZMPATH = '<?php echo $axZmPath; ?>';
218
 
219
+ // Colors / attributes
220
  var axAssociated = jQuery.parseJSON('<?php echo Mage::helper('core')->jsonEncode($res); ?>');
221
+
222
+ // Default plain images
223
+ <?php if ($conf['magento']['magentoAllImagesStart'] == 'true'){ ?>
224
+ var IMAGES_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
225
+ <?php } else { ?>
226
+ var IMAGES_JSON = {<?php echo implode(',', $imagesJson);?>};
227
+ <?php } ?>
228
 
229
+ // All images
230
+ var IMAGES_ALL_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
231
+
232
+ // Default 360
233
+ var IMAGES_360_JSON = <?php echo $images360Json; ?>;
234
 
235
+ // Need that later for not reloading if images are the same
236
+ var IMAGES_AND_360_LOADED = JSON.stringify({
237
+ images: jQuery.extend(true, {}, IMAGES_JSON),
238
+ images360: jQuery.extend(true, {}, IMAGES_360_JSON)
239
+ });
240
+
241
+ // AJAX-ZOOM mouseover and other parameters
242
  var zoomParams = {
243
  disableAllMsg: AJAXZOOM_MAIN_DISABLEALLMSG,
244
  axZmPath: AXZMPATH,
365
  zoomMsgClick: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGCLICK,
366
  spinner: AJAXZOOM_MAIN_SPINNER
367
  }
 
368
  };
369
+
370
+ // Init AJAX-ZOOM
371
  jQuery.mouseOverZoomInit(zoomParams);
372
 
373
+ // Swatches
374
+ var resetAxZoom = function() {
375
+ if (JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON}) == IMAGES_AND_360_LOADED){
376
+ return;
377
+ }
378
+
379
+ IMAGES_AND_360_LOADED = JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON});
380
+ jQuery.mouseOverZoomInit.replaceImages( {
381
+ divID: AJAXZOOM_MAIN_DIVID,
382
+ galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
383
+ images: IMAGES_JSON,
384
+ images360: IMAGES_360_JSON
385
+ });
386
  };
387
 
388
+ // Shortcut for maybe other applications or additional functionality
389
+ // window.resetAxZoom() will reset AJAX-ZOOM to the state when article is loaded without attribute selection
390
+ window.resetAxZoom = resetAxZoom;
391
 
392
+ // Change values
393
+ var updateAxZoomAction = function(idxSel){
394
+ //JSON.stringify(obj1) === JSON.stringify(obj2)
395
+ if ( (jQuery.isPlainObject(idxSel.images) && !jQuery.isEmptyObject(idxSel.images) )
396
+ || (jQuery.isPlainObject(idxSel.images360) && !jQuery.isEmptyObject(idxSel.images360) )) {
397
+
398
+ if (JSON.stringify({images: idxSel.images, images360: idxSel.images360}) == IMAGES_AND_360_LOADED){
399
+ return;
400
+ }
401
+
402
+ IMAGES_AND_360_LOADED = JSON.stringify({images: idxSel.images, images360: idxSel.images360});
403
+
404
+ jQuery.mouseOverZoomInit.replaceImages( {
405
  divID: AJAXZOOM_MAIN_DIVID,
406
  galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
407
+ images: idxSel.images,
408
+ images360: idxSel.images360
409
+ } );
410
+ } else { // show initial images
411
+ resetAxZoom();
412
+ }
413
+ };
414
+
415
+ var updateAxZoom = function(e) {
416
+ var obj = jQuery(this);
417
+
418
+ setTimeout(function(){
419
+
420
+ if(e.type == 'change' && obj.val() == '') {
421
+ resetAxZoom();
422
+ return;
423
+ }
424
 
425
+ var pairs = [];
426
+
427
+ for (var k in spConfig.state){
428
+ if (typeof spConfig.state[k] !== 'function' && typeof spConfig.state[k] !== 'object' && spConfig.state[k] != false) {
429
+ pairs.push(k + ':' + spConfig.state[k]);
430
  }
431
+ }
432
+
433
+ var idx = pairs.join(',');
434
+
435
+ var idxSel = axAssociated[idx];
436
+
437
+ if (idxSel) {
438
+ updateAxZoomAction(idxSel);
439
+ } else {
440
+ // try to find whatever
441
+ jQuery.each(axAssociated, function(k, v){
442
+ if (k.indexOf(idx) != -1){
443
+ updateAxZoomAction(v);
444
+ return false;
 
 
 
 
445
  }
446
+ })
447
+ }
 
 
 
448
 
449
+ }, 50);
450
+
451
+ }
452
+
453
+ jQuery(document).ready(function() {
454
+ jQuery('.swatch-label').click(updateAxZoom); // version 1.9.1 or more
455
+ jQuery('.super-attribute-select').change(updateAxZoom);
456
  });
457
 
458
+ })(jQuery);
459
  </script>
app/etc/modules/Ax_Zoom.xml CHANGED
@@ -1,4 +1,20 @@
1
  <?xml version="1.0" ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  <config>
3
  <modules>
4
  <Ax_Zoom>
1
  <?xml version="1.0" ?>
2
+ <!--
3
+ /**
4
+ * Module: jQuery AJAX-ZOOM for Magento, /app/etc/modules/Ax_Zoom.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.0
8
+ * Date: 2015-09-08
9
+ * Review: 2015-09-08
10
+ * URL: http://www.ajax-zoom.com
11
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
12
+ *
13
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
14
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
15
+ * @license http://www.ajax-zoom.com/index.php?cid=download
16
+ */
17
+ -->
18
  <config>
19
  <modules>
20
  <Ax_Zoom>
js/axzoom/check_fallback.js ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_fallback.js
3
+ * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
4
+ * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
5
+ * Version: 1.0.0
6
+ * Date: 2015-09-08
7
+ * Review: 2015-09-08
8
+ * URL: http://www.ajax-zoom.com
9
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
10
+ *
11
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
12
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
13
+ * @license http://www.ajax-zoom.com/index.php?cid=download
14
+ */
15
+
16
+ if (!mageAzJsUrl){mageAzJsUrl = '/js/axzoom/';}
17
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_jquery.js'%3E%3C/script%3E"));
18
+
19
+ if (!jQuery.isFunction(jQuery.mouseOverZoomInit)){
20
+ document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/axZm.css' %3E"));
21
+ document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css' %3E"));
22
+ document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.css' %3E"));
23
+ document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.4.css' %3E"));
24
+
25
+ if (!jQuery.isFunction(jQuery.fancybox)){
26
+ document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css' %3E"));
27
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js'%3E%3C/script%3E"));
28
+ }
29
+
30
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/jquery.axZm.js'%3E%3C/script%3E"));
31
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js'%3E%3C/script%3E"));
32
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js'%3E%3C/script%3E"));
33
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/spin/spin.min.js'%3E%3C/script%3E"));
34
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js'%3E%3C/script%3E"));
35
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.4.js'%3E%3C/script%3E"));
36
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js'%3E%3C/script%3E"));
37
+ document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/JSON/jquery.json-2.3.min.js'%3E%3C/script%3E"));
38
+ }
js/axzoom/check_jquery.js CHANGED
@@ -1,4 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
2
- document.write(unescape("%3Cscript type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js'%3E%3C/script%3E"));
3
  document.write(unescape("%3Cscript type='text/javascript' %3EjQuery.noConflict();%3C/script%3E"));
4
- }
1
+ /**
2
+ * Module: jQuery AJAX-ZOOM for Magento, /js/check_jquery.js
3
+ * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
4
+ * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
5
+ * Version: 1.0.0
6
+ * Date: 2015-09-08
7
+ * Review: 2015-09-08
8
+ * URL: http://www.ajax-zoom.com
9
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
10
+ *
11
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
12
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
13
+ * @license http://www.ajax-zoom.com/index.php?cid=download
14
+ */
15
+
16
+ // Inject jQuery 1.8.3 if it is not defined from google API CDN
17
+ // For AJAX-ZOOM you can also use any other jQuery version
18
+ // If you will be using jQuery >= 1.9 it is a good idea to also load "jquery-migrate" - https://github.com/jquery/jquery-migrate/
19
  if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
20
+ document.write(unescape("%3Cscript type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'%3E%3C/script%3E"));
21
  document.write(unescape("%3Cscript type='text/javascript' %3EjQuery.noConflict();%3C/script%3E"));
22
+ }
js/axzoom/check_jquery_admin.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_jquery_admin.php
3
+ * Copyright: Copyright (c) 2010-2015 Vadim Jacobi
4
+ * License Agreement: http://www.ajax-zoom.com/index.php?cid=download
5
+ * Version: 1.0.0
6
+ * Date: 2015-09-08
7
+ * Review: 2015-09-08
8
+ * URL: http://www.ajax-zoom.com
9
+ * Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
10
+ *
11
+ * @author AJAX-ZOOM <support@ajax-zoom.com>
12
+ * @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
13
+ * @license http://www.ajax-zoom.com/index.php?cid=download
14
+ */
15
+
16
+ ;(function(){
17
+ // IE < 9 indexOf hack for arrays
18
+ if (!Array.prototype.indexOf){
19
+ Array.prototype.indexOf = function(elt /*, from*/){
20
+ var len = this.length >>> 0;
21
+ var from = Number(arguments[1]) || 0;
22
+ from = (from < 0) ? Math.ceil(from) : Math.floor(from);
23
+ if (from < 0) {from += len;}
24
+ for (; from < len; from++){if (from in this && this[from] === elt) {return from;}}
25
+ return -1;
26
+ };
27
+ }
28
+
29
+ var pathname = window.location.pathname, basePath = '', pathArr = pathname.split('/');
30
+ if (pathArr.length < 3){pathArr = pathname.split('\\');}
31
+ for (var i = 1; i < pathArr.indexOf('index.php'); i++){basePath += '/' + pathArr[i];}
32
+ if (!basePath){basePath = '/';} else {basePath += '/';} basePath = basePath.replace(/\/\/+/g, '\/');
33
+
34
+ // If jQuery is not defined inject jQuery 1.11.3 core with jQuery.noConflict() and jquery-migrate 1.2.1
35
+ if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
36
+ document.write(unescape("%3Cscript type='text/javascript' src='"+basePath+"js/axzoom/jquery-1.11.3.min.js'%3E%3C/script%3E"));
37
+ document.write(unescape("%3Cscript type='text/javascript'%3EjQuery.noConflict();%3C/script%3E"));
38
+ document.write(unescape("%3Cscript type='text/javascript' src='"+basePath+"js/axzoom/jquery-migrate-1.2.1.min.js'%3E%3C/script%3E"));
39
+ }
40
+ })();
js/axzoom/jquery-1.11.0.min.js DELETED
@@ -1,6 +0,0 @@
1
- /*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
2
- !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&a