This commit is contained in:
2025-04-01 00:38:54 +02:00
parent d4d4c0c09d
commit 87da06293a
22351 changed files with 5168854 additions and 7538 deletions

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,324 @@
<?php
/**
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @version Release: $Revision$
* International Registered Trademark & Property of PrestaShop SA
*/
if (!defined('_PS_VERSION_'))
exit;
class MLS_Config
{
public $fields;
public function setFields($fields)
{
$this->fields = $fields;
}
public function __construct()
{
$this->setFields(Ets_multilayerslider::$configs);
}
public function renderForm()
{
$helper = new HelperForm();
$helper->module = new Ets_multilayerslider();
$configs = $this->fields['configs'];
$fields_form = array();
$fields_form['form'] = $this->fields['form'];
if($configs)
{
foreach($configs as $key => $config)
{
$confFields = array(
'name' => $key,
'type' => $config['type'],
'label' => $config['label'],
'desc' => isset($config['desc']) ? $config['desc'] : false,
'required' => isset($config['required']) && $config['required'] ? true : false,
'autoload_rte' => isset($config['autoload_rte']) && $config['autoload_rte'] ? true : false,
'options' => isset($config['options']) && $config['options'] ? $config['options'] : array(),
'suffix' => isset($config['suffix']) && $config['suffix'] ? $config['suffix'] : false,
'values' => isset($config['values']) ? $config['values'] : false,
'lang' => isset($config['lang']) ? $config['lang'] : false,
'hide_delete' => isset($config['hide_delete']) ? $config['hide_delete'] : false,
'display_img' => isset($config['type']) && $config['type']=='file' && Configuration::get($key)!='' && @file_exists(dirname(__FILE__).'/../views/img/upload/'.Configuration::get($key)) ? $helper->module->modulePath().'views/img/upload/'.Configuration::get($key) : false,
'img_del_link' => isset($config['type']) && $config['type']=='file' && Configuration::get($key)!='' && @file_exists(dirname(__FILE__).'/../views/img/upload/'.Configuration::get($key)) ? $helper->module->baseAdminUrl().'&deleteimage='.$key.'&itemId='.$this->id.'&mls_object=MLS_'.Tools::ucfirst($fields_form['form']['name']) : false,
);
if(isset($config['tree']) && $config['tree'])
{
$confFields['tree'] = $config['tree'];
if(isset($config['tree']['use_checkbox']) && $config['tree']['use_checkbox'])
$confFields['tree']['selected_categories'] = explode(',',Configuration::get($key));
else
$confFields['tree']['selected_categories'] = array(Configuration::get($key));
}
if(!$confFields['suffix'])
unset($confFields['suffix']);
$fields_form['form']['input'][] = $confFields;
}
}
$helper->show_toolbar = false;
$helper->table = false;
$lang = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
$helper->default_form_language = $lang->id;
$helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0;
$this->fields_form = array();
$helper->identifier = 'mls_form_'.$this->fields['form']['name'];
$helper->submit_action = 'save_'.$this->fields['form']['name'];
$link = new Link();
$helper->currentIndex = $link->getAdminLink('AdminModules', true).'&configure=ets_multilayerslider';
$helper->token = Tools::getAdminTokenLite('AdminModules');
$language = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
$fields = array();
$languages = Language::getLanguages(false);
$helper->override_folder = '/';
if(Tools::isSubmit('save_'.$this->fields['form']['name']))
{
if($configs)
{
foreach($configs as $key => $config)
{
if(isset($config['lang']) && $config['lang'])
{
foreach($languages as $l)
{
$fields[$key][$l['id_lang']] = Tools::getValue($key.'_'.$l['id_lang'],isset($config['default']) ? $config['default'] : '');
}
}
else
$fields[$key] = Tools::getValue($key,isset($config['default']) ? $config['default'] : '');
}
}
}
else
{
if($configs)
{
foreach($configs as $key => $config)
{
if(isset($config['lang']) && $config['lang'])
{
foreach($languages as $l)
{
$fields[$key][$l['id_lang']] = Configuration::get($key,$l['id_lang']);
}
}
else
$fields[$key] = Configuration::get($key);
}
}
}
$helper->tpl_vars = array(
'base_url' => Context::getContext()->shop->getBaseURL(),
'language' => array(
'id_lang' => $language->id,
'iso_code' => $language->iso_code
),
'fields_value' => $fields,
'languages' => Context::getContext()->controller->getLanguages(),
'id_language' => Context::getContext()->language->id,
'mls_object' => 'MLS_'.Tools::ucfirst($fields_form['form']['name']),
'image_baseurl' => $helper->module->modulePath().'views/img/',
);
return str_replace(array('id="ets_mls_menu_form"','id="fieldset_0"'),'',$helper->generateForm(array($fields_form)));
}
public function saveData()
{
$errors = array();
$success = array();
$languages = Language::getLanguages(false);
$id_lang_default = (int)Configuration::get('PS_LANG_DEFAULT');
$configs = $this->fields['configs'];
if($configs)
{
foreach($configs as $key => $config)
{
if(isset($config['lang']) && $config['lang'])
{
if(isset($config['required']) && $config['required'] && $config['type']!='switch' && trim(Tools::getValue($key.'_'.$id_lang_default) == ''))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
}
}
else
{
if(isset($config['required']) && $config['required'] && isset($config['type']) && $config['type']=='file')
{
if(Configuration::get($key)=='' && (!isset($_FILES[$key]['size']) || isset($_FILES[$key]['size']) && !$_FILES[$key]['size']))
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
elseif(isset($_FILES[$key]['size']))
{
$fileSize = round((int)$_FILES[$key]['size'] / (1024 * 1024));
if($fileSize > 100)
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['file_too_large'];
}
}
else
{
if(isset($config['required']) && $config['required'] && $config['type']!='switch' && trim(Tools::getValue($key) == ''))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
}
elseif(!is_array(Tools::getValue($key)) && isset($config['validate']) && method_exists('Validate',$config['validate']))
{
$validate = $config['validate'];
if(trim(Tools::getValue($key)) && !Validate::$validate(trim(Tools::getValue($key))))
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['invalid_text'];
unset($validate);
}
elseif(!Validate::isCleanHtml(trim(Tools::getValue($key))))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
}
}
}
}
}
if(!$errors)
{
if($configs)
{
foreach($configs as $key => $config)
{
if(isset($config['lang']) && $config['lang'])
{
$valules = array();
foreach($languages as $lang)
{
if($config['type']=='switch')
$valules[$lang['id_lang']] = (int)trim(Tools::getValue($key.'_'.$lang['id_lang'])) ? 1 : 0;
else
$valules[$lang['id_lang']] = trim(Tools::getValue($key.'_'.$lang['id_lang'])) ? trim(Tools::getValue($key.'_'.$lang['id_lang'])) : trim(Tools::getValue($key.'_'.$id_lang_default));
}
Configuration::updateValue($key,$valules,true);
}
elseif($config['type']=='switch')
{
Configuration::updateValue($key,(int)Tools::getValue($key) ? 1 : 0);
}
elseif($config['type']=='file')
{
//Upload file
if(isset($_FILES[$key]['tmp_name']) && isset($_FILES[$key]['name']) && $_FILES[$key]['name'])
{
$salt = Tools::substr(sha1(microtime()),0,10);
$type = Tools::strtolower(Tools::substr(strrchr($_FILES[$key]['name'], '.'), 1));
$imageName = @file_exists(dirname(__FILE__).'/../views/img/upload/'.Tools::strtolower($_FILES[$key]['name'])) ? $salt.'-'.Tools::strtolower($_FILES[$key]['name']) : Tools::strtolower($_FILES[$key]['name']);
$fileName = dirname(__FILE__).'/../views/img/upload/'.$imageName;
if(file_exists($fileName))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['file_existed'];
}
else
{
$imagesize = @getimagesize($_FILES[$key]['tmp_name']);
if (!$errors && isset($_FILES[$key]) &&
!empty($_FILES[$key]['tmp_name']) &&
!empty($imagesize) &&
in_array($type, array('jpg', 'gif', 'jpeg', 'png'))
)
{
$temp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS');
if ($error = ImageManager::validateUpload($_FILES[$key]))
$errors[] = $error;
elseif (!$temp_name || !move_uploaded_file($_FILES[$key]['tmp_name'], $temp_name))
$errors[] = Ets_multilayerslider::$trans['can_not_upload'];
elseif (!ImageManager::resize($temp_name, $fileName, null, null, $type))
$errors[] = Ets_multilayerslider::$trans['upload_error_occurred'];
if (isset($temp_name))
@unlink($temp_name);
if(!$errors)
{
if(Configuration::get($key)!='')
{
$oldImage = dirname(__FILE__).'/../views/img/upload/'.Configuration::get($key);
if(file_exists($oldImage))
@unlink($oldImage);
}
Configuration::updateValue($key,$imageName);
}
}
}
}
//End upload file
}
elseif($config['type']=='categories' && isset($config['tree']['use_checkbox']) && $config['tree']['use_checkbox'] || $config['type']=='checkbox')
Configuration::updateValue($key,implode(',',Tools::getValue($key)));
else
Configuration::updateValue($key,Tools::getValue($key));
}
}
}
if(!$errors)
{
$success[] = Ets_multilayerslider::$trans['data_saved'];
if(Configuration::get('ETS_MLS_CACHE_ENABLED'))
Ets_multilayerslider::clearAllCache();
}
return array('errors' => $errors, 'success' => $success);
}
public function getConfig()
{
$configs = $this->fields['configs'];
$data = array();
if($configs)
foreach($configs as $key => $config)
{
$data[$key] = isset($config['lang']) && $config['lang'] ? Configuration::get($key,$this->context->lang) : Configuration::get($key);
}
return $data;
}
public function installConfigs()
{
$configs = $this->fields['configs'];
$languages = Language::getLanguages(false);
if($configs)
foreach($configs as $key => $config)
{
if(isset($config['lang']) && $config['lang'])
{
$values = array();
foreach($languages as $lang)
{
$values[$lang['id_lang']] = isset($config['default']) ? $config['default'] : '';
}
Configuration::updateValue($key, $values,true);
}
else
Configuration::updateValue($key, isset($config['default']) ? $config['default'] : '',true);
}
}
public function unInstallConfigs()
{
if($this->fields['configs'])
{
foreach($this->fields['configs'] as $key => $config)
{
Configuration::deleteByName($key);
}
unset($config);
}
}
}

View File

