first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,296 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'file_lang'}
<div class="col-lg-9">
<div class="row">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-9">
<div class="upload-img-form">
<img id="thumb_slider_thumbnail_{$language.id_lang|intval}" width="50" class="{if !$fields_value[$input.name][$language.id_lang]}nullimg{/if}" alt="" src="{if $fields_value[$input.name][$language.id_lang]}{if !$fields_value[$input.name][$language.id_lang]|strstr:'/'}{$psBaseModuleUri|escape:'html':'UTF-8'}{/if}{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}{/if}"/>
<input id="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}" type="hidden" name="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}" class="hide" value="{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}" />
<br>
<a onclick="image_upload('{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}', 'thumb_slider_thumbnail_{$language.id_lang|intval}');" href="javascript:void(0);">{l s='Browse' mod='leoslideshow'}</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a onclick="$('#thumb_slider_thumbnail_{$language.id_lang|intval}').attr('src', '');$('#thumb_slider_thumbnail_{$language.id_lang|intval}').addClass('nullimg'); $('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}').attr('value', '');" href="javascript:void(0);">{l s='Clear' mod='leoslideshow'}</a>
</div>
<br/>
</div>
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $languages|count > 1}
</div>
{/if}
<script>
$(document).ready(function() {
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}-selectbutton').click(function(e) {
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}').trigger('click');
});
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}').change(function(e) {
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}-name').val(file[file.length - 1]);
});
});
</script>
<input id="slider-image_{$language.id_lang|intval}" type="hidden" name="image_{$language.id_lang|intval}" class="hide bg-img" value="{$fields_value["image"][$language.id_lang]|escape:'html':'UTF-8'}" />
{/foreach}
</div>
</div>
{/if}
{if $input.type == 'group_background'}
<div class="col-lg-9">
<div class="upload-img-form">
<img id="img_{$input.id|intval}" width="50" class="{if !{$fields_value[$input.name]|escape:'html':'UTF-8'}}nullimg{/if}" alt="{l s='Group Back-ground' mod='leoslideshow'}" src="{if $fields_value[$input.name]}{$psBaseModuleUri|escape:'html':'UTF-8'}{$fields_value[$input.name]|escape:'html':'UTF-8'}{/if}"/>
<input id="{$input.id|intval}" type="hidden" name="group[background_url]" class="hide" value="{$fields_value[$input.name]|escape:'html':'UTF-8'}" />
<br>
<a onclick="background_upload('{$input.id|intval}', 'img_{$input.id|intval}','{$ajaxfilelink}'{* HTML form , no escape necessary *}, '{$psBaseModuleUri|escape:'html':'UTF-8'}');" href="javascript:void(0);">{l s='Browse' mod='leoslideshow'}</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a onclick="$('#img_{$input.id|intval}').attr('src', '');$('#img_{$input.id|intval}').addClass('nullimg'); $('#{$input.id|intval}').attr('value', '');" href="javascript:void(0);">{l s='Clear' mod='leoslideshow'}</a>
</div>
<p>{l s='Click to upload or select a back-ground' mod='leoslideshow'}</p>
</div>
{/if}
{if $input.type == 'group_button' && $input.id_group}
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<div class="btn-group pull-right">
<a class="btn btn-default {if $languages|count > 1}dropdown-toggle {else}group-preview {/if}color_danger" href="{$previewLink|escape:'html':'UTF-8'}&id_group={$input.id_group|intval}"><i class="icon-eye-open"></i> {l s='Preview Group' mod='leoslideshow'}</a>
{if $languages|count > 1}
<span data-toggle="dropdown" class="btn btn-default dropdown-toggle">
<span class="caret"></span>&nbsp;
</span>
<ul class="dropdown-menu">
{foreach from=$languages item=language}
<li>
{$arrayParam = ['secure_key' => $msecure_key, 'id_group' => $input.id_group|intval]}
<a href="{$link->getModuleLink('leoslideshow','preview', $arrayParam, null, $language.id_lang|intval)}" class="group-preview">
<i class="icon-eye-open"></i> {l s='Preview For' mod='leoslideshow'} {$language.name|escape:'html':'UTF-8'}
</a>
</li>
{/foreach}
</ul>
{/if}
</div>
<button class="btn btn-default dash_trend_right" name="submitGroup" id="module_form_submit_btn" type="submit">
<i class="icon-save"></i> {l s='Save' mod='leoslideshow'}
</button>
<a class="btn btn-default color_success" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&showsliders=1&id_group={$input.id_group|intval}"><i class="icon-film"></i> {l s='Manages Sliders' mod='leoslideshow'}</a>
<a class="btn btn-default" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&&exportGroup=1&id_group={$input.id_group|intval}"><i class="icon-eye-open"></i> {l s='Export Group and sliders' mod='leoslideshow'}</a>
<a class="btn btn-default" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&deletegroup=1&id_group={$input.id_group|intval}" onclick="if (confirm('{l s='Delete Selected Group?' mod='leoslideshow'}')) {
return true;
} else {
event.stopPropagation();
event.preventDefault();
}
;" title="{l s='Delete' mod='leoslideshow'}" class="delete">
<i class="icon-trash"></i> {l s='Delete' mod='leoslideshow'}
</a>
</div>
</div>
{/if}
{if $input.type == 'slider_button'}
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<a class="btn btn-default dash_trend_right" href="javascript:void(0)" onclick="return $('#module_form').submit();"><i class="icon-save"></i> {l s='Save Slider' mod='leoslideshow'}</a>
</div>
</div>
{/if}
{if $input.type == 'sperator_form'}
<div class="{if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{else}alert alert-info{/if}"
{if isset($input.name)}name="{$input.name|escape:'html':'UTF-8'}"{/if}
nextClick="false">{$input.text}{* HTML form , no escape necessary *}
</div>
{/if}
{if $input.type == 'video_config'}
<div class="col-lg-9">
<div class="row">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-9">
<div class="radiolabel">
<lable>{l s='Video Type' mod='leoslideshow'}</lable>
<select name="usevideo_{$language.id_lang|intval}" class="">
<option {if isset($fields_value["usevideo"][$language.id_lang]) && $fields_value["usevideo"][$language.id_lang] && $fields_value["usevideo"][$language.id_lang] eq "0"}selected="selected"{/if} value="0">{l s='No' mod='leoslideshow'}</option>
<option {if isset($fields_value["usevideo"][$language.id_lang]) && $fields_value["usevideo"][$language.id_lang] && $fields_value["usevideo"][$language.id_lang] eq "youtube"}selected="selected"{/if} value="youtube">{l s='Youtube' mod='leoslideshow'}</option>
<option {if isset($fields_value["usevideo"][$language.id_lang]) && $fields_value["usevideo"][$language.id_lang] && $fields_value["usevideo"][$language.id_lang] eq "vimeo"}selected="selected"{/if} value="vimeo">{l s='Vimeo' mod='leoslideshow'}</option>
</select>
</div>
<div class="radiolabel">
<lable>{l s='Video ID' mod='leoslideshow'}</lable>
<input id="videoid_{$language.id_lang|intval}" name="videoid_{$language.id_lang|intval}" type="text" {if isset($fields_value["videoid"][$language.id_lang]) && $fields_value["videoid"][$language.id_lang]} value="{$fields_value["videoid"][$language.id_lang]}"{* HTML form , no escape necessary *}{/if}/>
<div class="input-group col-lg-2">
</div>
<div class="input-group col-lg-2">
<lable>{l s='Auto Play' mod='leoslideshow'}</lable>
<select name="videoauto_{$language.id_lang|intval}">
<option value="1" {if isset($fields_value["videoauto"][$language.id_lang]) && $fields_value["videoauto"][$language.id_lang] == 1}selected="selected"{/if}>{l s='Yes' mod='leoslideshow'}</option>
<option value="0" {if isset($fields_value["videoauto"][$language.id_lang]) && $fields_value["videoauto"][$language.id_lang] == 0}selected="selected"{/if}>{l s='No' mod='leoslideshow'}</option>
</select>
</div>
</div>
</div>
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $languages|count > 1}
</div>
{/if}
{/foreach}
</div>
</div>
<input type="hidden" id="current_language" name="current_language" value="{$id_language|escape:'html':'UTF-8'}"/>
{/if}
{if $input.type == 'col_width'}
<div class="col-lg-9">
<input type='hidden' class="col-val {$input.class|escape:'html':'UTF-8'}" name='{$input.name|escape:'html':'UTF-8'}' value='{$fields_value[$input.name]|escape:'html':'UTF-8'}'/>
<button type="button" class="btn btn-default leobtn-width dropdown-toggle" tabindex="-1" data-toggle="dropdown">
<span class="leo-width-val">{$fields_value[$input.name]|replace:'-':'.'}/12</span><span class="leo-width leo-w-{$fields_value[$input.name]|escape:'html':'UTF-8'}"> </span><span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$leo_width item=itemWidth}
<li>
<a class="leo-w-option" data-width="{$itemWidth|intval}" href="javascript:void(0);" tabindex="-1">
<span class="leo-width-val">{$itemWidth|replace:'-':'.'}/12</span><span class="leo-width leo-w-{$itemWidth|intval}"> </span>
</a>
</li>
{/foreach}
</ul>
</div>
{/if}
{if $input.type == 'group_class'}
<div class="col-lg-9">
<div class="well">
<p>
<input type="text" class="group-class" value="{$fields_value[$input.name]|escape:'html':'UTF-8'}" name="{$input.name|escape:'html':'UTF-8'}"/><br />
{l s='insert new or select classes for toggling content across viewport breakpoints' mod='leoslideshow'}<br />
<ul class="leo-col-class">
{foreach from=$hidden_config key=keyHidden item=itemHidden}
<li>
{*
<input type="checkbox" name="col_{$keyHidden|escape:'html':'UTF-8'}" value="1">
*}
<input type="radio"{if strpos($fields_value[$input.name], $keyHidden) !== false} checked="checked"{/if} data-name="{$keyHidden|escape:'html':'UTF-8'}" name="col_class" value="1">
<label class="choise-class">{$itemHidden|escape:'html':'UTF-8'}</label>
</li>
{/foreach}
</ul>
</p>
</div>
</div>
{/if}
{if $input.type == 'color_lang'}
<div class="row">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-6">
<div class="col-md-4">
<a href="javascript:void(0)" class="btn btn-default btn-update-slider">
<i class="icon-upload"></i> {l s='Select slider background' mod='leoslideshow'}
</a>
</div>
<div class="col-md-4">
<div class="input-group">
<input type="color"
data-hex="true"
{if isset($input.class)}class="{$input.class|escape:'html':'UTF-8'}"
{else}class="color mColorPickerInput"{/if}
name="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}"
value="{$fields_value[$input.name]|escape:'html':'UTF-8'}" />
</div>
</div>
</div>
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $languages|count > 1}
</div>
{/if}
{/foreach}
</div>
{/if}
{if $input.type == 'leo_switch'}
<div class="col-lg-{if isset($input.col)}{$input.col|intval}{else}9{/if} {if !isset($input.label)}col-lg-offset-3{/if}">
<span class="switch prestashop-switch fixed-width-lg {if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{/if}">
{foreach $input.values as $value}
<input type="radio" name="{$input.name|escape:'html':'UTF-8'}"{if $value.value == 1} id="{$input.name|escape:'html':'UTF-8'}_on"{else} id="{$input.name|escape:'html':'UTF-8'}_off"{/if} value="{$value.value}"{if $fields_value[$input.name] == $value.value} checked="checked"{/if}{if isset($input.disabled) && $input.disabled} disabled="disabled"{/if}/>
{strip}
<label {if $value.value == 1} for="{$input.name|escape:'html':'UTF-8'}_on"{else} for="{$input.name|escape:'html':'UTF-8'}_off"{/if}>
{if $value.value == 1}
{l s='Yes' mod='leoslideshow'}
{else}
{l s='No' mod='leoslideshow'}
{/if}
</label>
{/strip}
{/foreach}
<a class="slide-button btn"></a>
</span>
{if isset($input.leo_desc) && !empty($input.leo_desc)}
<p class="help-block">
{if is_array($input.leo_desc)}
{foreach $input.leo_desc as $p}
{if is_array($p)}
<span id="{$p.id|intval}">{$p.text}{* HTML form , no escape necessary *}</span><br />
{else}
{$p}{* HTML form , no escape necessary *}<br />
{/if}
{/foreach}
{else}
{$input.leo_desc}{* HTML form , no escape necessary *}
{/if}
</p>
{/if}
</div>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,216 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="form-group" style="display: none;">
<div class="col-lg-12" id="{$id|escape:'html':'UTF-8'}-images-thumbnails">
{if isset($files) && $files|count > 0}
{foreach $files as $file}
{if isset($file.image) && $file.type == 'image'}
<div class="img-thumbnail text-center">
<p>{$file.image|escape:'html':'UTF-8'}</p>
{if isset($file.size)}<p>{l s='File size' mod='leoslideshow'} {$file.size|escape:'html':'UTF-8'}kb</p>{/if}
{if isset($file.delete_url)}
<p>
<a class="btn btn-default" href="{$file.delete_url|escape:'html':'UTF-8'}">
<i class="icon-trash"></i> {l s='Delete' mod='leoslideshow'}
</a>
</p>
{/if}
</div>
{/if}
{/foreach}
{/if}
</div>
</div>
{if isset($max_files) && $files|count >= $max_files}
<div class="row">
<div class="alert alert-warning">{l s='You have reached the limit (%s) of files to upload, please remove files to continue uploading' mod='leoslideshow' sprintf=$max_files}</div>
</div>
<script type="text/javascript">
$( document ).ready(function() {
{if isset($files) && $files}
$('#{$id|escape:'html':'UTF-8'}-images-thumbnails').parent().show();
{/if}
});
</script>
{else}
<div class="form-group">
<div class="col-lg-12">
<input id="{$id|escape:'html':'UTF-8'}" type="file" name="{$name|escape:'html':'UTF-8'}[]"{if isset($url)} data-url="{$url|escape:'html':'UTF-8'}"{* HTML form , no escape necessary *}{/if}{if isset($multiple) && $multiple} multiple="multiple"{/if} class="hide" />
<button class="btn btn-default" data-style="expand-right" data-size="s" type="button" id="{$id|escape:'html':'UTF-8'}-add-button">
<i class="icon-plus-sign"></i> {if isset($multiple) && $multiple}{l s='Add files' mod='leoslideshow'}{else}{l s='Add file' mod='leoslideshow'}{/if}
</button>
<button class="ladda-button btn btn-default" data-style="expand-right" type="button" id="{$id|escape:'html':'UTF-8'}-upload-button" style="display:none;">
<i class="icon-cloud-upload text-success"></i> <span class="ladda-label text-success">{if isset($multiple) && $multiple}{l s='Upload files' mod='leoslideshow'}{else}{l s='Upload file' mod='leoslideshow'}{/if}</span>
</button>
<!-- Split button -->
<div class="btn-group">
<button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown">
{l s='Order Image By' mod='leoslideshow'} <span class="caret"></span>
</button>
<ul id="img_order" class="dropdown-menu">
<li><a href="javascript:void(0);" data-type="name"><span class="text-danger">{l s='Name' mod='leoslideshow'} <i class="icon-sort-by-alphabet"></i></span></a></li>
<li><a href="javascript:void(0);" data-type="name_desc"><span>{l s='Name DESC' mod='leoslideshow'} <i class="icon-sort-by-alphabet-alt"></i></span></a></li>
<li class="divider"></li>
<li><a href="javascript:void(0);" data-type="date"><span>{l s='Date Modified' mod='leoslideshow'} <i class="icon-sort-by-attributes"></i></span></a></li>
<li><a href="javascript:void(0);" data-type="date_desc"><span>{l s='Date Modified DESC' mod='leoslideshow'} <i class="icon-sort-by-attributes-alt"></i></span></a></li>
</ul>
</div>
</div>
</div>
<div class="row" style="display:none">
<div class="alert alert-info" id="{$id|escape:'html':'UTF-8'}-files-list"></div>
</div>
<div class="row" style="display:none">
<div class="alert alert-success" id="{$id|escape:'html':'UTF-8'}-success"></div>
</div>
<div class="row" style="display:none">
<div class="alert alert-danger" id="{$id|escape:'html':'UTF-8'}-errors"></div>
</div>
<script type="text/javascript">
function humanizeSize(bytes)
{
if (typeof bytes !== 'number') {
return '';
}
if (bytes >= 1000000000) {
return (bytes / 1000000000).toFixed(2) + ' GB';
}
if (bytes >= 1000000) {
return (bytes / 1000000).toFixed(2) + ' MB';
}
return (bytes / 1000).toFixed(2) + ' KB';
}
function reloadImageList(sortBy){
if(!sortBy) sortBy = "date_add";
$.ajax({
type: 'GET',
url: imgManUrl + '&reloadSliderImage=1&sortBy='+sortBy,
data: '',
dataType: 'json',
cache: false, // @todo see a way to use cache and to add a timestamps parameter to refresh cache each 10 minutes for example
success: function(json)
{
if (json && json.hasError == true){
alert(json.errors);
}else{
$("#list-imgs").html(json);
$('.label-tooltip').tooltip();
$('.fancybox').fancybox();
}
}
});
}
$( document ).ready(function() {
$("#img_order a").click(function(){
reloadImageList($(this).attr("data-type"));
$("#img_order a span").removeClass("text-danger");
$(this).find("span").addClass("text-danger");
});
{if isset($multiple) && isset($max_files)}
var {$id|escape:'html':'UTF-8'}_max_files = {$max_files - $files|count};
{/if}
{if isset($files) && $files}
$('#{$id|escape:'html':'UTF-8'}-images-thumbnails').parent().show();
{/if}
var {$id|escape:'html':'UTF-8'}_upload_button = Ladda.create( document.querySelector('#{$id|escape:'html':'UTF-8'}-upload-button' ));
var {$id|escape:'html':'UTF-8'}_total_files = 0;
$('#{$id|escape:'html':'UTF-8'}').fileupload({
dataType: 'json',
autoUpload: false,
singleFileUploads: true,
{if isset($post_max_size)}maxFileSize: {$post_max_size|escape:'html':'UTF-8'},{/if}
{if isset($drop_zone)}dropZone: {$drop_zone},{/if}{* HTML form , no escape necessary *}
start: function (e) {
{$id|escape:'html':'UTF-8'}_upload_button.start();
$('#{$id|escape:'html':'UTF-8'}-upload-button').unbind('click'); //Important as we bind it for every elements in add function
},
fail: function (e, data) {
$('#{$id|escape:'html':'UTF-8'}-errors').html(data.errorThrown.message).parent().show();
},
done: function (e, json) {
if (json.result && json.result.hasError == true){
alert(json.result.errors);
}else if (json.result) {
$("#list-imgs").html(json.result);
$('.label-tooltip').tooltip();
$('.fancybox').fancybox();
$("#file").val("");
$("#file-files-list").html("");
$("#file-upload-button").hide();
$(json.context).find('button').remove();
}
},
}).on('fileuploadalways', function (e, data) {
{$id|escape:'html':'UTF-8'}_total_files--;
if ({$id|escape:'html':'UTF-8'}_total_files == 0)
{
{$id|escape:'html':'UTF-8'}_upload_button.stop();
$('#{$id|escape:'html':'UTF-8'}-upload-button').unbind('click');
$('#{$id|escape:'html':'UTF-8'}-files-list').parent().hide();
}
}).on('fileuploadadd', function(e, data) {
if (typeof {$id|escape:'html':'UTF-8'}_max_files !== 'undefined') {
if ({$id|escape:'html':'UTF-8'}_total_files >= {$id|escape:'html':'UTF-8'}_max_files) {
e.preventDefault();
alert('{l s='You can upload a maximum of %s files'|sprintf:$max_files mod='leoslideshow'}');
return;
}
}
data.context = $('<div/>').addClass('row').appendTo($('#{$id|escape:'html':'UTF-8'}-files-list'));
var file_name = $('<span/>').append('<strong>'+data.files[0].name+'</strong> ('+humanizeSize(data.files[0].size)+')').appendTo(data.context);
var button = $('<button/>').addClass('btn btn-default pull-right').prop('type', 'button').html('<i class="icon-trash"></i> {l s='Remove file' mod='leoslideshow'}').appendTo(data.context).on('click', function() {
{$id|escape:'html':'UTF-8'}_total_files--;
data.files = null;
var total_elements = $(this).parent().siblings('div.row').length;
$(this).parent().remove();
if (total_elements == 0) {
$('#{$id|escape:'html':'UTF-8'}-files-list').html('').parent().hide();
}
});
$('#{$id|escape:'html':'UTF-8'}-files-list').parent().show();
$('#{$id|escape:'html':'UTF-8'}-upload-button').show().bind('click', function () {
if (data.files != null)
data.submit();
});
{$id|escape:'html':'UTF-8'}_total_files++;
}).on('fileuploadprocessalways', function (e, data) {
var index = data.index, file = data.files[index];
if (file.error) {
$('#{$id|escape:'html':'UTF-8'}-errors').append('<div class="row"><strong>'+file.name+'</strong> ('+humanizeSize(file.size)+') : '+file.error+'</div>').parent().show();
$(data.context).find('button').trigger('click');
}
});
$('#{$id|escape:'html':'UTF-8'}-add-button').on('click', function() {
$('#{$id|escape:'html':'UTF-8'}-success').html('').parent().hide();
$('#{$id|escape:'html':'UTF-8'}-errors').html('').parent().hide();
$('#{$id|escape:'html':'UTF-8'}-files-list').parent().hide();
{$id|escape:'html':'UTF-8'}_total_files = 0;
$('#{$id|escape:'html':'UTF-8'}').trigger('click');
});
});
</script>
{/if}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,153 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{if !(isset($reloadSliderImage) && $reloadSliderImage==1)}
<div class="panel product-tab">
<h3 class="tab" >
{l s='Images Manager' mod='leoslideshow'}
<span class="badge" id="countImage">{$countImages|escape:'html':'UTF-8'}</span>
<label class="control-label col-lg-3 file_upload_label">
{l s='Format:' mod='leoslideshow'} JPG, GIF, PNG. {l s='Filesize:' mod='leoslideshow'} {$max_image_size|string_format:"%.2f"|escape:'html':'UTF-8'} {l s='MB max.' mod='leoslideshow'}
</label>
</h3>
<div class="row">
<div class="form-group">
<div class="col-lg-12">
{$image_uploader}{* HTML form , no escape necessary *}
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label>Type extenal image here</label>
<input type="text" name="extend_image" value="">
<input type="button" name="choose_extend_image" value="Chose image">
<ul id="list-imgs">
{/if}
{foreach from=$images item=image name=myLoop}
<li><div class="row img-row">
<a class="label-tooltip img-link" onclick="selectImage('{$image.name|escape:'html':'UTF-8'}')" data-toggle="tooltip" href="{$image.link|escape:'html':'UTF-8'}" title="{$image.name|escape:'html':'UTF-8'}" style="height:70px;overflow: hidden">
<img class="select-img" data-name="{$image.name|escape:'html':'UTF-8'}" title="" width="70" alt="" src="{$image.link|escape:'html':'UTF-8'}"/>
</a>
</div>
<div class="row">
<a class="fancybox" data-toggle="tooltip" href="{$image.link|escape:'html':'UTF-8'}" title="{l s='Click to view' mod='leoslideshow'}">
<i class="icon-eye-open"></i>
{l s='View' mod='leoslideshow'}
</a>
<a href="{$link->getAdminLink('AdminLeoSlideshow')}&imgName={$image.name|escape:'html':'UTF-8'}" class="text-danger delete-image" title="{l s='Delete Selected Image?' mod='leoslideshow'}" onclick="if (confirm('{l s='Delete Selected Image?' mod='leoslideshow'}')) {
return deleteImage($(this));
} else {
return false;
}
;">
<i class="icon-remove"></i>
{l s='Delete' mod='leoslideshow'}
</a>
</div></li>
{/foreach}
{if !(isset($reloadSliderImage) && $reloadSliderImage==1)}
</ul>
</div>
<div class="alert alert-info">{l s='If you can not update Image. Please set permission 755 for folder' mod='leoslideshow'} {$imgUploadDir}{* HTML form , no escape necessary *}</div>
</div>
<script type="text/javascript">
var upbutton = "{l s='Upload an image' mod='leoslideshow'}";
var imgManUrl = "{$imgManUrl}"; // escape_html : wrong url to order image
{literal}
$(document).ready(function(){
$('.fancybox').fancybox();
});
$(".img-link").click(function(){
return false;
});
function selectImage(url){
if(url != ''){
urlTarget = getUrlVars();
if(urlTarget["field"]){
element = decodeURI(urlTarget["field"].replace(/&/g, "\",\"").replace(/=/g,"\":\""));
parent.$("#"+element, window.parent.document).val(url);
}else{
parent.$("#slider-image_"+urlTarget["lang_id"], window.parent.document).val(url);
}
parent.$("#dialog", window.parent.document).dialog('close');
}
return false;
}
function deleteImage(element){
$.ajax({
type: 'GET',
url: element.attr("href") + '&reloadSliderImage=1&sortBy=name',
data: '',
dataType: 'json',
cache: false, // @todo see a way to use cache and to add a timestamps parameter to refresh cache each 10 minutes for example
success: function(json)
{
if (json && json.hasError == true){
alert(json.errors);
}else{
$("#list-imgs").html(json);
$('.label-tooltip').tooltip();
$('.fancybox').fancybox();
}
}
});
return false;
}
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
$(document).ready(function(){
$('input[type="button"][name="choose_extend_image"]').on('click', function(){
var extend_image = $('input[type="text"][name="extend_image"]').val();
if( extend_image != ''){
var urlTarget = getUrlVars();
// https://i.ytimg.com/vi/ZIszesDaK9U/maxresdefault.jpg
if(urlTarget["field"]){
element = decodeURI(urlTarget["field"].replace(/&/g, "\",\"").replace(/=/g,"\":\""));
parent.$("#"+element, window.parent.document).val(extend_image);
if (typeof(parent.dialog_param) != undefined){
parent.dialog_param.image_src = extend_image;
}
}else{
parent.$("#slider-image_"+urlTarget["lang_id"], window.parent.document).val(extend_image);
if (typeof(parent.dialog_param) != undefined){
parent.dialog_param.image_src = extend_image;
}
}
parent.$("#dialog", window.parent.document).dialog('close');
}
});
});
{/literal}
</script>
{/if}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="typos bannercontainer">
<div class="note">
{l s='NOTE' mod='leoslideshow'}: <p>{l s='These Below Typos are getting in the file' mod='leoslideshow'}:<a href="{$typoDir|escape:'html':'UTF-8'}" target="_blank">{$typoDir|escape:'html':'UTF-8'}</a>
<br>{l s='you can open this file and add yours css style and it will be listed in here!!!' mod='leoslideshow'}</p>
<p>{l s='To Select One, You Click The Text Of Each Typo' mod='leoslideshow'}</p>
</div>
<div class="typos-wrap">
{foreach $captions as $caption}
<div class="typo {if $caption=='cus_color'}typo-big{/if}"><div class="tp-caption {$caption|escape:'html':'UTF-8'}" data-class="{$caption|escape:'html':'UTF-8'}">{l s='Use This Caption Typo' mod='leoslideshow'}</div></div>
{/foreach}
</div>
</div>
<script type="text/javascript">
$('div.typo').live('click', function() {
if(parent.$('#{$field|escape:'html':'UTF-8'}').val())
parent.$('#{$field|escape:'html':'UTF-8'}').val(parent.$('#{$field|escape:'html':'UTF-8'}').val()+" "+$("div", this).attr("data-class") );
else
parent.$('#{$field|escape:'html':'UTF-8'}').val($("div", this).attr("data-class") );
parent.$('#dialog').dialog('close');
parent.$('#dialog').remove();
});
</script>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,236 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{assign var="class_group" value="iview-group-`$rand_num`-`$sliderParams.id_leoslideshow_groups`"}
{if $sliderParams.slider_class == "boxed"}
<div
class="layerslider-wrapper{if $sliderParams.group_class} {$sliderParams.group_class|escape:'html':'UTF-8'}{/if}{if $sliderParams.md_width|intval} col-md-{$sliderParams.md_width|intval}{/if}{if $sliderParams.sm_width} col-sm-{$sliderParams.sm_width|intval}{/if}{if $sliderParams.sm_width} col-xs-{$sliderParams.xs_width|intval}{/if}">
{/if}
<div
class="bannercontainer banner-{$sliderParams.slider_class}{if $sliderParams.group_class} {$sliderParams.group_class|escape:'html':'UTF-8'}{/if}"
style="padding: {$sliderParams.padding|escape:'html':'UTF-8'};margin: {$sliderParams.margin|escape:'html':'UTF-8'};">
<div class="iview {$class_group}">
{if $sliders}
{foreach from=$sliders item=slider}
{if $slider.video.active}
<!-- SLIDE VIDEO BEGIN -->
<div data-leo_image="{$slider.thumbnail|escape:'html':'UTF-8'}" data-leo_type="video"
data-leo_transition="strip-right-fade,strip-left-fade"
data-leo_background="{$slider.background_type|escape:'html':'UTF-8'}" data-autoplay="{$slider.video.videoauto}"
data-videoid="{$slider.video.videoid|escape:'html':'UTF-8'}">
{if $slider.title == 'SliderVideo'}
<video autoplay muted loop id="heroMyVideo">
<source src="/videos/Kalsport_Video_home_UPDATE.mp4" type="video/mp4">
</video>
{else}
<iframe src="{$slider.video.videoURL|escape:'html':'UTF-8'}?title=0&amp;byline=0&amp;portrait=0;api=1"
width="100%" height="100%" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
{/if}
</div>
<!-- SLIDE VIDEO END -->
{else}
<!-- SLIDE IMAGE BEGIN -->
<div id="slide{$slider.id_slide}"
class="slide_config {if isset($slider.data_link)&& $slider.data_link}data-link{/if}"
{if $slider.main_image != ''} data-leo_image="{$slider.main_image|escape:'html':'UTF-8'}" {/if}
{if $slider.background_color != ''} data-leo_background_color="{$slider.background_color|escape:'html':'UTF-8'}"
{/if} {if $slider.data_link != ''} data-link="{$slider.data_link|escape:'html':'UTF-8'}" {/if}
{if $slider.data_target != ''} data-target="{$slider.data_target|escape:'html':'UTF-8'}" {/if}
data-leo_pausetime="{$slider.data_delay|escape:'html':'UTF-8'}"
data-leo_thumbnail="{$slider.thumbnail|escape:'html':'UTF-8'}"
data-leo_background="{$slider.background_type|escape:'html':'UTF-8'}" {if $slider.enable_custom_html_bullet}
data-leo_bullet_description="{$slider.bullet_description}" {* HTML form , no escape necessary *}
data-leo_bullet_class="{$slider.bullet_class|escape:'html':'UTF-8'}" {/if}>
{if isset($slider.layersparams)}
{foreach from=$slider.layersparams item=layer}
<div
class="tp-caption {if $layer.layer_link}data-link{/if}{if $layer.layer_class} {$layer.layer_class|escape:'html':'UTF-8'}{/if}"
data-x="{$layer.layer_left|escape:'html':'UTF-8'}" data-y="{$layer.layer_top|escape:'html':'UTF-8'}"
data-transition="{$layer.layer_transition|escape:'html':'UTF-8'}"
{if $layer.layer_link}onclick="event.stopPropagation();window.open('{$layer.layer_link|escape:'html':'UTF-8'}','{$layer.layer_target|escape:'html':'UTF-8'}');"
{/if} {if $layer.css}style="{$layer.css|escape:'html':'UTF-8'};" {/if}>
{if $layer.layer_type == "text"}
<!-- LAYER TEXT BEGIN -->
{$layer.layer_caption|replace:"_ASM_":"&"|replace:"_LEO_BACKSLASH_":"\\"|replace:"_LEO_DOUBLE_QUOTE_":"&quot;" nofilter}
{/if}
<!-- LAYER TEXT END -->
{if $layer.layer_type == "image"}
<!-- LAYER IMAGE BEGIN -->
<img src="{$layer.layer_content|escape:'html':'UTF-8'}" alt="" class="img_disable_drag" />
{/if}
<!-- LAYER IMAGE END -->
{if $layer.layer_type == "video"}
<!-- LAYER VIDEO BEGIN -->
{if $layer.layer_video_type == "vimeo"}
<iframe
src="http://player.vimeo.com/video/{$layer.layer_video_id|escape:'html':'UTF-8'}?wmode=transparent&amp;title=0&amp;byline=0&amp;portrait=0;api=1"
width="{$layer.layer_video_width|escape:'html':'UTF-8'}"
height="{$layer.layer_video_height|escape:'html':'UTF-8'}"></iframe>
{else}
<iframe src="http://www.youtube.com/embed/{$layer.layer_video_id|escape:'html':'UTF-8'}?wmode=transparent"
width="{$layer.layer_video_width|escape:'html':'UTF-8'}"
height="{$layer.layer_video_height|escape:'html':'UTF-8'}"></iframe>
{/if}
{/if}
<!-- LAYER VIDEO END -->
</div>
{/foreach}
{/if}
</div><!-- SLIDE IMAGE END -->
{/if}
{/foreach}
{/if}
</div>
</div>
{if $sliderParams.slider_class == "boxed"}
</div>
{/if}
<script type="text/javascript">
{if isset($load_from_appagebuilder) AND $load_from_appagebuilder == 1}
{* Appagebuilder load widget *}
ap_list_functions.push(function() {
{else}
var leoslideshow_list_functions = [];
leoslideshow_list_functions.push(function() {
{/if}
jQuery(".{$class_group}").iView({
// COMMON
pauseTime:{$sliderParams.delay|default:'5000'|intval}, // delay
startSlide:{$sliderParams.start_with_slide|default:'0'|intval},
autoAdvance: {$sliderParams.autoAdvance|default:'true'|escape:'html':'UTF-8'}, // enable timer thá»<EFBFBD>i gian auto next slide
pauseOnHover: {$sliderParams.stop_on_hover|default:'false'|escape:'html':'UTF-8'},
randomStart: {$sliderParams.shuffle_mode|default:'false'|escape:'html':'UTF-8'}, // Ramdom slide when start
// TIMER
timer: "{$sliderParams.timer|default:'Pie'|escape:'html':'UTF-8'}",
timerPosition: "{$sliderParams.timerPosition|default:'top-right'|escape:'html':'UTF-8'}", // Top-right, top left ....
timerX: {$sliderParams.timerX|default:'10'|intval},
timerY: {$sliderParams.timerY|default:'10'|intval},
timerOpacity: {$sliderParams.timerOpacity|default:'0.5'|escape:'html':'UTF-8'},
timerBg: "{$sliderParams.timerBg|default:'#000'|escape:'html':'UTF-8'}",
timerColor: "{$sliderParams.timerColor|default:'#EEE'|escape:'html':'UTF-8'}",
timerDiameter: {$sliderParams.timerDiameter|default:'30'|intval},
timerPadding: {$sliderParams.timerPadding|default:'4'|intval},
timerStroke: {$sliderParams.timerStroke|default:'3'|intval},
timerBarStroke: {$sliderParams.timerBarStroke|default:'1'|intval},
timerBarStrokeColor: "{$sliderParams.timerBarStrokeColor|default:'#EEE'|escape:'html':'UTF-8'}",
timerBarStrokeStyle: "{$sliderParams.timerBarStrokeStyle|default:'solid'|escape:'html':'UTF-8'}",
playLabel: "{l s='Play' mod='leoslideshow'}",
pauseLabel: "{l s='Pause' mod='leoslideshow'}",
closeLabel: "{l s='Close' mod='leoslideshow'}", // Muli language
// NAVIGATOR controlNav
controlNav: {$sliderParams.controlNav|default:'false'|escape:'html':'UTF-8'}, // true : enable navigate - default:'false'
keyboardNav: {$sliderParams.keyboardNav|default:'true'|escape:'html':'UTF-8'}, // true : enable keybroad
controlNavThumbs: {$sliderParams.controlNavThumbs|default:'false'|escape:'html':'UTF-8'}, // true show thumbnail, false show number ( bullet )
controlNavTooltip: {$sliderParams.controlNavTooltip|default:'true'|escape:'html':'UTF-8'}, // true : hover to bullet show thumnail
tooltipX: {$sliderParams.tooltipX|default:'5'|escape:'html':'UTF-8'},
tooltipY: {$sliderParams.tooltipY|default:'-5'|escape:'html':'UTF-8'},
controlNavHoverOpacity: {$sliderParams.controlNavHoverOpacity|default:'0.6'|escape:'html':'UTF-8'}, // opacity navigator
// DIRECTION
controlNavNextPrev: false, // false dont show direction at navigator
directionNav: {$sliderParams.directionNav|default:'true'|escape:'html':'UTF-8'}, // true show direction at image ( in this case : enable direction )
directionNavHoverOpacity: {$sliderParams.directionNavHoverOpacity|default:'0.6'|escape:'html':'UTF-8'}, // direction opacity at image
nextLabel: "{l s='Next' mod='leoslideshow'}", // Muli language
previousLabel: "{l s='Previous' mod='leoslideshow'}", // Muli language
// ANIMATION
fx: '{$sliderParams.fx|default:'random'|escape:'html':'UTF-8'}', // Animation
animationSpeed: {$sliderParams.animationSpeed|default:'500'|escape:'html':'UTF-8'}, // time to change slide
// strips: {$sliderParams.strips|default:'20'|intval},
strips: 1, // set value is 1 -> fix animation full background
blockCols: {$sliderParams.blockCols|default:'10'|intval}, // number of columns
blockRows: {$sliderParams.blockRows|default:'5'|intval}, // number of rows
captionSpeed: {$sliderParams.captionSpeed|default:'500'|intval}, // speed to show caption
captionOpacity: {$sliderParams.captionOpacity|default:'1'|intval}, // caption opacity
captionEasing: 'easeInOutSine', // caption transition easing effect, use JQuery Easings effect
customWidth: {$sliderParams.width|intval},
customHtmlBullet: {if $slider.enable_custom_html_bullet}true{else}false{/if},
rtl: {if $sliderParams.rtl}true{else}false{/if},
height:{if $sliderParams.height}{$sliderParams.height|intval}{else}780{/if},
timer_show : {$sliderParams.timer_show|intval},
//onBeforeChange: function(){}, // Triggers before a slide transition
// onAfterChange: function(){}, // Triggers after a slide transition
//onSlideshowEnd: function(){}, // Triggers after all slides have been shown
//onLastSlide: function(){}, // Triggers when last slide is shown
//onPause: function(){}, // Triggers when slider has paused
//onPlay: function(){} // Triggers when slider has played
onAfterLoad: function() {
// THUMBNAIL
{if $sliderParams.nav_thumbnail_height}
$('.{$class_group} .iview-controlNav a img').height({$sliderParams.nav_thumbnail_height|intval});
//$('.{$class_group} .iview-tooltip').height({$sliderParams.nav_thumbnail_height|intval});
{/if}
{if $sliderParams.nav_thumbnail_width}
$('.{$class_group} .iview-controlNav a img').width({$sliderParams.nav_thumbnail_width|intval});
//$('.{$class_group} .iview-tooltip').width({$sliderParams.nav_thumbnail_width|intval});
{/if}
// BULLET
{if $sliderParams.nav_thumbnail_height}
$('.{$class_group} .iview-tooltip div.holder div.container div img').width({$sliderParams.nav_thumbnail_width|intval});
{/if}
{if $sliderParams.nav_thumbnail_width}
$('.{$class_group} .iview-tooltip div.holder div.container div img').height({$sliderParams.nav_thumbnail_height|intval});
{/if}
// Display timer
{if $sliderParams.timer_show eq 1 or $sliderParams.timer_show eq 2}
$('.{$class_group} .iview-timer').hide();
{/if}
},
});
$(".img_disable_drag").bind('dragstart', function() {
return false;
});
// Fix : Slide link, image cant swipe
// step 1
var link_event = 'click';
// step 3
$(".{$class_group} .slide_config").on("click",function(){
if (link_event !== 'click') {
link_event = 'click';
return;
}
if ($(this).data('link') != undefined && $(this).data('link') != '') {
window.open($(this).data('link'), $(this).data('target'));
}
});
// step 2
$(".{$class_group} .slide_config").on('swipe',function(){
link_event = 'swiped'; // do not click event
});
});
</script>

View File

@@ -0,0 +1,28 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{extends file=$layout}
{block name='header_banner'}{/block}
{block name='header_nav'}{/block}
{block name='header_top'}{/block}
{block name='hook_footer_before'}{/block}
{block name='hook_footer'}{/block}
{block name='hook_footer_after'}{/block}
{block name='hook_before_body_closing_tag'}{/block}
{block name='content'}
{if $leoslideshow_tpl == 1}
{include file='./leoslideshow.tpl'}
{else}
{include file='module:leoslideshow/views/templates/front/leoslideshow.tpl'}
{/if}
{/block}

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="alert alert-warning leo-lib-error">{l s='Can not show LeoSlideShow in CMS page. Please check that The Group of LeoSlideShow is exist.' mod='leoslideshow'}</div>

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<a href="http://apollotheme.com/products/ap-slideshow-prestashop-module/" target="_blank">{l s='Click here to buy Ap Slideshow Prestashop Module' mod='leoslideshow'}</a>

View File

@@ -0,0 +1,16 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="bootstrap" id="leo_error">
<div class="module_error alert alert-danger" >
<button type="button" class="close" data-dismiss="alert">&times;</button>
{l s='I am so sorry, you are using free version of Leo slideshow module, could you please update module to pro version to use this function' mod='leoslideshow'}
<br/>
<a href="http://apollotheme.com/products/ap-slideshow-prestashop-module/" target="_blank">{l s='Click here to buy Ap Slideshow Prestashop Module' mod='leoslideshow'}</a>
</div>
</div>

View File

@@ -0,0 +1,225 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<fieldset>
{*
<div class="panel">
<div class="panel-content">
<a class="btn btn-default btn-primary" onclick="javascript:return confirm('{l s='Do you want to copy CSS, JS folder to current theme folder?' mod='leoslideshow'}')" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&leo_copy_lib_to_theme=1">
<i class="icon-AdminParentPreferences"></i> {l s='Copy CSS, JS to theme' mod='leoslideshow'}</a>
</div>
</div>
*}
<div id="groupLayer" class="panel col-lg-12">
<h3>{l s='Group List' mod='leoslideshow'}</h3>
<div class="alert alert-info"><a href="http://www.leotheme.com/guides/prestashop16/leo-slider-layer/" target="_blank">{l s='Click to see configuration guide' mod='leoslideshow'}</a></div>
<div class="alert alert-info">
<p>{l s='This button will create Leoslideshow Tab in back-office menu. When create it, you can set perrsion for profile of employer can upload image' mod='appagebuilder'}</p>
<a class="btn btn-default" onclick="javascript:return confirm('{l s='Are you sure you want to create this tab?' mod='appagebuilder'}')" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&submitUpdateModule=1">
<i class="icon-AdminParentPreferences"></i> {l s='Create tab LeoSlideshow Upload Image' mod='appagebuilder'}</a>
</div>
<div class="table-responsive clearfix">
<table class="table">
<thead>
<tr class="nodrag nodrop">
<th class="center fixed-width-xs"></th>
<th class="">
<span class="title_box ">
{l s='Group Name' mod='leoslideshow'}
</span>
</th>
<th class="center fixed-width-xs"> <span class="title_box ">{l s='Status' mod='leoslideshow'}</span></th>
<th colspan="2">
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&addNewGroup=1" class="btn btn-default">
<i class="icon-plus"></i> {l s='Add new Group' mod='leoslideshow'}
</a>
</th>
</tr>
</thead>
<tbody>
{foreach from=$groups item=group}
<tr class=" odd">
<td class="text-center"><strong>#{$group.id_leoslideshow_groups|intval}</strong></td>
<td {if $group.id_leoslideshow_groups != $curentGroup}onclick="document.location = '{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editgroup=1&id_group={$group.id_leoslideshow_groups|escape:'html':'UTF-8'}'"{/if} class="pointer">
{$group.title|escape:'html':'UTF-8'}
</td>
<td>
{$group.status}{* HTML form , no escape necessary *}&nbsp;&nbsp;&nbsp;
</td>
<td>
<div class="btn-group-action">
<div class="btn-group pull-right">
{if $group.id_leoslideshow_groups != $curentGroup}
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editgroup=1&id_group={$group.id_leoslideshow_groups|escape:'html':'UTF-8'}" title="{l s='Edit Group' mod='leoslideshow'}" class="edit btn btn-default">
<i class="icon-pencil"></i> {l s='Edit' mod='leoslideshow'}
</a>
{else}
<a href="#" title="{l s='Editting' mod='leoslideshow'}" class="btn " style="color:#BBBBBB">
{l s='Editting' mod='leoslideshow'}
</a>
{/if}
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>&nbsp;
</button>
<ul class="dropdown-menu">
<li>
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&deletegroup=1&id_group={$group.id_leoslideshow_groups|intval}" onclick="if (confirm('{l s='Delete Selected Group?' mod='leoslideshow'}')) {
return true;
} else {
event.stopPropagation();
event.preventDefault();
}
;" title="{l s='Delete' mod='leoslideshow'}" class="delete">
<i class="icon-trash"></i> {l s='Delete' mod='leoslideshow'}
</a>
{if $languages|count > 1}
{foreach from=$languages item=language}
{$arrayParam = ['secure_key' => $msecure_key, 'id_group' => $group.id_leoslideshow_groups]}
<a class="group-preview" target="_blank" href="{$link->getModuleLink('leoslideshow','preview', $arrayParam, null, $language.id_lang|intval)}">
<i class="icon-eye-open"></i> {l s='Preview For' mod='leoslideshow'} {$language.name|escape:'html':'UTF-8'}
</a>
{/foreach}
{else}
<a class="group-preview" target="_blank" href="{$previewLink|escape:'html':'UTF-8'}&id_group={$group.id_leoslideshow_groups|intval}">
<i class="icon-eye-open"></i> {l s='Preview Group' mod='leoslideshow'}
</a>
{/if}
<a class="" target="_blank" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&&exportGroup=1&id_group={$group.id_leoslideshow_groups|intval}">
<i class="icon-archive"></i> {l s='Export Group and sliders' mod='leoslideshow'}
</a>
{*<a class="" target="_blank" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editgroup=1&correctGroup=1&id_group={$group.id_leoslideshow_groups}">
<i class="icon-edit"></i> {l s='Correct Group Content' mod='leoslideshow'}
</a>*}
<a class="" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editgroup=1&copylang=1&id_group={$group.id_leoslideshow_groups|intval}">
<i class="icon-edit"></i> {l s='Copy default language to other' mod='leoslideshow'}
</a>
</li>
</ul>
</div>
</div>
</td>
<td>
<a class="btn btn-default color_success" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&showsliders=1&id_group={$group.id_leoslideshow_groups|intval}"><i class="icon-film"></i> {l s='Manages Sliders' mod='leoslideshow'}</a>
</td>
</tr>
{/foreach}
</table>
<table class="table">
<thead>
<tr class="nodrag nodrop">
<th class="center fixed-width-xs"></th>
<th class="">
<span class="title_box ">
{l s='Import Group' mod='leoslideshow'}
</span>
</th>
</tr>
</thead>
<tbody>
<tr class=" odd">
<td colspan="2" style="margin-top:10px;padding:10px">
<form method="post" enctype="multipart/form-data" action="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&importGroup=1">
<div class="row">
<div class="form-group">
<input type="file" class="hide" name="import_file" id="import_file">
<div class="dummyfile input-group">
<span class="input-group-addon"><i class="icon-file"></i></span>
<input type="text" readonly="" name="filename" class="disabled" id="import_file-name">
<span class="input-group-btn">
<button class="btn btn-default" name="submitAddAttachments" type="button" id="import_file-selectbutton">
<i class="icon-folder-open"></i> {l s='Choose a file' mod='leoslideshow'}
</button>
</span>
</div>
<p class="help-block color_danger">{l s='Please upload *.txt only' mod='leoslideshow'}</p>
</div>
<div class="form-group">
<label class="control-label col-lg-4" for="title_group">
{l s='Overide group or not:' mod='leoslideshow'}
</label>
<div class="input-group col-lg-3">
<span class="switch prestashop-switch">
<input type="radio" value="1" id="override_group_on" name="override_group">
<label for="override_group_on">
<i class="icon-check-sign color_success"></i> {l s='Yes' mod='leoslideshow'}
</label>
<input type="radio" checked="checked" value="0" id="override_group_off" name="override_group">
<label for="override_group_off">
<i class="icon-ban-circle color_danger"></i> {l s='No' mod='leoslideshow'}
</label>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-12">
<button class="btn btn-default dash_trend_right" name="importGroup" id="import_file_submit_btn" type="submit">
{l s='Import' mod='leoslideshow'}
</button>
</div>
</div>
</div>
</form>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</fieldset>
<script type="text/javascript">
$(document).ready(function() {
//import export fix
$('#import_file-selectbutton').click(function(e){
$('#import_file').trigger('click');
});
$('#import_file').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#import_file-name').val(file[file.length-1]);
});
$('#import_file_submit_btn').click(function(e){
if($("#import_file-name").val().indexOf(".txt") != -1){
if($("override_group_on").is(":checked")) return confirm("{l s='Are you sure to override group?' mod='leoslideshow'}");
return true;
}else{
alert("{l s='Please upload txt file' mod='leoslideshow'}");
$('#import_file').val("");
$('#import_file-name').val("");
return false;
}
});
$(".group-preview").click(function() {
eleDiv = $(this).parent().parent().parent();
if ($(eleDiv).hasClass("open"))
eleDiv.removeClass("open");
var url = $(this).attr("href") + "&content_only=1";
$('#dialog').remove();
$('#content').prepend('<div id="dialog" style="padding: 3px 0px 0px 0px;"><iframe name="iframename2" src="' + url + '" style="padding:0; margin: 0; display: block; width: 100%; height: 100%;" frameborder="no" scrolling="auto"></iframe></div>');
$('#dialog').dialog({
title: 'Preview Management',
close: function(event, ui) {
},
bgiframe: true,
width: 1024,
height: 780,
resizable: false,
draggable:false,
modal: true
});
return false;
});
});
</script>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,41 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div id="leoslideshow-group">
<div class="panel panel-default">
<div class="panel-heading"><i class="icon-cogs"></i> {$description}</div>
<div class="panel-content" id="slideshowgeneralsetting">
<ul class="nav nav-tabs leoslideshow-tablist" role="tablist">
<li class="nav-item{if $default_tab == '#fieldset_0'} active{/if}">
<a class="nav-link" href="#fieldset_0" role="tab" data-toggle="tab">{l s='General Setting' mod='leoslideshow'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_1_1'} active{/if}">
<a class="nav-link" href="#fieldset_1_1" role="tab" data-toggle="tab">{l s='Image Setting' mod='leoslideshow'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_2_2'} active{/if}">
<a class="nav-link" href="#fieldset_2_2" role="tab" data-toggle="tab">{l s='CSS Setting' mod='leoslideshow'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_3_3'} active{/if}">
<a class="nav-link" href="#fieldset_3_3" role="tab" data-toggle="tab">{l s='Navigator and Direction' mod='leoslideshow'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_4_4'} active{/if}">
<a class="nav-link" href="#fieldset_4_4" role="tab" data-toggle="tab">{l s='Timer Options' mod='leoslideshow'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_5_5'} active{/if}">
<a class="nav-link" href="#fieldset_5_5" role="tab" data-toggle="tab">{l s='Animation' mod='leoslideshow'}</a>
</li>
</ul>
<div class="tab-content">
{$globalform}{* HTML form , no escape necessary *}
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,85 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="alert alert-danger" id="slider-warning" style="display:none"></div>
<fieldset>
<div class="panel">
<div class="panel-heading">
<i class="icon-list-ul"></i> {l s='Slides list' mod='leoslideshow'}
<span class="panel-heading-action">
<a id="desc-product-new" class="list-toolbar-btn" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&addNewSlider=1&id_group={$id_group|intval}">
<label><span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="Add new" data-html="true"><i class="process-icon-new "></i></span></label>
</a>
</span>
</div>
<div class="alert alert-info"><a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editgroup=1&id_group={$id_group|intval}" alt={l s='Back to' mod='leoslideshow'} {$group_title|escape:'html':'UTF-8'}>{l s='Back to' mod='leoslideshow'} {$group_title|escape:'html':'UTF-8'}</a></div>
<div id="slidesContent" style="width: 500px; margin-top: 30px;">
<ul id="slides">
{foreach from=$slides item=slide}
<li id="slides_{$slide.id_slide|intval}">
<strong>#{$slide.id_slide|intval}</strong> {$slide.title|truncate:32:'...'|escape:'html':'UTF-8'}
<div style="float: right;margin-top: -5px;">
{$slide.status}{* HTML form , no escape necessary *}
<div class="btn-group">
<a class="btn btn-default dropdown-toggle" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editSlider=1&id_slide={$slide.id_slide|intval}&id_group={$id_group|intval}">
{if $slide.id_slide == $currentSliderID}
{l s='Editting' mod='leoslideshow'}
{else}
{l s='Action' mod='leoslideshow'}
{/if}
</a>
<button data-toggle="dropdown" class="btn btn-default dropdown-toggle">
<span class="caret"></span>&nbsp;
</button>
<ul class="dropdown-menu" style="border: none">
<li style="background-color:#fff;border: none">
<a class="" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&editSlider=1&id_slide={$slide.id_slide|intval}&id_group={$id_group|intval}">
<i class="icon-edit"></i> {l s='Click to Edit' mod='leoslideshow'}
</a>
</li>
<li style="background-color:#fff;border: none">
<a class="color_danger btn-actionslider delete-slide" data-confirm="{l s='Are you sure you want to delete this slider?' mod='leoslideshow'}" data-id-slide="{$slide.id_slide|intval}" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&leoajax=1&action=deleteSlider&id_slide={$slide.id_slide|intval}"><i class="icon-remove-sign"></i> {l s='Delete This slider' mod='leoslideshow'}</a>
</li>
<li style="background-color:#fff;border: none">
<a class="btn-actionslider" data-confirm="{l s='Are you sure you want to duplicate this slider?' mod='leoslideshow'}" data-id-slide="{$slide.id_slide|intval}" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&leoajax=1&action=duplicateSlider&id_slide={$slide.id_slide|intval}">
<i class="icon-film"></i> {l s='Duplicate This Slider' mod='leoslideshow'}
</a>
</li>
</ul>
</div>
<div class="btn-group">
<a class="btn btn-default {if $languages|count > 1}dropdown-toggle {else}slider-preview {/if}color_danger" href="{$previewLink|escape:'html':'UTF-8'}&id_group={$id_group|intval}&id_slide={$slide.id_slide|intval}"><i class="icon-eye-open"></i> {l s='Preview' mod='leoslideshow'}</a>
{if $languages|count > 1}
<button data-toggle="dropdown" class="btn btn-default dropdown-toggle">
<span class="caret"></span>&nbsp;
</button>
<ul class="dropdown-menu" style="border: none">
{foreach from=$languages item=language}
<li style="background-color:#fff;border: none">
{$arrayParam = ['secure_key' => $msecure_key, 'id_group' => $id_group, 'id_slide'=>$slide.id_slide]}
<a href="{$link->getModuleLink('leoslideshow','preview', $arrayParam, null, $language.id_lang)|escape:'html':'UTF-8'}" class="slider-preview">
<i class="icon-eye-open"></i> {l s='Preview For' mod='leoslideshow'} {$language.name|escape:'html':'UTF-8'}
</a>
</li>
{/foreach}
</ul>
{/if}
</div>
</div>
</li>
{/foreach}
</ul>
</div>
</div>
</fieldset>
<script type="text/javascript">
var leo_slider_list_link = "{$leo_slider_list_link}";
</script>

View File

@@ -0,0 +1,483 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<fieldset>
<div class="form-group text-alert" data-move="{l s='Click Duplicate to apply it to other language. Please edit Caption Html for other language' mod='leoslideshow'}" data-duplicate="{l s='Duplicate is done. Click save slide before doing any thing in other language' mod='leoslideshow'}" data-delete="{l s='Please click one to delete' mod='leoslideshow'}" data-remove="{l s='Are you sure to remove it' mod='leoslideshow'}">
<div class="col-lg-9 col-lg-offset-3">
<a class="btn btn-default dash_trend_right" href="javascript:void(0)" onclick="return $('#module_form').submit();"><i class="icon-save"></i> {l s='Save Slider' mod='leoslideshow'}</a>
<a id="btn-preview-slider" class="btn btn-default {if $languages|count > 1}dropdown-toggle {else}slider-preview {/if}color_danger" herf="javascript:void(0);" data-link="{$previewLink|escape:'html':'UTF-8'}&id_group={$id_group|intval}"><i class="icon-eye-open"></i> {l s='Preview This Slider' mod='leoslideshow'}</a>
</div>
</div>
{*editor for each lang*}
{*action tool*}
<div class="col-lg-1">
<div class="slider-toolbar">
<h4>{l s='Tools Action' mod='leoslideshow'}</h4>
<ul>
<li>
<div class="btn-create" href="#" data-action="add-image">
<i class="icon-picture"></i><br/>{l s='Add Image' mod='leoslideshow'}
</div></li>
<li><div class="btn-create" href="#" data-action="add-video">
<i class="icon-youtube-play"></i><br/>{l s='Add Video' mod='leoslideshow'}
</div></li>
<li><div class="btn-create" href="#" data-action="add-text">
<i class="icon-text-width"></i><br/>{l s='Add Text' mod='leoslideshow'}
</div></li>
</ul>
<div class="btn-delete" data-action="delete-layer"><i class="icon-remove"></i> {l s='Delete' mod='leoslideshow'}</div>
</div>
</div>
{*editor content*}
<div class="col-lg-11">
{foreach from=$languages item=language}
<form action="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&leoajax=1&ajax=1&action=submitslider" method="post" enctype="multipart/form-data" class="slider-form" id="slider-form_{$language.id_lang|intval}">
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval} form-language" data-action="{$language.id_lang|intval}" {if $language.id_lang != $id_language}style="display:none"{/if}>
<div class="col-lg-12">
<div class="col-lg-10"></div>
<div class="col-lg-2">
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-alllang">{l s='Duplicate' mod='leoslideshow'}</a>
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu language-select">
{foreach from=$languages item=lang}
<li data-id-lang="{$lang.id_lang|intval}"><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
</div>
{/if}
<div class="col-lg-12">
<div class="form-group layers-wrapper clearfix" id="slider-toolbar_{$language.id_lang|intval}">
<div class="back-ground">
<div class="title-back">
{l s='BackGround' mod='leoslideshow'}
</div>
<div class="col-md-6">
<a href="javascript:void(0)" class="btn btn-default btn-update-slider">
<i class="icon-upload"></i> {l s='Set Background Image' mod='leoslideshow'}
</a>
<a href="javascript:void(0)" class="btn btn-default btn-remove-backurl" style="color:red">
<i class="icon-remove"></i> {l s='Remove' mod='leoslideshow'}
</a>
</div>
<div class="col-md-6">
<div class="col-md-4">
<lable>{l s='Background Color' mod='leoslideshow'}:</lable>
</div>
<div class="col-md-3">
<div class="input-group">
<input type="color" data-hex="true" class="slider-backcolor color mColorPickerInput" data-lang="{$language.id_lang|intval}" value="{if isset($sliderBack[$language.id_lang])}{$sliderBack[$language.id_lang]|escape:'html':'UTF-8'}{/if}" />
</div>
</div>
</div>
</div>
<div class="slider-layers bannercontainer">
<div class="slider-editor-wrap" id="slider-editor-wrap_{$language.id_lang|intval}" style="width:{$sliderGroup.width|intval}px;height:{if $sliderGroup.fullwidth=="fullscreen"}{$sliderGroup.height+200|intval}{else}{$sliderGroup.height|intval}{/if}px">
<div class="simage">
<img src="{if isset($slideImg[$language.id_lang]) && $slideImg[$language.id_lang] != ""}{$slideImg[$language.id_lang]|escape:'html':'UTF-8'}{/if}" alt=""/>
</div>
<div class="slider-editor" id="slider-editor_{$language.id_lang|intval}" style="width:{$sliderGroup.width|intval}px;height:{if $sliderGroup.fullwidth=="fullscreen"}{$sliderGroup.height+200|intval}{else}{$sliderGroup.height|intval}{/if}px">
</div>
</div>
<div class="layer-video-inpts dialog-video" id="dialog-video_{$language.id_lang|intval}">
<table class="form">
<tr>
<td>{l s='Video Type' mod='leoslideshow'}</td>
<td>
<select name="layer_video_type" id="layer_video_type_{$language.id_lang|intval}">
<option value="youtube">Youtube</option>
<option value="vimeo">Vimeo</option>
</select>
</td>
</tr>
<tr>
<td>{l s='Video ID' mod='leoslideshow'}</td>
<td><input name="layer_video_id" type="text" id="dialog_video_id_{$language.id_lang|intval}">
<p>{l s='for example youtube' mod='leoslideshow'}: <b>VA770wpLX-Q</b> and vimeo: <b>17631561</b> </p>
</td>
</tr>
<tr>
<td colspan="2">
<label>{l s='Height' mod='leoslideshow'}</label>
<input name="layer_video_height" type="text" value="200">
<label>{l s='Width' mod='leoslideshow'}</label>
<input name="layer_video_width" type="text" value="300">
</td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="layer_video_thumb" id="layer_video_thumb_{$language.id_lang|intval}">
<div class="buttons">
<div class="btn layer-find-video">{l s='Find Video' mod='leoslideshow'}</div>
<div class="btn layer-apply-video apply_this_video" id="apply_this_video_{$language.id_lang|intval}" style="display:none;">{l s='Use This Video' mod='leoslideshow'}</div>
<div class="btn layer-close-video btn-green">{l s='Close' mod='leoslideshow'}</div>
</div>
</td>
</tr>
</table>
<div id="video-preview_{$language.id_lang|intval}"></div>
</div>
<div class="slider-foot">
<div class="layer-collection-wrapper">
<h4>{l s='Layer Collection' mod='leoslideshow'}</h4>
<div class="layer-collection" id="layer-collection_{$language.id_lang|intval}"></div>
</div>
</div>
<div class="layer-form" id="layer-form_{$language.id_lang|intval}">
<h4>{l s='Edit Layer Data' mod='leoslideshow'}</h4>
<input type="hidden" class="layer_id" id="layer_id_{$language.id_lang|intval}" name="layer_id"/>
<input type="hidden" class="layer_content" id="layer_content_{$language.id_lang|intval}" name="layer_content"/>
<input type="hidden" class="layer_type" id="layer_type_{$language.id_lang|intval}" name="layer_type"/>
<input type="hidden" class="layer_type" id="layer_status_{$language.id_lang|intval}" name="layer_status"/>
<table class="form" style="width:100%">
<tr>
<td>
{l s='Class Style' mod='leoslideshow'}
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-lang">{l s='Duplicate' mod='leoslideshow'}</a>
</td>
<td>
<input type="text" class="layer_class" name="layer_class" id="input-layer-class_{$language.id_lang|intval}"/>
<span class="buttons">
<span class="btn btn-typo btn-insert-typo" id="btn-insert-typo_{$language.id_lang|intval}">{l s='Insert Typo' mod='leoslideshow'}</span>
</span>
</td>
</tr>
<tr>
<td>{l s='Caption Html' mod='leoslideshow'}
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-lang">{l s='Duplicate' mod='leoslideshow'}</a></td>
<td>
<p>{l s='Allow insert html code' mod='leoslideshow'}</p>
<textarea style="height:60px" class="input-slider-caption" name="layer_caption" id="input-slider-caption_{$language.id_lang|intval}" data-for="caption-layer" ></textarea>
<table class="text-attr">
<tr>
<td>{l s='font-size' mod='leoslideshow'}</td>
<td>{l s='Background Color' mod='leoslideshow'}</td>
<td>{l s='Text Color' mod='leoslideshow'}</td>
</tr>
<tr>
<td>
<select name="layer_font_size" class="layer_font_size">
<option value="" selected="selected">{l s='Auto' mod='leoslideshow'}</option>
{for $foo=9 to 200}
<option value="{$foo|intval}px">{$foo|intval}px</option>
{/for}
</select>
</td>
<td>
<div class="input-group">
<input type="color" data-hex="true" name="layer_background_color" class="layer_background_color color mColorPickerInput" value=""/>
</div>
</td>
<td>
<div class="input-group">
<input type="color" data-hex="true" name="layer_color" class="layer_color color mColorPickerInput" value=""/>
</div>
</td>
</tr>
<tr>
<td colspan="3"><br/></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{l s='Link' mod='leoslideshow'}
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-lang">{l s='Duplicate' mod='leoslideshow'}</a></td>
<td>
<input type="text" class="layer_link" name="layer_link" id="layer_link_{$language.id_lang|intval}">
</td>
</tr>
<tr>
<td>{l s='Open in' mod='leoslideshow'}
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-lang">{l s='Duplicate' mod='leoslideshow'}</a></td>
<td>
<select class="fixed-width-xl" name="layer_target">
<option value="same">Same Window</option>
<option value="new">New Window</option>
</select>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td>
{l s='Position' mod='leoslideshow'}
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-lang">{l s='Duplicate' mod='leoslideshow'}</a>
</td>
<td>
<label>{l s='Top' mod='leoslideshow'}:</label><input size="3" type="text" class="layer_top" name="layer_top" id="layer_top_{$language.id_lang|intval}">
<label>{l s='Left' mod='leoslideshow'}:</label><input size="3" type="text" class="layer_left" name="layer_left" id="layer_left_{$language.id_lang|intval}">
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
</table>
<div class="other-effect">
<table class="form" style="width:100%">
<tr>
<td>{l s='Transition' mod='leoslideshow'}
<a href="javascript:void(0)" title="{l s='Click on it to copy text to other language' mod='leoslideshow'}" class="btn btn-success slide-copy-lang">{l s='Duplicate' mod='leoslideshow'}</a></td>
<td>
<select type="text" class="layer_transition" name="layer_transition" id="layer_transition_{$language.id_lang|intval}">
<option selected="selected" value="fade">{l s='Fade' mod='leoslideshow'}</option>
<option value="wipeleft">{l s='Wipe Left' mod='leoslideshow'}</option>
<option value="wiperight">{l s='Wipe Right' mod='leoslideshow'}</option>
<option value="wipeup">{l s='Wipe Top' mod='leoslideshow'}</option>
<option value="wipedown">{l s='Wipe Bottom' mod='leoslideshow'}</option>
<option value="expandleft">{l s='Expand Left' mod='leoslideshow'}</option>
<option value="expandright">{l s='Expand Right' mod='leoslideshow'}</option>
<option value="expandup">{l s='Expand Top' mod='leoslideshow'}</option>
<option value="expanddown">{l s='Expand Bottom' mod='leoslideshow'}</option>
</select>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
{if $languages|count > 1}
</div>
{/if}
</form>
{/foreach}
</div>
<div class="col-lg-12 form-group clearfix">
<div class="row">
<div class="col-lg-9 col-lg-offset-3">
<a class="btn btn-default dash_trend_right" href="javascript:void(0)" onclick="return $('#module_form').submit();"><i class="icon-save"></i> {l s='Save Slider' mod='leoslideshow'}</a>
</div>
</div>
</div>
{*script for all language*}
<script type="text/javascript"><!--
var ajaxfilelink = "{$ajaxfilelink}{* HTML form , no escape necessary *}";
var leo_admin_module_link = "{$leo_admin_module_link}";
var title_image = "{l s='Image Management' mod='leoslideshow'}";
var psBaseModuleUri = "{$psBaseModuleUri|escape:'html':'UTF-8'}";
var txt_input_title = "{l s='Please input title of slider for all language' mod='leoslideshow'}";
$(".btn-remove-backurl").click(function(){
var field = 'slider-image_';
langID = findActiveLang();
if ($('#' + field + langID).val()) {
correctLink = "";
$('#' + field + langID).val(correctLink);
$("#slider-editor-wrap_"+langID+" .simage").html('');
}
});
$(".btn-update-slider").click(function() {
var field = 'slider-image_';
dialog_param = {
window: window,
image_src: ''
};
$('#dialog').remove();
$('#content').prepend('<div id="dialog" style="padding: 3px 0px 0px 0px;"><iframe src="'+ajaxfilelink+'&lang_id='+findActiveLang()+'" style="padding:0; margin: 0; display: block; width: 100%; height: 100%;" frameborder="no" scrolling="auto"></iframe></div>');
$('#dialog').dialog({
title: title_image,
close: function(event, ui) {
langID = findActiveLang();
if ($('#' + field + langID).val()) {
correctLink = $('#' + field + langID).val();
$('#' + field + langID).val(correctLink);
var image_src = psBaseModuleUri + correctLink;
if (dialog_param.image_src != ''){
image_src = dialog_param.image_src;
}
$("#slider-editor-wrap_"+langID+" .simage").html('<img src="' + image_src + '">');
}
},
bgiframe: false,
width: 1024,
height: 780,
resizable: true,
draggable:false,
modal: false
});
});
//--></script>
<script type="text/javascript">
$( document ).ready( function(){
var $leoEditor = $(document).leoSliderEditor();
var SURLIMAGE = '{$ajaxfilelink}{* HTML form , no escape necessary *}';
var delay = '{$delay|intval}';
{foreach from=$languages item=language}
$leoEditor.countItem[{$language.id_lang|intval}] = 0;
{/foreach}
$leoEditor.process(SURLIMAGE, delay);
{if $layers}
{foreach from=$layers item=layer}
$leoEditor.createList( '{$layer.content}' , {$layer.langID|intval});{* HTML form , no escape necessary *}
{/foreach}
{/if}
$('#slider-editor_'+default_language).find('.layer-active').removeClass('layer-active').trigger('click');
$('.language-select li').click(function(){
$('#slider-editor_'+$(this).data('id-lang')).find('.layer-active').removeClass('layer-active').trigger('click');
});
$(".btn-actionslider").click(function(){
var object_e = $(this);
if($(this).attr("href").indexOf("deleteSlider") != -1) {
if(!confirm('Delete Selected Slider?')) return false;
}
{literal}
$.ajax({
type: "GET",
url: $(this).attr("href"),
data: {
"ajax": 1,
},
dataType: "json",
cache: false
}).done( function(json) {
if (json && json.hasError == true){
alert(json.errors);
}else{
if(json.error == 2) {
// duplicate SLIDE
$('#content #leo_error').remove();
$('#content').prepend(json.text);
// $('body').scrollTo('#content #leo_error');
$('body').scrollTo('0');
}else if (json.error) {
alert(json.text);
}else{
var id_slide = "&id_slide="+object_e.data('id-slide');
if (object_e.hasClass('delete-slide') && window.location.href.indexOf(id_slide) >= 0)
{
window.location.href = window.location.href.replace(id_slide, "").replace("&editSlider=1", "").replace("&conf=3", "").replace("&conf=4", "") + "&showsliders=1&conf=4";
}
else
{
if (window.location.href.indexOf("&conf=4") >= 0)
{
location.reload();
}
else
{
if (window.location.href.indexOf("&conf=3") >= 0)
{
window.location.href = window.location.href.replace("conf=3", "conf=4");
}
else
{
window.location.href = window.location.href + "&conf=4";
}
}
}
}
}
});
{/literal}
return false;
});
$(".slider-backcolor").change(function() {
$(this).closest(".back-ground").next(".slider-layers").find(".simage").first().css("background-color",$(this).val());
});
$(".slider-backcolor").each(function() {
if($(this).val())
$(this).closest(".back-ground").next(".slider-layers").find(".simage").first().css("background-color",$(this).val());
});
});
$(".slider-preview").click(function() {
var url = $(this).attr("href")+"&content_only=1";
$('#dialog').remove();
$('#content').prepend('<div id="dialog" style="padding: 3px 0px 0px 0px;"><iframe name="iframename2" src="' + url + '" style="padding:0; margin: 0; display: block; width: 100%; height: 100%;" frameborder="no" scrolling="auto"></iframe></div>');
$('#dialog').dialog({
title: 'Preview Management',
close: function(event, ui) {
},
bgiframe: true,
width: 1024,
height: 780,
resizable: false,
draggable:false,
modal: true
});
return false;
});
function image_upload(field, thumb) {
$('#dialog').remove();
dialog_param = {
window: window,
image_src: ''
};
$('#content').prepend('<div id="dialog" style="padding: 3px 0px 0px 0px;"><iframe src="'+ajaxfilelink+'&field=' + encodeURIComponent(field) + '" style="padding:0; margin: 0; display: block; width: 100%; height: 100%;" frameborder="no" scrolling="auto"></iframe></div>');
$('#dialog').dialog({
title: title_image,
close: function (event, ui) {
correctLink = $('#' + field).val();
$('#' + field).val(correctLink);
var image_src = psBaseModuleUri+correctLink;
if (dialog_param.image_src != ''){
image_src = dialog_param.image_src;
}
$('#' + thumb).attr("src", image_src);
$('#' + thumb).show();
},
bgiframe: false,
width: 1024,
height: 780,
resizable: false,
draggable:false,
modal: false
});
};
</script>
<script type="text/javascript">
function findActiveLang(){
languageID = $("#current_language").val();
if($('.form-language').length){
$('.form-language').each(function(){
if($(this).is(':visible')){
languageID = $(this).attr("data-action");
return false;
}
});
}
return languageID;
}
</script>
</fieldset>

View File

@@ -0,0 +1,11 @@
{*
* @Module Name: Leo Slideshow
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{if isset($gstatus) || isset($status)}
<a href="{$status_link}" title="{$title}"><img src="{$img_link}" alt="" /></a>
{/if}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 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-2014 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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;