feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
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:
2026-08-21 19:29:00 -06:00
commit 1f72193a64
3266 changed files with 531480 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
<?= Form::open(['id' => 'pageLinksForm']) ?>
<div class="modal-header">
<button type="button" class="close" data-dismiss="popup">&times;</button>
<h4 class="modal-title"><?= e(trans('backend::lang.pagelist.page_link')) ?></h4>
</div>
<div class="modal-body">
<div class="form-group">
<select name="pagelink" class="form-control custom-select" id="pageLink">
<?php foreach ($links as $link): ?>
<option value="<?= array_get($link, 'url') ?>"><?= array_get($link, 'name') ?></option>
<?php endforeach ?>
</select>
</div>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-primary"
data-dismiss="popup"
onclick="richeditorPageLinksSelectPage($('#pageLinksForm'))">
<?= e(trans('backend::lang.form.select')) ?>
</button>
<button
type="button"
class="btn btn-default"
data-dismiss="popup">
<?= e(trans('backend::lang.form.cancel')) ?>
</button>
</div>
<?= Form::close() ?>

View File

@@ -0,0 +1,74 @@
<!-- Rich Editor -->
<?php if ($this->previewMode): ?>
<div class="form-control"><?= $value ?></div>
<?php else: ?>
<div
id="<?= $this->getId() ?>"
class="field-richeditor size-<?= $size ?> <?= $stretch?'layout-relative stretch':'' ?>"
<?php if ($fullPage): ?>
data-fullpage="true"
<?php endif ?>
<?php if ($readOnly): ?>
data-read-only="true"
<?php endif ?>
<?php if ($useMediaManager): ?>
data-use-media-manager="true"
<?php endif ?>
<?php if ($editorLang): ?>
data-editor-lang="<?= $editorLang ?>"
<?php endif ?>
<?php if ($toolbarButtons): ?>
data-toolbar-buttons="<?= implode(',', $toolbarButtons) ?>"
<?php elseif ($globalToolbarButtons): ?>
data-toolbar-buttons="<?= str_replace(" ", "", $globalToolbarButtons) ?>"
<?php endif ?>
<?php if ($allowEmptyTags): ?>
data-allow-empty-tags="<?= e($allowEmptyTags) ?>"
<?php endif ?>
<?php if ($allowTags): ?>
data-allow-tags="<?= e($allowTags) ?>"
<?php endif ?>
<?php if ($allowAttributes): ?>
data-allow-attributes="<?= e($allowAttributes) ?>"
<?php endif ?>
<?php if ($noWrapTags): ?>
data-no-wrap-tags="<?= e($noWrapTags) ?>"
<?php endif ?>
<?php if ($removeTags): ?>
data-remove-tags="<?= e($removeTags) ?>"
<?php endif ?>
<?php if ($lineBreakerTags): ?>
data-line-breaker-tags="<?= e($lineBreakerTags) ?>"
<?php endif ?>
<?php if (isset($imageStyles)): ?>
data-image-styles="<?= e(json_encode($imageStyles)) ?>"
<?php endif ?>
<?php if (isset($linkStyles)): ?>
data-link-styles="<?= e(json_encode($linkStyles)) ?>"
<?php endif ?>
<?php if (isset($paragraphStyles)): ?>
data-paragraph-styles="<?= e(json_encode($paragraphStyles)) ?>"
<?php endif ?>
<?php if (isset($paragraphFormats)): ?>
data-paragraph-format="<?= e(json_encode($paragraphFormats)) ?>"
<?php endif ?>
<?php if (isset($tableStyles)): ?>
data-table-styles="<?= e(json_encode($tableStyles)) ?>"
<?php endif ?>
<?php if (isset($tableCellStyles)): ?>
data-table-cell-styles="<?= e(json_encode($tableCellStyles)) ?>"
<?php endif ?>
data-links-handler="<?= $this->getEventHandler('onLoadPageLinksForm') ?>"
data-upload-handler="<?= $this->getEventHandler('onUpload') ?>"
data-ace-vendor-path="<?= Url::asset('/modules/backend/assets/vendor/ace') ?>"
data-control="richeditor"
<?= $field->getAttributes() ?>
>
<textarea
placeholder="<?= e(trans($field->placeholder)) ?>"
name="<?= $name ?>"
id="<?= $this->getId('textarea') ?>"
><?= e($value) ?></textarea>
<div class="height-indicator"></div>
</div>
<?php endif ?>