diff --git a/admin-dev/themes/default/css/admin-theme.css b/admin-dev/themes/default/css/admin-theme.css index ad50e541c..1c7f08fba 100644 --- a/admin-dev/themes/default/css/admin-theme.css +++ b/admin-dev/themes/default/css/admin-theme.css @@ -8176,34 +8176,30 @@ a.link-social:hover { margin-bottom: 15px; } /* line 17, admin-theme/_admin-commons.sass */ -textarea { - resize: none; } - -/* line 20, admin-theme/_admin-commons.sass */ .thumbnail { background-color: white; border-color: #cccccc !important; } -/* line 24, admin-theme/_admin-commons.sass */ +/* line 21, admin-theme/_admin-commons.sass */ .badge, #header_notifs_icon_wrapper .notifs_badge, .badge.badge-success, .badge.badge-error { background-color: #8fc04d; } -/* line 26, admin-theme/_admin-commons.sass */ +/* line 23, admin-theme/_admin-commons.sass */ #header_notifs_icon_wrapper .badge-success.notifs_badge, .badge-success.badge { background-color: #5cb85c; } -/* line 29, admin-theme/_admin-commons.sass */ +/* line 26, admin-theme/_admin-commons.sass */ #header_notifs_icon_wrapper .badge-error.notifs_badge, .badge-error.badge { background-color: #d9534f; } -/* line 34, admin-theme/_admin-commons.sass */ +/* line 31, admin-theme/_admin-commons.sass */ .nav-tabs { border-bottom: none; } -/* line 36, admin-theme/_admin-commons.sass */ +/* line 33, admin-theme/_admin-commons.sass */ .nav-tabs li a { font-size: 1.1em; font-family: "Ubuntu", sans-serif; text-transform: uppercase; font-weight: 300; } -/* line 42, admin-theme/_admin-commons.sass */ +/* line 39, admin-theme/_admin-commons.sass */ .nav-tabs li.active a, .nav-tabs li.active a:hover { background-color: white; } diff --git a/admin-dev/themes/default/js/admin-theme.js b/admin-dev/themes/default/js/admin-theme.js index 1955c9116..fadac511a 100755 --- a/admin-dev/themes/default/js/admin-theme.js +++ b/admin-dev/themes/default/js/admin-theme.js @@ -33,23 +33,23 @@ $( document ).ready(function() { $('.maintab').not('.active').closest('.submenu').hide(); $('#nav-sidebar li.maintab.has_submenu').append(''); $('#nav-sidebar .submenu_expand').on('click',function(){ - var $navId = $(this).parent(); - $('.submenu-collapse').remove(); - if($('.expanded').length ){ - $('.expanded > ul').slideUp( - 'fast', - function(){ - var $target = $('.expanded'); - $target.removeClass('expanded'); - $($navId).not($target).not('.active').addClass('expanded'); - $($navId).not($target).not('.active').children('ul:first').hide().slideDown(); - } - ); - } - else { - $($navId).not('.active').addClass('expanded'); - $($navId).not('.active').children('ul:first').hide().slideDown(); - } + var $navId = $(this).parent(); + $('.submenu-collapse').remove(); + if($('.expanded').length ){ + $('.expanded > ul').slideUp( + 'fast', + function(){ + var $target = $('.expanded'); + $target.removeClass('expanded'); + $($navId).not($target).not('.active').addClass('expanded'); + $($navId).not($target).not('.active').children('ul:first').hide().slideDown(); + } + ); + } + else { + $($navId).not('.active').addClass('expanded'); + $($navId).not('.active').children('ul:first').hide().slideDown(); + } }); } //nav top bar @@ -61,45 +61,47 @@ $( document ).ready(function() { $('.expanded').removeClass('expanded'); $('#nav-topbar').on('mouseenter', 'li.maintab.has_submenu', - function(){ - $(this).addClass('expanded'); - }); + function(){ + $(this).addClass('expanded'); + }); $('#nav-topbar').on('mouseleave', 'li.maintab.has_submenu', - function(){ - $(this).removeClass('expanded'); + function(){ + $(this).removeClass('expanded'); }); //todo hide element over menu width on load $('#nav-topbar').find('li.maintab').each( - function(){ + function(){ if ($(this).position().top > 0) { - $(this).addClass('hide'); + $(this).addClass('hide'); } - }); + }); //todo hide element over menu width on resize $(window).on('resize', function() { - $('#nav-topbar ul.menu').find('li.maintab').each(function(){ - if ($(this).position().top > 0) { - $(this).addClass('hide'); - } - }); + $('#nav-topbar ul.menu').find('li.maintab').each(function(){ + if ($(this).position().top > 0) { + $(this).addClass('hide'); + } + }); }); } //nav switch function navSwitch(){ - if ($('body').hasClass('page-sidebar')||$('body').hasClass('page-sidebar-closed')) + if ($('body').hasClass('page-sidebar')||$('body').hasClass('page-sidebar-closed')){ navTopbar(); - else + } else { navSidebar(); + } } //init menu - if ($('body').hasClass('page-sidebar')) + if ($('body').hasClass('page-sidebar')){ navSidebar(); - else if ($('body').hasClass('page-topbar')) + } else if ($('body').hasClass('page-topbar')) { navTopbar(); + } //tooltip $('.label-tooltip').tooltip(); @@ -115,9 +117,9 @@ $( document ).ready(function() { { $('#go-top:hidden').stop(true, true).fadeIn(); $('#go-top:hidden').removeClass('hide'); - } - else + } else { $('#go-top').stop(true, true).fadeOut(); + } } $("#go-top").click(function() { @@ -128,5 +130,4 @@ $( document ).ready(function() { animateGoTop(); }); animateGoTop(); - }); \ No newline at end of file diff --git a/admin-dev/themes/default/js/date-range-picker.js b/admin-dev/themes/default/js/date-range-picker.js new file mode 100644 index 000000000..a9af1ae76 --- /dev/null +++ b/admin-dev/themes/default/js/date-range-picker.js @@ -0,0 +1,554 @@ +/* ========================================================= + * bootstrap-datepicker.js + * http://www.eyecon.ro/bootstrap-datepicker + * ========================================================= + * Copyright 2012 Stefan Petre + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +$(function() { + var currentMonth = new Date(Date.now()); + var previousMonth = new Date(new Date(currentMonth).setMonth(currentMonth.getMonth()-1)); + $('.datepicker1').datepicker("setValue",previousMonth); + $('.datepicker2').datepicker("setValue",currentMonth); + $("#date-start").focus().addClass("input-selected"); +}); + +//click action +!function( $ ) { + var click, switched, val, start, end, over; + + // Picker object + var Datepicker = function(element, options){ + this.element = $(element); + this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy'); + this.picker = $(DPGlobal.template).appendTo(this.element).show() + .on({ + click: $.proxy(this.click, this), + mouseover: $.proxy(this.mouseover, this), + mouseout: $.proxy(this.mouseout, this) + }); + //click: $.proxy(this.click, this), + //focus: $.proxy(this.show, this), + //keyup: $.proxy(this.update, this) + + this.minViewMode = options.minViewMode||this.element.data('date-minviewmode')||0; + if (typeof this.minViewMode === 'string') { + switch (this.minViewMode) { + case 'months': + this.minViewMode = 1; + break; + case 'years': + this.minViewMode = 2; + break; + default: + this.minViewMode = 0; + break; + } + } + this.viewMode = options.viewMode||this.element.data('date-viewmode')||0; + if (typeof this.viewMode === 'string') { + switch (this.viewMode) { + case 'months': + this.viewMode = 1; + break; + case 'years': + this.viewMode = 2; + break; + default: + this.viewMode = 0; + break; + } + } + this.startViewMode = this.viewMode; + this.weekStart = options.weekStart||this.element.data('date-weekstart')||0; + this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1; + this.onRender = options.onRender; + this.fillDow(); + this.fillMonths(); + this.update(); + this.showMode(); + }; + + Datepicker.prototype = { + constructor: Datepicker, + + show: function(e) { + this.picker.show(); + + if (e ) { + e.stopPropagation(); + e.preventDefault(); + } + var that = this; + $(document).on('mousedown', function(ev){ + if ($(ev.target).closest('.datepicker').length === 0) { + that.hide(); + } + }); + this.element.trigger({ + type: 'show', + date: this.date + }); + }, + + set: function() { + var formated = DPGlobal.formatDate(this.date, this.format); + this.element.data('date', formated); + }, + + setValue: function(newDate) { + if (typeof newDate === 'string') { + this.date = DPGlobal.parseDate(newDate, this.format); + } else { + this.date = new Date(newDate); + } + this.set(); + this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); + this.fill(); + }, + + update: function(newDate){ + this.date = DPGlobal.parseDate( + typeof newDate === 'string' ? newDate : (this.isInput ? this.element.prop('value') : this.element.data('date')), + this.format + ); + this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); + this.fill(); + }, + + fillDow: function(){ + var dowCnt = this.weekStart; + var html = ''; + while (dowCnt < this.weekStart + 7) { + html += ''+DPGlobal.dates.daysMin[(dowCnt++)%7]+''; + } + html += ''; + this.picker.find('.datepicker-days thead').append(html); + }, + + fillMonths: function(){ + var html = ''; + var i = 0; + while (i < 12) { + html += ''+DPGlobal.dates.monthsShort[i++]+''; + } + this.picker.find('.datepicker-months td').append(html); + }, + + fill: function() { + var d = new Date(this.viewDate), + year = d.getFullYear(), + month = d.getMonth(), + currentDate = this.date.valueOf(); + this.picker.find('.datepicker-days th:eq(1)') + .text(year+' / '+DPGlobal.dates.months[month]); + var prevMonth = new Date(year, month-1, 28,0,0,0,0), + day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth()); + prevMonth.setDate(day); + prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + nextMonth.setDate(nextMonth.getDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var clsName, + prevY, + prevM; + while(prevMonth.valueOf() < nextMonth) { + if (prevMonth.getDay() === this.weekStart) { + html.push(''); + } + clsName = this.onRender(prevMonth); + prevY = prevMonth.getFullYear(); + prevM = prevMonth.getMonth(); + if ((prevM < month && prevY === year) || prevY < year) { + clsName += ' old'; + } else if ((prevM > month && prevY === year) || prevY > year) { + clsName += ' new'; + } + // if (prevMonth.valueOf() === currentDate) { + // clsName += ' active'; + // } + html.push(''+prevMonth.getDate() + ''); + if (prevMonth.getDay() === this.weekEnd) { + html.push(''); + } + prevMonth.setDate(prevMonth.getDate()+1); + } + this.picker.find('.datepicker-days tbody').empty().append(html.join('')); + var currentYear = this.date.getFullYear(); + + var months = this.picker.find('.datepicker-months') + .find('th:eq(1)') + .text(year) + .end() + .find('span').removeClass('active'); + if (currentYear === year) { + months.eq(this.date.getMonth()).addClass('active'); + } + + html = ''; + year = parseInt(year/10, 10) * 10; + var yearCont = this.picker.find('.datepicker-years') + .find('th:eq(1)') + .text(year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + for (var i = -1; i < 11; i++) { + html += ''+year+''; + year += 1; + } + yearCont.html(html); + + $("#datepicker .day").each(function(){ + var date_val = $(this).data("val"); + if(end&&start){ + if(date_val > start && date_val < end){ + $(this).not(".old").not(".new").addClass("range"); + } + if(date_val === start){ + $(this).not(".old").not(".new").addClass("start-selected"); + } + if(date_val === end){ + $(this).not(".old").not(".new").addClass("end-selected"); + } + } + }); + }, + + click: function(e) { + e.stopPropagation(); + e.preventDefault(); + var target = $(e.target).closest('span, td, th'); + if (target.length === 1) { + switch(target[0].nodeName.toLowerCase()) { + case 'th': + switch(target[0].className) { + case 'switch': + this.showMode(1); + break; + case 'prev': + case 'next': + this.viewDate['set'+DPGlobal.modes[this.viewMode].navFnc].call( + this.viewDate, + this.viewDate['get'+DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate) + + DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1) + ); + this.fill(); + this.set(); + break; + } + break; + + case 'span': + if (target.is('.month')) { + var month = target.parent().find('span').index(target); + this.viewDate.setMonth(month); + } else { + var year = parseInt(target.text(), 10)||0; + this.viewDate.setFullYear(year); + } + if (this.viewMode !== 0) { + this.date = new Date(this.viewDate); + this.element.trigger({ + type: 'changeDate', + date: this.date, + viewMode: DPGlobal.modes[this.viewMode].clsName + }); + } + this.showMode(-1); + this.fill(); + this.set(); + break; + + case 'td': + //reset + if (target.is('.day') && !target.is('.disabled') && !target.is('.old') && !target.is('.new')){ + // reset process for a new range + if(click === 2) { + start = null; + end = null; + click = null; + switched = false; + $("td.day").removeClass("start-selected").removeClass("end-selected"); + $(".date-input").removeClass("input-selected").removeClass("input-complete"); + $(".range").removeClass("range"); + } + //define start with first click or switched one + if (!click || switched === true) { + $(".start-selected").removeClass("start-selected"); + target.addClass("start-selected"); + start = target.data("val"); + $("#date-start").val(start); + !switched ? click = 1 : click = 2; + if(!switched){ + $("#date-end").val(null).focus().addClass("input-selected"); + target.addClass("start-selected").addClass("end-selected"); + } + $("#date-start").removeClass("input-selected").addClass("input-complete"); + } + //define end + else { + $(".end-selected").removeClass("end-selected"); + target.addClass("end-selected"); + end = target.data("val"); + $("#date-end").val(end); + click = 2; + $("#date-end").removeClass("input-selected").addClass("input-complete"); + //this.range(); + } + } + if (target.is('.old')||target.is('.new')){ + var day = parseInt(target.text(), 10)||1; + var month = this.viewDate.getMonth(); + var year = this.viewDate.getFullYear(); + if (target.is('.old')) { + month -= 1; + } else if (target.is('.new')) { + month += 1; + } + this.viewDate = new Date(year, month, Math.min(28, day),0,0,0,0); + this.fill(); + this.set(); + } + break; + } + } + }, + + range: function(){ + //range + $("#datepicker .day").each(function(){ + val = parseInt($(this).data('val'),10); + if (!end){ + if( val > start && val < over){ + $(this).not(".old").not(".new").addClass("range"); + } + } else if (!start){ + if( val > over && val < end){ + $(this).not(".old").not(".new").addClass("range"); + } + } else if (start&&end) { + $(this).addClass("range"); + } + }); + }, + + mouseover: function(e){ + //data-val from day overed + over = $(e.target).data("val"); + + //this condition will focus start just after mouseover on datepicker, but it's weird... + //if(click==2){ + //$("#date-start").focus().addClass("input-selected") + //} + + //action after first click + if(click === 1 && over){ + $("#datepicker .range").removeClass("range"); + //switch + if (start && over < start ){ + end = start; + $("#date-end").val(start).removeClass("input-selected"); + $("#date-start").val(null).focus().addClass("input-selected"); + $("#datepicker .start-selected").removeClass("start-selected").addClass("end-selected"); + start = null; + switched = true; + } else if (end && over > end ){ + start = end; + $("#date-start").val(end).removeClass("input-selected"); + $("#date-end").val(null).focus().addClass("input-selected"); + $("#datepicker .end-selected").removeClass("end-selected").addClass("start-selected"); + end = null; + switched = false; + } + if(start){ + $(".end-selected").removeClass("end-selected"); + $(e.target).addClass("end-selected"); + } else + if(end){ + $(".start-selected").removeClass("start-selected"); + $(e.target).addClass("start-selected"); + } + $(".date-input").removeClass("input-complete"); + this.range(); + } + }, + + mouseout: function(){ + if (!start||!end) { + $("#datepicker .range").removeClass("range"); + } + if (!end) { + $(".end-selected").removeClass("end-selected"); + } else + if (!start) { + $(".start-selected").removeClass("start-selected"); + } + }, + + mousedown: function(e){ + e.stopPropagation(); + e.preventDefault(); + }, + + showMode: function(dir) { + if (dir) { + this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir)); + } + this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); + } + }; + + $.fn.datepicker = function ( option, val ) { + return this.each(function () { + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options)))); + } + if (typeof option === 'string') { data[option](val) } + }); + }; + + $.fn.datepicker.defaults = { + onRender: function() { + return ''; + } + }; + $.fn.datepicker.Constructor = Datepicker; + + var DPGlobal = { + modes: [ + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + }], + dates:{ + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }, + isLeapYear: function (year) { + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); + }, + getDaysInMonth: function (year, month) { + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; + }, + parseFormat: function(format){ + var separator = format.match(/[.\/\-\s].*?/), + parts = format.split(/\W+/); + if (!separator || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separator: separator, parts: parts}; + }, + parseDate: function(date, format) { + var parts = date.split(format.separator), + date = new Date(), + val; + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + if (parts.length === format.parts.length) { + var year = date.getFullYear(), day = date.getDate(), month = date.getMonth(); + for (var i=0, cnt = format.parts.length; i < cnt; i++) { + val = parseInt(parts[i], 10)||1; + switch(format.parts[i]) { + case 'dd': + case 'd': + day = val; + date.setDate(val); + break; + case 'mm': + case 'm': + month = val - 1; + date.setMonth(val - 1); + break; + case 'yy': + year = 2000 + val; + date.setFullYear(2000 + val); + break; + case 'yyyy': + year = val; + date.setFullYear(val); + break; + } + } + date = new Date(year, month, day, 0 ,0 ,0); + } + return date; + }, + formatDate: function(date, format){ + var val = { + d: date.getDate(), + m: date.getMonth() + 1, + yy: date.getFullYear().toString().substring(2), + yyyy: date.getFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + var date = []; + for (var i=0, cnt = format.parts.length; i < cnt; i++) { + date.push(val[format.parts[i]]); + } + return date.join(format.separator); + }, + headTemplate: ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + '', + contTemplate: '' + }; + DPGlobal.template = '
'+ + '
'+ + ''+ + DPGlobal.headTemplate+ + ''+ + '
'+ + '
'+ + '
'+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + '
'+ + '
'+ + '
'+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + '
'+ + '
'+ + '
'; + +}( window.jQuery ); \ No newline at end of file diff --git a/admin-dev/themes/default/template/helpers/calendar/calendar.tpl b/admin-dev/themes/default/template/helpers/calendar/calendar.tpl new file mode 100644 index 000000000..2b2dccfb2 --- /dev/null +++ b/admin-dev/themes/default/template/helpers/calendar/calendar.tpl @@ -0,0 +1,48 @@ +
+
+
+ Date range + +
+
+ + + + +
+
+
+
+ + Compare to + +
+
+ + + + +
+
+
+ + +
+
\ No newline at end of file diff --git a/admin-dev/themes/default/template/helpers/calendar/index.php b/admin-dev/themes/default/template/helpers/calendar/index.php new file mode 100644 index 000000000..65f37686f --- /dev/null +++ b/admin-dev/themes/default/template/helpers/calendar/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/admin-dev/themes/default/template/helpers/dataviz/index.php b/admin-dev/themes/default/template/helpers/dataviz/index.php new file mode 100644 index 000000000..65f37686f --- /dev/null +++ b/admin-dev/themes/default/template/helpers/dataviz/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/admin-dev/themes/default/template/helpers/kpi/index.php b/admin-dev/themes/default/template/helpers/kpi/index.php new file mode 100644 index 000000000..65f37686f --- /dev/null +++ b/admin-dev/themes/default/template/helpers/kpi/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file diff --git a/admin-dev/themes/default/template/helpers/modules_list/index.php b/admin-dev/themes/default/template/helpers/modules_list/index.php new file mode 100644 index 000000000..65f37686f --- /dev/null +++ b/admin-dev/themes/default/template/helpers/modules_list/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../../../../../../'); +exit; \ No newline at end of file