This commit is contained in:
2025-10-20 14:10:54 +02:00
parent 75ca8fd840
commit d2c1970ef8
732 changed files with 101915 additions and 2 deletions

View File

@@ -0,0 +1,138 @@
.btn-sso {
display: flex;
align-items: center;
gap: 15px;
border: 1px solid transparent;
}
.btn-sso[data-theme="light"] {
border-color: #a3a3a3;
}
.btn-sso:hover {
filter: brightness(0.85);
color: #fff;
}
.btn-sso img {
width: 20px;
height: 20px;
}
.pshowsso-buttons {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 15px;
justify-content: center;
}
/* github */
.btn-sso-github[data-theme="dark"] {
background: #333;
color: #fff;
}
.btn-sso-github[data-theme="dark"] img {
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(92deg) brightness(101%) contrast(101%);
}
.btn-sso-github[data-theme="light"] {
background: #fff;
color: #111;
}
/* /github */
/* google */
.btn-sso-google[data-theme="dark"] {
background: #111;
color: #fff;
}
.btn-sso-google[data-theme="light"] {
background: #fff;
color: #111;
}
/* /google */
/* apple */
.btn-sso-apple[data-theme="dark"] {
background: #111;
color: #fff;
}
.btn-sso-apple[data-theme="dark"] img {
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(92deg) brightness(101%) contrast(101%);
}
.btn-sso-apple[data-theme="light"] {
background: #fff;
color: #111;
}
/* /apple */
/* facebook */
.btn-sso-facebook[data-theme="dark"] {
background: #111;
color: #fff;
}
.btn-sso-facebook[data-theme="light"] {
background: #fff;
color: #111;
}
/* /facebook */
/* x */
.btn-sso-x[data-theme="dark"] {
background: #111;
color: #fff;
}
.btn-sso-x[data-theme="light"] {
background: #fff;
color: #111;
}
.btn-sso-x[data-theme="light"] img {
filter: brightness(0) saturate(100%);
}
/* /x */
/* x */
.btn-sso-microsoft[data-theme="dark"] {
background: #111;
color: #fff;
}
.btn-sso-microsoft[data-theme="light"] {
background: #fff;
color: #111;
}
/* /x */
/* keycloak */
.btn-sso-keycloak[data-theme="dark"] {
background: #111;
color: #fff;
}
.btn-sso-keycloak[data-theme="light"] {
background: #fff;
color: #111;
}
/* /keycloak */

View File

