first commit

This commit is contained in:
2024-10-28 22:14:22 +01:00
commit b65352c452
40581 changed files with 5712079 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
drwxr-xr-x 4 30094 users 10 Oct 6 10:16 .
drwxr-xr-x 115 30094 users 117 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 19 Aug 31 2021 Readme.md
-rw-r--r-- 1 30094 users 614 Aug 31 2021 config.xml
-rw-rw-r-- 1 30094 users 614 Aug 31 2021 config_pl.xml
-rw-r--r-- 1 30094 users 882 Aug 31 2021 index.php
-rw-r--r-- 1 30094 users 42452 Aug 31 2021 jxproductzoomer.php
-rw-r--r-- 1 30094 users 19695 Aug 31 2021 logo.png
drwxr-xr-x 2 30094 users 9 Oct 6 10:16 translations
drwxr-xr-x 6 30094 users 7 Oct 6 10:16 views

View File

@@ -0,0 +1 @@
# JX Product Zoomer

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>jxproductzoomer</name>
<displayName><![CDATA[JX Product Zoomer]]></displayName>
<version><![CDATA[1.0.2]]></version>
<description><![CDATA[Add a nice zoom effect to the product]]></description>
<author><![CDATA[Zemez]]></author>
<tab><![CDATA[front_office_features]]></tab>
<confirmUninstall><![CDATA[Are you sure you want to uninstall this module? All settings will be
lost!]]></confirmUninstall>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>jxproductzoomer</name>
<displayName><![CDATA[JX Product Zoomer]]></displayName>
<version><![CDATA[1.0.2]]></version>
<description><![CDATA[Add a nice zoom effect to the product]]></description>
<author><![CDATA[Zemez]]></author>
<tab><![CDATA[front_office_features]]></tab>
<confirmUninstall><![CDATA[Are you sure you want to uninstall this module? All settings will be
lost!]]></confirmUninstall>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>

View File

