Add initial files and templates for Omnibus EU Free module

- Added yt_logo.png image for branding.
- Created index.php for views and templates with license notice and redirection.
- Implemented back.js for reload functionality with event listener.
- Developed configure.tpl for admin configuration panel with documentation links.
- Established products-price-list.tpl for displaying product pricing information.
- Created presta_studio_omnibus_price.tpl for displaying price history and discounts.
- Added index.php files in various directories for consistent redirection and license notice.
This commit is contained in:
2026-01-15 00:03:18 +01:00
parent 1112b7532c
commit 835dd83e54
55 changed files with 5067 additions and 2013 deletions

View File

@@ -0,0 +1,76 @@
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
.module-omnibuseufree h2{
padding-top:0 !important;
}
.presta-studio-omnibus-header{
display: flex;
justify-content: space-between;
}
.presta-studio-documentation-list,
.bootstrap ul.presta-studio-documentation-list {
margin-bottom:20px;
}
.presta-studio-omnibus-header-right a img{
margin-left:16px;
}
.presta-studio-omnibus-header-left i{
margin-top: -2px;
margin-right: 5px;
font-size: 20px;
vertical-align: middle;
}
.presta-studio-ads,
.presta-studio-ads-mobile{
border:1px solid #000;
}
.presta-studio-ads-mobile{
display: none;
}
.presta-studio-ads{
display: inline-block;
max-width: 100%;
height: auto;
}
.omnibus-select-version{
min-width: 310px !important;
}
.omnibus-input-days{
width: 64px !important;
}
@media (max-width: 450px) {
.presta-studio-omnibus-header-right .follow-presta-studio {
display: none;
}
}
@media (max-width: 900px) {
.presta-studio-ads-mobile{
display: inline-block;
max-width: 100%;
height: auto;
}
.presta-studio-ads{
display: none;
}
}

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
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,17 @@
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
.presta-studio-price-history .presta-studio-price-history-text{
color: #000000;
font-size: 0.875rem;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
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 @@
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
document.addEventListener("DOMContentLoaded", function() {
var OmnibusReloadButton = document.getElementById("omnibuseu-by-presta-studio-reload");
if (OmnibusReloadButton) {
OmnibusReloadButton.onclick = function() {
location.reload();
};
}
});

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
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,77 @@
{*
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*
*}
<div class="panel">
<div class="panel-heading">
<div class="presta-studio-omnibus-header">
<div class="presta-studio-omnibus-header-left">
<i class="icon icon-tags"></i>{l s='Documentation' mod='omnibuseufree'}
</div>
<div class="presta-studio-omnibus-header-right">
<a href="https://presta.studio" target="_blank"><img src="{$module_dir}views/img/presta_studio_logo.png" width="92" height="16" alt="presta.studio"></a>
<a href="https://www.youtube.com/@presta.studio" target="_blank" class="follow-presta-studio"><img src="{$module_dir}views/img/yt_logo.png" width="71" height="16" alt="Follow us on YouTube"></a>
</div>
</div>
</div>
<div class="panel-body">
<p>&raquo; {l s='Module installation and configuration' mod='omnibuseufree'}:</p>
<ul class="presta-studio-documentation-list">
<li><a href="https://presta.studio/omnibus-documentation-en" target="_blank">{l s='English' mod='omnibuseufree'}</a></li>
<li><a href="https://presta.studio/omnibus-documentation-pl" target="_blank">{l s='Polish' mod='omnibuseufree'}</a></li>
</ul>
<p >&raquo; {l s='Follow us on' mod='omnibuseufree'}:</p>
<ul>
<li><a href="https://www.youtube.com/@presta.studio" target="_blank">YouTube</a></li>
<li><a href="https://presta.studio/github" target="_blank">GitHub</a></li>
</ul>
</div>
</div>
<div class="panel">
<div class="panel-body text-center">
{if $lang == 'pl'}
<a href="https://presta.studio/pl/" target="_blank"><img src="{$module_dir}views/img/baner_pl.png" width="750" height="100" class="presta-studio-ads"></a>
<a href="https://presta.studio/pl/" target="_blank"><img src="{$module_dir}views/img/baner_mobile_pl.png" width="300" height="250" class="presta-studio-ads-mobile"></a>
{else}
<a href="https://presta.studio/" target="_blank"><img src="{$module_dir}views/img/baner_en.png" width="750" height="100" class="presta-studio-ads"></a>
<a href="https://presta.studio/" target="_blank"><img src="{$module_dir}views/img/baner_mobile_en.png" width="300" height="250" class="presta-studio-ads-mobile"></a>
{/if}
</div>
</div>
<div class="panel">
<div class="panel-heading">
<i class="material-icons md48">sync</i>{l s='CRON' mod='omnibuseufree'}
</div>
<div class="panel-body form-horizontal">
<div class="form-group">
<label class="control-label col-lg-4">
{l s='Update prices' mod='omnibuseufree'}
</label>
<div class="col-lg-8">
<input type="text" class="form-control disabled" id="omnibus-cron-update-prices" disabled value="{if $cron_status == '1'}{$update_prices}{else}{l s='CRON is disabled.' mod='omnibuseufree'}{/if}"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">
{l s='Delete outdated data' mod='omnibuseufree'}
</label>
<div class="col-lg-8">
<input type="text" class="form-control disabled" id="omnibus-cron-outdated-data" disabled value="{if $cron_status == '1'}{$delete_outdated_data}{else}{l s='CRON is disabled.' mod='omnibuseufree'}{/if}"/>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
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,50 @@
{*
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*
*}
<div class="mb-4">
<button type="button" class="btn btn-primary" aria-label="Iceberg" id="omnibuseu-by-presta-studio-reload">
<i class="material-icons">rotate_right</i> {l s='Refresh page' mod='omnibuseufree'}
</button>
<div class="small mt-1 font-weight-bold">
{l s='Save changes before refresh page!' mod='omnibuseufree'}
</div>
</div>
<table class="table table-hover">
<thead>
<tr>
<th>{l s='ID: ' mod='omnibuseufree'}</th>
<th>{l s='Product name: ' mod='omnibuseufree'}</th>
<th>{l s='Price: ' mod='omnibuseufree'}</th>
<th>{l s='Currency: ' mod='omnibuseufree'}</th>
<th>{l s='Last value: ' mod='omnibuseufree'}</th>
<th>{l s='Date Added: ' mod='omnibuseufree'}</th>
</tr>
</thead>
<tbody>
{if !empty($OmnibuseufreeData)}
{foreach from=$OmnibuseufreeData item=item key=key}
<tr>
<th scope="row">{$key+1}</th>
<td>{$item.name}</td>
<td>{$item.price_locale}</td>
<td>{$item.currency_iso_code}</td>
<td>{$item.is_last_icon}</td>
<td>{$item.date_add}</td>
</tr>
{/foreach}
{/if}
</tbody>
</table>

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
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,31 @@
{*
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*
*}
{if $OmnibuseufreeProductDiscount == true}
<div class="presta-studio-price-history">
<p class="presta-studio-price-history-text">
{if $OmnibuseufreeInfoVersion == 2}
{if $OmnibuseufreeProductPriceMin != null}
{l s='Lowest price in %d days before discount: ' sprintf=[$OmnibuseufreeNumberOfDays] mod='omnibuseufree'}<span class="presta-studio-price-history-price">{$OmnibuseufreeProductPriceMin}</span>
{else}
{* when history is empty *}
{l s='Lowest price in %d days: ' sprintf=[$OmnibuseufreeNumberOfDays] mod='omnibuseufree'}<span class="presta-studio-price-history-price">{$OmnibuseufreeProductPriceCurrent}</span>
{/if}
{else}
{l s='Lowest price in %d days: ' sprintf=[$OmnibuseufreeNumberOfDays] mod='omnibuseufree'}<span class="presta-studio-price-history-price">{$OmnibuseufreeProductPriceMin}</span>
{/if}
</p>
</div>
{/if}

View File

@@ -0,0 +1,23 @@
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the Apache License, Version 2.0
* that is bundled with this package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author presta.studio
* @copyright Copyright (c) 2023 presta.studio
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
*/
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;