@@ -0,0 +1,23 @@
<?php
/**
* File from https://prestashow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @authors PrestaShow.pl <kontakt@prestashow.pl>
*
* @copyright 2018 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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 @@
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" version="1.1" viewBox="0 12 13 18"><path d="m13.0729 17.6825a3.61 3.61 0 0 0 -1.7248 3.0365 3.5132 3.5132 0 0 0 2.1379 3.2223 8.394 8.394 0 0 1 -1.0948 2.2618c-.6816.9812-1.3943 1.9623-2.4787 1.9623s-1.3633-.63-2.613-.63c-1.2187 0-1.6525.6507-2.644.6507s-1.6834-.9089-2.4787-2.0243a9.7842 9.7842 0 0 1 -1.6628-5.2776c0-3.0984 2.014-4.7405 3.9969-4.7405 1.0535 0 1.9314.6919 2.5924.6919.63 0 1.6112-.7333 2.8092-.7333a3.7579 3.7579 0 0 1 3.1604 1.5802zm-3.7284-2.8918a3.5615 3.5615 0 0 0 .8469-2.22 1.5353 1.5353 0 0 0 -.031-.32 3.5686 3.5686 0 0 0 -2.3445 1.2084 3.4629 3.4629 0 0 0 -.8779 2.1585 1.419 1.419 0 0 0 .031.2892 1.19 1.19 0 0 0 .2169.0207 3.0935 3.0935 0 0 0 2.1586-1.1368z"></path></svg>

After

Width:  |  Height:  |  Size: 760 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" style="fill:#fff" aria-hidden="true">
<path d="M20.181 35.87C29.094 34.791 36 27.202 36 18c0-9.941-8.059-18-18-18S0 8.059 0 18c0 8.442 5.811 15.526 13.652 17.471L14 34h5.5l.681 1.87Z"></path>
<path style="fill:#0765ff;fill-rule:evenodd"
d="M13.651 35.471v-11.97H9.936V18h3.715v-2.37c0-6.127 2.772-8.964 8.784-8.964 1.138 0 3.103.223 3.91.446v4.983c-.425-.043-1.167-.065-2.081-.065-2.952 0-4.09 1.116-4.09 4.025V18h5.883l-1.008 5.5h-4.867v12.37a18.183 18.183 0 0 1-6.53-.399Z"></path>
</svg>

After

Width:  |  Height:  |  Size: 568 B

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16" version="1.1">
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
</svg>

After

Width:  |  Height:  |  Size: 694 B

View File

@@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"/><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"/><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"/><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"/><path d="M1 1h22v22H1z" fill="none"/></svg>

After

Width:  |  Height:  |  Size: 743 B

View File

@@ -0,0 +1,22 @@
<?php
/**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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 @@
<svg enable-background="new 0 0 1024 1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><circle cx="512" cy="512" fill="#008aaa" r="512"/><path d="m786.2 395.5h-80.6c-1.5 0-3-.8-3.7-2.1l-64.7-112.2c-.8-1.3-2.2-2.1-3.8-2.1h-264c-1.5 0-3 .8-3.7 2.1l-67.3 116.4-64.8 112.2c-.7 1.3-.7 2.9 0 4.3l64.8 112.2 67.2 116.5c.7 1.3 2.2 2.2 3.7 2.1h264.1c1.5 0 3-.8 3.8-2.1l64.8-112.2c.7-1.3 2.2-2.2 3.7-2.1h80.6c2.7 0 4.8-2.2 4.8-4.8v-223.3c-.1-2.7-2.3-4.9-4.9-4.9zm-308.7 235.1-20.3 35c-.3.5-.8 1-1.3 1.3-.6.3-1.2.5-1.9.5h-40.3c-1.4 0-2.7-.7-3.3-2l-60.1-104.3-5.9-10.3-21.6-36.9c-.3-.5-.5-1.1-.4-1.8 0-.6.2-1.3.5-1.8l21.7-37.6 65.9-114c.7-1.2 2-2 3.3-2h40.2c.7 0 1.4.2 2.1.5.5.3 1 .7 1.3 1.3l20.3 35.2c.6 1.2.5 2.7-.2 3.8l-65.1 112.8c-.3.5-.4 1.1-.4 1.6 0 .6.2 1.1.4 1.6l65.1 112.7c.9 1.5.8 3.1 0 4.4zm202.1-116.7-21.6 36.9-5.9 10.3-60.1 104.3c-.7 1.2-1.9 2-3.3 2h-40.3c-.7 0-1.3-.2-1.9-.5-.5-.3-1-.7-1.3-1.3l-20.3-35c-.9-1.3-.9-2.9-.1-4.2l65.1-112.7c.3-.5.4-1.1.4-1.6 0-.6-.2-1.1-.4-1.6l-65.1-112.8c-.7-1.2-.8-2.6-.2-3.8l20.3-35.2c.3-.5.8-1 1.3-1.3.6-.4 1.3-.5 2.1-.5h40.4c1.4 0 2.7.7 3.3 2l65.9 114 21.7 37.6c.3.6.5 1.2.5 1.8 0 .4-.2 1-.5 1.6z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><title>MS-SymbolLockup</title><rect x="1" y="1" width="9" height="9" fill="#f25022"/><rect x="1" y="11" width="9" height="9" fill="#00a4ef"/><rect x="11" y="1" width="9" height="9" fill="#7fba00"/><rect x="11" y="11" width="9" height="9" fill="#ffb900"/></svg>

After

Width:  |  Height:  |  Size: 343 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true"><g><path style="fill:#fff" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg>

After

Width:  |  Height:  |  Size: 283 B

View File

@@ -0,0 +1,23 @@
<?php
/**
* File from https://prestashow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @authors PrestaShow.pl <kontakt@prestashow.pl>
*
* @copyright 2018 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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,74 @@
{# **
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
* #}
{% extends '@Modules/pshowsso/vendor/prestashow/presta-base-v1/Resources/views/admin/admin_controller.html.twig' %}
{% block module_content %}
{{ form_start(configurationForm) }}
<div class="card">
<h3 class="card-header">
<i class="material-icons">edit</i> {{ serviceName }}
</h3>
<div class="card-body">
<div class="form-wrapper">
{{ form_widget(configurationForm) }}
</div>
</div>
<div class="card-footer">
<div class="d-flex justify-content-end">
<button class="btn btn-primary">{{ 'Save'|trans({}, 'Modules.Pshowsso.Admin') }}</button>
</div>
</div>
</div>
{{ form_end(configurationForm) }}
<div class="alert alert-info d-print-none" role="alert">
<div class="alert-text">
<p>
{{ 'Test logging in with the button:'|trans({}, 'Modules.Pshowsso.Admin') }}
&nbsp;
<a href="{{ frontLoginUrl }}" class="btn btn-default btn-sm btn-xs" target="_blank">
{{ 'Sign in with'|trans({}, 'Modules.Pshowsso.Admin') }} {{ serviceName }}
</a>
</p>
</div>
<p>&nbsp;</p>
<div class="alert-text">
<p>{{ 'You can place the login button anywhere in the template (.tpl) using the code:'|trans({}, 'Modules.Pshowsso.Admin') }}</p>
<p><code>{hook h='displaySSOButton' service='{{ serviceName|lower }}'}</code></p>
</div>
<p>&nbsp;</p>
<div class="alert-text">
<p>
{{ 'Change the appearance of the button by copying the file:'|trans({}, 'Modules.Pshowsso.Admin') }}
<p>
<code>
{{ shopRootDir }}/modules/pshowsso/views/templates/sso_btn/default.tpl
</code>
</p>
<p>{{ 'to:'|trans({}, 'Modules.Pshowsso.Admin') }}</p>
<p>
<code>
{{ currentThemeDir }}modules/pshowsso/views/templates/sso_btn/{{ serviceName|lower }}.tpl
</code>
</p>
</div>
</div>
{% endblock %}
{# {% block javascripts %} #}
{# {{ parent() }} #}
{# #}{# <script src="{{ asset('../modules/blockwishlist/public/form.bundle.js') }}"></script> #}
{# {% endblock %} #}

View File

@@ -0,0 +1,98 @@
{# **
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
* #}
<ul class="nav nav-pills">
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'Apple' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'apple'}) }}"
>
Apple
{# <span class="notification-container"> #}
{# <span class="notification-counter" style="background: green;">&nbsp;&nbsp;</span> #}
{# </span> #}
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'Facebook' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'facebook'}) }}"
>
Facebook
{# <span class="notification-container"> #}
{# <span class="notification-counter" style="background: green;">&nbsp;&nbsp;</span> #}
{# </span> #}
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'Github' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'github'}) }}"
>
Github
{# <span class="notification-container"> #}
{# <span class="notification-counter" style="background: green;">&nbsp;&nbsp;</span> #}
{# </span> #}
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'Google' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'google'}) }}"
>
Google
{# <span class="notification-container"> #}
{# <span class="notification-counter" style="background: green;">&nbsp;&nbsp;</span> #}
{# </span> #}
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'Microsoft' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'microsoft'}) }}"
>
Microsoft
{# <span class="notification-container"> #}
{# <span class="notification-counter" style="background: gray;">&nbsp;&nbsp;</span> #}
{# </span> #}
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'X' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'x'}) }}"
>
X (Twitter)
{# <span class="notification-container"> #}
{# <span class="notification-counter" style="background: gray;">&nbsp;&nbsp;</span> #}
{# </span> #}
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'Keycloak' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'keycloak'}) }}"
>
Keycloak
</a>
</li>
<li class="nav-item">
<a
class="nav-link tab {% if serviceName == 'More' %}active{% endif %}"
href="{{ url('pshowsso.admin.config', {'service': 'more'}) }}"
>
...more
{# <span class="notification-container"> #}
{# <span class="notification-counter">+</span> #}
{# </span> #}
</a>
</li>
</ul>

View File

@@ -0,0 +1,22 @@
<?php
/**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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,29 @@
{#**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*#}
{% extends '@Modules/pshowsso/vendor/prestashow/presta-base-v1/Resources/views/admin/admin_controller.html.twig' %}
{% block module_content %}
<div class="row justify-content-center">
<div class="col-xl-10">
<div class="card">
<h3 class="card-header">
<i class="material-icons">edit</i>
{{ 'More services?'|trans({}, 'Modules.Pshowsso.Admin') }}
</h3>
<div class="card-body">
{{ 'Need to log in through another service? Write to us!'|trans({}, 'Modules.Pshowsso.Admin') }}
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -0,0 +1,16 @@
{**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*}
<div class="pshowsso-buttons">
{foreach from=$buttons item='button'}
{$button nofilter}
{/foreach}
</div>

View File

@@ -0,0 +1,21 @@
<?php
/**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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,23 @@
<?php
/**
* File from https://prestashow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @authors PrestaShow.pl <kontakt@prestashow.pl>
*
* @copyright 2018 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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,19 @@
{**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*}
<a class="list-group-item" href="{$link->getAdminLink("AdminModules", true, true, ['configure' => 'pshowsso'])}">
{l s='Configuration' mod='pshowsso'}
</a>
<style>
a.list-group-item[href="{$link->getAdminLink("{$PSHOW_MODULE_CLASS_NAME_}Hook", true)}"] { display: none; }
a.list-group-item[href="{$link->getAdminLink("{$PSHOW_MODULE_CLASS_NAME_}Settings", true)}"] { display: none; }
</style>

View File

@@ -0,0 +1,15 @@
{**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*}
<a href="{$url}" class="btn btn-sso btn-sso-{$service}" data-theme="{$theme}">
<img src="{$logo_url}" alt=""/>
{$label}
</a>

View File

@@ -0,0 +1,21 @@
<?php
/**
* File from http://PrestaShow.pl
*
* DISCLAIMER
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future.
*
* @author PrestaShow.pl <kontakt@prestashow.pl>
* @copyright Since 2014 PrestaShow.pl
* @license https://prestashow.pl/license
*/
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;