| 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/widgets/day/pushover.tpl" */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.30',
'unifunc' => 'content_6a3f4a02b26cc8_72194299',
'has_nocache_code' => false,
'file_dependency' =>
array (
'7e706163403c915e07d79f7e1c135e9de1c6b953' =>
array (
0 => '/var/www/clients/client1/web17/web/includes/templates/templates/widgets/day/pushover.tpl',
1 => 1782447229,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_6a3f4a02b26cc8_72194299 (Smarty_Internal_Template $_smarty_tpl) {
?>
<?php $_smarty_tpl->_assignInScope('dd', $_smarty_tpl->tpl_vars['page']->value->query['http']['get']['date']);
$_smarty_tpl->_assignInScope('all', $_smarty_tpl->tpl_vars['day']->value->{$_smarty_tpl->tpl_vars['dd']->value}->all);
$_smarty_tpl->_assignInScope('fz', (($tmp = @$_smarty_tpl->tpl_vars['all']->value->fahrzeuge)===null||$tmp==='' ? 0 : $tmp));
$_smarty_tpl->_assignInScope('offen', (($tmp = @$_smarty_tpl->tpl_vars['all']->value->wait_checkin)===null||$tmp==='' ? 0 : $tmp));
$_smarty_tpl->_assignInScope('valetN', (($tmp = @$_smarty_tpl->tpl_vars['all']->value->valet)===null||$tmp==='' ? 0 : $tmp));
?>
<?php $_smarty_tpl->_assignInScope('fopts', $_smarty_tpl->tpl_vars['dayview']->value->arrivalFilterOptions($_smarty_tpl->tpl_vars['dd']->value));
$_smarty_tpl->_assignInScope('shipSet', $_smarty_tpl->tpl_vars['fopts']->value['ships']);
$_smarty_tpl->_assignInScope('tripSet', $_smarty_tpl->tpl_vars['fopts']->value['trips']);
?>
<div class="po-wrap" id="poWrap" data-date="<?php echo $_smarty_tpl->tpl_vars['dd']->value;?>
">
<input type="hidden" id="poDate" value="<?php echo $_smarty_tpl->tpl_vars['dd']->value;?>
">
<div class="po-presets">
<span class="po-presets-label">Schnellauswahl:</span>
<button type="button" class="po-chip po-preset" data-format="summary" data-parking="halle,aussen,valet" data-status="all"><i class="material-icons">insights</i> Zusammenfassung</button>
<button type="button" class="po-chip po-preset" data-format="list" data-parking="halle,aussen,valet" data-status="all" data-columns="name,type"><i class="material-icons">format_list_bulleted</i> Komplette Liste</button>
<button type="button" class="po-chip po-preset" data-format="list" data-parking="halle,aussen,valet" data-status="open" data-columns="name,type,time"><i class="material-icons">pending_actions</i> Offene Anreisen</button>
<button type="button" class="po-chip po-preset" data-format="list" data-parking="valet" data-status="all" data-columns="name,type,time"><i class="material-icons">directions_car</i> Valet</button>
</div>
<div class="row g-3">
<div class="col-12 col-lg-7">
<div class="card h-100"><div class="card-body po-opts">
<div class="po-sec">
<div class="po-sec-h"><i class="material-icons">tune</i> Inhalt</div>
<div class="po-seg" role="group" aria-label="Format">
<input type="radio" class="btn-check" name="poFormat" id="poFmtSum" value="summary" checked>
<label class="btn btn-sm" for="poFmtSum">Zusammenfassung</label>
<input type="radio" class="btn-check" name="poFormat" id="poFmtList" value="list">
<label class="btn btn-sm" for="poFmtList">Liste</label>
</div>
</div>
<div class="row g-3">
<div class="col-12 col-md-6">
<div class="po-sec h-100">
<div class="po-sec-h"><i class="material-icons">local_parking</i> Stellplatz</div>
<label class="po-check"><input type="checkbox" class="po-cb po-park" value="halle" checked> <span>Halle <span class="po-muted">(ohne Valet)</span></span></label>
<label class="po-check"><input type="checkbox" class="po-cb po-park" value="aussen" checked> <span>Außen <span class="po-muted">(ohne Valet)</span></span></label>
<label class="po-check"><input type="checkbox" class="po-cb po-park" value="valet"> <span>Valet</span></label>
</div>
</div>
<div class="col-12 col-md-6">
<div class="po-sec h-100">
<div class="po-sec-h"><i class="material-icons">filter_alt</i> Status</div>
<div class="po-seg po-seg-col" role="group" aria-label="Status">
<input type="radio" class="btn-check" name="poStatus" id="poStAll" value="all" checked>
<label class="btn btn-sm" for="poStAll">Alle</label>
<input type="radio" class="btn-check" name="poStatus" id="poStOpen" value="open">
<label class="btn btn-sm" for="poStOpen">Offen</label>
<input type="radio" class="btn-check" name="poStatus" id="poStArr" value="arrived">
<label class="btn btn-sm" for="poStArr">Angereist</label>
</div>
</div>
</div>
</div>
<div class="po-sec po-cols-wrap" id="poColsWrap">
<div class="po-sec-h"><i class="material-icons">view_column</i> Spalten der Liste</div>
<div class="po-cols">
<label class="po-check"><input type="checkbox" class="po-cb" checked disabled> <span>Kennzeichen <span class="po-muted">(immer)</span></span></label>
<label class="po-check"><input type="checkbox" class="po-cb po-col" value="name" checked> <span>Nachname</span></label>
<label class="po-check"><input type="checkbox" class="po-cb po-col" value="type" checked> <span>Parkplatz-Typ <span class="po-muted">(H/A/VH/VA)</span></span></label>
<label class="po-check"><input type="checkbox" class="po-cb po-col" value="time"> <span>Anreisezeit</span></label>
<label class="po-check"><input type="checkbox" class="po-cb po-col" value="dur"> <span>Reiselänge <span class="po-muted">(Tage)</span></span></label>
</div>
<div class="po-hint">Sortiert nach Kennzeichen.</div>
</div>
<div class="row g-3">
<div class="col-12 col-md-6">
<div class="po-sec h-100">
<div class="po-sec-h"><i class="material-icons">schedule</i> Anreisezeit</div>
<div class="po-quick mb-2">
<button type="button" class="po-chip" id="poEarly" title="Check-in bis 10:30 Uhr"><i class="material-icons">bolt</i> Early Check-In</button>
<button type="button" class="po-chip" id="poTimeReset" title="Zeitfilter zurücksetzen">Zeit egal</button>
</div>
<div class="d-flex align-items-center gap-2">
<span class="po-muted">ab</span>
<input type="time" class="form-control form-control-sm browser-default po-time" id="poFrom" value="10:30">
<span class="po-muted">bis</span>
<input type="time" class="form-control form-control-sm browser-default po-time" id="poTo">
</div>
<div class="po-hint">Early Check-In = Anreise bis 10:30 Uhr. Ohne hinterlegte Zeit bleiben Buchungen enthalten.</div>
</div>
</div>
<div class="col-12 col-md-6">
<div class="po-sec h-100">
<div class="po-sec-h"><i class="material-icons">directions_boat</i> Eingrenzen</div>
<?php if ((count($_smarty_tpl->tpl_vars['shipSet']->value)) > 1 || (count($_smarty_tpl->tpl_vars['tripSet']->value)) > 1) {?>
<?php if ((count($_smarty_tpl->tpl_vars['shipSet']->value)) > 1) {?>
<label class="form-label">Schiff</label>
<select class="form-select form-select-sm mb-2" id="poShip">
<option value="">Alle Schiffe</option>
<?php
$_from = $_smarty_tpl->smarty->ext->_foreach->init($_smarty_tpl, $_smarty_tpl->tpl_vars['shipSet']->value, 's');
if ($_from !== null) {
foreach ($_from as $_smarty_tpl->tpl_vars['s']->value) {
?><option value="<?php echo htmlspecialchars($_smarty_tpl->tpl_vars['s']->value, ENT_QUOTES, 'UTF-8', true);?>
"><?php echo htmlspecialchars($_smarty_tpl->tpl_vars['s']->value, ENT_QUOTES, 'UTF-8', true);?>
</option><?php
}
}
$_smarty_tpl->smarty->ext->_foreach->restore($_smarty_tpl);
?>
</select>
<?php } else { ?><input type="hidden" id="poShip" value=""><?php }?>
<?php if ((count($_smarty_tpl->tpl_vars['tripSet']->value)) > 1) {?>
<label class="form-label">Reiselänge</label>
<select class="form-select form-select-sm" id="poTrip">
<option value="">Alle Längen</option>
<?php
$_from = $_smarty_tpl->smarty->ext->_foreach->init($_smarty_tpl, $_smarty_tpl->tpl_vars['tripSet']->value, 't');
if ($_from !== null) {
foreach ($_from as $_smarty_tpl->tpl_vars['t']->value) {
?><option value="<?php echo $_smarty_tpl->tpl_vars['t']->value;?>
"><?php echo $_smarty_tpl->tpl_vars['t']->value;?>
Tage</option><?php
}
}
$_smarty_tpl->smarty->ext->_foreach->restore($_smarty_tpl);
?>
</select>
<?php } else { ?><input type="hidden" id="poTrip" value=""><?php }?>
<?php } else { ?>
<div class="po-muted">Für diesen Tag gibt es keine weitere Eingrenzung (nur ein Schiff bzw. eine Reiselänge).</div>
<input type="hidden" id="poShip" value=""><input type="hidden" id="poTrip" value="">
<?php }?>
</div>
</div>
</div>
</div></div>
</div>
<div class="col-12 col-lg-5">
<div class="card po-preview-card">
<div class="card-header d-flex align-items-center">
<span class="fw-bold"><i class="material-icons sm align-middle">visibility</i> Vorschau</span>
<span class="po-count ms-auto" id="poCount"></span>
</div>
<div class="card-body">
<div class="po-phone">
<div class="po-phone-app">Parken-am-Schiff · PaCIM</div>
<pre class="po-preview" id="poPreview">…</pre>
</div>
<div class="po-hint mt-2">So erscheint die Nachricht auf dem Gerät (Monospace, ausgerichtet). Die vollständige Liste wird bei Bedarf auf mehrere Nachrichten aufgeteilt. Über den Link in der Nachricht öffnet sich die Web-Liste mit klickbaren Kennzeichen (Check-in/Zahlung).</div>
<div class="js-status small mt-2" id="poMsg"></div>
<button type="button" class="btn btn-primary w-100 mt-2" id="poSend"><i class="material-icons sm">send</i> An mich senden</button>
</div>
</div>
</div>
</div>
</div>
<style>
/* ---- Schnellauswahl (deutlich als Buttons erkennbar) ---- */
.po-presets{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:14px; background:var(--bg-surface-secondary,#f0f3f8); border:1px solid var(--border-color,#e6e7eb); border-radius:12px; padding:10px 12px; }
.po-presets-label{ font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.3px; color:var(--text-muted,#8a909d); margin-right:2px; }
.po-preset{ display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; width:auto; border:1.5px solid var(--border-color,#d3d8e0); background:var(--bg-surface,#fff); color:var(--text,#1e2633); border-radius:9px; padding:7px 13px; font-size:.83rem; font-weight:600; cursor:pointer; box-shadow:0 1px 2px rgba(15,23,42,.05); transition:all .13s; }
.po-preset .material-icons{ font-size:17px; color:var(--primary,#0b4677); }
.po-preset:hover{ border-color:var(--primary,#0b4677); box-shadow:0 2px 6px rgba(11,70,119,.15); }
.po-preset.active{ background:var(--primary,#0b4677); border-color:var(--primary,#0b4677); color:#fff; }
.po-preset.active .material-icons{ color:#fff; }
.po-opts .po-sec{ background:var(--bg-surface,#fff); border:1px solid var(--border-color,#e6e7eb); border-radius:12px; padding:12px 14px; margin-bottom:12px; }
.po-opts .row{ margin-bottom:12px; }
.po-opts .row:last-child{ margin-bottom:0; }
.po-opts .row .po-sec{ margin-bottom:0; }
.po-sec-h{ display:flex; align-items:center; gap:7px; font-weight:600; font-size:.85rem; color:var(--text,#1e2633); margin-bottom:9px; }
.po-sec-h .material-icons{ font-size:18px; color:var(--primary,#0b4677); }
.po-opts .form-label{ font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.3px; color:var(--text-muted,#8a909d); margin-bottom:2px; }
.po-muted{ color:var(--text-muted,#8a909d); font-size:.82rem; font-weight:400; }
.po-hint{ font-size:.74rem; color:var(--text-muted,#8a909d); margin-top:6px; }
/* ---- eigene Checkboxen (unabhängig von materialize/bootstrap) ---- */
.po-check{ display:flex; align-items:center; gap:9px; font-size:.9rem; margin-bottom:7px; cursor:pointer; }
.po-check:last-child{ margin-bottom:0; }
.po-cb{ -webkit-appearance:none !important; appearance:none !important; -moz-appearance:none !important;
width:18px !important; height:18px !important; min-width:18px; flex:0 0 18px; margin:0 !important; padding:0 !important;
position:static !important; opacity:1 !important; box-sizing:border-box; border:1.5px solid var(--border-color,#bcc3cf);
border-radius:5px; background:#fff; cursor:pointer; display:inline-block; vertical-align:middle; transition:background .12s,border-color .12s; }
.po-cb:checked{ background:var(--primary,#0b4677); border-color:var(--primary,#0b4677);
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5'/%3E%3C/svg%3E");
background-repeat:no-repeat; background-position:center; background-size:13px; }
.po-cb:disabled{ opacity:.5 !important; cursor:default; }
.po-cols{ display:flex; flex-direction:column; gap:0; }
.po-seg{ display:inline-flex; flex-wrap:wrap; gap:6px; }
.po-seg .btn{ border:1px solid var(--border-color,#e6e7eb); color:var(--text-secondary,#626d7d); background:var(--bg-surface,#fff); font-weight:500; }
.po-seg .btn-check:checked + .btn{ background:var(--primary,#0b4677); border-color:var(--primary,#0b4677); color:#fff; }
.po-quick{ display:flex; flex-wrap:wrap; gap:6px; }
.po-time{ max-width:108px; width:108px; flex:0 0 auto; }
.po-chip{ display:inline-flex; align-items:center; gap:4px; flex:0 0 auto; width:auto; border:1px solid var(--border-color,#d3d8e0); background:var(--bg-surface,#fff); color:var(--text-secondary,#626d7d); border-radius:20px; padding:5px 12px; font-size:.8rem; font-weight:500; cursor:pointer; }
.po-chip:hover{ border-color:var(--primary,#0b4677); color:var(--primary,#0b4677); }
.po-chip.active{ background:var(--primary,#0b4677); border-color:var(--primary,#0b4677); color:#fff; }
.po-chip .material-icons{ font-size:15px; }
.po-cols-wrap.is-hidden{ display:none; }
.po-count{ font-weight:600; font-size:.8rem; color:var(--text-muted,#8a909d); }
.po-preview-card{ position:sticky; top:14px; }
.po-phone{ background:#0f1722; border-radius:14px; padding:12px 12px 14px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); }
.po-phone-app{ color:#9fb3c8; font-size:.7rem; font-weight:600; letter-spacing:.3px; margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.po-phone-app::before{ content:""; width:8px; height:8px; border-radius:50%; background:#34c759; display:inline-block; }
.po-preview{ margin:0; color:#e7edf5; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.8rem; line-height:1.5; white-space:pre; overflow:auto; max-height:62vh; }
#poSend .material-icons{ font-size:16px; vertical-align:-3px; }
</style>
<?php echo '<script'; ?>
src="<?php echo @constant('SITE_URL');?>
/assets/js/day-pushover.js?v=<?php echo filemtime((@constant('PATH_SYSTEM')).('/assets/js/day-pushover.js'));?>
"><?php echo '</script'; ?>
>
<?php }
}