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,17 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<div class="col-md-12 code plist-element" data-element='code'>
<div class="desc-box"><a href="javascript:void(0)" data-toggle="tooltip" title="{l s='Drag me' mod='appagebuilder'}" class="group-action gaction-drag label-tooltip"><i class="icon-move"></i> </a> tpl code</div>
<div class="pull-right">
<a class="plist-code"><i class="icon-code"></i></a>
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<div class="content-code">
<textarea name="filecontent" rows="5" class="">{if isset($code)}{$code nofilter}{/if}</textarea>
</div>
</div>

View File

@@ -0,0 +1,31 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<!-- @file modules\appagebuilder\views\templates\admin\ap_page_builder_shortcodes\ApColumn -->
<div {if isset($defaultColumn)}id="default_column" class="column-row plist-element col-sp-12 col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12"{else}
class="column-row{foreach $column.form key=ckey item=citem} col-{$ckey}-{$citem}{/foreach} plist-element" data-form='{$column.dataForm}'{/if}>
<div class="cover-column">
<div class="pull-left">
<a href="javascript:void(0)" title="{l s='Edit Column' mod='appagebuilder'}" class="column-action btn-edit-column" data-type="ApColumn" data-for=".column-row"><i class="icon-pencil"></i></a>
</div>
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<div class="content row">
{if !isset($defaultColumn)}
{foreach $column.sub item=columnsub}
{if $columnsub.name == 'code'}
{include file='./code.tpl' code=$columnsub.code}
{else}
{include file='./element.tpl' eItem=$columnsub.config configElement=$columnsub.dataForm}
{/if}
{/foreach}
{/if}
</div>
</div>
</div>

View File

@@ -0,0 +1,20 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<div class="widget-row col-md-12 {$eItem.file} plist-element" data-element='{$eItem.file}'{if isset($configElement)} data-form='{$configElement}'{/if}><a href="javascript:void(0)" data-toggle="tooltip" title="{l s='Drag me' mod='appagebuilder'}" class="group-action gaction-drag label-tooltip"><i class="icon-move"></i> </a>
<a class="show-postion" href="#postion_layout" title="Click to see postion">
{$eItem.name|escape:'html':'UTF-8'}
</a>
{if isset($eItem.icon)}<i class="{$eItem.icon}"></i>{/if}
<div class="pull-right">
{if isset($eItem.config)}
<a href="javascript:void(0)" data-config="{$eItem.config}" title="{l s='Config element' mod='appagebuilder'}" class="element-config" data-type="ApColumn" data-for=".column-row"><i class="icon-pencil"></i></a>
{/if}
<a class="plist-eremove"><i class="icon-trash"></i></a>
<a class="plist-eedit" data-element='{$eItem.file}'><i class="icon-edit"></i></a>
</div>
</div>

View File