@@ -0,0 +1,119 @@
<?php
/**
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @version Release: $Revision$
* International Registered Trademark & Property of PrestaShop SA
*/
if (!defined('_PS_VERSION_'))
exit;
class MLS_Layer extends MLS_Obj
{
public $id_layer;
public $id_slide;
public $layer_type;
public $font_size;
public $top;
public $left;
public $right;
public $top_right;
public $animation_in;
public $animation_out;
public $move_in;
public $move_out;
public $start_delay;
public $stand_duration;
public $content_layer;
public $link;
public $sort_order;
public $image;
public $text_color;
public $background_color;
public $background_opacity;
public $font_weight;
public $font_family;
public $text_decoration;
public $text_transform;
public $width;
public $height;
public $padding;
public $box_radius;
public $custom_class;
public static $definition = array(
'table' => 'ets_mls_layer',
'primary' => 'id_layer',
'multilang' => true,
'fields' => array(
'id_slide' => array('type' => self::TYPE_INT),
'layer_type' => array('type' => self::TYPE_STRING),
'font_size' => array('type' => self::TYPE_FLOAT),
'text_color'=> array('type'=>self::TYPE_STRING),
'top' => array('type' => self::TYPE_FLOAT),
'left' => array('type' => self::TYPE_FLOAT),
'right' => array('type' => self::TYPE_FLOAT),
'top_right' => array('type' => self::TYPE_FLOAT),
'image'=>array('type'=>self::TYPE_STRING),
'width'=>array('type'=>self::TYPE_STRING),
'height'=>array('type'=>self::TYPE_STRING),
'font_family'=>array('type'=>self::TYPE_STRING),
'text_decoration'=>array('type'=>self::TYPE_STRING),
'text_transform'=>array('type'=>self::TYPE_STRING),
'custom_class'=>array('type'=>self::TYPE_STRING),
'padding'=>array('type'=>self::TYPE_STRING),
'box_radius'=>array('type'=>self::TYPE_INT),
'font_weight'=>array('type'=>self::TYPE_STRING),
'background_color'=>array('type'=>self::TYPE_STRING),
'background_opacity'=>array('type'=>self::TYPE_FLOAT),
'animation_in'=>array('type'=>self::TYPE_STRING),
'animation_out'=>array('type'=>self::TYPE_STRING),
'move_in' => array('type' => self::TYPE_INT),
'move_out' => array('type' => self::TYPE_INT),
'start_delay' => array('type'=>self::TYPE_INT),
'stand_duration'=> array('type'=>self::TYPE_INT),
'sort_order' =>array('type'=>self::TYPE_INT),
// Lang fields
'content_layer' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml'),
'link' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml'),
)
);
public function __construct($id_item = null, $id_lang = null, $id_shop = null, Context $context = null)
{
parent::__construct($id_item, $id_lang, $id_shop);
$languages = Language::getLanguages(false);
foreach($languages as $lang)
{
foreach(self::$definition['fields'] as $field => $params)
{
$temp = $this->$field;
if(isset($params['lang']) && $params['lang'] && !isset($temp[$lang['id_lang']]))
{
$temp[$lang['id_lang']] = '';
}
$this->$field = $temp;
}
}
unset($context);
$this->setFields(Ets_multilayerslider::$layers);
}
}

View File

