| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /tmp/sc/ |
Upload File : |
<?php
/* Smarty version 3.1.30, created on 2026-06-27 05:56:50
from "/var/www/clients/client1/web17/web/includes/templates/templates/pacim/products.tpl" */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.30',
'unifunc' => 'content_6a3f4a029cdcf8_79266059',
'has_nocache_code' => false,
'file_dependency' =>
array (
'5a359e59f510f5e1de741c4c49172a1c1346425d' =>
array (
0 => '/var/www/clients/client1/web17/web/includes/templates/templates/pacim/products.tpl',
1 => 1781486793,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_6a3f4a029cdcf8_79266059 (Smarty_Internal_Template $_smarty_tpl) {
?>
<link rel="stylesheet" href="<?php echo @constant('SITE_URL');?>
/assets/css/cockpit.css?v=<?php echo filemtime((@constant('PATH_SYSTEM')).('/assets/css/cockpit.css'));?>
">
<style>
.prod-wrap{max-width:1180px}
.prod-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e6eef4);border-radius:14px;padding:12px 16px;box-shadow:0 1px 2px rgba(16,32,56,.04);margin-bottom:18px}
.prod-seg{display:inline-flex;background:#eef2f7;border-radius:10px;padding:4px;gap:4px}
.prod-seg .btn-check+label{border:0;border-radius:8px;padding:7px 16px;font-weight:600;color:#5b6573;background:transparent;display:inline-flex;align-items:center;gap:6px}
.prod-seg .btn-check:checked+label{background:#fff;color:var(--primary,#0b4677);box-shadow:0 1px 3px rgba(16,32,56,.12)}
.prod-seg .material-icons{font-size:18px}
.prod-year{display:flex;align-items:center;gap:8px;margin-left:auto}
.prod-year select{border:1px solid var(--border-color,#e6eef4);border-radius:9px;padding:7px 12px;font-weight:600}
.pk-card{border:1px solid var(--border-color,#e6eef4);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(16,32,56,.05)}
.pk-card .card-header{border:0;padding:14px 16px;background:linear-gradient(135deg,#0b4677,#1a6bb0);color:#fff;border-bottom:3px solid rgba(255,255,255,.15)}
.pk-card[data-id="2"] .card-header{background:linear-gradient(135deg,#0e7c86,#16a3ad)}
.pk-card .card-header .material-icons{color:#fff}
.pk-card .pk-title{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700}
.pk-card .pk-title::placeholder{color:rgba(255,255,255,.7)}
.pk-card .card-header .input-group-text,.pk-card .card-header .pk-tax{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.pk-card .prod-vis{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.pk-card .prod-vis:hover{background:rgba(255,255,255,.3)}
.pk-card table{font-size:14px}
.pk-card thead th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted,#7e8896);font-weight:600;border-bottom:2px solid var(--border-color,#e6eef4);background:#f8fafc}
.pk-card tbody td{vertical-align:middle}
.pk-card .pk-tier:last-child{background:#fff8ec}
.pk-card .card-footer{background:#f8fafc;border-top:1px solid var(--border-color,#e6eef4);padding:12px 16px}
#prodService .card{border:1px solid var(--border-color,#e6eef4);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(16,32,56,.05)}
#prodService thead th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted,#7e8896);font-weight:600}
.prod-hidden{opacity:.5}
.prod-hidden .pk-title{font-style:italic}
#svcBody tr.prod-hidden td:first-child{color:#7e8896}
.prod-hint{color:var(--text-muted,#7e8896);font-size:13px}
</style>
<div class="page-header">
<div class="page-header-row d-flex justify-content-between align-items-center flex-wrap gap-2">
<div>
<div class="stat-label">PaCIM System</div>
<h1 class="h3 mb-0">Produkte</h1>
</div>
</div>
</div>
<div class="prod-wrap">
<div class="prod-toolbar">
<div class="prod-seg" id="prodTypeSwitch" role="group">
<input type="radio" class="btn-check" name="prodType" id="prodTypeParking" value="parking" checked>
<label for="prodTypeParking"><i class="material-icons">local_parking</i> Parkplatz</label>
<input type="radio" class="btn-check" name="prodType" id="prodTypeService" value="service">
<label for="prodTypeService"><i class="material-icons">room_service</i> Service</label>
</div>
<div class="prod-year">
<label class="form-label small text-muted mb-0">Preisjahr</label>
<select id="prodYear"></select>
</div>
</div>
<div id="prodParking">
<div class="prod-hint mb-2">Staffelpreise nach Reisedauer (Tage). Eingabe als <strong>Brutto</strong>; die letzte Staffel <em>„ab … Tage (pro Tag)“</em> wird je Tag berechnet.</div>
<div id="prodParkingCards" class="row g-3"><div class="col-12 text-muted py-5 text-center">Wird geladen …</div></div>
</div>
<div id="prodService" class="d-none">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span class="fw-bold">Service-Produkte</span>
<button class="btn btn-sm btn-primary" id="svcAddBtn"><i class="material-icons sm">add</i> Service anlegen</button>
</div>
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead><tr><th>Bezeichnung</th><th class="text-end">MwSt</th><th class="text-end">Preis brutto</th><th class="text-end">Aktion</th></tr></thead>
<tbody id="svcBody"><tr><td colspan="4" class="text-center text-muted py-5">Wird geladen …</td></tr></tbody>
</table>
</div>
</div>
<div class="prod-hint mt-2">Ausgeblendete Produkte sind über die externe API nicht abrufbar/buchbar.</div>
</div>
</div>
<div class="modal fade" id="svcModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header"><h5 class="modal-title" id="svcTitle">Service anlegen</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div>
<form id="svcForm" autocomplete="off">
<div class="modal-body">
<input type="hidden" id="svcId">
<div class="mb-3"><label class="form-label">Bezeichnung *</label><input class="form-control" id="svcName" required placeholder="z. B. Innenreinigung"></div>
<div class="row g-3">
<div class="col-6"><label class="form-label">MwSt (%)</label><input type="number" step="0.1" min="0" class="form-control" id="svcTax" value="19"></div>
<div class="col-6"><label class="form-label">Preis brutto (€)</label><input type="number" step="0.01" min="0" class="form-control" id="svcBrutto" placeholder="0,00"></div>
</div>
<div class="js-status small mt-2" id="svcMsg"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light text-danger me-auto d-none" id="svcDeleteBtn"><i class="material-icons sm">delete</i> Löschen</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Abbrechen</button>
<button class="btn btn-primary" type="submit"><i class="material-icons sm">save</i> Speichern</button>
</div>
</form>
</div>
</div>
</div>
<?php echo '<script'; ?>
src="<?php echo @constant('SITE_URL');?>
/assets/js/products.js?v=<?php echo filemtime((@constant('PATH_SYSTEM')).('/assets/js/products.js'));?>
"><?php echo '</script'; ?>
>
<?php }
}