@@ -0,0 +1,32 @@
<?php
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,924 @@
<?php
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class Jxproductzoomer extends Module
{
protected $config_form = false;
public function __construct()
{
$this->name = 'jxproductzoomer';
$this->tab = 'front_office_features';
$this->version = '1.0.2';
$this->author = 'Zemez';
$this->need_instance = 0;
$this->module_key = 'c02c1296471fc1132a148d6c3c2de665';
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->l('JX Product Zoomer');
$this->description = $this->l('Add a nice zoom effect to the product');
$this->confirmUninstall = $this->l('Are you sure you want to uninstall this module? All settings will be
lost!');
$this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
}
public function install()
{
$this->clearCache();
$settings = $this->getModuleSettings();
foreach ($settings as $name => $value) {
Configuration::updateValue($name, $value);
}
return parent::install() &&
$this->registerHook('header') &&
$this->registerHook('backOfficeHeader') &&
$this->registerHook('displayBeforeBodyClosingTag');
}
public function uninstall()
{
$settings = $this->getModuleSettings();
foreach (array_keys($settings) as $name) {
Configuration::deleteByName($name);
}
return parent::uninstall();
}
/**
* Array with all settings and default values
* @return array $setting
*/
protected function getModuleSettings()
{
$settings = array(
'PS_DISPLAY_JQZOOM' => false,
'JXPRODUCTZOOMER_LIVE_MODE' => true,
'JXPRODUCTZOOMER_FANCY_BOX' => true,
'JXPRODUCTZOOMER_EXTENDED_SETTINGS' => false,
'JXPRODUCTZOOMER_IMAGE_CHANGE_EVENT' => false,
'JXPRODUCTZOOMER_ZOOM_LEVEL' => 1,
'JXPRODUCTZOOMER_ZOOM_SCROLL' => false,
'JXPRODUCTZOOMER_ZOOM_SCROLL_INCREMENT' => 0.1,
'JXPRODUCTZOOMER_ZOOM_MIN_LEVEL' => 0,
'JXPRODUCTZOOMER_ZOOM_MAX_LEVEL' => 0,
'JXPRODUCTZOOMER_ZOOM_EASING' => true,
'JXPRODUCTZOOMER_ZOOM_EASING_AMOUNT' => 12,
'JXPRODUCTZOOMER_ZOOM_LENS_SIZE' => 200,
'JXPRODUCTZOOMER_ZOOM_WINDOW_WIDTH' => 400,
'JXPRODUCTZOOMER_ZOOM_WINDOW_HEIGHT' => 400,
'JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_X' => 0,
'JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_Y' => 0,
'JXPRODUCTZOOMER_ZOOM_WINDOW_POSITION' => 1,
'JXPRODUCTZOOMER_ZOOM_WINDOW_BG_COLOUR' => '#ffffff',
'JXPRODUCTZOOMER_ZOOM_FADE_IN' => 200,
'JXPRODUCTZOOMER_ZOOM_FADE_OUT' => 200,
'JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_IN' => 200,
'JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_OUT' => 200,
'JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_IN' => 200,
'JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_OUT' => 200,
'JXPRODUCTZOOMER_ZOOM_BORDER_SIZE' => 4,
'JXPRODUCTZOOMER_ZOOM_SHOW_LENS' => true,
'JXPRODUCTZOOMER_ZOOM_BORDER_COLOR' => '#888888',
'JXPRODUCTZOOMER_ZOOM_LENS_BORDER_SIZE' => 1,
'JXPRODUCTZOOMER_ZOOM_LENS_BORDER_COLOR' => '#000000',
'JXPRODUCTZOOMER_ZOOM_LENS_SHAPE' => 'square',
'JXPRODUCTZOOMER_ZOOM_TYPE' => 'lens',
'JXPRODUCTZOOMER_ZOOM_CONTAIN_LENS_ZOOM' => true,
'JXPRODUCTZOOMER_ZOOM_LENS_COLOUR' => '#ffffff',
'JXPRODUCTZOOMER_ZOOM_LENS_OPACITY' => 0.4,
'JXPRODUCTZOOMER_ZOOM_TINT' => false,
'JXPRODUCTZOOMER_ZOOM_TINT_COLOUR' => '#333333',
'JXPRODUCTZOOMER_ZOOM_TINT_OPACITY' => '0.4',
'JXPRODUCTZOOMER_ZOOM_CURSOR' => 'default',
'JXPRODUCTZOOMER_ZOOM_RESPONSIVE' => true
);
return $settings;
}
public function getContent()
{
$output = '';
// disable default JQZoom if anabled
if (Configuration::get('PS_DISPLAY_JQZOOM')) {
Configuration::updateValue('JXPRODUCTZOOMER_LIVE_MODE', false);
$this->clearCache();
}
if (((bool)Tools::isSubmit('submitJxproductzoomerModule')) == true) {
if (!$errors = $this->validateSettings()) {
$this->postProcess();
$this->clearCache();
$output .= $this->displayConfirmation($this->l('Settings successfully saved.'));
} else {
$output .= $errors;
}
}
$this->context->smarty->assign('module_dir', $this->_path);
return $output.$this->renderForm();
}
/**
* Validate filed values
* @return array|bool errors or false if no errors
*/
protected function validateSettings()
{
$errors = array();
if (!Tools::isEmpty(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LEVEL'))
&& (!Validate::isFloat(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LEVEL'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_LEVEL') < 0)) {
$errors[] = $this->l('"Zoom Level" value error. Only float numbers are allowed.');
}
if (!Validate::isFloat(Tools::getValue('JXPRODUCTZOOMER_ZOOM_MIN_LEVEL'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_MIN_LEVEL') < 0) {
$errors[] = $this->l('"Min Zoom Level" value error. Only float numbers are allowed.');
}
if (!Validate::isFloat(Tools::getValue('JXPRODUCTZOOMER_ZOOM_MAX_LEVEL'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_MAX_LEVEL') < 0) {
$errors[] = $this->l('"Max Zoom Level" value error. Only float numbers are allowed.');
}
if (!Validate::isFloat(Tools::getValue('JXPRODUCTZOOMER_ZOOM_SCROLL_INCREMENT'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_SCROLL_INCREMENT') < 0) {
$errors[] = $this->l('"Scroll Zoom Increment" value error. Only float numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_EASING_AMOUNT'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_EASING_AMOUNT') < 0) {
$errors[] = $this->l('"Easing Amount" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_WIDTH'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_WIDTH') < 0) {
$errors[] = $this->displayError($this->l('"Zoom Window Width" value error.
Only integer numbers are allowed.'));
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_HEIGHT'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_HEIGHT') < 0) {
$errors[] = $this->l('"Zoom Window Height" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_X'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_X') < 0) {
$errors[] = $this->l('"Zoom Window Offset X" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_Y'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_Y') < 0) {
$errors[] = $this->l('"Zoom Window Offset Y" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_POSITION'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_POSITION') < 1
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_POSITION') > 16) {
$errors[] = $this->l('"Zoom Window Position" value error. Only integer numbers between 1-16 are allowed.');
}
if (!Validate::isColor(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_BG_COLOUR'))) {
$errors[] = $this->l('"Zoom Window Bg Color" format error.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_IN'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_IN') < 0) {
$errors[] = $this->l('"Zoom Window Fade In" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_OUT'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_OUT') < 0) {
$errors[] = $this->l('"Zoom Window Fade Out" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_BORDER_SIZE'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_BORDER_SIZE') < 0) {
$errors[] = $this->l('"Border Size" value error. Only integer numbers are allowed.');
}
if (!Validate::isColor(Tools::getValue('JXPRODUCTZOOMER_ZOOM_BORDER_COLOR'))) {
$errors[] = $this->l('"Border Color" format error.');
}
if (!Validate::isColor(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_COLOUR'))) {
$errors[] = $this->l('"Lens Color" format error.');
}
if (!Validate::isFloat(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_OPACITY'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_BORDER_SIZE') < 0) {
$errors[] = $this->l('"Lens Opacity" value error. Only float numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_SIZE'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_SIZE') < 0) {
$errors[] = $this->displayError($this->l('"Lens Size" value error. Only integer numbers are
allowed.'));
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_FADE_IN'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_FADE_IN') < 0) {
$errors[] = $this->l('"Lens Fade In" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_FADE_OUT'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_FADE_OUT') < 0) {
$errors[] = $this->l('"Lens Fade Out" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_BORDER_SIZE'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_BORDER_SIZE') < 0) {
$errors[] = $this->l('"Lens Border" value error. Only integer numbers are allowed.');
}
if (!Validate::isColor(Tools::getValue('JXPRODUCTZOOMER_ZOOM_LENS_BORDER_COLOR'))) {
$errors[] = $this->l('"Lens Border Color" format error.');
}
if (!Validate::isColor(Tools::getValue('JXPRODUCTZOOMER_ZOOM_TINT_COLOUR'))) {
$errors[] = $this->l('"Tint Color" format error.');
}
if (!Validate::isFloat(Tools::getValue('JXPRODUCTZOOMER_ZOOM_TINT_OPACITY'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_TINT_OPACITY') < 0) {
$errors[] = $this->l('"Tint Opacity" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_IN'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_IN') < 0) {
$errors[] = $this->l('"Tint Fade In" value error. Only integer numbers are allowed.');
}
if (!Validate::isInt(Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_OUT'))
|| Tools::getValue('JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_OUT') < 0) {
$errors[] = $this->l('"Tint Fade Out" value error. Only integer numbers are allowed.');
}
if ($errors) {
return $this->displayError(implode('<br />', $errors));
} else {
return false;
}
}
/**
* Build the module form
* @return mixed
*/
protected function renderForm()
{
$helper = new HelperForm();
$helper->show_toolbar = false;
$helper->table = $this->table;
$helper->module = $this;
$helper->default_form_language = $this->context->language->id;
$helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG', 0);
$helper->identifier = $this->identifier;
$helper->submit_action = 'submitJxproductzoomerModule';
$helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false)
.'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name;
$helper->token = Tools::getAdminTokenLite('AdminModules');
$helper->tpl_vars = array(
'image_path' => $this->_path.'views/img',
'fields_value' => $this->getConfigFormValues(), /* Add values for your inputs */
'languages' => $this->context->controller->getLanguages(),
'id_language' => $this->context->language->id,
);
return $helper->generateForm(array($this->getConfigForm()));
}
/**
* Draw the module form
* @return array
*/
protected function getConfigForm()
{
return array(
'form' => array(
'legend' => array(
'title' => $this->l('Settings'),
'icon' => 'icon-cogs',
),
'input' => array(
array(
'form_group_class' => 'window-type lens-type inner-type',
'type' => 'switch',
'label' => $this->l('Live mode'),
'name' => 'JXPRODUCTZOOMER_LIVE_MODE',
'is_bool' => true,
'desc' => $this->l('Use this module in live mode'),
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type inner-type',
'type' => 'switch',
'label' => $this->l('Fancybox'),
'name' => 'JXPRODUCTZOOMER_FANCY_BOX',
'is_bool' => true,
'desc' => $this->l('Display image in fancybox on click'),
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type inner-type',
'type' => 'switch',
'label' => $this->l('Change image on hover'),
'name' => 'JXPRODUCTZOOMER_IMAGE_CHANGE_EVENT',
'is_bool' => true,
'desc' => $this->l('Change image on hover (click by default, only click for mobile)'),
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type inner-type',
'type' => 'switch',
'label' => $this->l('Responsive'),
'name' => 'JXPRODUCTZOOMER_ZOOM_RESPONSIVE',
'desc' => $this->l('Set to true to activate responsivenes. If you have a theme which changes
size, or tablets which change orientation this is needed to be on.
Possible Values: "True", "False"'),
'is_bool' => true,
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type inner-type',
'type' => 'select',
'label' => $this->l('Zoom Type'),
'name' => 'JXPRODUCTZOOMER_ZOOM_TYPE',
'desc' => $this->l('Possible Values: Lens, Window, Inner'),
'options' => array(
'query' => array(
array(
'id' => 'window',
'name' => $this->l('window')),
array(
'id' => 'lens',
'name' => $this->l('lens')),
array(
'id' => 'inner',
'name' => $this->l('inner')),
),
'id' => 'id',
'name' => 'name'
)
),
array(
'form_group_class' => 'window-type lens-type inner-type',
'type' => 'switch',
'label' => $this->l('Extended settings'),
'name' => 'JXPRODUCTZOOMER_EXTENDED_SETTINGS',
'is_bool' => true,
'desc' => $this->l('use settings for experts')
.' <a target="_blank" href="//igorlino.github.io/elevatezoom-plus/api.htm">'
.$this->l('(official documentation)').'</a>',
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'type' => 'switch',
'label' => $this->l('Scroll Zoom'),
'name' => 'JXPRODUCTZOOMER_ZOOM_SCROLL',
'is_bool' => true,
'desc' => $this->l('Set to true to activate zoom on mouse scroll.'),
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type inner-type extended-settings',
'type' => 'select',
'label' => $this->l('Cursor'),
'name' => 'JXPRODUCTZOOMER_ZOOM_CURSOR',
'desc' => $this->l('The default cursor is usually the arrow, if using a fancybox,
then set the cursor to pointer so it looks clickable'),
'options' => array(
'query' => array(
array(
'id' => 'default',
'name' => $this->l('default')),
array(
'id' => 'crosshair',
'name' => $this->l('crosshair')),
array(
'id' => 'pointer',
'name' => $this->l('pointer')),
array(
'id' => 'move',
'name' => $this->l('move')),
),
'id' => 'id',
'name' => 'name'
)
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'col' => 2,
'type' => 'text',
'desc' => $this->l('Default zoom level of image'),
'name' => 'JXPRODUCTZOOMER_ZOOM_LEVEL',
'label' => $this->l('Zoom Level'),
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_MIN_LEVEL',
'label' => $this->l('Min Zoom Level'),
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_MAX_LEVEL',
'label' => $this->l('Max Zoom Level'),
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'col' => 2,
'type' => 'text',
'desc' => $this->l('steps of the scrollzoom'),
'name' => 'JXPRODUCTZOOMER_ZOOM_SCROLL_INCREMENT',
'label' => $this->l('Scroll Zoom Increment'),
),
array(
'form_group_class' => 'window-type lens-type inner-type extended-settings',
'type' => 'switch',
'label' => $this->l('Zoom Easing'),
'name' => 'JXPRODUCTZOOMER_ZOOM_EASING',
'is_bool' => true,
'desc' => $this->l('set to true to activate easing'),
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'easing-block window-type inner-type lens-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_EASING_AMOUNT',
'label' => $this->l('Easing Amount'),
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_WIDTH',
'label' => $this->l('Zoom Window Width'),
'desc' => $this->l('Width of the zoomWindow (Note: zoomType must be "window")')
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_HEIGHT',
'label' => $this->l('Zoom Window Height'),
'desc' => $this->l('Height of the zoomWindow (Note: zoomType must be "window")')
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_X',
'label' => $this->l('Zoom Window Offset X'),
'desc' => $this->l('x-axis offset of the zoom window')
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_Y',
'label' => $this->l('Zoom Window Offset Y'),
'desc' => $this->l('y-axis offset of the zoom window')
),
array(
'form_group_class' => 'window-type extended-settings extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_POSITION',
'label' => $this->l('Zoom Window Position'),
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'name' => '',
'type' => 'jxproductzoomer_sample_image',
'label' => '',
),
array(
'form_group_class' => 'window-type extended-settings',
'type' => 'color',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_BG_COLOUR',
'label' => $this->l('Zoom Window Bg Color'),
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_IN',
'label' => $this->l('Zoom Window Fade In'),
'desc' => $this->l('Set number, e.g 200, for speed of Window fadeIn in milliseconds'),
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_OUT',
'label' => $this->l('Zoom Window Fade Out'),
'desc' => $this->l('Set number, e.g 200, for speed of Window fadeOut in milliseconds'),
),
array(
'form_group_class' => 'window-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_BORDER_SIZE',
'label' => $this->l('Border Size'),
'desc' => $this->l('Border Size of the ZoomBox -
Must be set here as border taken into account for plugin calculations'),
),
array(
'form_group_class' => 'window-type extended-settings extended-settings',
'type' => 'color',
'name' => 'JXPRODUCTZOOMER_ZOOM_BORDER_COLOR',
'label' => $this->l('Border Color'),
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'type' => 'switch',
'label' => $this->l('Zoom Lens'),
'name' => 'JXPRODUCTZOOMER_ZOOM_SHOW_LENS',
'is_bool' => true,
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'type' => 'select',
'label' => $this->l('Lens Shape'),
'name' => 'JXPRODUCTZOOMER_ZOOM_LENS_SHAPE',
'options' => array(
'query' => array(
array(
'id' => 'square',
'name' => $this->l('square')),
array(
'id' => 'round',
'name' => $this->l('round')),
),
'id' => 'id',
'name' => 'name'
)
),
array(
'form_group_class' => 'window-type lens-block extended-settings',
'type' => 'color',
'name' => 'JXPRODUCTZOOMER_ZOOM_LENS_COLOUR',
'label' => $this->l('Lens Color'),
'desc' => $this->l('color of the lens background')
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_LENS_OPACITY',
'label' => $this->l('Lens Opacity'),
'desc' => $this->l('used in combination with lensColor to make the lens see through. When
using tint, this is overrided to 0')
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_LENS_SIZE',
'label' => $this->l('Lens Size'),
'desc' => $this->l('used when zoomType is set to lens, when zoom type is set to window, then
the lens size is auto calculated')
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_FADE_IN',
'label' => $this->l('Lens Fade In'),
'desc' => $this->l('Set number, e.g 200, for speed of Lens fadeIn in milliseconds'),
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_FADE_OUT',
'label' => $this->l('Lens Fade Out'),
'desc' => $this->l('Set number, e.g 200, for speed of Lens fadeOut in milliseconds'),
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_LENS_BORDER_SIZE',
'label' => $this->l('Lens Border'),
'desc' => $this->l('Width in pixels of the lens border extended-settings'),
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'type' => 'color',
'name' => 'JXPRODUCTZOOMER_ZOOM_LENS_BORDER_COLOR',
'label' => $this->l('Lens Border Color'),
),
array(
'form_group_class' => 'window-type lens-type lens-block extended-settings',
'type' => 'switch',
'label' => $this->l('Contains Lens Zoom'),
'name' => 'JXPRODUCTZOOMER_ZOOM_CONTAIN_LENS_ZOOM',
'is_bool' => true,
'desc' => $this->l('for use with the Lens Zoom Type. This makes sure the lens does not fall
outside the outside of the image'),
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type lens-type extended-settings',
'type' => 'switch',
'label' => $this->l('Tint'),
'name' => 'JXPRODUCTZOOMER_ZOOM_TINT',
'is_bool' => true,
'values' => array(
array(
'id' => 'active_on',
'value' => true,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => false,
'label' => $this->l('Disabled')
)
),
),
array(
'form_group_class' => 'window-type tint-block lens-type extended-settings',
'type' => 'color',
'name' => 'JXPRODUCTZOOMER_ZOOM_TINT_COLOUR',
'label' => $this->l('Tint Color'),
'desc' => $this->l('color of the tint, can be #hex, word (red, blue), or rgb(x, x, x)')
),
array(
'form_group_class' => 'window-type tint-block lens-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_TINT_OPACITY',
'label' => $this->l('Tint Opacity'),
'desc' => $this->l('opacity of the tint')
),
array(
'form_group_class' => 'window-type tint-block lens-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_IN',
'label' => $this->l('Tint Fade In'),
'desc' => $this->l('Set number, e.g 200, for speed of Tint fadeIn in milliseconds'),
),
array(
'form_group_class' => 'window-type tint-block lens-type extended-settings',
'col' => 2,
'type' => 'text',
'name' => 'JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_OUT',
'label' => $this->l('Tint Fade Out'),
'desc' => $this->l('Set number, e.g 200, for speed of Tint fadeIn in milliseconds'),
),
),
'submit' => array(
'title' => $this->l('Save'),
),
),
);
}
/**
* Fill the module form values
* @return array
*/
protected function getConfigFormValues()
{
$filled_settings = array();
$settings = $this->getModuleSettings();
foreach (array_keys($settings) as $name) {
$filled_settings[$name] = Configuration::get($name);
}
return $filled_settings;
}
/**
* Update Configuration values
*/
protected function postProcess()
{
$form_values = $this->getConfigFormValues();
foreach (array_keys($form_values) as $key) {
Configuration::updateValue($key, Tools::getValue($key));
}
}
public function hookBackOfficeHeader()
{
if (Tools::getValue('module_name') == $this->name || Tools::getValue('configure') == $this->name) {
$this->context->controller->addJquery();
$this->context->controller->addJS($this->_path.'views/js/jxproductzoomer_admin.js');
}
}
/**
* Get configuration field data type, because return only string
* @param $string value from configuration table
*
* @return string data type (int|bool|float|string)
*/
protected function getStringValueType($string)
{
if (Validate::isInt($string)) {
return 'int';
} elseif (Validate::isFloat($string)) {
return 'float';
} elseif (Validate::isBool($string)) {
return 'bool';
} else {
return 'string';
}
}
protected function clearCache()
{
$this->_clearCache('jxproductzoomer.tpl');
$this->_clearCache('jxproductzoomer-mobile.tpl');
}
protected function getZoomerSettings()
{
$settings = $this->getModuleSettings();
$get_settings = array();
foreach (array_keys($settings) as $name) {
$data = Configuration::get($name);
$get_settings[$name] = array('value' => $data, 'type' => $this->getStringValueType($data));
}
return $get_settings;
}
public function hookDisplayHeader()
{
if (!Configuration::get('PS_DISPLAY_JQZOOM') && Configuration::get('JXPRODUCTZOOMER_LIVE_MODE')) {
$this->context->controller->registerJavascript('module-jxproductzoomer', 'modules/' .$this->name. '/views/js/jxproductzoomer.js');
$this->context->controller->registerJavascript('module-jxproductzoomer-ep', 'modules/'. $this->name. '/views/js/jquery.ez-plus.js');
$this->context->controller->registerStylesheet('module-jxproductzoomer', 'modules/' .$this->name. '/views/css/jxproductzoomer.css');
if ($this->context->isMobile() || $this->context->isTablet()) {
if (!$this->isCached('jxproductzoomer-mobile.tpl', $this->getCacheId('jxproductzoomer-mobile'))) {
$this->context->smarty->assign('settings', $this->getZoomerSettings());
}
return $this->display(
$this->_path,
'/views/templates/hook/jxproductzoomer-mobile.tpl',
$this->getCacheId('jxproductzoomer-mobile')
);
} else {
if (!$this->isCached('jxproductzoomer.tpl', $this->getCacheId())) {
$this->context->smarty->assign('settings', $this->getZoomerSettings());
}
return $this->display($this->_path, '/views/templates/hook/jxproductzoomer.tpl', $this->getCacheId());
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

View File

@@ -0,0 +1,9 @@
drwxr-xr-x 2 30094 users 9 Oct 6 10:16 .
drwxr-xr-x 4 30094 users 10 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 0 Aug 31 2021 de.php
-rw-r--r-- 1 30094 users 12929 Aug 31 2021 en.php
-rw-r--r-- 1 30094 users 0 Aug 31 2021 es.php
-rw-r--r-- 1 30094 users 0 Aug 31 2021 fr.php
-rw-r--r-- 1 30094 users 882 Aug 31 2021 index.php
-rw-r--r-- 1 30094 users 0 Sep 2 2021 pl.php
-rw-r--r-- 1 30094 users 0 Aug 31 2021 ru.php

View File

@@ -0,0 +1,106 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_29d6d937c1876bc084a81f84ede65ffd'] = 'JX Product Zoomer';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_1c7240850f3766deb18b5dfa092b188c'] = 'Add a nice zoom effect to the product';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_bbf5b97fb9dc3ea12bafef1a4e43022a'] = 'Settings successfully saved.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_a9276a655266dbe97390ddb0911c3f85'] = '\"Zoom Level\" value error. Only float numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_0b91b475a058049b9e4fc18d7f6b0846'] = '\"Min Zoom Level\" value error. Only float numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_71a076775215f2fb1dd8a12b3167bb1d'] = '\"Max Zoom Level\" value error. Only float numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_0378dd5218a010312eca0f31154f25f7'] = '\"Scroll Zoom Increment\" value error. Only float numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_4b84cae63f9d713c9939d9e43d097fe6'] = '\"Easing Amount\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_35cd61fd9bbff6c5ad49076b81b1187a'] = '\"Zoom Window Height\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_e4d092524d8f39e204ed0c68d429c88b'] = '\"Zoom Window Offset X\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_e84550faed7ad22de9cc6f46d75cd80d'] = '\"Zoom Window Offset Y\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_6c3e90a90bc3134cd3c09ca84a6e7f0b'] = '\"Zoom Window Position\" value error. Only integer numbers between 1-16 are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_c6f880454ac444e6a80c994a52055e1d'] = '\"Zoom Window Bg Color\" format error.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_0d8c8b0d10a8a669a3aa899fe51e6ed9'] = '\"Zoom Window Fade In\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_78ad6bde443c71bfb2864bc9f65d57e4'] = '\"Zoom Window Fade Out\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_4f5796748b92e901e70d281ec325944f'] = '\"Border Size\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_a07eb7df31a8673b3ee85b5864071c9f'] = '\"Border Color\" format error.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_3a2d1de4a223f058293a3488117237d7'] = '\"Lens Color\" format error.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_a06b78d2ce763a87fbbaed44fc841b21'] = '\"Lens Opacity\" value error. Only float numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_f145cd95af7500b3470c09b9429f1d9e'] = '\"Lens Fade In\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_0f8fd3ab50e241950e717b6ba6e0c746'] = '\"Lens Fade Out\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_234fb1af2f8c73302be6babdbca6c452'] = '\"Lens Border\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_0d86041690f14a41324c55540e056618'] = '\"Lens Border Color\" format error.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_39ed1d7f4a6e0d9c6ae6d89bfa0997b8'] = '\"Tint Color\" format error.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_2a95803f96bd537db4c46e2c8a94a754'] = '\"Tint Opacity\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_8f67b2d8373f47c1956bdb004743fba6'] = '\"Tint Fade In\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_65222882727e57c6d0f63f6db43c4b77'] = '\"Tint Fade Out\" value error. Only integer numbers are allowed.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_f4f70727dc34561dfde1a3c529b6205c'] = 'Settings';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_cebd5bbe0ffdecc270a8a324e5a277dd'] = 'Live mode';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_ea9df7a306e2f8b5af37b67084d0c984'] = 'Use this module in live mode';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Enabled';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_b9f5c797ebbf55adccdd8539a65a0241'] = 'Disabled';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_45313bad96da16bf04f88c1fb39419b7'] = 'Fancybox';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_d342387926756dd9cdea0b8a1de07a78'] = 'Display image in fancybox on click';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_584227a23a46baf75da2951c2fef6aff'] = 'Change image on hover';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_c7decd5cb3dedb66d264d574906402f4'] = 'Change image on hover (click by default, only click for mobile)';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_b2b2df378a7c7ade199bbaf944cb3f35'] = 'Responsive';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_3ee462f2e26e4d7b7de61f8b34add891'] = 'Zoom Type';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_3eea639f37217f7516886cc438b3c6e6'] = 'Possible Values: Lens, Window, Inner';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_05b8c74cbd96fbf2de4c1a352702fbf4'] = 'window';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_241ad9e2478814ae0eb54db8c62efaf2'] = 'lens';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_ea97586b4aa0c141e4456912f3325f7f'] = 'inner';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_f2926638a1c3a93704215494bf7108ad'] = 'Extended settings';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_01daa65d6e1ce1c84cfd1ec6e3e3eaff'] = 'use settings for experts';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_b6fdbb7a78e9e4911e1563ea98307e16'] = '(official documentation)';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_2e975dae77c268a9976045357a3fb1bb'] = 'Scroll Zoom';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_7b3f6959312d0b7dc415030f788f8a40'] = 'Set to true to activate zoom on mouse scroll.';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_9abdae4fa5d93330363a88ed8a5e7946'] = 'Cursor';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_c21f969b5f03d33d43e04f8f136e7682'] = 'default';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_ad90324c60706e26f566f84a1b1f55b0'] = 'crosshair';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_ccac8a66d468e2522611be86933cc0d9'] = 'pointer';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_3734a903022249b3010be1897042568e'] = 'move';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_02d2fb8355c6a2ccbbf7c53696a9d8b9'] = 'Default zoom level of image';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_920fa84052b3ce64dc1f65ea3f1c5f26'] = 'Zoom Level';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_25f6c23bdd9236092a5a8f43f220d90f'] = 'Min Zoom Level';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_cd663024bf3e7429298a06814ba13f78'] = 'Max Zoom Level';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_c4470fe06cfc59d63d35716c4a99b9d8'] = 'steps of the scrollzoom';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_20f77e9a669dcee31b872a9c88e4e946'] = 'Scroll Zoom Increment';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_eb3874e0cbcd763830d16f1792116314'] = 'Zoom Easing';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_ae1bcbe61f116f5868ffc925ede91fdd'] = 'set to true to activate easing';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_7c813476a69ed1652e7fc34cf951a942'] = 'Easing Amount';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_68d7fe1bedf3423b2e176b11756f9625'] = 'Zoom Window Width';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_558c8dfc4212a5a65e006d606b4f9752'] = 'Width of the zoomWindow (Note: zoomType must be \"window\")';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_521adaea56c7f41e97e5721f43d15552'] = 'Zoom Window Height';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_ee1a82e9f00827ee0dda47e29a7070cb'] = 'Height of the zoomWindow (Note: zoomType must be \"window\")';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_9b7d9f540e50786e8122274fb2bb6586'] = 'Zoom Window Offset X';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_d341258a40a1b4fee93d7f7270a7e5b5'] = 'x-axis offset of the zoom window';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_d023d8c8ee57179bf355161b73271b8b'] = 'Zoom Window Offset Y';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_b815d0e40e418d06f1f69db3ebbf880e'] = 'y-axis offset of the zoom window';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_325f45708b53dce607af5e20ec5139be'] = 'Zoom Window Position';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_5813942bc17e2b1cbdc16cf52d8f06ca'] = 'Zoom Window Bg Color';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_d5030152548f946055f3f6fade2da837'] = 'Zoom Window Fade In';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_f73358818a39982a927c57ac5a2fe2d5'] = 'Set number, e.g 200, for speed of Window fadeIn in milliseconds';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_46ecaaf57d5da766ca2e11d7cd603f7f'] = 'Zoom Window Fade Out';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_269193e3da0a45213360dd26cec68dc4'] = 'Set number, e.g 200, for speed of Window fadeOut in milliseconds';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_d865317d1c523409ecfeb7fe4b36b022'] = 'Border Size';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_475c80ecff56299d3527cf51af68e48c'] = 'Border Color';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_17bf37edb78233649f4fc169de20b756'] = 'Zoom Lens';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_2b6be6a0b4390652efebf7d72e044605'] = 'Lens Shape';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_2fc01ec765ec0cb3dcc559126de20b30'] = 'square';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_9bbd993d9da7df60b3fd4a4ed721b082'] = 'round';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_a99c51ad432e2f1d800a3faae348edde'] = 'Lens Color';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_486530b1bc802d599dbbd0f6cc4fd1a2'] = 'color of the lens background';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_53f2c504d9c01d11d6c1ef647fbee37a'] = 'Lens Opacity';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_b06b7e8009881a7267241491e59c927b'] = 'Lens Size';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_8ad93d280c1e3cc08429db4ca6f938ff'] = 'Lens Fade In';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_dbb1e2be9d09cfdb54beb9dc1c14aaf7'] = 'Set number, e.g 200, for speed of Lens fadeIn in milliseconds';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_20135036462212a157fa2cbcfa578886'] = 'Lens Fade Out';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_bed985e48f1c782f1467e08269f9cd07'] = 'Set number, e.g 200, for speed of Lens fadeOut in milliseconds';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_0a367a3ed171a59313c73c93527253ed'] = 'Lens Border';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_102dede5f459d9d3299da79824125c76'] = 'Width in pixels of the lens border extended-settings';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_f5953b90286ff7e1d9db785ba9630fdc'] = 'Lens Border Color';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_cc8a33359704b4943b85a825902cac4d'] = 'Contains Lens Zoom';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_13afe48a2dc84605511eb059c4d27dbe'] = 'Tint';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_7dbc1f7dffa99fd8da82c1e1200a634d'] = 'Tint Color';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_a59ff065507b24cfc8c114c63a7b044b'] = 'color of the tint, can be #hex, word (red, blue), or rgb(x, x, x)';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_8a63f17a1de28ba162ade6d2d2531084'] = 'Tint Opacity';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_63db8f7f3ab15c534d4d18d755afa077'] = 'opacity of the tint';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_e76c12a4d0fd5c40795426af4dadab44'] = 'Tint Fade In';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_5ceb3a7d013419a4ca000bd3bb1cb217'] = 'Set number, e.g 200, for speed of Tint fadeIn in milliseconds';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_e98702aabab6b391c347f07b96f84051'] = 'Tint Fade Out';
$_MODULE['<{jxproductzoomer}prestashop>jxproductzoomer_c9cc8cce247e49bae79f15173ce97354'] = 'Save';

View File

@@ -0,0 +1,32 @@
<?php
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,7 @@
drwxr-xr-x 6 30094 users 7 Oct 6 10:16 .
drwxr-xr-x 4 30094 users 10 Oct 6 10:16 ..
drwxr-xr-x 2 30094 users 3 Oct 6 10:16 css
drwxr-xr-x 2 30094 users 3 Oct 6 10:16 img
-rw-r--r-- 1 30094 users 882 Aug 31 2021 index.php
drwxr-xr-x 2 30094 users 6 Oct 6 10:16 js
drwxr-xr-x 4 30094 users 5 Oct 6 10:16 templates

View File

@@ -0,0 +1,3 @@
drwxr-xr-x 2 30094 users 3 Oct 6 10:16 .
drwxr-xr-x 6 30094 users 7 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 440 Aug 31 2021 jxproductzoomer.css

View File

@@ -0,0 +1,32 @@
#views_block-1 {
margin-top: 10px;
}
#image-block .span_link {
z-index: 1000;
}
.zoomLens {
max-width: 100%;
}
body > * .zoomContainer {
left: 0 !important;
top: 0 !important;
}
.images-container .product-cover .layer {
opacity: 1;
width: auto;
height: auto;
left: auto;
top: 10px;
right: 10px;
z-index: 6;
background: none;
}
.images-container .product-cover .layer i {
font-size: 30px;
line-height: 1;
}

View File

@@ -0,0 +1,3 @@
drwxr-xr-x 2 30094 users 3 Oct 6 10:16 .
drwxr-xr-x 6 30094 users 7 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 4955 Aug 31 2021 window-positions.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,32 @@
<?php
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,6 @@
drwxr-xr-x 2 30094 users 6 Oct 6 10:16 .
drwxr-xr-x 6 30094 users 7 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 882 Aug 31 2021 index.php
-rw-r--r-- 1 30094 users 84316 Aug 31 2021 jquery.ez-plus.js
-rw-r--r-- 1 30094 users 6068 Aug 31 2021 jxproductzoomer.js
-rw-r--r-- 1 30094 users 3741 Aug 31 2021 jxproductzoomer_admin.js

View File

@@ -0,0 +1,32 @@
<?php
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,164 @@
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
$(document).ready(function() {
if (typeof(JXPRODUCTZOOMER_LIVE_MODE) == 'undefined' || !JXPRODUCTZOOMER_LIVE_MODE) {
return false;
}
var $d = $(this);
// update zoomed image when page is loaded
applyProductElevateZoom('body', $('.product-images li img.selected:visible').attr('data-image-large-src'));
// do if image changing is on hover
if (JXPRODUCTZOOMER_IMAGE_CHANGE_EVENT && !JXPRODUCTZOOMER_IS_MOBILE) {;
$d.on('mouseenter', '.product-images li img', function() {
if (!$(this).hasClass('selected')) {
$(this).closest('.product-images').find('img').removeClass('selected');
$(this).trigger('click').addClass('selected');
}
if (!$('.modal:visible').length) {
applyProductElevateZoom('#content', $(this).attr('data-image-large-src'));
} else if ($('.modal.quickview').length) {
applyProductElevateZoom('.quickview', $(this).attr('data-image-large-src'));
}
});
} else {
// refresh zoomed image on item click
$d.on('click', '.product-images li img', function() {
if (!$('.modal:visible').length) {
applyProductElevateZoom('#content', $(this).attr('data-image-large-src'));
} else if ($('.modal.quickview').length) {
applyProductElevateZoom('.quickview', $(this).attr('data-image-large-src'));
}
});
}
if (!JXPRODUCTZOOMER_FANCY_BOX) {
$('.layer').hide();
}
// refresh zoomed image on color change
prestashop.on('updatedProduct', function (e) {
if (!$('.quickview').length) {
applyProductElevateZoom('#content', $('.product-images li img.selected:visible').attr('data-image-large-src'));
} else {
applyProductElevateZoom('.quickview', $('.product-images li img.selected:visible').attr('data-image-large-src'));
}
});
// refresh zoomed image in quickview modal
prestashop.on('clickQuickView', function (e) {
setTimeout(function() {
applyProductElevateZoom('.quickview', $('.product-images li img.selected:visible').attr('data-image-large-src'));
}, 1000);
});
});
$(window).on('resize', function() {
$('.zoomContainer').remove();
if (!$('.quickview').length) {
applyProductElevateZoom('#content', $('.product-images li img.selected:visible').attr('data-image-large-src'));
} else {
applyProductElevateZoom('.quickview', $('.product-images li img.selected:visible').attr('data-image-large-src'));
}
});
// reload the image zoomer when event happened
function applyProductElevateZoom(container, image) {
var bigimage = image;
if (JXPRODUCTZOOMER_IS_MOBILE || (typeof(contentOnly) != 'undefined') && contentOnly) {
JXPRODUCTZOOMER_ZOOM_TYPE = 'lens';
JXPRODUCTZOOMER_ZOOM_SHOW_LENS = true;
}
if (JXPRODUCTZOOMER_ZOOM_TYPE == 'inner') {
JXPRODUCTZOOMER_ZOOM_SCROLL = false;
JXPRODUCTZOOMER_ZOOM_LEVEL = 1;
}
if (JXPRODUCTZOOMER_ZOOM_TYPE == 'lens') {
JXPRODUCTZOOMER_ZOOM_BORDER_SIZE = JXPRODUCTZOOMER_ZOOM_LENS_BORDER_SIZE;
JXPRODUCTZOOMER_ZOOM_BORDER_COLOR = JXPRODUCTZOOMER_ZOOM_LENS_BORDER_COLOR;
}
$(container).find('.product-cover img').ezPlus({
attrBigImageSrc: bigimage,
zoomType: JXPRODUCTZOOMER_ZOOM_TYPE,
zoomContainerAppendTo: $(container).find('.product-cover'), //zoom container parent selector
responsive: JXPRODUCTZOOMER_ZOOM_RESPONSIVE,
cursor: JXPRODUCTZOOMER_ZOOM_CURSOR,
easing: JXPRODUCTZOOMER_ZOOM_EASING,
easingAmount: JXPRODUCTZOOMER_ZOOM_EASING_AMOUNT,
scrollZoom: JXPRODUCTZOOMER_ZOOM_SCROLL,
zoomLevel: JXPRODUCTZOOMER_ZOOM_LEVEL,
minZoomLevel: JXPRODUCTZOOMER_ZOOM_MIN_LEVEL,
maxZoomLevel: JXPRODUCTZOOMER_ZOOM_MAX_LEVEL,
scrollZoomIncrement: JXPRODUCTZOOMER_ZOOM_SCROLL_INCREMENT,
touchEnabled: false,
zIndex: 5,
// window settings
zoomWindowFadeIn: JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_IN,
zoomWindowFadeOut: JXPRODUCTZOOMER_ZOOM_WINDOW_FADE_OUT,
zoomWindowWidth: JXPRODUCTZOOMER_ZOOM_WINDOW_WIDTH,
zoomWindowHeight: JXPRODUCTZOOMER_ZOOM_WINDOW_HEIGHT,
zoomWindowOffsetX: JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_X,
zoomWindowOffsetY: JXPRODUCTZOOMER_ZOOM_WINDOW_OFFSET_Y,
zoomWindowPosition: JXPRODUCTZOOMER_ZOOM_WINDOW_POSITION,
zoomWindowBgColour: JXPRODUCTZOOMER_ZOOM_WINDOW_BG_COLOUR,
borderSize: JXPRODUCTZOOMER_ZOOM_BORDER_SIZE,
borderColour: JXPRODUCTZOOMER_ZOOM_BORDER_COLOR,
// end window settings
// lens setings
showLens: JXPRODUCTZOOMER_ZOOM_SHOW_LENS,
lensSize: JXPRODUCTZOOMER_ZOOM_LENS_SIZE,
lensFadeIn: JXPRODUCTZOOMER_ZOOM_FADE_IN,
lensFadeOut: JXPRODUCTZOOMER_ZOOM_FADE_OUT,
lensOpacity: JXPRODUCTZOOMER_ZOOM_LENS_OPACITY,
lensShape: JXPRODUCTZOOMER_ZOOM_LENS_SHAPE,
lensColour: JXPRODUCTZOOMER_ZOOM_LENS_COLOUR,
lensBorderSize: JXPRODUCTZOOMER_ZOOM_LENS_BORDER_SIZE,
lensBorderColour: JXPRODUCTZOOMER_ZOOM_LENS_BORDER_COLOR,
containLensZoom: JXPRODUCTZOOMER_ZOOM_CONTAIN_LENS_ZOOM,
//end lens settings
// tint settins
tint: JXPRODUCTZOOMER_ZOOM_TINT,
tintColour: JXPRODUCTZOOMER_ZOOM_TINT_COLOUR,
tintOpacity: JXPRODUCTZOOMER_ZOOM_TINT_OPACITY,
zoomTintFadeIn: JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_IN,
zoomTintFadeOut: JXPRODUCTZOOMER_ZOOM_WINDOW_TINT_FADE_OUT,
// callBacks
onZoomedImageLoaded: function() {
if (!JXPRODUCTZOOMER_FANCY_BOX) {
$('.layer').hide();
}
},
// responsive
respond: [
{
range: '1-767',
zoomType: 'lens'
}]
});
}

View File

@@ -0,0 +1,107 @@
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
$(document).ready(function() {
jxproductzoomer_extended_settings_check();
$(document).on('change', 'select[name="JXPRODUCTZOOMER_ZOOM_TYPE"]', function() {
if (jxproductzoomer_extended_settings_status()) {
jxproductzoomer_type_check();
}
});
$(document).on('change', 'input[name="JXPRODUCTZOOMER_ZOOM_TINT"]', function() {
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_TINT', 'tint');
});
$(document).on('change', 'input[name="JXPRODUCTZOOMER_ZOOM_SHOW_LENS"]', function() {
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_SHOW_LENS', 'lens');
});
$(document).on('change', 'input[name="JXPRODUCTZOOMER_ZOOM_EASING"]', function() {
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_EASING', 'easing');
});
$(document).on('change', 'input[name="JXPRODUCTZOOMER_EXTENDED_SETTINGS"]', function() {
jxproductzoomer_extended_settings_check();
});
});
function jxproductzoomer_setting_check(name, type) {
jxproductzoomer_setting_status = $('input[name="'+name+'"]:checked').val();
if (jxproductzoomer_setting_status) {
$('.form-group.'+type+'-block').removeClass('hidden');
} else {
$('.form-group.'+type+'-block').addClass('hidden');
}
}
function jxproductzoomer_type_check() {
jxproductzoomer_type = $('select[name="JXPRODUCTZOOMER_ZOOM_TYPE"]').val();
if (jxproductzoomer_type == 'window') {
$('.form-wrapper > .form-group').each(function() {
if ($(this).hasClass('window-type')) {
$(this).removeClass('hidden');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_TINT', 'tint');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_SHOW_LENS', 'lens');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_EASING', 'easing');
} else {
$(this).addClass('hidden');
}
});
} else if (jxproductzoomer_type == 'lens') {
$('.form-wrapper > .form-group').each(function() {
if ($(this).hasClass('lens-type')) {
$(this).removeClass('hidden');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_TINT', 'tint');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_SHOW_LENS', 'lens');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_EASING', 'easing');
} else {
$(this).addClass('hidden');
}
});
} else if (jxproductzoomer_type == 'inner') {
$('.form-wrapper > .form-group').each(function() {
if ($(this).hasClass('inner-type')) {
$(this).removeClass('hidden');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_TINT', 'tint');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_SHOW_LENS', 'lens');
jxproductzoomer_setting_check('JXPRODUCTZOOMER_ZOOM_EASING', 'easing');
} else {
$(this).addClass('hidden');
}
});
}
}
function jxproductzoomer_extended_settings_check() {
if (jxproductzoomer_extended_settings_status()) {
jxproductzoomer_type_check();
} else {
$('.form-group.extended-settings').addClass('hidden');
}
}
function jxproductzoomer_extended_settings_status() {
return $('input[name="JXPRODUCTZOOMER_EXTENDED_SETTINGS"]:checked').val();
}

View File

@@ -0,0 +1,5 @@
drwxr-xr-x 4 30094 users 5 Oct 6 10:16 .
drwxr-xr-x 6 30094 users 7 Oct 6 10:16 ..
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 admin
drwxr-xr-x 2 30094 users 4 Oct 6 10:16 hook
-rw-r--r-- 1 30094 users 882 Aug 31 2021 index.php

View File

@@ -0,0 +1,3 @@
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 .
drwxr-xr-x 4 30094 users 5 Oct 6 10:16 ..
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 _configure

View File

@@ -0,0 +1,3 @@
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 .
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 ..
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 helpers

View File

@@ -0,0 +1,3 @@
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 .
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 ..
drwxr-xr-x 2 30094 users 3 Oct 6 10:16 form

View File

@@ -0,0 +1,3 @@
drwxr-xr-x 2 30094 users 3 Oct 6 10:16 .
drwxr-xr-x 3 30094 users 3 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 1084 Aug 31 2021 form.tpl

View File

@@ -0,0 +1,35 @@
{**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*}
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'jxproductzoomer_sample_image'}
<div class="row">
<div class="col-lg-9 col-lg-offset-3">
<img src="{$image_path|escape:'html':'UTF-8'}/window-positions.png" alt="" />
<p class="help-block">{l s='Once positioned, use zoomWindowOffsetx and zoomWindowOffsety to adjust
Possible values: 1-16' mod='jxproductzoomer'}</p>
</div>
</div>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,4 @@
drwxr-xr-x 2 30094 users 4 Oct 6 10:16 .
drwxr-xr-x 4 30094 users 5 Oct 6 10:16 ..
-rw-r--r-- 1 30094 users 929 Aug 31 2021 jxproductzoomer-mobile.tpl
-rw-r--r-- 1 30094 users 930 Aug 31 2021 jxproductzoomer.tpl

View File

@@ -0,0 +1,28 @@
{**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*}
<script type="text/javascript">
{foreach from=$settings key=variable item=content name=content}
var {$variable|escape:'html':'UTF-8'} = {if !$content.value}false{elseif $content.type == 'string'}'{$content.value|escape:'html':'UTF-8'}'{else}{$content.value|escape:'html':'UTF-8'}{/if};
{/foreach}
var JXPRODUCTZOOMER_IS_MOBILE = true;
</script>

View File

@@ -0,0 +1,28 @@
{**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*}
<script type="text/javascript">
{foreach from=$settings key=variable item=content name=content}
var {$variable|escape:'html':'UTF-8'} = {if !$content.value}false{elseif $content.type == 'string'}'{$content.value|escape:'html':'UTF-8'}'{else}{$content.value|escape:'html':'UTF-8'}{/if};
{/foreach}
var JXPRODUCTZOOMER_IS_MOBILE = false;
</script>

View File

@@ -0,0 +1,32 @@
<?php
/**
* 2017-2019 Zemez
*
* JX Product Zoomer
*
* NOTICE OF LICENSE
*
* This source file is subject to the General Public License (GPL 2.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/GPL-2.0
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade the module to newer
* versions in the future.
*
* @author Zemez
* @copyright 2017-2019 Zemez
* @license http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;