| 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/requests.tpl" */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.30',
'unifunc' => 'content_6a3f4a02ccf723_18493131',
'has_nocache_code' => false,
'file_dependency' =>
array (
'885bbe16aafbccd57fc5c1fb8c46fd620d97d70d' =>
array (
0 => '/var/www/clients/client1/web17/web/includes/templates/templates/requests.tpl',
1 => 1781851695,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_6a3f4a02ccf723_18493131 (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'));?>
">
<div class="page-header">
<div class="page-pretitle">Übersicht</div>
<h1 class="h3 mb-0">Anfragen</h1>
<div class="text-muted small mt-1">Terminanfragen & Kontaktformular-Nachrichten Ihrer Kunden – prüfen, beantworten, erledigen.</div>
</div>
<div id="rqList">
<ul class="nav nav-tabs rq-tabs mb-3" role="tablist">
<li class="nav-item"><button type="button" class="nav-link active rq-tab" data-tab="period">
<i class="material-icons sm">event_available</i> Terminanfragen <span class="rq-tabcount" data-tabcount="period">0</span></button></li>
<li class="nav-item"><button type="button" class="nav-link rq-tab" data-tab="contact">
<i class="material-icons sm">forum</i> Kontaktformular <span class="rq-tabcount" data-tabcount="contact">0</span></button></li>
</ul>
<div class="card mb-3"><div class="card-body d-flex flex-wrap align-items-center gap-2">
<div class="rq-pills" id="rqPills"></div>
<div class="input-group ms-auto" style="max-width:300px;">
<span class="input-group-text"><i class="material-icons sm">search</i></span>
<input type="text" class="form-control" id="rqSearch" placeholder="Suchen …">
</div>
</div></div>
<div class="card">
<div class="table-responsive" id="rqTableWrap">
<div class="text-center text-muted py-5">Wird geladen …</div>
</div>
<div class="card-footer"><span class="text-muted small" id="rqCount">–</span></div>
</div>
</div>
<div id="rqDetail" style="display:none;">
<div class="d-flex align-items-center gap-3 mb-3 flex-wrap">
<button type="button" class="rq-btn rq-btn-light rq-back"><i class="material-icons sm">arrow_back</i> Zurück</button>
<nav class="rq-crumb" id="rqCrumb" aria-label="Breadcrumb"></nav>
</div>
<div id="rqDetailBody"><div class="text-center text-muted py-5"><div class="spinner-border spinner-border-sm"></div> Wird geladen …</div></div>
</div>
<style>
:root{ --rq-primary:var(--primary,#0b4677); --rq-green:var(--green,#2fb344); --rq-red:var(--red,#d63939); --rq-yellow:var(--yellow,#f59f00); }
/* Tabs */
.rq-tabs .nav-link{ display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--text-secondary,#626d7d); border:none; border-bottom:2px solid transparent; }
.rq-tabs .nav-link .material-icons{ font-size:18px; }
.rq-tabs .nav-link.active{ color:var(--rq-primary); border-bottom-color:var(--rq-primary); background:transparent; }
.rq-tabcount{ min-width:20px; padding:1px 7px; border-radius:999px; font-size:11px; font-weight:700; background:rgba(0,0,0,.07); color:inherit; }
.rq-tabs .nav-link.active .rq-tabcount{ background:var(--primary-lt,rgba(11,70,119,.1)); color:var(--rq-primary); }
.rq-tabcount.has-open{ background:var(--rq-red); color:#fff; }
/* Filter-Pills */
.rq-pills{ display:inline-flex; flex-wrap:wrap; gap:6px; }
.rq-pill{ display:inline-flex; align-items:center; gap:7px; padding:6px 13px; border-radius:999px; border:1px solid var(--border-color,#e6e7eb); background:var(--bg-surface,#fff); color:var(--text,#1e2633); font-weight:500; font-size:13px; cursor:pointer; transition:background .12s,border-color .12s,color .12s; }
.rq-pill:hover{ border-color:var(--rq-primary); }
.rq-pill.active{ background:var(--rq-primary); border-color:var(--rq-primary); color:#fff; }
.rq-pill .rq-badge{ min-width:18px; padding:0 6px; border-radius:999px; font-size:11px; font-weight:700; background:rgba(0,0,0,.08); color:inherit; }
.rq-pill.active .rq-badge{ background:rgba(255,255,255,.25); color:#fff; }
.rq-pill .rq-badge.warn{ background:#fff3cd; color:#9a6b00; }
.rq-pill .rq-badge.ok{ background:#d1f3df; color:#0a7a3d; }
.rq-pill .rq-badge.bad{ background:#fde2e1; color:#b42318; }
.rq-pill.active .rq-badge.warn,.rq-pill.active .rq-badge.ok,.rq-pill.active .rq-badge.bad{ background:rgba(255,255,255,.25); color:#fff; }
/* Status-Pille */
.rq-status{ display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
.rq-status::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.rq-status.pending{ background:#fff3cd; color:#9a6b00; }
.rq-status.approved,.rq-status.done{ background:#d1f3df; color:#0a7a3d; }
.rq-status.rejected{ background:#fde2e1; color:#b42318; }
/* Tabelle */
#rqTableWrap table{ width:100%; margin:0; }
#rqTableWrap tbody tr{ cursor:pointer; }
#rqTableWrap tbody tr:hover{ background:var(--bg-surface-secondary,#f9fafb); }
.rq-note{ max-width:360px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text-secondary,#626d7d); }
.rq-period{ font-variant-numeric:tabular-nums; }
.rq-unread td{ box-shadow:inset 3px 0 0 var(--rq-yellow); }
/* CI-Buttons */
.rq-btn{ display:inline-flex; align-items:center; gap:7px; border:1px solid transparent; border-radius:8px; padding:9px 17px; font-weight:600; font-size:14px; line-height:1; cursor:pointer; transition:filter .12s, background .12s, color .12s; }
.rq-btn .material-icons{ font-size:18px; }
.rq-btn:disabled{ opacity:.5; cursor:default; }
.rq-btn-primary{ background:var(--rq-primary); color:#fff; }
.rq-btn-primary:hover:not(:disabled){ filter:brightness(1.12); }
.rq-btn-green{ background:var(--rq-green); color:#fff; }
.rq-btn-green:hover:not(:disabled){ filter:brightness(1.08); }
.rq-btn-red{ background:#fff; color:var(--rq-red); border-color:var(--rq-red); }
.rq-btn-red:hover:not(:disabled){ background:var(--rq-red); color:#fff; }
.rq-btn-light{ background:var(--bg-surface,#fff); color:var(--text,#1e2633); border-color:var(--border-color,#e6e7eb); }
.rq-btn-light:hover:not(:disabled){ border-color:var(--rq-primary); color:var(--rq-primary); }
.rq-btn-ghost{ background:transparent; color:var(--text-secondary,#626d7d); padding:9px 12px; }
.rq-btn-ghost:hover:not(:disabled){ color:var(--rq-red); }
.rq-btn-sm{ padding:6px 12px; font-size:13px; border-radius:7px; }
/* Breadcrumb */
.rq-crumb{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--text-muted,#7e8896); flex-wrap:wrap; }
.rq-crumb a{ color:var(--text-secondary,#626d7d); cursor:pointer; }
.rq-crumb a:hover{ color:var(--rq-primary); text-decoration:underline; }
.rq-crumb .sep{ color:var(--text-disabled,#c0c7cf); }
.rq-crumb .current{ color:var(--text,#1e2633); font-weight:600; }
/* Detail */
.rq-dl{ display:grid; grid-template-columns:150px 1fr; gap:7px 14px; margin:0; }
.rq-dl dt{ color:var(--text-secondary,#626d7d); font-weight:500; }
.rq-dl dd{ margin:0; }
.rq-msg{ background:var(--bg-surface-secondary,#f9fafb); border:1px solid var(--border-color,#e6e7eb); border-radius:8px; padding:12px 14px; white-space:pre-wrap; }
.rq-prior{ border:1px solid var(--border-color,#e6e7eb); border-left:3px solid var(--text-secondary,#9aa3af); border-radius:8px; padding:10px 12px; background:var(--bg-surface-secondary,#f9fafb); }
.rq-prior-head{ font-weight:600; }
.rq-prior-note{ margin-top:6px; font-style:italic; }
.rq-decide .form-check-input{ -webkit-appearance:auto; appearance:auto; width:1.05em; height:1.05em; min-height:auto; }
.rq-decide .form-check{ display:flex; align-items:center; gap:8px; }
/* Related */
.rq-rel-item{ display:block; padding:9px 11px; border:1px solid var(--border-color,#e6e7eb); border-radius:8px; margin-bottom:8px; text-decoration:none; color:inherit; transition:border-color .12s, background .12s; }
.rq-rel-item:hover{ border-color:var(--rq-primary); background:var(--bg-surface-secondary,#f9fafb); text-decoration:none; color:inherit; }
.rq-rel-head{ display:flex; align-items:center; gap:6px; justify-content:space-between; }
.rq-rel-sub{ font-size:12px; color:var(--text-secondary,#626d7d); margin-top:2px; }
/* Preisvergleich */
.rq-price{ border:1px solid var(--border-color,#e6e7eb); border-radius:10px; padding:12px 14px; }
.rq-price-head{ font-weight:600; margin-bottom:10px; }
.rq-price-grid{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; }
.rq-price-col{ background:var(--bg-surface-secondary,#f9fafb); border-radius:8px; padding:10px 12px; }
.rq-price-cap{ font-size:11px; text-transform:uppercase; letter-spacing:.03em; color:var(--text-secondary,#626d7d); }
.rq-price-cap.rq-cap-new{ color:var(--rq-primary); }
.rq-price-per{ font-size:13px; font-variant-numeric:tabular-nums; margin:2px 0 4px; }
.rq-price-val{ font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.rq-price-val.rq-val-new{ color:var(--rq-primary); }
.rq-price-arrow{ color:#9aa3af; display:flex; align-items:center; justify-content:center; }
.rq-price-diff{ margin-top:10px; padding-top:8px; border-top:1px dashed var(--border-color,#e6e7eb); font-size:13px; }
.rq-price-diff.rq-up strong{ color:var(--rq-red); }
.rq-price-diff.rq-down strong{ color:var(--rq-green); }
.rq-price-diff.rq-same strong{ color:var(--text-secondary,#626d7d); }
/* Chat-Verlauf */
.rq-chat{ display:flex; flex-direction:column; gap:10px; padding:14px; margin-top:14px; background:var(--bg-surface-secondary,#f9fafb); border:1px solid var(--border-color,#e6e7eb); border-radius:10px; max-height:440px; overflow-y:auto; }
.rq-bubble{ max-width:80%; padding:9px 13px; border-radius:14px; font-size:14px; line-height:1.45; box-shadow:0 1px 1px rgba(15,23,42,.04); }
.rq-bubble .rq-bubble-body p:last-child{ margin-bottom:0; }
.rq-bubble .rq-bubble-meta{ font-size:11px; opacity:.7; margin-top:5px; }
.rq-bubble.rq-in{ align-self:flex-start; background:#fff; border:1px solid var(--border-color,#e6e7eb); border-bottom-left-radius:4px; }
.rq-bubble.rq-out{ align-self:flex-end; background:var(--rq-primary); color:#fff; border-bottom-right-radius:4px; }
.rq-bubble.rq-out a{ color:#fff; text-decoration:underline; }
.tox-tinymce{ border-radius:8px !important; }
@media (max-width:560px){ .rq-price-grid{ grid-template-columns:1fr; } .rq-price-arrow{ transform:rotate(90deg); } .rq-dl{ grid-template-columns:1fr; gap:2px 0; } .rq-dl dt{ margin-top:8px; } }
</style>
<?php echo '<script'; ?>
src="https://cdn.jsdelivr.net/npm/tinymce@7/tinymce.min.js" referrerpolicy="origin"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="<?php echo @constant('SITE_URL');?>
/assets/js/requests.js?v=<?php echo filemtime((@constant('PATH_SYSTEM')).('/assets/js/requests.js'));?>
"><?php echo '</script'; ?>
>
<?php }
}