@@ -0,0 +1,552 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<!-- @file modules\appagebuilder\views\templates\admin\_configure\ap_page_builder_products\helpers\form\form -->
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'ap_proGrid'}
<h4>{l s='Difficult to use, you can select avail item' mod='appagebuilder'}: </h4>
<div class="row" id="product-demo-sample">
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/8c/16/f9/8c16f9f024af16977adc1f618872eb8b.jpg" alt="{l s='Product image thumbs bottom' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_thumbs_bottom" class="btn btn-default" title="{l s='Product image thumbs bottom' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image thumbs bottom' mod='appagebuilder'}</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/98/b4/b0/98b4b05fef8913b2a37cbb592b921e7b.jpg" alt="{l s='Product image thumbs left' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_thumbs_left" class="btn btn-default" title="{l s='Product image thumbs left' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image thumbs left' mod='appagebuilder'}</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/81/c4/41/81c441c1b2f6c3e56b3da56b65324423.jpg" alt="{l s='Product image thumbs right' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_thumbs_right" class="btn btn-default" title="{l s='Product image thumbs right' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image thumbs right' mod='appagebuilder'}</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/60/ca/57/60ca570f6a8254c3741d8c9db78eb3d5.jpg" alt="{l s='Product image no thumbs' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_no_thumbs" class="btn btn-default" title="{l s='Product image no thumbs' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image no thumbs' mod='appagebuilder'}</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/38/99/1a/38991a8c1582669d29abe889bc0d5f52.jpg" alt="{l s='Product image no thumbs center' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_no_thumbs_center" class="btn btn-default" title="{l s='Product image no thumbs center' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image no thumbs center' mod='appagebuilder'}</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/c5/d9/02/c5d9025b68250832a31eac3b6d344955.jpg" alt="{l s='Product image no thumbs fullwidth' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_no_thumbs_fullwidth" class="btn btn-default" title="{l s='Product image no thumbs fullwidth' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image no thumbs fullwidth' mod='appagebuilder'}</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6">
<div class="item-demo">
<div class="block-image">
<img class="img-fuild img-responsive" src="https://i.pinimg.com/originals/b1/a8/b9/b1a8b9381d8d3e3c4d13dfe24231581f.jpg" alt="{l s='Product image gallery' mod='appagebuilder'}">
<a href="{$input.demodetaillink}&sampledetail=product_image_gallery" class="btn btn-default" title="{l s='Product image gallery' mod='appagebuilder'}">{l s='Create with this layout' mod='appagebuilder'}</a>
</div>
<div class="block-name">{l s='Product image gallery' mod='appagebuilder'}</div>
</div>
</div>
</div>
<input id="main_class" type="hidden" name="main_class" value="{if isset($input.params.class)}{$input.params.class}{/if}" />
<div id="top_wrapper">
<a class="btn btn-default btn-fwidth width-default" data-width="auto">{l s='Default' mod='appagebuilder'}</a>
<a class="btn btn-default btn-fwidth width-large" data-width="1200">{l s='Large' mod='appagebuilder'}</a>
<a class="btn btn-default btn-fwidth width-medium" data-width="992">{l s='Medium' mod='appagebuilder'}</a>
<a class="btn btn-default btn-fwidth width-small" data-width="768">{l s='Small' mod='appagebuilder'}</a>
<a class="btn btn-default btn-fwidth width-extra-small" data-width="603">{l s='Extra Small' mod='appagebuilder'}</a>
<a class="btn btn-default btn-fwidth width-mobile" data-width="480">{l s='Mobile' mod='appagebuilder'}</a>
</div>
<div class="col-lg-12 {$input.type|escape:'html':'UTF-8'}">
<div class="row">
<div id="home_wrapper" class="col-lg-12 col-md-12">
<div class="panel product-container">
<div class="desc-box">product-layout</div>
{foreach $input.blockList key=kBlock item=vblock}
<div class="{$vblock.class|escape:'html':'UTF-8'}">
<div class="content {$kBlock|escape:'html':'UTF-8'}-block-content">
{assign var=blockElement value=$input.params[$kBlock]}
{foreach $blockElement item=gridElement}
{if $gridElement.name == 'code'}
{include file='./code.tpl' code=$gridElement.code}
{else if $gridElement.name == 'functional_buttons'}
<div class="row group-row functional_buttons plist-element" data-element='functional_buttons'{if isset($gridElement.dataForm)} data-form='{$gridElement.dataForm}'{/if}>
<div class="desc-box">
<a href="javascript:void(0)" data-toggle="tooltip" title="{l s='Drag to sort group' mod='appagebuilder'}" class="group-action gaction-drag label-tooltip"><i class="icon-move"></i> </a> Group
<a href="javascript:void(0)" title="{l s='Edit Group Class' mod='appagebuilder'}" class="column-action btn-edit-group" data-type="ApColumn" data-for=".column-row"><i class="icon-pencil"></i></a>
</div>
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<p class="row-preactive">{l s='Drag me to layout to set element in column' mod='appagebuilder'}</p>
<div class="row-actived">
<div class="group">
{foreach $gridElement.columns item=column}
{include file='./column.tpl' column=$column}
{/foreach}
</div>
<br/>
<div class="group-button">
<a href="javascript:void(0)" title="{l s='Add New Column' mod='appagebuilder'}" class="group-action btn-add-column" tabindex="0" data-container="body" data-toggle="popover" data-placement="top" data-trigger="focus"><i class="icon-plus"></i></a>
</div>
</div>
</div>
{else}
{include file='./element.tpl' eItem=$gridElement.config configElement=$gridElement.dataForm}
{/if}
{/foreach}
</div>
{/foreach}
</div>
</div>
</div>
<div class="row element-list content">
<div class="col-md-3">
<div class="row">
<div class="row group-row functional_buttons plist-element" data-element='functional_buttons'>
<div class="desc-box">
<a href="javascript:void(0)" data-toggle="tooltip" title="{l s='Drag to sort group' mod='appagebuilder'}" class="group-action gaction-drag label-tooltip"><i class="icon-move"></i> </a> Group
<a href="javascript:void(0)" title="{l s='Edit Group Class' mod='appagebuilder'}" class="column-action btn-edit-group" data-type="ApColumn" data-for=".column-row"><i class="icon-pencil"></i></a>
</div>
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<p class="row-preactive">{l s='Drag me to layout to set element in column' mod='appagebuilder'}</p>
<div class="row-actived">
<div class="group row"></div>
<br/>
<div class="group-button">
<a href="javascript:void(0)" title="{l s='Add New Column' mod='appagebuilder'}" class="group-action btn-add-column" tabindex="0" data-container="body" data-toggle="popover" data-placement="top" data-trigger="focus"><i class="icon-plus"></i></a>
</div>
</div>
</div>
<div class="col-md-12 code plist-element" data-element='code'>
<div class="desc-box"><a href="javascript:void(0)" data-toggle="tooltip" title="{l s='Drag me' mod='appagebuilder'}" class="group-action gaction-drag label-tooltip"><i class="icon-move"></i> </a> tpl code</div>
<div class="pull-right">
<a class="plist-code"><i class="icon-code"></i></a>
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<div class="content-code">
<textarea name="filecontent" rows="5" class=""></textarea>
</div>
</div>
</div>
</div>
{foreach from=$input.elements item=eItems}
<div class="col-md-3">
<div class="row">
{foreach from=$eItems.group item=eItem}
{if isset($eItem.type) and $eItem.type=="sperator"}
<div class="col-md-12">
<p>{$eItem.name}</p>
</div>
{else}
{include file='./element.tpl' eItem=$eItem configElement=$eItem.dataForm}
{/if}
{/foreach}
</div>
</div>
{/foreach}
<div id="postion_layout" class="col-lg-12 col-md-12 col-sm-12">
<br/>
<a class="postion-img-co btn btn-default" href="javascript:void(0)">{l s='Close or open image' mod='appagebuilder'}</a>
<img style="display:none" src="https://drscdn.500px.org/photo/243373101/q%3D80_m%3D1500/v2?user_id=24883015&webp=true&sig=f7caa5d610248680886907ebc15e1239a965a19a7f976a899b7a8c16ddd9408a" title="postion"/>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modal_form" data-backdrop="0" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content modal-lg">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span>
<span class="sr-only">{l s='Close' mod='appagebuilder'}</span></button>
</div>
<div class="modal-body"></div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{l s='Close' mod='appagebuilder'}</button>
<button type="button" class="btn btn-primary btn-savewidget">{l s='Save changes' mod='appagebuilder'}</button>
</div>
</div>
</div>
</div>
<div style="display:none">
<div id="image-thumb-1">
<div class="form-group">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Thumb Position' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<select class="select_thumb" name="templateview">
<option value="bottom">{l s='Bottom' mod='appagebuilder'}</option>
<option value="right">{l s='Right' mod='appagebuilder'}</option>
<option value="left">{l s='Left' mod='appagebuilder'}</option>
<option value="none">{l s='None' mod='appagebuilder'}</option>
</select>
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in over 1200: Extra Large' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage" value="5">
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in 1200: Desktop' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage1200" value="5">
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in 992: Small desktop' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage992" value="4">
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in 768: Tablet' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage768" value="3">
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in 576: Small tablet' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage576" value="3">
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in 480: Smartphone' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage480" value="2">
</div>
</div>
<div class="form-group select_thumb-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Number thumb in 360: Smartphone vertical' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="numberimage360" value="2">
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Display modal popup' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<select class="select_modal" name="templatemodal">
<option value="1">{l s='Yes' mod='appagebuilder'}</option>
<option value="0">{l s='No' mod='appagebuilder'}</option>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom Type' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<select class="select_zoom" name="templatezoomtype">
<option value="in">{l s='Zoom In' mod='appagebuilder'}</option>
<option value="in_scrooll">{l s='Scroll To Zoom' mod='appagebuilder'}</option>
<option value="out">{l s='Zoom Out' mod='appagebuilder'}</option>
<option value="none">{l s='None' mod='appagebuilder'}</option>
</select>
<p class="help-block">{l s='\'Scroll To Zoom\' doesn\'t work on Internet Explorer. Default is replaced' mod='appagebuilder'}</p>
</div>
</div>
<div class="form-group select-zoom-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom position' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<select class="select_position" name="zoomposition">
<option value="right">{l s='Right' mod='appagebuilder'}</option>
<option value="left">{l s='Left' mod='appagebuilder'}</option>
<option value="top">{l s='Top' mod='appagebuilder'}</option>
<option value="bottom">{l s='Bottom' mod='appagebuilder'}</option>
</select>
</div>
</div>
<div class="form-group select-zoom-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom window width' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="zoomwindowwidth" value="400">
</div>
</div>
<div class="form-group select-zoom-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom window height' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="zoomwindowheight" value="400">
</div>
</div>
</div>
<div id="image-thumb-2">
<div class="form-group">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom Type' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<select class="select_zoom" name="templatezoomtype">
<option value="in">{l s='Zoom In' mod='appagebuilder'}</option>
<option value="in_scrooll">{l s='Scroll To Zoom' mod='appagebuilder'}</option>
<option value="out">{l s='Zoom Out' mod='appagebuilder'}</option>
<option value="none">{l s='None' mod='appagebuilder'}</option>
</select>
<p class="help-block">{l s='\'Scroll To Zoom\' doesn\'t work on Internet Explorer. Default is replaced' mod='appagebuilder'}</p>
</div>
</div>
<div class="form-group select-zoom-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom position' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<select class="select_position" name="zoomposition">
<option value="right">{l s='Right' mod='appagebuilder'}</option>
<option value="left">{l s='Left' mod='appagebuilder'}</option>
<option value="top">{l s='Top' mod='appagebuilder'}</option>
<option value="bottom">{l s='Bottom' mod='appagebuilder'}</option>
</select>
</div>
</div>
<div class="form-group select-zoom-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom window width' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="zoomwindowwidth" value="400">
</div>
</div>
<div class="form-group select-zoom-none">
<label class="control-label col-lg-5">
<span class="label-tooltip" data-toggle="tooltip">
{l s='Zoom window height' mod='appagebuilder'}
</span>
</label>
<div class="col-lg-5">
<input type="text" name="zoomwindowheight" value="400">
</div>
</div>
</div>
<div id="addnew-column-form">
<ul class="list-group dropdown-menu">
{for $i=1 to 6}
<li>
<a href="javascript:void(0);" data-col="{$i|escape:'html':'UTF-8'}" data-width="{(12/$i)|replace:'.':'-'|escape:'html':'UTF-8'}" class="column-add">
<span class="width-val ap-w-{$i|escape:'html':'UTF-8'}">{$i|escape:'html':'UTF-8'} {l s='column per row' mod='appagebuilder'} - ( {math equation="100/$i" x=$i format="%.2f"} % )</span>
</a>
</li>
{/for}
</ul>
</div>
<div id="group_config">
<div class="well">
<div class="row">
{if $input.type == 'ApRowclass'}
<label class="choise-class col-lg-12"><input type="checkbox" class="chk-row" data-value="row" value="1"> {l s='Use class row' mod='appagebuilder'}</label>
{/if}
<label class="control-label col-lg-1">{l s='Group Class:' mod='appagebuilder'}</label>
<div class="col-lg-11"><input type="text" class="element_class" value="row" name="class"></div>
</div><br/>
<div class="desc-bottom">
{l s='Insert new or select classes for toggling content across viewport breakpoints' mod='appagebuilder'}<br>
<ul class="ap-col-class">
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-xl-down" value="1"> {l s='Hidden on All Devices' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-lg-down" value="1"> {l s='Hidden from Large devices (screen < 1200px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-md-down" value="1"> {l s='Hidden from Medium devices (screen < 992px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-sm-down" value="1"> {l s='Hidden from Small devices (screen < 768px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-xs-down" value="1"> {l s='Hidden from Extra small devices (screen < 576px)' mod='appagebuilder'}</label>
</li>
{*<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="checkbox" data-value="hidden-xs-up" value="1"> {l s='Hidden from Smart Phone' mod='appagebuilder'}</label>
</li>*}
</ul>
</div>
</div>
</div>
<div id="column_config">
<div class="well">
<div class="row">
<label class="control-label col-lg-1">{l s='Column Class:' mod='appagebuilder'}</label>
<div class="col-lg-11"><input type="text" class="element_class" value="" name="class"></div>
</div><br/>
<div class="desc-bottom">
{l s='Insert new or select classes for toggling content across viewport breakpoints' mod='appagebuilder'}<br>
<ul class="ap-col-class">
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-xl-down" value="1"> {l s='Hidden on All Devices' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-lg-down" value="1"> {l s='Hidden from Large devices (screen < 1200px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-md-down" value="1"> {l s='Hidden from Medium devices (screen < 992px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-sm-down" value="1"> {l s='Hidden from Small devices (screen < 768px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="radio" data-value="hidden-xs-down" value="1"> {l s='Hidden from Extra small devices (screen < 576px)' mod='appagebuilder'}</label>
</li>
{*<li>
<label class="choise-class"><input class="select-class no-save" name="hidden_from[]" type="checkbox" data-value="hidden-xs-up" value="1"> {l s='Hidden from Smart Phone' mod='appagebuilder'}</label>
</li>*}
</ul>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<p>{l s='Responsive: You can config width for each Devices' mod='appagebuilder'}</p>
</div>
<table class="table">
<thead><tr>
<th>{l s='Devices' mod='appagebuilder'}</th>
<th>{l s='Width' mod='appagebuilder'}</th>
</tr></thead>
<tbody>
{foreach $input.columnGrids as $gridKey=>$gridValue}
<tr>
<td>
<span class="col-{$gridKey|escape:'html':'UTF-8'}"></span>
{$gridValue|escape:'html':'UTF-8'}
</td>
<td>
<div class="btn-group">
<input type='hidden' class="col-val" name='{$gridKey|escape:'html':'UTF-8'}' value="12"/>
<button type="button" class="btn btn-default apbtn-width dropdown-toggle" tabindex="-1" data-toggle="dropdown">
<span class="width-val ap-w-12">12/12 - ( 100 % )</span><span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$input.widthList item=itemWidth}
<li>
<a class="width-select width-select-{$gridKey}-{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}" href="javascript:void(0);" tabindex="-1">
<span data-width="{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}" class="width-val ap-w-{if $itemWidth|strpos:"."|escape:'html':'UTF-8'}{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}{else}{$itemWidth|escape:'html':'UTF-8'}{/if}">{$itemWidth|escape:'html':'UTF-8'}/12 - ( {math equation="x/y*100" x=$itemWidth|replace:'-':'.' y=12 format="%.2f"} % )</span>
</a>
</li>
{/foreach}
</ul>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{include file='./column.tpl' defaultColumn=1}
</div>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @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,36 @@
<?php
/*
* 2007-2012 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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @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,36 @@
<?php
/*
* 2007-2012 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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @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,117 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<!-- @file modules\appagebuilder\views\templates\admin\_configure\ap_page_builder_products\helpers\form\form -->
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'ap_proGrid'}
<div class="col-lg-9 {$input.type|escape:'html':'UTF-8'}">
<div class="row">
<div class="col-lg-8 col-md-8">
<div class="panel product-container">
<div class="desc-box">product-container</div>
{foreach $input.blockList key=kBlock item=vblock}
<div class="{$vblock.class|escape:'html':'UTF-8'}">
<div class="panel-heading">{$vblock.title|escape:'html':'UTF-8'}</div>
<div class="content {$kBlock|escape:'html':'UTF-8'}-block-content">
{assign var=blockElement value=$input.params[$kBlock]}
{foreach $blockElement item=gridElement}
{if $gridElement.name == 'functional_buttons'}
{assign var=iconVal value='icon-puzzle-piece'}
{assign var=NameVal value=$gridElement.name}
{else if $gridElement.name == 'code'}
{assign var=iconVal value='icon-code'}
{assign var=NameVal value='code'}
{else}
{assign var=iconVal value=$input.elements[$gridElement.name]['icon']}
{assign var=NameVal value=$input.elements[$gridElement.name]['name']}
{/if}
<div class="{$gridElement.name|escape:'html':'UTF-8'} plist-element" data-element='{$gridElement.name|escape:'html':'UTF-8'}'><i class="{$iconVal|escape:'html':'UTF-8'}"></i> {$NameVal|escape:'html':'UTF-8'}
{if $gridElement.name == 'code'}
<div class="desc-box"><i class="icon-code"></i> tpl code</div>
{/if}
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
<a class="plist-eedit" data-element='{$gridElement.name|escape:'html':'UTF-8'}'><i class="icon-edit"></i></a>
</div>
{if $gridElement.name == 'functional_buttons'}
<div class="content">
{if isset($gridElement.element)}
{foreach $gridElement.element item=gridSubElement}
{if $gridSubElement.name == 'code'}
{assign var=iconVal value='icon-code'}
{assign var=NameVal value='code'}
{else}
{assign var=iconVal value=$input.elements[$gridSubElement.name]['icon']}
{assign var=NameVal value=$input.elements[$gridSubElement.name]['name']}
{/if}
<div class="{$gridSubElement.name|escape:'html':'UTF-8'} plist-element" data-element='{$gridSubElement.name|escape:'html':'UTF-8'}'><i class="{$iconVal|escape:'html':'UTF-8'}"></i> {$NameVal|escape:'html':'UTF-8'}
{if $gridSubElement.name == 'code'}
<div class="desc-box"><i class="icon-code"></i> tpl code</div>
{/if}
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
<a class="plist-eedit" data-element='{$gridSubElement.name|escape:'html':'UTF-8'}'><i class="icon-edit"></i></a>
</div>
{if $gridSubElement.name == 'code'}
<div class="content-code">
<textarea name="filecontent" id="filecontent" rows="5" value="" class="">{$gridSubElement.code nofilter}{* HTML form , no escape necessary *}</textarea>
</div>
{/if}
</div>
{/foreach}
{/if}
</div>
{/if}
{if $gridElement.name == 'code'}
<div class="content-code">
<textarea name="filecontent" rows="5" class="">{$gridElement.code nofilter}{* HTML form , no escape necessary *}</textarea>
</div>
{/if}
</div>
{/foreach}
</div>
</div>
{/foreach}
</div>
</div>
<div class="col-lg-4 col-md-4 element-list content">
{foreach from=$input.elements key=eKey item=eItem}
<div class="{$eKey|escape:'html':'UTF-8'} plist-element" data-element='{$eKey|escape:'html':'UTF-8'}'><i class="{$eItem.icon|escape:'html':'UTF-8'}"></i> {$eItem.name|escape:'html':'UTF-8'}
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
<a class="plist-eedit" data-element='{$eKey|escape:'html':'UTF-8'}'><i class="icon-edit"></i></a>
</div>
</div>
{/foreach}
<div class="code plist-element" data-element='code'>
<div class="desc-box"><i class="icon-code"></i> tpl code</div>
<div class="pull-right">
<a class="plist-code"><i class="icon-code"></i></a>
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<div class="content-code">
<textarea name="filecontent" rows="5" class=""></textarea>
</div>
</div>
<div class="functional_buttons plist-element" data-element='functional_buttons'>
<div class="desc-box"><i class="icon-puzzle-piece"></i> functional-buttons</div>
<div class="pull-right">
<a class="plist-eremove"><i class="icon-trash"></i></a>
</div>
<div class="content"></div>
</div>
</div>
</div>
</div>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @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,36 @@
<?php
/*
* 2007-2012 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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @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,36 @@
<?php
/*
* 2007-2012 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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @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,770 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<!-- @file modules\appagebuilder\views\templates\admin\_configure\helpers\form\form -->
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'blockLink'}
<script>
function getMaxIndex()
{
if($('.link_group').length == 0)
{
return 1;
}
else
{
var list_index = [];
$('.link_group').each(function(){
list_index.push($(this).data('index'));
})
return Math.max.apply(Math,list_index) + 1;
}
}
function updateNewLink(total_link, scroll_to_new_e, current_index, allow_add_fieldname)
{
var array_id_lang = $.parseJSON(list_id_lang);
if(allow_add_fieldname){
$('.form-group.link_group.new .form-action').trigger("change"); // FIX show_hide input follow select_box
hideOtherLanguage(id_language); // FIX when add new link, only show input in current_lang
updateField('add','link_title_'+total_link,true);
updateField('add','link_url_'+total_link,true);
updateField('add','target_type_'+total_link, false);
updateField('add','link_type_'+total_link, false);
updateField('add','cmspage_id_'+total_link, false);
updateField('add','category_id_'+total_link, false);
updateField('add','product_id_'+total_link, false);
updateField('add','manufacture_id_'+total_link, false);
updateField('add','page_id_'+total_link, false);
updateField('add','page_param_'+total_link, false);
updateField('add','supplier_id_'+total_link, false);
}
$('.link_group.new .form-group .tmp').each(function(){
// RENAME INPUT
var e_obj = $(this);
if($(this).closest(".translatable-field").length)
{
// MULTI_LANG
$.each(array_id_lang, function( index, value ) {
if (current_index == 0)
{
// ADD NEW
switch(e_obj.attr('id'))
{
case 'link_title_'+value:
e_obj.attr('id','link_title_'+total_link+'_'+value);
e_obj.attr('name','link_title_'+total_link+'_'+value);
break;
case 'link_url_'+value:
e_obj.attr('id','link_url_'+total_link+'_'+value);
e_obj.attr('name','link_url_'+total_link+'_'+value);
break;
}
}
});
}else{
// ONE_LANG
switch(e_obj.attr('id'))
{
case 'link_title_'+id_language:
e_obj.attr('id','link_title_'+total_link+'_'+id_language);
e_obj.attr('name','link_title_'+total_link+'_'+id_language);
break;
case 'link_url_'+id_language:
e_obj.attr('id','link_url_'+total_link+'_'+id_language);
e_obj.attr('name','link_url_'+total_link+'_'+id_language);
break;
default:
var old_id = e_obj.attr('id');
var old_name = e_obj.attr('name');
e_obj.attr('id',old_id+'_'+total_link);
e_obj.attr('name',old_name+'_'+total_link);
break;
}
}
});
$("#total_link").val(total_link);
}
function updateField(action, value, is_lang)
{
if (action == 'add')
{
if (is_lang == true)
{
$('#list_field_lang').val($('#list_field_lang').val()+value+',');
}
else
{
$('#list_field').val($('#list_field').val()+value+',');
}
}
else
{
// REMOVE
if (is_lang == true)
{
var old_list_field_lang = $('#list_field_lang').val();
var new_list_field_lang = old_list_field_lang.replace(value+',','');
$('#list_field_lang').val(new_list_field_lang);
}
else
{
var old_list_field = $('#list_field').val();
var new_list_field = old_list_field.replace(value+',','');
$('#list_field').val(new_list_field);
}
}
// UPDATE INDEX FORM 2,3,4,5,
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
}
$(document).off("click", ".add-new-link");
$(document).on("click", ".add-new-link", function(e) {
e.preventDefault();
addLinkForm();
});
/**
* ACTION FOR BUTTON ADD NEW
* param : index for edit ajax_widget
*/
function addLinkForm( index ){
var maxIndex = getMaxIndex();
var allow_add_fieldname = true;
if(index){
maxIndex = index;
allow_add_fieldname = false;
}
var new_link_html = '';
new_link_html += '<div class="form-group link_group new">';
$('.parent-tmp').each(function(){
new_link_html += $(this).prop('outerHTML');
new_link_html = new_link_html.replace('parent-tmp hidden','');
new_link_html = new_link_html.replace('parent-tmp','');
new_link_html = new_link_html.replace('display: none;','');
});
new_link_html += "<div class='form-group'>";
new_link_html += "<div class='col-lg-3'></div>";
new_link_html += "<div class='col-lg-9'>";
new_link_html += "<button class='fr btn btn-warning remove_link'>"+remove_button_text+"</button>";
new_link_html += '</div>';
new_link_html += '</div>';
new_link_html += '</div>';
$(new_link_html).insertBefore('.form-group.frm-add-new-link').data('index', maxIndex);
updateNewLink(maxIndex, true , 0, allow_add_fieldname);
$('.link_group.new').removeClass('new');
}
$(document).off("click", ".remove_link");
$(document).on("click", ".remove_link", function(e) {
e.preventDefault();
$(this).closest('.link_group').find('.tmp').each(function(){
// REMOVE FORM list_field, list_field_lang
var name_val = $(this).attr('name');
if($(this).closest(".translatable-field").length)
{
name_val = name_val.substring(0, name_val.lastIndexOf('_'));
updateField('remove',name_val,true);
}
else
{
updateField('remove',name_val,false);
}
});
$(this).closest('.link_group').fadeOut(function(){
// REMOVE FORM
$(this).remove();
var total_link = parseInt($("#total_link").val())-1;
$("#total_link").val(total_link);
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
});
});
$(document).off("change", ".form-action");
$(".form-action").each(function(e) {
$(this).attr('data-name', $(this).attr('name') );
});
$(document).on("change", ".link_group .form-action", function(e) {
var elementName = $(this).attr('data-name');
$('.' + elementName + '_sub', $(this).closest('.form-group.link_group')).hide();
$('.' + elementName + '-' + $(this).val(), $(this).closest('.form-group.link_group')).show();
});
/**
* AJAX FOR EDIT BLOCKLINK WIDGET
*/
function editWidgetLink()
{
if ($('#list_id_link').length && $('#list_id_link').val() != '')
{
var list_id_link = $('#list_id_link').val().split(',');
$.each(list_id_link, function( index, value ) {
if (value != '')
{
// GENERATE FORM
addLinkForm(value);
}
});
$.each(listData, function( index, value ) {
// FILL DATA INTO FORM
$('#'+index).val(value);
$('#'+index).val(value).prop('selected', true);;
});
setTimeout(function(){
// SHOW_HIDE INPUT FOLLOW SELECT_BOX
$('.form-group.link_group .form-action').trigger("change");
}, 500);
}
}
editWidgetLink();
</script>
{/if}
{if $input.type == 'leoalert'}
{if $input.show}
<div class="alert alert-danger">
{if isset($input.href) && $input.href}
<a href="{$input.href}" target="_blank">
{/if}
{$input.html_text}
{if isset($input.href) && $input.href}
</a>
{/if}
</div>
{/if}
{/if}
{if $input.type == 'counterbox'}
<script>
function getMaxIndex()
{
if($('.link_group').length == 0)
{
return 1;
}
else
{
var list_index = [];
$('.link_group').each(function(){
list_index.push($(this).data('index'));
})
return Math.max.apply(Math,list_index) + 1;
}
}
function updateNewLink(total_link, scroll_to_new_e, current_index, allow_add_fieldname)
{
var array_id_lang = $.parseJSON(list_id_lang);
if(allow_add_fieldname){
$('.form-group.link_group.new .form-action').trigger("change"); // FIX show_hide input follow select_box
hideOtherLanguage(id_language); // FIX when add new link, only show input in current_lang
updateField('add','link_title_'+total_link,true);
updateField('add','bootom_html_'+total_link, true);
updateField('add','min_'+total_link,false);
updateField('add','max_'+total_link, false);
updateField('add','increment_'+total_link, false);
updateField('add','number_suffix_'+total_link, false);
updateField('add','delay_'+total_link, false);
updateField('add','counterclass_'+total_link, false);
}
$('.link_group.new .form-group .tmp').each(function(){
// RENAME INPUT
var e_obj = $(this);
if($(this).closest(".translatable-field").length)
{
// MULTI_LANG
$.each(array_id_lang, function( index, value ) {
if (current_index == 0)
{
// ADD NEW
switch(e_obj.attr('id'))
{
case 'link_title_'+value:
e_obj.attr('id','link_title_'+total_link+'_'+value);
e_obj.attr('name','link_title_'+total_link+'_'+value);
break;
case 'bootom_html_'+value:
e_obj.attr('id','bootom_html_'+total_link+'_'+value);
e_obj.attr('name','bootom_html_'+total_link+'_'+value);
break;
}
}
});
}else{
// ONE_LANG
switch(e_obj.attr('id'))
{
case 'link_title_'+id_language:
e_obj.attr('id','link_title_'+total_link+'_'+id_language);
e_obj.attr('name','link_title_'+total_link+'_'+id_language);
break;
case 'bootom_html_'+id_language:
e_obj.attr('id','bootom_html_'+total_link+'_'+id_language);
e_obj.attr('name','bootom_html_'+total_link+'_'+id_language);
break;
default:
var old_id = e_obj.attr('id');
var old_name = e_obj.attr('name');
e_obj.attr('id',old_id+'_'+total_link);
e_obj.attr('name',old_name+'_'+total_link);
break;
}
}
});
$("#total_link").val(total_link);
}
function updateField(action, value, is_lang)
{
if (action == 'add')
{
if (is_lang == true)
{
$('#list_field_lang').val($('#list_field_lang').val()+value+',');
}
else
{
$('#list_field').val($('#list_field').val()+value+',');
}
}
else
{
// REMOVE
if (is_lang == true)
{
var old_list_field_lang = $('#list_field_lang').val();
var new_list_field_lang = old_list_field_lang.replace(value+',','');
$('#list_field_lang').val(new_list_field_lang);
}
else
{
var old_list_field = $('#list_field').val();
var new_list_field = old_list_field.replace(value+',','');
$('#list_field').val(new_list_field);
}
}
// UPDATE INDEX FORM 2,3,4,5,
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
}
$(document).off("click", ".add-new-link");
$(document).on("click", ".add-new-link", function(e) {
e.preventDefault();
addLinkForm();
});
/**
* ACTION FOR BUTTON ADD NEW
* param : index for edit ajax_widget
*/
function addLinkForm( index ){
var maxIndex = getMaxIndex();
var allow_add_fieldname = true;
if(index){
maxIndex = index;
allow_add_fieldname = false;
}
var new_link_html = '';
new_link_html += '<div class="form-group link_group new">';
$('.parent-tmp').each(function(){
new_link_html += $(this).prop('outerHTML');
new_link_html = new_link_html.replace('parent-tmp hidden','');
new_link_html = new_link_html.replace('parent-tmp','');
new_link_html = new_link_html.replace('display: none;','');
});
new_link_html += "<div class='form-group'>";
new_link_html += "<div class='col-lg-3'></div>";
new_link_html += "<div class='col-lg-9'>";
new_link_html += "<button class='fr btn btn-warning remove_link'>"+remove_button_text+"</button>";
new_link_html += '</div>';
new_link_html += '</div>';
new_link_html += '</div>';
$(new_link_html).insertBefore('.form-group.frm-add-new-link').data('index', maxIndex);
updateNewLink(maxIndex, true , 0, allow_add_fieldname);
$('.link_group.new').removeClass('new');
}
$(document).off("click", ".remove_link");
$(document).on("click", ".remove_link", function(e) {
e.preventDefault();
$(this).closest('.link_group').find('.tmp').each(function(){
// REMOVE FORM list_field, list_field_lang
var name_val = $(this).attr('name');
if($(this).closest(".translatable-field").length)
{
name_val = name_val.substring(0, name_val.lastIndexOf('_'));
updateField('remove',name_val,true);
}
else
{
updateField('remove',name_val,false);
}
});
$(this).closest('.link_group').fadeOut(function(){
// REMOVE FORM
$(this).remove();
var total_link = parseInt($("#total_link").val())-1;
$("#total_link").val(total_link);
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
});
});
$(document).off("change", ".form-action");
$(".form-action").each(function(e) {
$(this).attr('data-name', $(this).attr('name') );
});
$(document).on("change", ".link_group .form-action", function(e) {
var elementName = $(this).attr('data-name');
$('.' + elementName + '_sub', $(this).closest('.form-group.link_group')).hide();
$('.' + elementName + '-' + $(this).val(), $(this).closest('.form-group.link_group')).show();
});
/**
* AJAX FOR EDIT BLOCKLINK WIDGET
*/
function editWidgetLink()
{
if ($('#list_id_link').length && $('#list_id_link').val() != '')
{
var list_id_link = $('#list_id_link').val().split(',');
$.each(list_id_link, function( index, value ) {
if (value != '')
{
// GENERATE FORM
addLinkForm(value);
}
});
$.each(listData, function( index, value ) {
// FILL DATA INTO FORM
$('#'+index).val(value);
$('#'+index).val(value).prop('selected', true);;
});
setTimeout(function(){
// SHOW_HIDE INPUT FOLLOW SELECT_BOX
$('.form-group.link_group .form-action').trigger("change");
}, 500);
}
}
editWidgetLink();
</script>
{/if}
{if $input.type == 'tabConfig'}
<div class="row">
{assign var=tabList value=$input.values}
<ul class="nav nav-tabs" role="tablist">
{foreach $tabList as $key => $value name="tabList"}
<li role="presentation" class="{if $smarty.foreach.tabList.first}active{/if}"><a href="#{$key|escape:'html':'UTF-8'}" class="aptab-config" role="tab" data-toggle="tab">{$value|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $input.type == 'image_url_360'}
<div class="col-lg-9">
<input type="text" value="" name="image_link_360"/>
<button type="button" class="btn btn-default btn-image_link_360">{l s='Use this image url' mod='appagebuilder'}</button>
</div>
{/if}
{if $input.type == 'selectImg'}
{if isset($input.lang) AND $input.lang}
<div class="row selectImg lang">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|escape:'html':'UTF-8'}" data-lang="{$language.id_lang|escape:'html':'UTF-8'}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-6">
{if isset($input.show_image) && $input.show_image != false}
{if isset($fields_value[$input.name][$language.id_lang]) && $fields_value[$input.name][$language.id_lang]}
<img src="{$path_image|escape:'html':'UTF-8'}{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}" class="img-thumbnail" data-img="">
{/if}
{/if}
<div style="margin-top: 10px; font-size: 13px;">
<a class="choose-img {if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{/if}" data-fancybox-type="iframe" href="{$input.href|escape:'html':'UTF-8'}" data-for="#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}">{l s='Select image' mod='appagebuilder'}</a>
-
<a class="reset-img">{l s='Reset this image' mod='appagebuilder'}</a>
-
<a class="reset-allimg">{l s='Reset all image' mod='appagebuilder'}</a>
</div>
<input id="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}" type="text" name="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}" class="hide img-value{if isset($input.class)} {$input.class|escape:'html':'UTF-8'}{/if}" value="{if isset($fields_value[$input.name][$language.id_lang]) && ($fields_value[$input.name][$language.id_lang])}{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}{/if}"/>
</div>
{if isset($input.lang) AND $input.lang }
{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|escape:'html':'UTF-8'}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|escape:'html':'UTF-8'});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{/if}
{if $languages|count > 1}
</div>
{/if}
<script type="text/javascript">
$(document).ready(function(){
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}-selectbutton').click(function(e){
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}').trigger('click');
});
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}-name').val(file[file.length-1]);
});
});
</script>
{/foreach}
</div>
{else}
<div class="row selectImg">
<div class="col-lg-6">
{if isset($input.show_image) && $input.show_image != false}
{if isset($fields_value[$input.name]) && $fields_value[$input.name]}
<img src="{$path_image|escape:'html':'UTF-8'}{$fields_value[$input.name]|escape:'html':'UTF-8'}" class="img-thumbnail" data-img="">
{/if}
{/if}
<div></div>
<a class="choose-img {if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{/if}" data-fancybox-type="iframe" href="{$input.href|escape:'html':'UTF-8'}" data-for="#{$input.name|escape:'html':'UTF-8'}">{l s='Select image' mod='appagebuilder'}</a> -
<a href="javascript:void(0)" onclick="resetLeoImage();">{l s='Reset' mod='appagebuilder'}</a>
<input id="{$input.name|escape:'html':'UTF-8'}" type="text" name="{$input.name|escape:'html':'UTF-8'}" class="hide input-s-image" value="{if isset($fields_value[$input.name]) && ($fields_value[$input.name])}{$fields_value[$input.name]|escape:'html':'UTF-8'} {/if}"/>
<script type="text/javascript">
function resetLeoImage(){
// Reset img and hidden input
$(".img-thumbnail").hide();
$(".img-thumbnail").attr('src','');
$(".input-s-image").val('');
}
</script>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#{$input.name|escape:'html':'UTF-8'}-selectbutton').click(function(e){
$('#{$input.name|escape:'html':'UTF-8'}').trigger('click');
});
$('#{$input.name|escape:'html':'UTF-8'}').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#{$input.name|escape:'html':'UTF-8'}-name').val(file[file.length-1]);
});
});
</script>
</div>
{/if}
{/if}
{if $input.type == 'img_cat'}
{assign var=tree value=$input.tree}
{assign var=imageList value=$input.imageList}
{assign var=selected_images value=$input.selected_images}
<div class="form-group form-select-icon">
<label class="control-label col-lg-3 " for="categories"> {l s='Categories' mod='appagebuilder'} </label>
<div class="col-lg-9">
{$tree}{* HTML form , no escape necessary *}
</div>
<input type="hidden" name="category_img" id="category_img" value='{$selected_images|escape:'html':'UTF-8'}'/>
<div id="list_image_wrapper" style="display:none">
<div class="list-image">
<img id="apci" src="" class="hidden" path="{$input.path_image|escape:'html':'UTF-8'}" widget="ApCategoryImage"/>
<a data-for="#apci" href="{$input.href_image|escape:'html':'UTF-8'}" class="apcategoryimage field-link choose-img"> [{l s='Select image' mod='appagebuilder'}]</a>
<input type="text" class="image_link_cat" value="" placeholder="{l s='Image Link' mod='appagebuilder'}" style="width: 100px;display: inline-block;"/>
<a href="javascript:;" class="apcategoryimage field-link remove-img hidden"> [{l s='Remove image' mod='appagebuilder'}]</a>
</div>
</div>
<script type="text/javascript">
full_loaded = true;
intiForApCategoryImage();
</script>
</div>
{/if}
{if $input.type == 'categories'}
<script type="text/javascript">
var full_loaded = undefined;
</script>
{/if}
{if $input.type == 'bg_img'}
<div class="col-lg-9 ">
<input type="text" name="bg_img" id="bg_img" value="{$fields_value['bg_img']|escape:'html':'UTF-8'}" class="">
{if strpos($fields_value['bg_img'], "/") !== false}
<img id="s-image" src="{$fields_value['bg_img']|escape:'html':'UTF-8'}"/>
{else}
<img id="s-image"{if !$fields_value['bg_img']} class="hidden" src="" {else}src="{$input['img_link']|escape:'html':'UTF-8'}{$fields_value['bg_img']|escape:'html':'UTF-8'}"{/if}/>
{/if}
<div>
<a class="choose-img" data-fancybox-type="iframe" href="{$link->getAdminLink('AdminApPageBuilderImages')|escape:'html':'UTF-8'}&ajax=1&action=manageimage&imgDir=images" data-for="#bg_img">{l s='Select image' mod='appagebuilder'}</a> -
<a class="reset-img" href="javascript:void(0)" onclick="resetBgImage();">{l s='Reset' mod='appagebuilder'}</a>
<a class="reset-allimg" href="javascript:void(0)" onclick="resetAllBgImage();">{l s='Reset All Language' mod='appagebuilder'}</a>
</div>
<p class="help-block">{l s='Please put image link or select image' mod='appagebuilder'}</p>
</div>
<script type="text/javascript">
function resetBgImage(){
// Reset img and hidden input
$("#s-image").addClass('hiden');
$("#s-image").attr('src','');
$("#bg_img").val('');
}
</script>
{/if}
{if $input.type == 'apExceptions'}
<div class="well">
<div>
{l s='Please specify the files for which you do not want it to be displayed.' mod='appagebuilder'}<br />
{l s='Please input each filename, separated by a comma (",").' mod='appagebuilder'}<br />
{l s='You can also click the filename in the list below, and even make a multiple selection by keeping the Ctrl key pressed while clicking, or choose a whole range of filename by keeping the Shift key pressed while clicking.' mod='appagebuilder'}<br />
{$exception_list}{* HTML form , no escape necessary *}
</div>
</div>
{/if}
{if $input.type == 'ApColumnclass' || $input.type == 'ApRowclass'}
<div class="">
<div class="well">
<div class="row">
{if $input.type == 'ApRowclass'}
<label class="choise-class col-lg-12"><input type="checkbox" class="chk-row" data-value="row" value="1"> {l s='Use class row' mod='appagebuilder'}</label>
{/if}
<label class="control-label col-lg-1">{$input.leolabel}</label>
<div class="col-lg-11"><input type="text" class="element_class" value="{$fields_value['class']|escape:'html':'UTF-8'}" name="class"></div>
</div><br/>
<div class="desc-bottom">
{l s='Insert new or select classes for toggling content across viewport breakpoints' mod='appagebuilder'}<br>
<ul class="ap-col-class">
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-xl-down" value="1"> {l s='Hidden on All Devices' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-lg-down" value="1"> {l s='Hidden from Large devices (screen < 1200px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-md-down" value="1"> {l s='Hidden from Medium devices (screen < 992px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-sm-down" value="1"> {l s='Hidden from Small devices (screen < 768px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-xs-down" value="1"> {l s='Hidden from Extra small devices (screen < 576px)' mod='appagebuilder'}</label>
</li>
{*<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="checkbox" data-value="hidden-xs-up" value="1"> {l s='Hidden from Smart Phone' mod='appagebuilder'}</label>
</li>*}
</ul>
</div>
</div>
</div>
{/if}
{if $input.type == 'bg_select'}
{$image_uploader}{* HTML form , no escape necessary *}
{/if}
{if $input.type == 'column_width'}
<div class="panel panel-default">
<div class="panel-body">
<p>{l s='Responsive: You can config width for each Devices' mod='appagebuilder'}</p>
</div>
<table class="table">
<thead><tr>
<th>{l s='Devices' mod='appagebuilder'}</th>
<th>{l s='Width' mod='appagebuilder'}</th>
</tr></thead>
<tbody>
{foreach $input.columnGrids as $gridKey=>$gridValue}
<tr>
<td>
<span class="col-{$gridKey|escape:'html':'UTF-8'}"></span>
{$gridValue|escape:'html':'UTF-8'}
</td>
<td>
<div class="btn-group">
<input type='hidden' class="col-val" name='{$gridKey|escape:'html':'UTF-8'}' value="{$fields_value[$gridKey]|escape:'html':'UTF-8'}"/>
<button type="button" class="btn btn-default apbtn-width dropdown-toggle" tabindex="-1" data-toggle="dropdown">
<span class="width-val ap-w-{$fields_value[$gridKey]|replace:'.':'-'|escape:'html':'UTF-8'}">{$fields_value[$gridKey]|escape:'html':'UTF-8'}/12 - ( {math equation="x/y*100" x=$fields_value[$gridKey]|replace:'-':'.' y=12 format="%.2f"} % )</span><span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$widthList item=itemWidth}
<li>
<a class="width-select" href="javascript:void(0);" tabindex="-1">
<span data-width="{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}" class="width-val ap-w-{if $itemWidth|strpos:"."|escape:'html':'UTF-8'}{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}{else}{$itemWidth|escape:'html':'UTF-8'}{/if}">{$itemWidth|escape:'html':'UTF-8'}/12 - ( {math equation="x/y*100" x=$itemWidth|replace:'-':'.' y=12 format="%.2f"} % )</span>
</a>
</li>
{/foreach}
</ul>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
{if $input.type == 'reloadControler'}
<div class="col-lg-9 ">
<div style="margin-top: 5px; font-size: 13px;">
<a class="reload-controller-exception" href="javascript:void(0);">{l s='Reload' mod='appagebuilder'}</a>
</div>
</div>
<script>
$(document).off('click', '.reload-controller-exception').on('click', '.reload-controller-exception', function(){
$($globalthis.currentElement).data('form').reloadControllerException = '1';
var idFormApRow = $($globalthis.currentElement).data('form').form_id;
$('.'+idFormApRow+' .btn-edit').first().click();
$($globalthis.currentElement).data('form').reloadControllerException = '0';
});
</script>
{/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-2019 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-2019 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-2019 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;