@@ -0,0 +1,515 @@
<?php
/**
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @version Release: $Revision$
* International Registered Trademark & Property of PrestaShop SA
*/
if (!defined('_PS_VERSION_'))
exit;
class MLS_Obj extends ObjectModel
{
public $fields;
public function setFields($fields)
{
$this->fields = $fields;
}
public function renderForm()
{
$helper = new HelperForm();
$helper->module = new Ets_multilayerslider();
$configs = $this->fields['configs'];
$fields_form = array();
$fields_form['form'] = $this->fields['form'];
if($configs)
{
foreach($configs as $key => $config)
{
if(isset($config['type']) && in_array($config['type'],array('sort_order')))
continue;
$confFields = array(
'name' => $key,
'type' => $config['type'],
'label' => $config['label'],
'desc' => isset($config['desc']) ? $config['desc'] : false,
'required' => isset($config['required']) && $config['required'] ? true : false,
'autoload_rte' => isset($config['autoload_rte']) && $config['autoload_rte'] ? true : false,
'options' => isset($config['options']) && $config['options'] ? $config['options'] : array(),
'suffix' => isset($config['suffix']) && $config['suffix'] ? $config['suffix'] : false,
'values' => isset($config['values']) ? $config['values'] : false,
'lang' => isset($config['lang']) ? $config['lang'] : false,
'hide_delete' => isset($config['hide_delete']) ? $config['hide_delete'] : false,
'display_img' => $this->id && isset($config['type']) && $config['type']=='file' && $this->$key!='' && @file_exists(dirname(__FILE__).'/../views/img/upload/'.$this->$key) ? $helper->module->modulePath().'views/img/upload/'.$this->$key : false,
'img_del_link' => $this->id && isset($config['type']) && $config['type']=='file' && $this->$key!='' && @file_exists(dirname(__FILE__).'/../views/img/upload/'.$this->$key) ? $helper->module->baseAdminUrl().'&deleteimage='.$key.'&itemId='.$this->id.'&mls_object=MLS_'.Tools::ucfirst($fields_form['form']['name']) : false,
);
if(isset($config['tree']) && $config['tree'])
{
$confFields['tree'] = $config['tree'];
if(isset($config['tree']['use_checkbox']) && $config['tree']['use_checkbox'])
$confFields['tree']['selected_categories'] = explode(',',$this->$key);
else
$confFields['tree']['selected_categories'] = array($this->$key);
}
if(!$confFields['suffix'])
unset($confFields['suffix']);
$fields_form['form']['input'][] = $confFields;
}
}
$helper->show_toolbar = false;
$helper->table = $this->table;
$lang = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
$helper->default_form_language = $lang->id;
$helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0;
$this->fields_form = array();
$helper->identifier = $this->identifier;
$helper->submit_action = 'save_'.$this->fields['form']['name'];
$link = new Link();
$helper->currentIndex = $link->getAdminLink('AdminModules', true).'&configure=ets_multilayerslider';
$helper->token = Tools::getAdminTokenLite('AdminModules');
$language = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
$fields = array();
$languages = Language::getLanguages(false);
$helper->override_folder = '/';
if($configs)
{
foreach($configs as $key => $config)
{
if($config['type']=='checkbox')
$fields[$key] = $this->id ? explode(',',$this->$key) : (isset($config['default']) && $config['default'] ? $config['default'] : array());
elseif(isset($config['lang']) && $config['lang'])
{
foreach($languages as $l)
{
$temp = $this->$key;
$fields[$key][$l['id_lang']] = $this->id ? $temp[$l['id_lang']] : (isset($config['default']) ? $config['default'] : null);
}
}
elseif(!isset($config['tree']))
$fields[$key] = $this->id ? $this->$key : (isset($config['default']) ? $config['default'] : null);
}
}
$helper->tpl_vars = array(
'base_url' => Context::getContext()->shop->getBaseURL(),
'language' => array(
'id_lang' => $language->id,
'iso_code' => $language->iso_code
),
'fields_value' => $fields,
'languages' => Context::getContext()->controller->getLanguages(),
'id_language' => Context::getContext()->language->id,
'key_name' => 'id_'.$fields_form['form']['name'],
'item_id' => $this->id,
'mls_object' => 'MLS_'.Tools::ucfirst($fields_form['form']['name']),
'list_item' => true,
'image_baseurl' => $helper->module->modulePath().'views/img/',
);
return str_replace(array('id="ets_mls_menu_form"','id="fieldset_0"'),'',$helper->generateForm(array($fields_form)));
}
public function getFieldVals()
{
if(!$this->id)
return array();
$vals = array();
foreach($this->fields['configs'] as $key => $config)
{
if(property_exists($this,$key))
$vals[$key] = $this->$key;
}
$vals['id_'.$this->fields['form']['name']] = (int)$this->id;
unset($config);
return $vals;
}
public function clearImage($image)
{
$configs = $this->fields['configs'];
$errors = array();
$success = array();
if(!$this->id)
$errors[] = Ets_multilayerslider::$trans['object_empty'];
elseif(!isset($configs[$image]['type']) || isset($configs[$image]['type']) && $configs[$image]['type']!='file')
$errors[] = Ets_multilayerslider::$trans['field_not_valid'];
elseif(isset($configs[$image]) && !isset($configs[$image]['required']) || (isset($configs[$image]['required']) && !$configs[$image]['required']))
{
$imageName = $this->$image;
$imagePath = dirname(__FILE__).'/../views/img/upload/'.$imageName;
if($imageName && file_exists($imagePath))
{
@unlink($imagePath);
$this->$image = '';
if($this->update())
{
$success[] = Ets_multilayerslider::$trans['image_deleted'];
}
else
$errors[] = Ets_multilayerslider::$trans['unkown_error'];
}
}
else
$errors[] = $configs[$image]['label']. Ets_multilayerslider::$trans['required_text'];
return array('errors' => $errors,'success' => $success);
}
public function deleteObj()
{
$errors = array();
$success = array();
$configs = $this->fields['configs'];
$images = array();
foreach($configs as $key => $config)
{
if($config['type']=='file' && $this->$key && @file_exists(dirname(__FILE__).'/../views/img/upload/'.$this->$key))
$images[] = dirname(__FILE__).'/../views/img/upload/'.$this->$key;
}
if(!$this->delete())
$errors[] = Ets_multilayerslider::$trans['cannot_delete'];
else
{
foreach($images as $image)
@unlink($image);
$success[] = Ets_multilayerslider::$trans['item_deleted'];
if(isset($configs['sort_order']) && $configs['sort_order'])
{
Db::getInstance()->execute("
UPDATE "._DB_PREFIX_."ets_mls_".pSQL($this->fields['form']['name'])."
SET sort_order=sort_order-1
WHERE sort_order>".(int)$this->sort_order." ".(isset($configs['sort_order']['order_group']) && ($orderGroup = $configs['sort_order']['order_group']) ? " AND ".pSQL($orderGroup)."=".(int)$this->$orderGroup : "")."
");
}
if($this->id && isset($this->fields['form']['connect_to']) && $this->fields['form']['connect_to']
&& ($subs = Db::getInstance()->executeS("SELECT id_".pSQL($this->fields['form']['connect_to'])." FROM "._DB_PREFIX_."ets_mls_".pSQL($this->fields['form']['connect_to']). " WHERE id_".$this->fields['form']['name']."=".(int)$this->id)))
{
foreach($subs as $sub)
{
$className = 'MLS_'.Tools::ucfirst(Tools::strtolower($this->fields['form']['connect_to']));
if(class_exists($className))
{
$obj = new $className((int)$sub['id_'.$this->fields['form']['connect_to']]);
$obj->deleteObj();
}
}
}
}
return array('errors' => $errors,'success' => $success);
}
public function maxVal($key,$group = false, $groupval=0)
{
return ($max = Db::getInstance()->getValue("SELECT max(".pSQL($key).") FROM "._DB_PREFIX_."ets_mls_".$this->fields['form']['name'].($group && ($groupval > 0) ? " WHERE ".pSQL($group)."=".(int)$groupval : ''))) ? (int)$max : 0;
}
public function updateOrder($previousId = 0, $groupdId = 0)
{
$group = isset($this->fields['configs']['sort_order']['order_group']) && $this->fields['configs']['sort_order']['order_group'] ? $this->fields['configs']['sort_order']['order_group'] : false;
if(!$groupdId && $group)
$groupdId = $this->$group;
$oldOrder = $this->sort_order;
if($group && $groupdId && property_exists($this,$group) && $this->$group != $groupdId)
{
Db::getInstance()->execute("
UPDATE "._DB_PREFIX_."ets_mls_".pSQL($this->fields['form']['name'])."
SET sort_order=sort_order-1
WHERE sort_order>".(int)$this->sort_order." AND id_".pSQL($this->fields['form']['name'])."!=".(int)$this->id."
".($group && $groupdId ? " AND ".pSQL($group)."=".(int)$this->$group : ""));
$this->$group = $groupdId;
$changeGroup = true;
}
else
$changeGroup = false;
if($previousId > 0)
{
$objName = 'MLS_'.Tools::ucfirst($this->fields['form']['name']);
$obj = new $objName($previousId);
if($obj->sort_order > 0)
$this->sort_order = $obj->sort_order+1;
else
$this->sort_order = 1;
}
else
$this->sort_order = 1;
if($this->update())
{
Db::getInstance()->execute("
UPDATE "._DB_PREFIX_."ets_mls_".pSQL($this->fields['form']['name'])."
SET sort_order=sort_order+1
WHERE sort_order>=".(int)$this->sort_order." AND id_".$this->fields['form']['name']."!=".(int)$this->id."
".($group && $groupdId ? " AND ".pSQL($group)."=".(int)$this->$group : ""));
if(!$changeGroup && $this->sort_order!=$oldOrder)
{
$rs = Db::getInstance()->execute("
UPDATE "._DB_PREFIX_."ets_mls_".pSQL($this->fields['form']['name'])."
SET sort_order=sort_order-1
WHERE sort_order>".($this->sort_order > $oldOrder ? (int)($oldOrder) : (int)($oldOrder+1)).($group && $groupdId ? " AND ".pSQL($group)."=".(int)$this->$group : ""));
if(Configuration::get('ETS_MLS_CACHE_ENABLED'))
Ets_multilayerslider::clearAllCache();
return $rs;
}
if(Configuration::get('ETS_MLS_CACHE_ENABLED'))
Ets_multilayerslider::clearAllCache();
return true;
}
return false;
}
public function saveData()
{
$errors = array();
$success = array();
$languages = Language::getLanguages(false);
$id_lang_default = (int)Configuration::get('PS_LANG_DEFAULT');
$configs = $this->fields['configs'];
if($configs)
{
foreach($configs as $key => $config)
{
if($config['type']=='sort_order')
continue;
if(isset($config['lang']) && $config['lang'])
{
if(isset($config['required']) && $config['required'] && $config['type']!='switch' && trim(Tools::getValue($key.'_'.$id_lang_default) == ''))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
}
}
else
{
if(isset($config['required']) && $config['required'] && isset($config['type']) && $config['type']=='file')
{
if($this->$key=='' && !isset($_FILES[$key]['size']))
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
elseif(isset($_FILES[$key]['size']))
{
$fileSize = round((int)$_FILES[$key]['size'] / (1024 * 1024));
if($fileSize > 1000)
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['file_too_large'];
}
}
else
{
if(isset($config['required']) && $config['required'] && $config['type']!='switch' && trim(Tools::getValue($key) == ''))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
}
elseif(!is_array(Tools::getValue($key)) && isset($config['validate']) && method_exists('Validate',$config['validate']))
{
$validate = $config['validate'];
if(trim(Tools::getValue($key)) && !Validate::$validate(trim(Tools::getValue($key))))
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['invalid_text'];
unset($validate);
}
elseif(!Validate::isCleanHtml(trim(Tools::getValue($key))))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['required_text'];
}
}
}
}
}
//Custom validation
if($this->fields['form']['name']=='layer')
{
switch(Tools::getValue('layer_type'))
{
case 'text':
if(trim(Tools::getValue('content_layer_'.$id_lang_default))=='')
$errors[] = Ets_multilayerslider::$trans['content_required_text'];
break;
case 'button':
if(trim(Tools::getValue('content_layer_'.$id_lang_default))=='')
$errors[] = Ets_multilayerslider::$trans['content_required_text'];
if(trim(Tools::getValue('link_'.$id_lang_default))=='')
$errors[] = Ets_multilayerslider::$trans['link_required_text'];
break;
case 'text_background':
if(trim(Tools::getValue('content_layer_'.$id_lang_default))=='')
$errors[] = Ets_multilayerslider::$trans['content_required_text'];
break;
case 'link':
if(trim(Tools::getValue('content_layer_'.$id_lang_default))=='')
$errors[] = Ets_multilayerslider::$trans['content_required_text'];
if(trim(Tools::getValue('link_'.$id_lang_default))=='')
$errors[] = Ets_multilayerslider::$trans['link_required_text'];
break;
case 'image':
if($this->image=='' && (!isset($_FILES['image']['size']) || isset($_FILES['image']['size']) && !$_FILES['image']['size']))
$errors[] = Ets_multilayerslider::$trans['image_required_text'];
break;
default:
$errors[] = Ets_multilayerslider::$trans['layer_type_not_valid'];
break;
}
}
if(!$errors)
{
if($configs)
{
foreach($configs as $key => $config)
{
if(isset($config['type']) && $config['type']=='sort_order')
{
if(!$this->id)
{
if(!isset($config['order_group']) || isset($config['order_group']) && !$config['order_group'])
$this->$key = $this->maxVal($key)+1;
else
{
$orderGroup = $config['order_group'];
$this->$key = $this->maxVal($key,$orderGroup,(int)$this->$orderGroup)+1;
}
}
}
elseif(isset($config['lang']) && $config['lang'])
{
$valules = array();
foreach($languages as $lang)
{
if($config['type']=='switch')
$valules[$lang['id_lang']] = (int)trim(Tools::getValue($key.'_'.$lang['id_lang'])) ? 1 : 0;
else
$valules[$lang['id_lang']] = trim(Tools::getValue($key.'_'.$lang['id_lang'])) ? trim(Tools::getValue($key.'_'.$lang['id_lang'])) : trim(Tools::getValue($key.'_'.$id_lang_default));
}
$this->$key = $valules;
}
elseif($config['type']=='switch')
{
$this->$key = (int)Tools::getValue($key) ? 1 : 0;
}
elseif($config['type']=='file')
{
//Upload file
if(isset($_FILES[$key]['tmp_name']) && isset($_FILES[$key]['name']) && $_FILES[$key]['name'])
{
$salt = Tools::substr(sha1(microtime()),0,10);
$type = Tools::strtolower(Tools::substr(strrchr($_FILES[$key]['name'], '.'), 1));
$imageName = @file_exists(dirname(__FILE__).'/../views/img/upload/'.Tools::strtolower($_FILES[$key]['name'])) ? $salt.'-'.Tools::strtolower($_FILES[$key]['name']) : Tools::strtolower($_FILES[$key]['name']);
$fileName = dirname(__FILE__).'/../views/img/upload/'.$imageName;
if(file_exists($fileName))
{
$errors[] = $config['label'].' '.Ets_multilayerslider::$trans['file_existed'];
}
else
{
$imagesize = @getimagesize($_FILES[$key]['tmp_name']);
if (!$errors && isset($_FILES[$key]) &&
!empty($_FILES[$key]['tmp_name']) &&
!empty($imagesize) &&
in_array($type, array('jpg', 'gif', 'jpeg', 'png'))
)
{
$temp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS');
if ($error = ImageManager::validateUpload($_FILES[$key]))
$errors[] = $error;
elseif (!$temp_name || !move_uploaded_file($_FILES[$key]['tmp_name'], $temp_name))
$errors[] = Ets_multilayerslider::$trans['can_not_upload'];
elseif (!ImageManager::resize($temp_name, $fileName, null, null, $type))
$errors[] = Ets_multilayerslider::$trans['upload_error_occurred'];
if (isset($temp_name))
@unlink($temp_name);
if(!$errors)
{
if($this->$key!='')
{
$oldImage = dirname(__FILE__).'/../views/img/upload/'.$this->$key;
if(file_exists($oldImage))
@unlink($oldImage);
}
$this->$key = $imageName;
}
}
}
}
//End upload file
}
elseif($config['type']=='categories' && isset($config['tree']['use_checkbox']) && $config['tree']['use_checkbox'] || $config['type']=='checkbox')
$this->$key = implode(',',Tools::getValue($key));
else
$this->$key = trim(Tools::getValue($key));
}
}
}
if (!count($errors))
{
if($this->id && $this->update() || !$this->id && $this->add())
{
if(Configuration::get('ETS_MLS_CACHE_ENABLED'))
Ets_multilayerslider::clearAllCache();
$success[] = Ets_multilayerslider::$trans['data_saved'];
}
else
$errors[] = Ets_multilayerslider::$trans['unkown_error'];
}
return array('errors' => $errors, 'success' => $success);
}
public function duplicateItem($id_parent = false)
{
$oldId = $this->id;
$this->id = null;
if($id_parent && isset($this->fields['form']['parent']) && ($parent = 'id_'.$this->fields['form']['parent']) && property_exists($this,$parent))
$this->$parent = $id_parent;
if(property_exists($this,'sort_order'))
{
if(!isset($this->fields['configs']['sort_order']['order_group']) || isset($this->fields['configs']['sort_order']['order_group']) && !$this->fields['configs']['sort_order']['order_group'])
$this->sort_order = $this->maxVal('sort_order')+1;
else
{
$tempName = $this->fields['configs']['sort_order']['order_group'];
$this->sort_order = $this->maxVal('sort_order',$tempName,(int)$this->$tempName)+1;
$groupId = $this->$tempName;
}
$oldOrder = $this->sort_order;
}
if(property_exists($this,'image') && $this->image && file_exists(dirname(__FILE__).'/../views/img/upload/'.$this->image))
{
$salt = $this->maxVal('id_'.$this->fields['form']['name'])+1;
$oldImage = dirname(__FILE__).'/../views/img/upload/'.$this->image;
$this->image = $salt.'_'.$this->image;
}
if($this->add())
{
if(isset($oldImage) && $oldImage)
{
@copy($oldImage,dirname(__FILE__).'/../views/img/upload/'.$this->image);
}
if(isset($oldOrder) && $oldOrder)
$this->updateOrder($oldId,isset($groupId) ? (int)$groupId : 0);
if(isset($this->fields['form']['connect_to']) && $this->fields['form']['connect_to']
&& ($subs = Db::getInstance()->executeS("SELECT id_".pSQL($this->fields['form']['connect_to'])." FROM "._DB_PREFIX_."ets_mls_".pSQL($this->fields['form']['connect_to']). " WHERE id_".$this->fields['form']['name']."=".(int)$oldId)))
{
foreach($subs as $sub)
{
$className = 'MLS_'.Tools::ucfirst(Tools::strtolower($this->fields['form']['connect_to']));
if(class_exists($className))
{
$obj = new $className((int)$sub['id_'.$this->fields['form']['connect_to']]);
$obj->duplicateItem($this->id);
}
}
}
return $this;
}
return false;
}
}

View File

@@ -0,0 +1,80 @@
<?php
/**
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @version Release: $Revision$
* International Registered Trademark & Property of PrestaShop SA
*/
if (!defined('_PS_VERSION_'))
exit;
class MLS_Slide extends MLS_Obj
{
public $id_slide;
public $image;
public $sort_order;
public $backgroud_color;
public $enabled;
public $animation_in;
public $animation_out;
public $title;
public $repeat_x;
public $repeat_y;
public $custom_class;
public static $definition = array(
'table' => 'ets_mls_slide',
'primary' => 'id_slide',
'multilang' => true,
'fields' => array(
'image' => array('type' => self::TYPE_STRING),
'sort_order' => array('type' => self::TYPE_INT),
'backgroud_color' => array('type' => self::TYPE_STRING),
'enabled' => array('type' => self::TYPE_INT),
'repeat_x' => array('type' => self::TYPE_INT),
'repeat_y' => array('type' => self::TYPE_INT),
'animation_in' => array('type' => self::TYPE_STRING),
'animation_out' => array('type' => self::TYPE_STRING),
'custom_class' => array('type' => self::TYPE_STRING),
// Lang fields
'title' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml'),
)
);
public function __construct($id_item = null, $id_lang = null, $id_shop = null, Context $context = null)
{
parent::__construct($id_item, $id_lang, $id_shop);
$languages = Language::getLanguages(false);
foreach($languages as $lang)
{
foreach(self::$definition['fields'] as $field => $params)
{
$temp = $this->$field;
if(isset($params['lang']) && $params['lang'] && !isset($temp[$lang['id_lang']]))
{
$temp[$lang['id_lang']] = '';
}
$this->$field = $temp;
}
}
unset($context);
$this->setFields(Ets_multilayerslider::$slides);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>ets_multilayerslider</name>
<displayName><![CDATA[Multi-layer slider PRO]]></displayName>
<version><![CDATA[1.0.1]]></version>
<description><![CDATA[Visual drag and drop home page slideshow builder]]></description>
<author><![CDATA[YBC-Theme]]></author>
<tab><![CDATA[front_office_features]]></tab>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>ets_multilayerslider</name>
<displayName><![CDATA[Multi-layer slider PRO]]></displayName>
<version><![CDATA[1.0.1]]></version>
<description><![CDATA[Visual drag and drop home page slideshow builder]]></description>
<author><![CDATA[YBC-Theme]]></author>
<tab><![CDATA[front_office_features]]></tab>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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;

Binary file not shown.

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

View File

@@ -0,0 +1,5 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{ets_multilayerslider}prestashop>ets_multilayerslider_f422de11b2c5ee2731049197f3f6282d'] = 'Multi-layer slider PRO';

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
.mm_menus_ul{
background: color1;
}

View File

@@ -0,0 +1,3 @@
body{
}

View File

@@ -0,0 +1,32 @@
.mls_add_slide.btn.btn-default:before,
.mls_play_slider:before,
.msl_screen_type > div:first-child:before,
.msl_screen_type > div:nth-child(2):before,
.msl_screen_type > div:last-child:before,
.mls_change_mode.ltr:before,
.mls_change_mode.rtl:before,
.mls_slide_delete:before,
.mls_layer_duplicate:before,
.mls_slide_duplicated:before,
.mls_slide_edit:before,
.right-block h2:before,
.mls_add_layer:before,
.mls_layer_delete:before,
.mls_layer_edit:before,
.ets_multilayerslider_wrapper i:not(.process-icon-save):before {
content: attr(data-title)!important;
font-family: Material Icons;
font-size: 18px;
vertical-align: -4px;
}
.mls_export_button i.fa-exchange:before,
.mls_add_slide:before {
font-size: 18px;
float: left;
line-height: 18px;
}
.mls_import_slider_submit .mls_import_slider {
padding-left: 28px;
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,115 @@
.mls_slider{
float: left;
position: relative;
overflow: hidden;
}
.mls_slides_front
{
width: 100%;
height: 100%;
float: left;
}
.mls_slides_front > li {
float: left;
height: 100%;
left: 0;
opacity: 0;
pointer-events: none;
position: absolute !important;
top: 0;
transition: opacity 1s ease 0s;
visibility: hidden;
width: 100%;
}
.msl_layer_front{
position: absolute;
display: none;
}
.mls_loading_icon{
padding: 10px;
background: #fff;
border-radius: 10px;
text-align: center;
}
.mls_pagination {
bottom: 10px;
float: left;
left: 50%;
position: absolute;
transform: translateX(-50%) scale(1.5);
-webkit-transform: translateX(-50%) scale(1.5);
visibility: visible;
z-index: 10;
}
.mls_nav > div.mls_prev:before {
content: "\f104";
display: block;
float: left;
font-family: FontAwesome;
font-size: 30px;
line-height: 20px;
min-width: 20px;
text-align: center;
}
.mls_nav > div.mls_next:before {
content: "\f105";
display: block;
float: left;
font-family: FontAwesome;
font-size: 30px;
line-height: 20px;
min-width: 20px;
text-align: center;
}
.mls_nav > div {
background-color: rgba(0, 0, 0, 0.6);
color: #FFFFFF;
cursor: pointer;
font-size: 0;
opacity: 0;
padding: 15px;
position: relative;
transition: all 0.5s ease 0s;
-webkit-transition: all 0.5s ease 0s;
visibility: hidden;
}
.mls_pag_button {
background: #fff none repeat scroll 0 0;
cursor: pointer;
float: left;
margin: 3px;
padding: 3px 10px;
}
.mls_slide_front.active {
opacity: 1;
pointer-events: auto;
visibility: visible;
}
.msl_layer_front.active{
display: block;
}
.mls_pag_button.active{
background: #000;
color: #fff;
}
.ets_multilayerslider:hover .mls_nav > div{
opacity: 1;
visibility: visible;
transform: translateX(0%) translateY(-50%);
-webkit-transform: translateX(0%) translateY(-50%);
}
.mls_nav {
height: 0;
left: 0;
position: absolute;
top: 50%;
width: 100%;
}
.mls_prev {
float: left;
}
.mls_next {
float: right;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,249 @@
.mls_slider{
float: left;
position: relative;
overflow: hidden;
}
.mls_slides_front
{
width: 100%;
height: 100%;
float: left;
perspective: 50em;
-webkit-perspective: 50em;
}
.mls_slides_front > li {
float: left;
height: 100%;
left: 0;
opacity: 0;
pointer-events: none;
position: absolute !important;
top: 0;
transition: opacity 1s ease 0s;
-webkit-transition: opacity 1s ease 0s;
visibility: hidden;
width: 100%;
background-position: center center;
background-size: 100% auto;
}
.mls_nav > div.mls_prev:before {
content: "\f104";
display: block;
float: left;
font-family: FontAwesome;
font-size: 30px;
line-height: 50px;
min-width: 50px;
text-align: center;
}
.mls_nav > div.mls_next:before {
content: "\f105";
display: block;
float: left;
font-family: FontAwesome;
font-size: 30px;
line-height: 50px;
min-width: 50px;
text-align: center;
}
.ets_multilayerslider {
display: block;
overflow: hidden;
position: relative;
width: 100%;
margin-bottom: 60px;
}
.mls_slides {
float: left;
position: relative;
transform-origin: 0 0 0;
width: 100%;
}
.msl_layer_front.active{
display: block;
opacity: 1;
visibility: visible;
}
.msl_layer_front {
display: none;
opacity: 0;
visibility: hidden;
}
.mls_loading_icon {
bottom: 0;
display: none;
height: 100%;
left: 0;
position: absolute;
right: 0;
top: 0;
width: 100%;
z-index: 100000000;
}
.mls_loading_icon > img {
left: 50%;
position: absolute;
top: 50%;
width: auto;
}
.loading .mls_loading_icon {
background: none repeat scroll 0 0 #fff;
bottom: 0;
left: 0;
padding: 10px;
display: block;
position: absolute;
right: 0;
text-align: center;
top: 0;
vertical-align: middle;
z-index: 11;
}
.loading .mls_loading_icon img {
border: 10px solid #FFFFFF;
border-radius: 10px 10px 10px 10px;
float: left;
left: 50%;
position: relative;
top: 50%;
background-color: #fff;
transform: translate3d(-50%, -50%, 0px);
-webkit-transform: translate3d(-50%, -50%, 0px);
}
.loading .mls_slider_running{
width: 0%;
}
.mls_moving_in .mls_slider_running {
animation-fill-mode: both;
animation-name: running;
animation-timing-function: linear;
}
.mls_slider_running {
height: 4px;
left: 0;
position: absolute;
top: 0;
transition: opacity 1s ease 0s;
-webkit-transition: opacity 1s ease 0s;
width: 100%;
z-index: 1000;
}
.mls_slider:not(.mls_moving_in) .mls_slider_running {
opacity: 0;
}
.mls_slides .mls_slides_front span {
display: block;
line-height: 160%;
}
@keyframes running{
0% {
width: 0%;
}
100% {
width: 100%;
}
}
@-webkit-keyframes running{
0% {
width: 0%;
}
100% {
width: 100%;
}
}
.mls_pagination {
bottom: 40px;
float: left;
left: 50%;
z-index: 10;
position: absolute;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
transform-origin: 0 100% 0;
-webkit-transform-origin: 0 100% 0;
}
.mls_pag_button {
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
background: none repeat scroll 0 0 #FFFFFF;
border: 1px solid #222222;
cursor: pointer;
float: left;
height: 12px;
margin: 0 5px;
padding: 0;
perspective: 50em;
-webkit-perspective: 50em;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
width: 12px;
font-size: 0;
}
.mls_pag_button:not(.active) {
background: none repeat scroll 0 0 rgba(0, 0, 0, 0) !important;
border-color: #222222 !important;
}
.mls_slide_front.active {
opacity: 1;
pointer-events: auto;
visibility: visible;
}
.mls_pag_button.active{
background: #000;
color: #fff;
}
.mls_nav > div {
background-color: rgba(0, 0, 0, 1);
color: #FFFFFF;
cursor: pointer;
font-size: 0;
opacity: 0;
padding: 0;
position: relative;
visibility: hidden;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
perspective: 50em;
-webkit-perspective: 50em;
margin-top: -25px;
width: 50px;
height: 50px;
}
.ets_multilayerslider:hover .mls_nav > div{
opacity: 1;
visibility: visible;
transform: translateX(0%) translatey(-50%);
-webkit-transform: translateX(0%) translatey(-50%);
margin-left: 20px;
margin-right: 20px;
}
.mls_nav {
height: 0;
left: 0;
position: absolute;
top: 50%;
width: 100%;
}
.mls_prev {
float: left;
transform-origin: 0 0 0;
-webkit-transform-origin: 0 0 0;
margin-left: -100px;
}
.mls_next {
float: right;
transform-origin: 100% 0 0;
-webkit-transform-origin: 100% 0 0;
margin-right: -100px;
}
@media (max-width: 767px){
.ets_multilayerslider {
margin-bottom: 40px;
}
}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1 @@
jpg

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,287 @@
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
(function($) {
var MLS_Slider = function(element, options){
var settings = $.extend({}, $.fn.mls_slider.defaults, options);
var slider = $(element);
var currentSlide = slider.find('li.mls_slide_front.active').eq(0);
var playSlide = function(ik)
{
if($('li.mls_slide_front.item_'+ik).length > 0 && !$('li.mls_slide_front.item_'+ik).hasClass('active'))
{
if($('li.mls_slide_front.active').length > 0)
{
moveOut($('li.mls_slide_front.active'),function(){
moveIn($('li.mls_slide_front.item_'+ik),function(){});
});
}
else
{
moveIn($('li.mls_slide_front.item_'+ik),function(){});
}
slider.addClass('mls_running');
}
}
var moveIn = function(slide,moveInCallBack)
{
slider.addClass('mls_moving_in');
$('.mls_pag_button').removeClass('active');
$('.mls_pag_button[data-slide-order="'+slide.attr('data-slide-order')+'"]').addClass('active');
slide.css('animation-duration',settings.moveIn+'ms');
slide.css('transition-duration',settings.moveIn+'ms');
slide.removeClass(slide.attr('data-animation-out')).addClass(slide.attr('data-animation-in')).addClass('active').delay(settings.moveIn).queue(function(){
if(slide.find('.msl_layer_front').length > 0)
{
slide.find('.msl_layer_front').each(function(){
$(this).delay($(this).attr('data-delay-in')).queue(function(){
$(this).css('animation-duration',$(this).attr('data-move-in')+'ms');
$(this).removeClass($(this).attr('data-animation-out')).addClass($(this).attr('data-animation-in')).addClass('active').dequeue();
})
});
}
$(this).dequeue();
}).delay(slide.attr('data-max-layer-in')).queue(function(){
moveInCallBack.call(this);
slider.removeClass('mls_running');
slider.removeClass('mls_moving_in');
$(this).dequeue();
});
if(settings.enableRunningBar && $('.mls_slider_running').length > 0)
{
$('.mls_slider_running').eq(0).css('animation-duration',(parseInt(settings.moveIn) + parseInt(slide.attr('data-max-layer-in')))+'ms')
}
return slide;
}
var moveOut = function (slide,moveOutCallback)
{
slide.find('.msl_layer_front').each(function(){
$(this).delay($(this).attr('data-delay-out')).queue(function(){
$(this).css('animation-duration',$(this).attr('data-move-out')+'ms');
$(this).removeClass($(this).attr('data-animation-in')).addClass($(this).attr('data-animation-out')).delay($(this).attr('data-move-out')-100).queue(function(){
$(this).removeClass('active').dequeue();
}).dequeue();
});
});
slide.delay(slide.attr('data-max-layer-out')).queue(function(){
moveOutCallback.call(this);
slide.css('animation-duration',settings.moveOut+'ms');
slide.css('transition-duration',settings.moveOut+'ms');
$(this).removeClass($(this).attr('data-animation-in')).addClass($(this).attr('data-animation-out')).delay(settings.moveOut).queue(function(){
$(this).removeClass('active').dequeue();
}).dequeue();
});
}
var play = function()
{
clearInterval($.fn.mls_slider.itervalTimer);
$.fn.mls_slider.itervalTimer = 0;
if(!settings.enablePagination && $('.mls_pagination').length > 0)
$('.mls_pagination').remove();
if(!settings.enableNav && $('.mls_nav').length > 0)
$('.mls_nav').remove();
if(!settings.enableRunningBar && $('.mls_slider_running').length > 0)
$('.mls_slider_running').remove();
if($('.mls_slide_front.item_'+settings.startSlide).length > 0)
{
playSlide(settings.startSlide);
if(settings.autoPlay)
autoPlay();
}
else if($('.mls_slide_front').length > 0)
{
playSlide(1);
if(settings.autoPlay)
autoPlay();
}
$('.mls_pag_button').click(function(){
if(!$(this).hasClass('active') && !slider.hasClass('mls_running'))
{
playSlide($(this).attr('data-slide-order'));
if(settings.autoPlay)
{
clearInterval($.fn.mls_slider.itervalTimer);
autoPlay();
}
}
});
$('.mls_next').click(function(){
if(!slider.hasClass('mls_running'))
{
if($('.mls_slide_front.active').length > 0 && $('.mls_slide_front.active').next('li.mls_slide_front').length > 0)
{
playSlide($('.mls_slide_front.active').next('li.mls_slide_front').attr('data-slide-order'));
if(settings.autoPlay)
{
clearInterval($.fn.mls_slider.itervalTimer);
autoPlay();
}
}
else if($('.mls_slide_front').length > 1 && settings.loop)
{
playSlide(1);
if(settings.autoPlay)
{
clearInterval($.fn.mls_slider.itervalTimer);
autoPlay();
}
}
}
});
$('.mls_prev').click(function(){
if(!slider.hasClass('mls_running'))
{
if($('.mls_slide_front.active').length > 0 && $('.mls_slide_front.active').prev('li.mls_slide_front').length > 0)
{
playSlide($('.mls_slide_front.active').prev('li.mls_slide_front').attr('data-slide-order'));
if(settings.autoPlay)
{
clearInterval($.fn.mls_slider.itervalTimer);
autoPlay();
}
}
else if($('.mls_slide_front').length > 1 && settings.loop)
{
playSlide($('.mls_slide_front').length);
if(settings.autoPlay)
{
clearInterval($.fn.mls_slider.itervalTimer);
autoPlay();
}
}
}
});
if(settings.pauseOnHover && settings.autoPlay)
{
slider.hover(function(){
clearInterval($.fn.mls_slider.itervalTimer);
$.fn.mls_slider.itervalTimer='';
},function(){
if($.fn.mls_slider.itervalTimer==='')
autoPlay();
});
}
}
var autoPlay = function()
{
$.fn.mls_slider.itervalTimer = setInterval(function(){
if($('.mls_slide_front.active').length > 0 && $('.mls_slide_front.active').next('li.mls_slide_front').length > 0)
{
playSlide($('.mls_slide_front.active').next('li.mls_slide_front').attr('data-slide-order'));
}
else if($('.mls_slide_front').length > 1 && settings.loop)
playSlide(1);
},parseInt(settings.stand)+parseInt(slider.attr('data-max-slide-time'))+1000);
}
//Play slider
var backgroundLoaded = false;
var layerImagesLoaded = false;
if(settings.enableLoading)
{
!slider.hasClass('loading')
slider.addClass('loading');
if($('.mls_slides_front > li').length > 0)
{
var firstSlideBackground = $('.mls_slides_front > li:first-child').attr('data-slide-background-image');
if(firstSlideBackground!='')
{
$('<img/>').attr('src', firstSlideBackground).load(function() {
$(this).remove();
$('.mls_slides_front > li:first-child').css('background-image', 'url("'+firstSlideBackground+'")');
backgroundLoaded = true;
if(layerImagesLoaded && slider.hasClass('loading'))
{
slider.removeClass('loading');
play();
}
return false;
});
}
else
backgroundLoaded = true;
if($('.mls_slides_front > li:first-child').find('img').length > 0)
{
var images = $('.mls_slides_front > li:first-child img');
var elemsCount = images.length;
var loadedCount = 0;
images.load(function (){
loadedCount++;
if (loadedCount == elemsCount) {
layerImagesLoaded = true;
if(backgroundLoaded && slider.hasClass('loading'))
{
slider.removeClass('loading');
play();
return false;
}
}
});
}
else
layerImagesLoaded = true;
if(backgroundLoaded && layerImagesLoaded)
{
if(slider.hasClass('loading'))
slider.removeClass('loading');
play();
}
}
setTimeout(function(){
if(slider.hasClass('loading'))
{
slider.removeClass('loading');
play();
}
},5000);
}
else
{
if(slider.hasClass('loading'))
slider.removeClass('loading');
play();
}
}
$.fn.mls_slider = function(options) {
var mlsslider = new MLS_Slider(this, options);
return this;
};
//Default settings
$.fn.mls_slider.defaults = {
enableNav: true,
enablePagination: true,
enableLoading: true,
enableRunningBar: true,
moveIn: 2000,
moveOut: 2000,
stand: 5000,
loop: true,
autoPlay: true,
pauseOnHover: true,
startSlide: 1,
};
$.fn.mls_slider.itervalTimer = 0;
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
var mslFullSliderEnabled = false;
$(document).ready(function(){
if($('.mls_slider').length > 0)
{
if($('.mls_slider').attr('data-slider-type')=='full' && $('.mls_slider').parents('#columns').length > 0)
{
$('.mls_slider').parents('#columns').eq(0).before($('.ets_multilayerslider'));
$('.ets_multilayerslider').removeClass('hidden');
mslFullSliderEnabled = true;
}
else if($('.mls_slider').attr('data-slider-type')=='full' && $('.mls_slider').parents('#wrapper').length > 0)
{
$('.mls_slider').parents('#wrapper').eq(0).prepend($('.ets_multilayerslider'));
$('.ets_multilayerslider').removeClass('hidden');
mslFullSliderEnabled = true;
}
else if($('.ets_multilayerslider').length > 0)
$('.ets_multilayerslider').removeClass('hidden');
$('.mls_slider').mls_slider({
enableNav: parseInt($('.mls_slider').attr('data-enable-next-prev')),
enablePagination: parseInt($('.mls_slider').attr('data-enable-pagination')),
moveIn: parseInt($('.mls_slider').attr('data-move-in')),
moveOut: parseInt($('.mls_slider').attr('data-move-out')),
stand: parseInt($('.mls_slider').attr('data-stand-duration')),
loop: parseInt($('.mls_slider').attr('data-loop')),
autoPlay: parseInt($('.mls_slider').attr('data-auto-play')),
pauseOnHover: parseInt($('.mls_slider').attr('data-pause-on-hover')),
enableLoading: parseInt($('.mls_slider').attr('data-enable-loading-icon')),
enableRunningBar: parseInt($('.mls_slider').attr('data-enable-running-bar')),
});
ScaleSlider();
$(window).on('resize',function(e){
ScaleSlider();
});
}
});
function ScaleSlider(){
var ratio = $('.mls_slides').width()/width_slider;
var height = ratio*height_slider;
if ( ratio <= 1 ){
var buttonscale = 2 - ratio;
} else {
var buttonscale = ratio - 1;
}
if($('.mls_slides').width() < width_slider || mslFullSliderEnabled || $('.mls_slider').attr('data-slider-type')=='auto')
{
$('.ets_multilayerslider').css('height',height+'px');
$('.ets_multilayerslider .mls_slides').css('transform', 'scale('+ratio+')');
$('.mls_nav > div').css('transform', 'scale('+buttonscale+') ');
$('.mls_loading_icon img').css('transform', 'scale('+buttonscale+') translate3d(-50%, -50%, 0px)');
$('.mls_pagination').css('transform', 'scale('+buttonscale+') translateX(-50%)');
}
else
{
$('.ets_multilayerslider .mls_slides').css('transform', 'scale(1)');
$('.ets_multilayerslider').css('height','auto');
}
}

View File

@@ -0,0 +1,117 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{extends file="helpers/form/form.tpl"}
{block name="input"}
{if $input.type == 'checkbox'}
{if isset($input.values.query) && $input.values.query}
{foreach $input.values.query as $value}
{assign var=id_checkbox value=$input.name|cat:'_'|cat:$value[$input.values.id]|escape:'html':'UTF-8'}
<div class="checkbox{if isset($input.expand) && strtolower($input.expand.default) == 'show'} hidden{/if}">
{strip}
<label for="{$id_checkbox|escape:'html':'UTF-8'}">
<input type="checkbox" name="{$input.name|escape:'html':'UTF-8'}[]" id="{$id_checkbox|escape:'html':'UTF-8'}" {if isset($value.value)} value="{$value.value|escape:'html':'UTF-8'}"{/if}{if isset($fields_value[$input.name]) && is_array($fields_value[$input.name]) && $fields_value[$input.name] && in_array($value.value,$fields_value[$input.name])} checked="checked"{/if} />
{$value[$input.values.name]|escape:'html':'UTF-8'}
</label>
{/strip}
</div>
{/foreach}
{/if}
{else}
{$smarty.block.parent}
{if $input.name=='animation_in' || $input.name=='animation_out'}
<div class="mls_sample_effect">{l s='Sample animation effect' mod='ets_multilayerslider'}</div>
{/if}
{/if}
{/block}
{block name="field"}
{if $input.name}
{$smarty.block.parent}
{if $input.type == 'file' && isset($input.display_img) && $input.display_img}
<label class="control-label col-lg-3 uploaded_image_label" style="font-style: italic;">{l s='Uploaded image: ' mod='ets_multilayerslider'}</label>
<div class="col-lg-9 uploaded_img_wrapper">
<img title="{l s='Click to see full size image' mod='ets_multilayerslider'}" style="display: inline-block; max-width: 200px;" src="{$input.display_img|escape:'html':'UTF-8'}" />
{if (!isset($input.hide_delete) || isset($input.hide_delete) && !$input.hide_delete) && isset($input.img_del_link) && $input.img_del_link && !(isset($input.required) && $input.required)}
<a class="delete_url" style="display: inline-block; text-decoration: none!important;" href="{$input.img_del_link|escape:'html':'UTF-8'}"><span style="color: #666"><i style="font-size: 20px;" class="process-icon-delete" data-title="&#xE872;"></i></span></a>
{/if}
</div>
{/if}
{/if}
{/block}
{block name="footer"}
{capture name='form_submit_btn'}{counter name='form_submit_btn'}{/capture}
{if isset($fieldset['form']['submit']) || isset($fieldset['form']['buttons'])}
<div class="panel-footer">
{if isset($cancel_url) && $cancel_url}
<a class="btn btn-default" href="{$cancel_url|escape:'html':'UTF-8'}"><i class="process-icon-cancel"></i>{l s='Back' mod='ets_multilayerslider'}</a>
{/if}
{if isset($fieldset['form']['submit']) && !empty($fieldset['form']['submit'])}
<div class="img_loading_wrapper hidden">
<img src="{$image_baseurl|escape:'html':'UTF-8'}ajax-loader.gif" title="{l s='Loading' mod='ets_multilayerslider'}" class="ybc_blog_loading" />
</div>
<input type="hidden" name="mls_object" value="{$mls_object|escape:'html':'UTF-8'}" />
{if isset($list_item) && $list_item}
<input type="hidden" name="itemId" value="{$item_id|intval}" />
<input type="hidden" name="mls_form_submitted" value="1" />
{else}
<input type="hidden" name="mls_config_submitted" value="1" />
{/if}
<div class="mls_save_wrapper">
<button type="submit" value="1" class="{if isset($list_item) && $list_item}mls_save{else}mls_config_save{/if} {if isset($fieldset['form']['submit']['class'])}{$fieldset['form']['submit']['class']|escape:'html':'UTF-8'}{else}btn btn-default pull-right{/if}">
<i class="{if isset($fieldset['form']['submit']['icon'])}{$fieldset['form']['submit']['icon']|escape:'html':'UTF-8'}{else}process-icon-save{/if}"></i> {$fieldset['form']['submit']['title']|escape:'html':'UTF-8'}
</button>
<div class="mls_saving">
<img src="{$image_baseurl|escape:'html':'UTF-8'}loader.gif"/>
<span>{l s='Saving' mod='ets_multilayerslider'}</span>
</div>
</div>
{/if}
</div>
{/if}
{/block}
{block name="input_row"}
{if isset($mls_object) && $mls_object=='MLS_Layer' && $input.name=='layer_type'}
<div class="mls_layer_form_tab_div">
<ul class="mls_layer_form_tab">
<li class="layer_content active">{l s='Content' mod='ets_multilayerslider'}</li>
<li class="layer_position">{l s='Position' mod='ets_multilayerslider'}</li>
<li class="layer_transition">{l s='Transition' mod='ets_multilayerslider'}</li>
</ul>
</div>
<div class="mls_layer_edit_form">
<div class="layer_content_form">
{/if}
{if isset($mls_object) && $mls_object=='MLS_Layer' && $input.name=='top'}
</div><div class="layer_position_form active">
{/if}
{if isset($mls_object) && $mls_object=='MLS_Layer' && $input.name=='animation_in'}
</div><div class="layer_transition_form">
{/if}
<div class="form-group-wrapper row_{strtolower($input.name)|escape:'html':'UTF-8'}">{$smarty.block.parent}</div>
{if isset($mls_object) && $mls_object=='MLS_Layer' && $input.name=='move_out'}
</div></div>
{/if}
{/block}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,30 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($alerts['errors']) && $alerts['errors']}
<div class="alert alert-danger mm-alert mm-alert-{$time|escape:'html':'UTF-8'}">{implode('<br/>',$alerts['errors'])}</div>
{/if}
{if isset($alerts['success']) && $alerts['success']}
<div class="alert alert-success mm-alert mm-alert-{$time|escape:'html':'UTF-8'}">{implode('<br/>',$alerts['success'])}</div>
{/if}

View File

@@ -0,0 +1,142 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<script type="text/javascript">
var mmBaseAdminUrl = '{$mmBaseAdminUrl|escape:'quotes':'UTF-8'}';
var mmCloseTxt = '{l s='Close' mod='ets_multilayerslider'}';
var mmOpenTxt = '{l s='Open' mod='ets_multilayerslider'}';
var mmDeleteTxt = '{l s='Delete' mod='ets_multilayerslider'}';
var mmDuplicatedTxt='{l s='Duplicated' mod='ets_multilayerslider'}';
var mmEditTxt = '{l s='Edit' mod='ets_multilayerslider'}';
var mmDeleteTitleTxt = '{l s='Delete this item' mod='ets_multilayerslider'}';
var mmAddMenuTxt = '{l s='Add new slide' mod='ets_multilayerslider'}';
var mmEditMenuTxt = '{l s='Edit slide' mod='ets_multilayerslider'}';
var mmAddLayerTxt = '{l s='Add new layer' mod='ets_multilayerslider'}';
var mmEditLayerTxt = '{l s='Edit layer' mod='ets_multilayerslider'}';
var mmDeleteLayerTxt = '{l s='Delete this layer' mod='ets_multilayerslider'}';
var mmDeleteBlockTxt = '{l s='Delete this block' mod='ets_multilayerslider'}';
var mmEditBlockTxt = '{l s='Edit this block' mod='ets_multilayerslider'}';
var mmAddBlockTxt = '{l s='Add new block' mod='ets_multilayerslider'}';
var ets_mls_invalid_file = '{l s='Image is invalid' mod='ets_multilayerslider'}';
var layertitle ='{l s='Layers' mod='ets_multilayerslider'}';
var url_base_img ='{$url_base_img|escape:'quotes':'UTF-8'}';
var width_slider ={$width_slider|intval};
var height_slider ={$height_slider|intval};
var id_lang ={$id_lang|intval};
</script>
<div class="ets_multilayerslider_wrapper {$layoutDirection|escape:'html':'UTF-8'}-wrapper mls_desktop_size {if $multiLayoutExist}multi-layout{/if} mls-layout-{$mls_layout|escape:'html':'UTF-8'}">
<div class="ets_multilayerslider">
<div class="mls_slides_actions">
<div data-title="&#xE8B8;" class="mls_config_button btn btn-default">{l s='Settings' mod='ets_multilayerslider'}</div>
<div class="mls_export_button btn btn-default">
<i class="fa fa-exchange" data-title="&#xE8D4;"></i>
{l mod='ets_multilayerslider' s='Import/Export'}
</div>
{if $multiLayoutExist}
<div class="mls_change_mode_dir">
<div data-title="&#xE236;" class="mls_change_mode ltr {if $layoutDirection=='ets-dir-ltr'}active{/if}">{l s='LTR' mod='ets_multilayerslider'}</div>
<div data-title="&#xE237;" class="mls_change_mode rtl {if $layoutDirection=='ets-dir-rtl'}active{/if}">{l s='RTL' mod='ets_multilayerslider'}</div>
</div>
{/if}
<div class="msl_screen_type">
<div data-title="&#xE30B;" class="active msl_screen_desktop" data-size="desktop" data-width="auto">{l s='Desktop' mod='ets_multilayerslider'}</div>
<div data-title="&#xE331;" class="msl_screen_tablet" data-size="tablet" data-zoom="0.615" data-width="768">{l s='Tablet' mod='ets_multilayerslider'}</div>
<div data-title="&#xE325;" class="msl_screen_mobile" data-size="mobile" data-zoom="0.282051" data-width="320">{l s='Mobile' mod='ets_multilayerslider'}</div>
</div>
<div class="mls_players">
<div data-title="&#xE039;" class="mls_play_slider btn btn-default">{l s='Play slider' mod='ets_multilayerslider'}</div>
</div>
</div>
<div class="mls_slides">
<div class="mls_slide_list {if isset($mls_configs.ETS_MLS_SLIDER_TYPE)}mls_slider_type_{strtolower($mls_configs.ETS_MLS_SLIDER_TYPE)|escape:'html':'UTF-8'}{/if} {$layoutDirection|escape:'html':'UTF-8'}" {hook h='displayMLSConfigs'}>
{hook h='displayMLSSlider' layout=$mls_layout}
</div>
<div data-title="&#xE147;" class="mls_add_slide btn btn-default">{l s='Add slide' mod='ets_multilayerslider'}</div>
</div>
</div>
<div class="mls_forms mls_overlay hidden">
<div class="mls_slide_form hidden mls_pop_up">
<div data-title="&#xE14C;" class="mls_close">{l s='Close' mod='ets_multilayerslider'}</div>
<div class="mls_form"></div>
</div>
<div class="mls_slide_form_new hidden">{$slideForm nofilter}</div>
<div class="mls_layer_form_new hidden">{$layerForm nofilter}</div>
</div>
<div class="mls_overlay hidden">
<div class="mls_config_form hidden mls_pop_up">
<div data-title="&#xE14C;" class="mls_close">{l s='Close' mod='ets_multilayerslider'}</div>
<div class="mls_config_form_content"><div class="mls_close"></div>{$configForm nofilter}</div>
</div>
</div>
<div class="mls_preview_slider hidden mls_pop_up {if isset($mls_configs.ETS_MLS_SLIDER_TYPE)}mls_preview_type_{strtolower($mls_configs.ETS_MLS_SLIDER_TYPE)|escape:'html':'UTF-8'}{/if}">
<div data-title="&#xE14C;" class="mls_close">{l s='Close' mod='ets_multilayerslider'}</div>
<div class="mls_preview_loading">
<img src="{$url_base_img|escape:'html':'UTF-8'}../ajax-loader.gif" />
</div>
<div class="mls_form_preview">
<div data-title="&#xE14C;" class="mls_close">{l s='Close' mod='ets_multilayerslider'}</div>
</div>
</div>
<div class="mls_export_form mls_overlay hidden">
<div data-title="&#xE14C;" class="mls_close">{*l s='Close' mod='ets_multilayerslider'*}</div>
<div class="mls_export mls_pop_up">
<div data-title="&#xE14C;" class="mls_close">{l s='Close' mod='ets_multilayerslider'}</div>
<div class="mls_export_form_content">
<div class="mls_export_option">
<div class="panel-heading">
{l s='Export slider content' mod='ets_multilayerslider'}
</div>
<a class="btn btn-default mls_export_slider" href="{$mmBaseAdminUrl|escape:'html':'UTF-8'}&exportSlider=1" target="_blank">
<i class="fa fa-download" data-title="&#xE2C4;"></i>{l s='Export slider' mod='ets_multilayerslider'}</a>
<p class="mls_export_option_note">{l s='Export all slider data including slider images, text, custom CSS and configuration' mod='ets_multilayerslider'}</p>
</div>
<div class="mls_import_option">
<div class="panel-heading">
{l s='Import slider data' mod='ets_multilayerslider'}
</div>
<form action="{$mmBaseAdminUrl|escape:'html':'UTF-8'}" method="post" enctype="multipart/form-data" class="mls_import_option_form">
<div class="mls_import_option_updata">
<label for="sliderdata">{l s='Data package' mod='ets_multilayerslider'}</label>
<input id="image" type="file" name="sliderdata" id="sliderdata" />
</div>
<div class="mls_import_option_clean">
<input type="checkbox" value="1" id="importoverride" checked="checked" name="importoverride" />
<label for="importoverride">{l s='Clear all slides before importing' mod='ets_multilayerslider'}</label>
</div>
<div class="mls_import_option_button">
<input type="hidden" name="importslider" value="1" />
<div class="mls_import_slider_loading"><img src="{$url_base_img|escape:'html':'UTF-8'}../loader.gif" />{l s='Importing data' mod='ets_multilayerslider'}</div>
<div class="mls_import_slider_submit">
<i class="fa fa-compress" data-title="&#xE864;"></i>
<input type="submit" value="{l s='Import slider' mod='ets_multilayerslider'}" class="btn btn-default mls_import_slider"/>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,26 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<script type="text/javascript" src="{$js_dir_path|escape:'quotes':'UTF-8'}mls_slider.pack.js"></script>
<script type="text/javascript" src="{$js_dir_path|escape:'quotes':'UTF-8'}multilayerslider-admin.js"></script>

View File

@@ -0,0 +1,38 @@
{*
* 2007-2021 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2021 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<style>
.ets_multilayerslider_wrapper{
min-height:800px;
}
</style>
<script type="text/javascript">
function phProductFeedResizeIframe(obj) {
$('iframe').css('height','auto');
setTimeout(function() {
$('iframe').css('opacity',1);
var pHeight = $(obj).parent().height();
$(obj).css('height','540px');
}, 300);
}
</script>
<div id="ph_preview_template_html">
<iframe src="{$url_iframe|escape:'html':'UTF-8'}" style="background: #ffffff ; border : 1px solid #ccc;width:100%;height:0;opacity:0;border-radius:5px" onload="phProductFeedResizeIframe(this)"></iframe>
</div>

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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,38 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($layer) && $layer}
<li data-id-layer="{$layer.id_layer|intval}" class="mls_layers_li item{$layer.id_layer|intval}" data-obj="layer">
{if $layer.layer_type=='image'}
<img src="{$layer.link_image|escape:'html':'UTF-8'}" width="40px" />
{elseif $layer.content_layer|strip_tags|trim|escape:'html':'UTF-8'}
{$layer.content_layer|strip_tags|truncate:25:"..."|escape:'html':'UTF-8'}
{else}
#{$layer.id_layer|intval}
{/if}
<span data-title="&#xE14D;" class="mls_layer_duplicate" title="{l s='Duplicate this layer' mod='ets_multilayerslider'}">{l s='Duplicate' mod='ets_multilayerslider'}</span>
<span data-title="&#xE872;" class="mls_layer_delete" title="{l s='Delete this layer' mod='ets_multilayerslider'}">{l s='Delete' mod='ets_multilayerslider'}</span>
<span data-title="&#xE150;" class="mls_layer_edit" title="{l s='Edit this layer' mod='ets_multilayerslider'}">{l s='Edit' mod='ets_multilayerslider'}</span>
</li>
{/if}

View File

@@ -0,0 +1,78 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($layer) && $layer && $layer.layer_type=='image' && $layer.image || $layer.layer_type!='image'&&$layer.content_layer}
<div class="msl_layer item{$layer.id_layer|intval} layer_layout_{$mls_layout|escape:'html':'UTF-8'} mls_layer_type_{$layer.layer_type|escape:'html':'UTF-8'}" style="position: absolute;
{if $mls_layout=='rtl' && $mls_multilayout}
right:{$layer.right|escape:'html':'UTF-8'}px; top:{$layer.top_right|escape:'html':'UTF-8'}px; left: auto;
{else}
left:{$layer.left|escape:'html':'UTF-8'}px; top:{$layer.top|escape:'html':'UTF-8'}px; right: auto;
{/if} float:left; bottom: auto; z-index: {$layer.sort_order|intval};" data-id-layer="{$layer.id_layer|intval}"
data-animation-in="{$layer.animation_in|escape:'html':'UTF-8'}"
data-animation-out="{$layer.animation_out|escape:'html':'UTF-8'}"
data-move-in="{$layer.move_in|escape:'html':'UTF-8'}"
data-move-out="{$layer.move_out|escape:'html':'UTF-8'}"
data-start-delay="{$layer.start_delay|escape:'html':'UTF-8'}"
data-stand-duration="{$layer.stand_duration|escape:'html':'UTF-8'}"
data-left="{$layer.left|floatval}"
data-right="{$layer.right|floatval}"
data-top="{$layer.top|floatval}"
data-top-rtl="{$layer.top_right|floatval}"
>
{if $layer.layer_type=='image'}
<img class="spot" src="{$layer.link_image|escape:'html':'UTF-8'}" style="{if $layer.width}width: {$layer.width|floatval}px;{/if}{if $layer.height}height: {$layer.height|floatval}px;{/if}" />
{elseif $layer.layer_type=='text' || $layer.layer_type=='link'}
<span style="
{if $layer.font_size}font-size:{$layer.font_size|escape:'html':'UTF-8'}px{/if};
{if $layer.text_color}color:{$layer.text_color|escape:'html':'UTF-8'};{/if}
{if $layer.font_family}font-family:{$layer.font_family|escape:'html':'UTF-8'};{/if}
{if $layer.font_weight}font-weight:{$layer.font_weight|escape:'html':'UTF-8'};{/if}
{if $layer.text_decoration}text-decoration:{$layer.text_decoration|escape:'html':'UTF-8'};{/if}
{if $layer.text_transform}text-transform:{$layer.text_transform|escape:'html':'UTF-8'};{/if}
">{$layer.content_layer nofilter}</span>
{elseif $layer.layer_type=='text_background'}
<span style="
{if $layer.font_size}font-size:{$layer.font_size|escape:'html':'UTF-8'}px{/if};
{if $layer.text_color}color:{$layer.text_color|escape:'html':'UTF-8'};{/if}
{if $layer.font_family}font-family:'{$layer.font_family|escape:'html':'UTF-8'}';{/if}
{if $layer.font_weight}font-weight:{$layer.font_weight|escape:'html':'UTF-8'};{/if}
{if $layer.background_color}background-color:{$layer.background_color|escape:'html':'UTF-8'};{/if}
{if $layer.text_decoration}text-decoration:{$layer.text_decoration|escape:'html':'UTF-8'};{/if}
{if $layer.text_transform}text-transform:{$layer.text_transform|escape:'html':'UTF-8'};{/if}
{if $layer.padding}padding:{$layer.padding|escape:'html':'UTF-8'};{/if}
">{$layer.content_layer nofilter}</span>
{elseif $layer.layer_type=='button'}
<span style="
{if $layer.font_size}font-size:{$layer.font_size|escape:'html':'UTF-8'}px{/if};
{if $layer.text_color}color:{$layer.text_color|escape:'html':'UTF-8'};{/if}
{if $layer.font_family}font-family:'{$layer.font_family|escape:'html':'UTF-8'}';{/if}
{if $layer.font_weight}font-weight:{$layer.font_weight|escape:'html':'UTF-8'};{/if}
{if $layer.background_color}background-color:{$layer.background_color|escape:'html':'UTF-8'};{/if}
{if $layer.text_decoration}text-decoration:{$layer.text_decoration|escape:'html':'UTF-8'};{/if}
{if $layer.padding}padding:{$layer.padding|escape:'html':'UTF-8'};{/if}
{if $layer.box_radius}border-radius:{$layer.box_radius|intval}px;{/if}
">{$layer.content_layer nofilter}</span>
{/if}
</div>
{/if}

View File

@@ -0,0 +1,36 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<div class="action">
<span data-title="&#xE14C;" class="mls_slide_delete" title="{l s='Delete this item' mod='ets_multilayerslider'}">{l s='Delete' mod='ets_multilayerslider'}</span>
<span data-title="&#xE14D;" class="mls_slide_duplicated" title="{l s='Duplicate this slide' mod='ets_multilayerslider'}">{l s='Duplicate' mod='ets_multilayerslider'}</span>
<span data-title="&#xE150;" class="mls_slide_edit">{l s='Edit' mod='ets_multilayerslider'}</span>
</div>
<div class="msl_layer_wrapper" data-width="{$sliderWidth|intval}" data-height="{$sliderHeight|intval}" style="position: relative;width:{$sliderWidth|intval}px;height:{$sliderHeight|intval}px;{if $slide.link_img} background-image: url('{$slide.link_img|escape:'html':'UTF-8'}');background-repeat: {if $slide.repeat_x&&$slide.repeat_y}repeat{elseif $slide.repeat_x}repeat-x{elseif $slide.repeat_y}repeat-y{else}no-repeat{/if};{/if}{if $slide.backgroud_color} background-color:{$slide.backgroud_color|escape:'html':'UTF-8'}; {/if}">
{if isset($slide.layers) && $slide.layers}
{foreach from=$slide.layers item='layer'}
{hook h='displayMLSLayer' layer=$layer layout=$mls_layout}
{/foreach}
{/if}
</div>

View File

@@ -0,0 +1,47 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($slide) && $slide}
<li class="mls_slides_li item{$slide.id_slide|intval} {if !$slide.enabled}mls_disabled{/if}" data-id-slide="{$slide.id_slide|intval}" data-obj="slide">
<span class="title-silde" ><span>{if $slide.title}{$slide.title|escape:'html':'UTF-8'}{else}{$slide.id_slide|intval}{/if}</span></span>
<div class="slide-content">
<div class="left-block col-lg-9" >
<div class="left-content">
{hook h='displayMLSSlideInner' slide=$slide layout=$mls_layout}
</div>
</div>
<div class="right-block col-lg-3">
<h2 data-title="&#xE3C4;">{l s='Layers' mod='ets_multilayerslider'}</h2>
<div data-title="&#xE145;" class="mls_add_layer btn btn-default" data-id-slide="{$slide.id_slide|intval}">{l s='Add new layer' mod='ets_multilayerslider'}</div>
<ul id="layers_slide{$slide.id_slide|intval}" class="mls_layers_ul">
{if isset($slide.layers) && $slide.layers}
{foreach from=$slide.layers item='layer'}
{hook h='displayMLSLayerSort' layer=$layer}
{/foreach}
{/if}
</ul>
</div>
</div>
</li>
{/if}

View File

@@ -0,0 +1,32 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<ul class="mls_slides_ul">
{if isset($slides)&&$slides}
{foreach from=$slides item='slide'}
{hook h='displayMLSSlide' slide=$slide layout=$mls_layout}
{/foreach}
{/if}
</ul>
<div class="alert alert-warning msl_no_slides {if $slides}hidden{/if}">{l s='No slide available. Click "Add slide" to add new slides!' mod='ets_multilayerslider'}</div>

View File

@@ -0,0 +1,117 @@
{*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.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/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<script type="text/javascript">
var width_slider = {$mls_width|intval};
var height_slider = {$mls_height|intval};
</script>
{if isset($mls_slides) && $mls_slides}
<div class="ets_multilayerslider {if $mls_configs.ETS_MLS_SLIDER_TYPE=='full'}hidden{/if}">
<div class="mls_slides">
<div data-max-slide-time="{$mls_max_slide_time|intval}" class="mls_slider {if $mls_configs.ETS_MLS_ENABLE_LOADING_ICON}loading{/if} {if isset($mls_configs.ETS_MLS_SLIDER_TYPE)}mls_slider_type_{strtolower($mls_configs.ETS_MLS_SLIDER_TYPE)|escape:'html':'UTF-8'}{/if} mls_layout_{$mls_layout|escape:'html':'UTF-8'}" style="width: {$mls_width|intval}px; height: {$mls_height|intval}px; {if $mls_configs.ETS_MLS_SLIDER_BACKGROUND}background-color: {$mls_configs.ETS_MLS_SLIDER_BACKGROUND|escape:'html':'UTF-8'};{/if}" {hook h='displayMLSConfigs'}>
<div class="mls_slider_running" style="{if $mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR}background-color: {$mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR|escape:'html':'UTF-8'};{else}#000000;{/if}"></div>
<ul class="mls_slides_front">
{assign var='ik' value=0}
{foreach from=$mls_slides item='slide'}
{assign var='ik' value=$ik+1}
<li data-slide-background-image="{$slide.link_img|escape:'html':'UTF-8'}" data-slide-order="{$ik|intval}" data-max-layer-in="{$slide.max_layer_in|intval}" data-max-layer-out="{$slide.max_layer_out|intval}" data-animation-in="{$slide.animation_in|escape:'html':'UTF-8'}" data-animation-out="{$slide.animation_out|escape:'html':'UTF-8'}" data-id-slide="{$slide.id_slide|intval}" class="mls_slide_front {if isset($slide.custom_class) && $slide.custom_class}{$slide.custom_class|escape:'html':'UTF-8'}{/if} item_{$ik|intval} mls_slide_{$slide.id_slide|intval}" style="{if $slide.link_img|escape:'html':'UTF-8'} {if !$mls_configs.ETS_MLS_ENABLE_LOADING_ICON || $mls_configs.ETS_MLS_ENABLE_LOADING_ICON && $ik>1}background-image: url('{$slide.link_img|escape:'html':'UTF-8'}');{/if}background-repeat: {if $slide.repeat_x&&$slide.repeat_y}repeat{elseif $slide.repeat_x}repeat-x{elseif $slide.repeat_y}repeat-y{else}no-repeat{/if};{/if}{if $slide.backgroud_color} background-color:{$slide.backgroud_color|escape:'html':'UTF-8'}; {/if} position: relative;">
{if isset($slide.layers) && $slide.layers}
{foreach from=$slide.layers item='layer'}
{if $layer.layer_type=='image' && $layer.image || $layer.layer_type!='image'&&$layer.content_layer}
<div class="msl_layer_front {if isset($layer.custom_class) && $layer.custom_class}{$layer.custom_class|escape:'html':'UTF-8'}{/if} msl_layer_{$layer.id_layer|intval} layer_layout_{$mls_layout|escape:'html':'UTF-8'} mls_layer_type_front_{$layer.layer_type|escape:'html':'UTF-8'}" style="position: absolute; {if $mls_layout=='rtl' && $mls_multilayout}right:{$layer.right|escape:'html':'UTF-8'}px; top:{$layer.top_right|escape:'html':'UTF-8'}px; left: auto;{else}left:{$layer.left|escape:'html':'UTF-8'}px; top:{$layer.top|escape:'html':'UTF-8'}px; right: auto;{/if} float:left; bottom: auto; z-index: {$layer.sort_order|intval};" data-top="{$layer.top|escape:'html':'UTF-8'}" data-id-layer="{$layer.id_layer|intval}"
data-animation-in="{$layer.animation_in|escape:'html':'UTF-8'}"
data-animation-out="{$layer.animation_out|escape:'html':'UTF-8'}"
data-move-in="{$layer.move_in|escape:'html':'UTF-8'}"
data-move-out="{$layer.move_out|escape:'html':'UTF-8'}"
data-delay-in="{$layer.start_delay|escape:'html':'UTF-8'}"
data-delay-out="{$layer.stand_duration|escape:'html':'UTF-8'}">
{if $layer.layer_type=='image'}
{if $layer.link}<a href="{$layer.link|escape:'html':'UTF-8'}">{/if}<img class="spot" src="{$layer.link_image|escape:'html':'UTF-8'}" style="{if $layer.width}width: {$layer.width|floatval}px;{/if}{if $layer.height}height: {$layer.height|floatval}px;{/if}" alt="" />{if $layer.link}</a>{/if}
{elseif $layer.layer_type=='text' || $layer.layer_type=='link'}
{if $layer.link && $layer.layer_type=='link'}<a href="{$layer.link|escape:'html':'UTF-8'}">{/if}<span style="
{if $layer.font_size}font-size:{$layer.font_size|escape:'html':'UTF-8'}px{/if};
{if $layer.text_color}color:{$layer.text_color|escape:'html':'UTF-8'};{/if}
{if $layer.font_family}font-family:{$layer.font_family|escape:'html':'UTF-8'};{/if}
{if $layer.font_weight}font-weight:{$layer.font_weight|escape:'html':'UTF-8'};{/if}
{if $layer.text_decoration}text-decoration:{$layer.text_decoration|escape:'html':'UTF-8'};{/if}
{if $layer.text_transform}text-transform:{$layer.text_transform|escape:'html':'UTF-8'};{/if}
">{$layer.content_layer nofilter}</span>{if $layer.link && $layer.layer_type=='link'}</a>{/if}
{elseif $layer.layer_type=='text_background'}
<span style="
{if $layer.font_size}font-size:{$layer.font_size|escape:'html':'UTF-8'}px{/if};
{if $layer.text_color}color:{$layer.text_color|escape:'html':'UTF-8'};{/if}
{if $layer.font_family}font-family:'{$layer.font_family|escape:'html':'UTF-8'}';{/if}
{if $layer.font_weight}font-weight:{$layer.font_weight|escape:'html':'UTF-8'};{/if}
{if $layer.background_color}background-color:{$layer.background_color|escape:'html':'UTF-8'};{/if}
{if $layer.text_decoration}text-decoration:{$layer.text_decoration|escape:'html':'UTF-8'};{/if}
{if $layer.text_transform}text-transform:{$layer.text_transform|escape:'html':'UTF-8'};{/if}
{if $layer.padding}padding:{$layer.padding|escape:'html':'UTF-8'};{/if}
">{$layer.content_layer nofilter}</span>
{elseif $layer.layer_type=='button'}
{if $layer.link}<a href="{$layer.link|escape:'html':'UTF-8'}">{/if}<span style="
{if $layer.font_size}font-size:{$layer.font_size|escape:'html':'UTF-8'}px{/if};
{if $layer.text_color}color:{$layer.text_color|escape:'html':'UTF-8'};{/if}
{if $layer.font_family}font-family:'{$layer.font_family|escape:'html':'UTF-8'}';{/if}
{if $layer.font_weight}font-weight:{$layer.font_weight|escape:'html':'UTF-8'};{/if}
{if $layer.background_color}background-color:{$layer.background_color|escape:'html':'UTF-8'};{/if}
{if $layer.text_decoration}text-decoration:{$layer.text_decoration|escape:'html':'UTF-8'};{/if}
{if $layer.text_transform}text-transform:{$layer.text_transform|escape:'html':'UTF-8'};{/if}
{if $layer.padding}padding:{$layer.padding|escape:'html':'UTF-8'};{/if}
{if $layer.box_radius}border-radius:{$layer.box_radius|intval}px;{/if}
">{$layer.content_layer nofilter}</span>{if $layer.link|escape:'html':'UTF-8'}</a>{/if}
{/if}
</div>
{/if}
{/foreach}
{/if}
</li>
{/foreach}
</ul>
{if $mls_configs.ETS_MLS_ENABLE_LOADING_ICON}
<div class="mls_loading_icon" style="{if $mls_configs.ETS_MLS_SLIDER_BACKGROUND}background-color: {$mls_configs.ETS_MLS_SLIDER_BACKGROUND|escape:'html':'UTF-8'};{else}#000000;{/if}"><img src="{$mls_img_base_dir|escape:'html':'UTF-8'}ajax-loader.gif" alt=""/></div>
{/if}
{if $mls_configs.ETS_MLS_ENABLE_NEXT_PREV}
<div class="mls_nav">
<div class="mls_prev" style="{if $mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR}background-color: {$mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR|escape:'html':'UTF-8'};{/if}">
{l s='Prev' mod='ets_multilayerslider'}</div>
<div class="mls_next" style="{if $mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR}background-color: {$mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR|escape:'html':'UTF-8'};{/if}">
{l s='Next' mod='ets_multilayerslider'}</div>
</div>
{/if}
{if $mls_configs.ETS_MLS_ENABLE_PAGINATION}
<div class="mls_pagination">
{assign var='ik' value=0}
{foreach from=$mls_slides item='slide'}
{assign var='ik' value=$ik+1}
<div class="mls_pag_button mls_pag_{$ik|intval}" style="background-color: {if isset($mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR) && $mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR}{$mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR|escape:'html':'UTF-8'};{/if} {if isset($mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR) && $mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR}border-color:{$mls_configs.ETS_MLS_SLIDER_BUTTON_COLOR|escape:'html':'UTF-8'};{/if}" data-slide-order="{$ik|intval}" data-id-slide="{$slide.id_slide|intval}">{$ik|intval}</div>
{/foreach}
</div>
{/if}
</div>
</div>
</div>
{/if}
{if !$mls_slides && $mls_backend_load}
<div class="alert alert-warning">{l s='No active slides available' mod='ets_multilayerslider'}</div>
{/if}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.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/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
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;