feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
14
modules/system/views/error.php
Normal file
14
modules/system/views/error.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="<?= App::getLocale() ?>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?= Lang::get('system::lang.page.custom_error.label') ?></title>
|
||||
<link href="<?= Url::asset('/modules/system/assets/css/styles.css') ?>" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1><i class="icon-power-off warning"></i> <?= Lang::get('system::lang.page.custom_error.label') ?></h1>
|
||||
<p class="lead"><?= Lang::get('system::lang.page.custom_error.help') ?></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
72
modules/system/views/exception.php
Normal file
72
modules/system/views/exception.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Exception</title>
|
||||
<link href="<?= Url::asset('/modules/system/assets/css/styles.css') ?>" rel="stylesheet">
|
||||
<script src="<?= Url::asset('/modules/system/assets/vendor/syntaxhighlighter/scripts/shCore.js') ?>"></script>
|
||||
<script src="<?= Url::asset('/modules/system/assets/vendor/syntaxhighlighter/scripts/shBrushPhp.js') ?>"></script>
|
||||
<script src="<?= Url::asset('/modules/system/assets/vendor/syntaxhighlighter/scripts/shBrushXml.js') ?>"></script>
|
||||
<link href="<?= Url::asset('/modules/system/assets/vendor/syntaxhighlighter/styles/shCore.css') ?>">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<h1><i class="icon-power-off warning"></i> Error</h1>
|
||||
|
||||
<p class="lead">We're sorry, but an unhandled error occurred. Please see the details below.</p>
|
||||
|
||||
<div class="exception-name-block">
|
||||
<div><?= e($exception->getMessage()) ?></div>
|
||||
<p><?= $exception->getFile() ?> <span>line</span> <?= $exception->getLine() ?></p>
|
||||
</div>
|
||||
|
||||
<ul class="indicators">
|
||||
<li>
|
||||
<h3>Type</h3>
|
||||
<p><?= e($exception->getErrorType()) ?></p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Exception</h3>
|
||||
<p><?= e($exception->getClassName()) ?></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<pre class="brush: php"><?php foreach ($exception->getHighlightLines() as $line): ?><?= $line ?><?php endforeach ?></pre>
|
||||
|
||||
<h3><i class="icon-code-fork warning"></i> Stack trace</h3>
|
||||
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="right">#</th>
|
||||
<th>Called Code</th>
|
||||
<th>Document</th>
|
||||
<th class="right">Line</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($exception->getCallStack() as $stackItem): ?>
|
||||
<tr>
|
||||
<td class="right"><?= $stackItem->id ?></td>
|
||||
<td>
|
||||
<?= $stackItem->code ?>(<?php if ($stackItem->args): ?><abbr title="<?= $stackItem->args ?>">…</abbr><?php endif ?>)
|
||||
</td>
|
||||
<td><?= $stackItem->file ?></td>
|
||||
<td class="right"><?= $stackItem->line ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
SyntaxHighlighter.defaults['toolbar'] = false;
|
||||
SyntaxHighlighter.defaults['quick-code'] = false;
|
||||
SyntaxHighlighter.defaults['html-script'] = true;
|
||||
SyntaxHighlighter.defaults['first-line'] = <?= $exception->getHighlight()->startLine+1 ?>;
|
||||
SyntaxHighlighter.defaults['highlight'] = <?= $exception->getLine() ?>;
|
||||
SyntaxHighlighter.all()
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
51
modules/system/views/mail/layout-default.php
Normal file
51
modules/system/views/mail/layout-default.php
Normal file
@@ -0,0 +1,51 @@
|
||||
name = "Default layout"
|
||||
==
|
||||
{{ content|raw }}
|
||||
==
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<style type="text/css" media="screen">
|
||||
{{ brandCss|raw }}
|
||||
{{ css|raw }}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table class="wrapper layout-default" width="100%" cellpadding="0" cellspacing="0">
|
||||
|
||||
<!-- Header -->
|
||||
{% partial 'header' body %}
|
||||
{{ subject|raw }}
|
||||
{% endpartial %}
|
||||
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table class="content" width="100%" cellpadding="0" cellspacing="0">
|
||||
<!-- Email Body -->
|
||||
<tr>
|
||||
<td class="body" width="100%" cellpadding="0" cellspacing="0">
|
||||
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||
<!-- Body content -->
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
{{ content|raw }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
{% partial 'footer' body %}
|
||||
© {{ "now"|date("Y") }} {{ appName }}. All rights reserved.
|
||||
{% endpartial %}
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
48
modules/system/views/mail/layout-system.php
Normal file
48
modules/system/views/mail/layout-system.php
Normal file
@@ -0,0 +1,48 @@
|
||||
name = "System layout"
|
||||
==
|
||||
{{ content|raw }}
|
||||
|
||||
|
||||
---
|
||||
This is an automatic message. Please do not reply to it.
|
||||
==
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<style type="text/css" media="screen">
|
||||
{{ brandCss|raw }}
|
||||
{{ css|raw }}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table class="wrapper layout-system" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table class="content" width="100%" cellpadding="0" cellspacing="0">
|
||||
<!-- Email Body -->
|
||||
<tr>
|
||||
<td class="body" width="100%" cellpadding="0" cellspacing="0">
|
||||
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||
<!-- Body content -->
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
{{ content|raw }}
|
||||
|
||||
<!-- Subcopy -->
|
||||
{% partial 'subcopy' body %}
|
||||
**This is an automatic message. Please do not reply to it.**
|
||||
{% endpartial %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
23
modules/system/views/mail/partial-button.php
Normal file
23
modules/system/views/mail/partial-button.php
Normal file
@@ -0,0 +1,23 @@
|
||||
name = "Button"
|
||||
==
|
||||
{{ body|trim }} <{{ url }}>
|
||||
==
|
||||
<table class="action" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ url }}" class="button button-{{ type ?: 'primary' }}" target="_blank">{{ body }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
16
modules/system/views/mail/partial-footer.php
Normal file
16
modules/system/views/mail/partial-footer.php
Normal file
@@ -0,0 +1,16 @@
|
||||
name = "Footer"
|
||||
==
|
||||
-------------------
|
||||
{{ body|trim }}
|
||||
==
|
||||
<tr>
|
||||
<td>
|
||||
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="content-cell" align="center">
|
||||
{{ body|md_safe }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
17
modules/system/views/mail/partial-header.php
Normal file
17
modules/system/views/mail/partial-header.php
Normal file
@@ -0,0 +1,17 @@
|
||||
name = "Header"
|
||||
==
|
||||
*** {{ body|trim }} <{{ url }}>
|
||||
==
|
||||
<tr>
|
||||
<td class="header">
|
||||
{% if url %}
|
||||
<a href="{{ url }}">
|
||||
{{ body }}
|
||||
</a>
|
||||
{% else %}
|
||||
<span>
|
||||
{{ body }}
|
||||
</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
17
modules/system/views/mail/partial-panel.php
Normal file
17
modules/system/views/mail/partial-panel.php
Normal file
@@ -0,0 +1,17 @@
|
||||
name = "Panel"
|
||||
==
|
||||
{{ body|trim }}
|
||||
==
|
||||
<table class="panel break-all" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="panel-content">
|
||||
<table width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="panel-item">
|
||||
{{ body|md_safe }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
11
modules/system/views/mail/partial-promotion.php
Normal file
11
modules/system/views/mail/partial-promotion.php
Normal file
@@ -0,0 +1,11 @@
|
||||
name = "Promotion"
|
||||
==
|
||||
{{ body|trim }}
|
||||
==
|
||||
<table class="promotion break-all" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{ body|md_safe }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
12
modules/system/views/mail/partial-subcopy.php
Normal file
12
modules/system/views/mail/partial-subcopy.php
Normal file
@@ -0,0 +1,12 @@
|
||||
name = "Subcopy"
|
||||
==
|
||||
-----
|
||||
{{ body|trim }}
|
||||
==
|
||||
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
{{ body|md_safe }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
7
modules/system/views/mail/partial-table.php
Normal file
7
modules/system/views/mail/partial-table.php
Normal file
@@ -0,0 +1,7 @@
|
||||
name = "Table"
|
||||
==
|
||||
{{ body|trim }}
|
||||
==
|
||||
<div class="table">
|
||||
{{ body|md_safe }}
|
||||
</div>
|
||||
21
modules/system/views/maintenance.php
Normal file
21
modules/system/views/maintenance.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="<?= App::getLocale() ?>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?= Lang::get('system::lang.page.maintenance.label') ?></title>
|
||||
<link href="<?= Url::asset('/modules/system/assets/css/styles.css') ?>" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1><i class="icon-wrench warning"></i> <?= Lang::get('system::lang.page.maintenance.label') ?></h1>
|
||||
<p class="lead"><?= Lang::get('system::lang.page.maintenance.help') ?></p>
|
||||
<p class="lead">
|
||||
<?php if ($message): ?>
|
||||
<strong><?= Lang::get('system::lang.page.maintenance.message') ?></strong> <?= $message; ?><br />
|
||||
<?php endif; ?>
|
||||
<?php if ($willBeAvailableAt): ?>
|
||||
<strong><?= Lang::get('system::lang.page.maintenance.available_at') ?></strong> <?= $willBeAvailableAt; ?><br />
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
20
modules/system/views/pagination/simple-default.blade.php
Normal file
20
modules/system/views/pagination/simple-default.blade.php
Normal file
@@ -0,0 +1,20 @@
|
||||
@if ($paginator->hasPages())
|
||||
<ul class="pagination">
|
||||
{{-- Previous Page Link --}}
|
||||
@if ($paginator->onFirstPage())
|
||||
<li class="disabled"><span>{!! Lang::get('system::lang.pagination.previous') !!}</span></li>
|
||||
@else
|
||||
<li><a href="{{ $paginator->previousPageUrl() }}"
|
||||
rel="prev">{!! Lang::get('system::lang.pagination.previous') !!}</a></li>
|
||||
@endif
|
||||
|
||||
{{-- Next Page Link --}}
|
||||
@if ($paginator->hasMorePages())
|
||||
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">{!! Lang::get('system::lang.pagination.next') !!}</a>
|
||||
</li>
|
||||
@else
|
||||
<li class="disabled"><span>{!! Lang::get('system::lang.pagination.next') !!}</span></li>
|
||||
@endif
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
Reference in New Issue
Block a user