| 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 : /proc/3951580/root/tmp/ |
Upload File : |
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="favicon.ico">
<title>Buchungssystem - Parken-am-Schiff.de</title>
<!-- Theme vor dem Paint setzen (kein FOUC) -->
<script>(function(){try{var t=localStorage.getItem('pacim:theme');if(t){document.documentElement.setAttribute('data-theme',t);}}catch(e){}})();</script>
<!-- Fonts: Inter (Gentelella v4) -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<!-- Bootstrap 5 (Content-Komponenten) + Plugins -->
<link href="https://seaside.pacim.de/assets/css/bootstrap.min.css" rel="stylesheet">
<link href="https://seaside.pacim.de/assets/css/fonts/material-icon-font.css" rel="stylesheet">
<link href="https://seaside.pacim.de/assets/css/plugins/quill.snow.min.css" rel="stylesheet">
<link href="https://seaside.pacim.de/assets/css/plugins/choices.min.css" rel="stylesheet">
<link href="https://seaside.pacim.de/assets/css/styles.css" rel="stylesheet">
<!-- Gentelella v4 Shell + Akzente (zuletzt, überschreibt) -->
<link href="https://seaside.pacim.de/assets/css/gentelella.css?v=1780513076" rel="stylesheet">
<link href="https://seaside.pacim.de/assets/css/gentelella-accents.css?v=1780439034" rel="stylesheet">
<link href="https://seaside.pacim.de/assets/css/search.css?v=1780917534" rel="stylesheet">
<!-- Favicon -->
<link rel="apple-touch-icon" sizes="57x57" href="https://seaside.pacim.de/assets/favico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://seaside.pacim.de/assets/favico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://seaside.pacim.de/assets/favico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://seaside.pacim.de/assets/favico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://seaside.pacim.de/assets/favico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://seaside.pacim.de/assets/favico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://seaside.pacim.de/assets/favico/favicon-16x16.png">
<link rel="manifest" href="https://seaside.pacim.de/assets/favico/manifest.json">
<meta name="theme-color" content="#ffffff">
</head>
<body data-page="pacim/terminals">
<a class="skip-link" href="#main-content">Zum Inhalt springen</a>
<style>
.nav-link .nav-count{ margin-left:auto; background:var(--red,#d63939); color:#fff; font-size:11px; font-weight:600; line-height:1; padding:3px 7px; border-radius:999px; min-width:18px; text-align:center; }
.nav-link .nav-count.nav-count-warn{ background:var(--yellow,#f59f00); color:#fff; }
</style>
<aside class="sidebar" id="sidebar" aria-label="Hauptnavigation">
<div class="sidebar-brand">
<a class="brand-link" href="https://seaside.pacim.de/" aria-label="Zum Cockpit">
<div class="brand-icon">P</div>
<div class="brand-name">PaCIM <small>v4</small></div>
</a>
</div>
<nav class="sidebar-nav">
<div class="nav-group">
<div class="nav-label">Übersicht</div>
<a class="nav-link" href="https://seaside.pacim.de/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="4" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="10" width="7" height="11" rx="1.5"/></svg>
<span class="nav-text">Cockpit</span>
</a>
<a class="nav-link" href="https://seaside.pacim.de/tasks/dashboard/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 10h18M8 4v6M16 4v6"/></svg>
<span class="nav-text">Kalender</span>
</a>
<a class="nav-link" href="https://seaside.pacim.de/events/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 11h18M8 15h.01M12 15h.01M16 15h.01"/></svg>
<span class="nav-text">Events</span>
</a>
<a class="nav-link" href="https://seaside.pacim.de/requests/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg>
<span class="nav-text">Anfragen</span>
<span class="nav-count">2</span> </a>
</div>
<div class="nav-group">
<div class="nav-label">Reports</div>
<a class="nav-link" href="https://seaside.pacim.de/accounting/dashboard/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M5 21V3h14v18l-3-2-3 2-3-2-3 2-2-2z"/><path d="M9 8h6M9 12h6M9 16h4"/></svg>
<span class="nav-text">Buchhaltung</span>
</a>
<a class="nav-link" href="https://seaside.pacim.de/reports/yearly/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M4 19V5M8 19v-8M12 19V9M16 19v-5M20 19v-9"/></svg>
<span class="nav-text">Buchungen nach Jahren</span>
</a>
<div class="nav-tree">
<button type="button" class="nav-link nav-toggle" aria-expanded="false">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
<span class="nav-text">Zeiterfassung</span>
<svg class="nav-chev" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M6 4l4 4-4 4"/></svg>
</button>
<div class="nav-sub"><div class="nav-sub-inner">
<a class="nav-sublink" href="https://seaside.pacim.de/worktime/dashboard/">Übersicht</a>
<a class="nav-sublink" href="https://seaside.pacim.de/worktime/employees/">Mitarbeiter</a>
<a class="nav-sublink" href="https://seaside.pacim.de/worktime/create/">Zeitnachweise</a>
</div></div>
</div>
</div>
<div class="nav-group">
<div class="nav-label">System</div>
<a class="nav-link" href="https://seaside.pacim.de/mailing/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>
<span class="nav-text">Mailing</span>
</a>
<a class="nav-link" href="https://seaside.pacim.de/partner/">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M17 20v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 20v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75"/></svg>
<span class="nav-text">Partnerprogramm</span>
</a>
<div class="nav-tree open has-active">
<button type="button" class="nav-link nav-toggle" aria-expanded="true">
<svg class="icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="3"/><path d="M12 2v3M12 19v3M2 12h3M19 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"/></svg>
<span class="nav-text">Einstellungen</span>
<svg class="nav-chev" width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M6 4l4 4-4 4"/></svg>
</button>
<div class="nav-sub"><div class="nav-sub-inner">
<a class="nav-sublink" href="https://seaside.pacim.de/pacim/system/">System</a>
<a class="nav-sublink" href="https://seaside.pacim.de/pacim/products/">Produkte</a>
<a class="nav-sublink active" href="https://seaside.pacim.de/pacim/terminals/">Terminals</a>
<a class="nav-sublink" href="https://seaside.pacim.de/imports/manager/">Import-Manager</a>
<a class="nav-sublink" href="https://seaside.pacim.de/pacim/debug/">Debug</a>
</div></div>
</div>
</div>
</nav>
<div class="sidebar-footer">
<div class="sidebar-user">
<div class="avatar">P<span class="online"></span></div>
<div class="sidebar-user-info">
<div class="name">Daniel Großklags</div>
<div class="role">Administrator</div>
</div>
</div>
</div>
</aside>
<main class="main">
<header class="topbar">
<div class="topbar-left">
<button class="sidebar-toggle" type="button" aria-label="Menü umschalten" aria-controls="sidebar" aria-expanded="false">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M4 6h16M4 12h16M4 18h16"/></svg>
</button>
<nav class="breadcrumb" aria-label="Breadcrumb"><span>PaCIM</span><span class="sep" aria-hidden="true">›</span><span class="current" aria-current="page">pacim/terminals</span></nav>
</div>
<div class="search-box" id="global-search">
<svg class="s-icon" width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><circle cx="7" cy="7" r="5"/><path d="M11 11l3.5 3.5"/></svg>
<input type="text" id="searchform" placeholder="Suche: Kunde, Buchung, Kennzeichen …" aria-label="Suche" autocomplete="off" role="combobox" aria-expanded="false" aria-controls="search-overlay" aria-autocomplete="list">
<div class="search-overlay" id="search-overlay" role="listbox" hidden></div>
</div>
<div class="topbar-right">
<button class="tb-btn theme-toggle" type="button" title="Design umschalten" aria-label="Design umschalten" aria-pressed="false">
<svg class="theme-icon-light" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"/></svg>
<svg class="theme-icon-dark" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
</button>
<a class="tb-btn" href="https://seaside.pacim.de/logout.php" title="Abmelden" aria-label="Abmelden">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"/><path d="M16 17l5-5-5-5M21 12H9"/></svg>
</a>
<div class="dropdown">
<button class="tb-avatar" type="button" id="userMenu" data-bs-toggle="dropdown" aria-expanded="false" title="Benutzerkonto" aria-label="Benutzerkonto">DA</button>
<ul class="dropdown-menu dropdown-menu-end shadow-sm" aria-labelledby="userMenu">
<li><h6 class="dropdown-header text-truncate">Daniel Großklags</h6></li>
<li><a class="dropdown-item d-flex align-items-center gap-2" href="https://seaside.pacim.de/pacim/system/"><i class="material-icons sm">settings</i> Einstellungen</a></li> <li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item d-flex align-items-center gap-2 text-danger" href="https://seaside.pacim.de/logout.php"><i class="material-icons sm">logout</i> Abmelden</a></li>
</ul>
</div>
</div>
</header>
<div class="page-wrapper" id="main-content" role="main">
<link rel="stylesheet" href="https://seaside.pacim.de/assets/css/cockpit.css?v=1782443397">
<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">Einstellungen</div>
<h1 class="h3 mb-0">Terminals</h1>
</div>
<button type="button" class="btn btn-primary" id="tmNew"><i class="material-icons sm">add</i> Neues Terminal</button>
</div>
</div>
<p class="text-muted">Terminals sind dauerhafte, PIN-gesicherte Zugänge (fester Link) für Mitarbeiter und Externe. Ihnen werden mehrere Mobile-Ansichten zugeordnet; das Terminal zeigt eine Übersicht zur Auswahl. Beim Aufruf einer Mobile-Ansicht über das Terminal wird nur die <b>Terminal-PIN</b> abgefragt.</p>
<div class="card mb-3 d-none" id="tmEditor">
<div class="card-header fw-bold" id="tmEditorTitle">Neues Terminal</div>
<div class="card-body">
<input type="hidden" id="tmId" value="0">
<div class="row g-3">
<div class="col-md-6">
<label class="form-label small fw-semibold mb-1">Bezeichnung *</label>
<input type="text" class="form-control" id="tmLabel" maxlength="190" placeholder="z. B. Terminal Empfang / Schalter 1">
</div>
<div class="col-md-6">
<label class="form-label small fw-semibold mb-1">E-Mail (optional)</label>
<input type="email" class="form-control" id="tmEmail" maxlength="190" placeholder="z. B. extern@partner.de">
</div>
<div class="col-md-4">
<label class="form-label small fw-semibold mb-1">PIN (4–8 Ziffern)</label>
<input type="text" class="form-control" id="tmPin" inputmode="numeric" maxlength="8" placeholder="z. B. 2468">
<div class="form-text" id="tmPinHint">Wird zur Freischaltung des Terminals benötigt.</div>
</div>
<div class="col-md-8 d-flex align-items-end">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="tmActive" checked>
<label class="form-check-label" for="tmActive">Aktiv (Link gültig)</label>
</div>
</div>
</div>
<hr>
<label class="form-label small fw-semibold mb-1">Mobile-Ansichten zuordnen</label>
<div class="form-text mb-2">Diese Einzelansichten erscheinen in der Übersicht des Terminals. Ohne Zuordnung ist dort nichts auswählbar.</div>
<input type="text" class="form-control mb-2" id="tmAccSearch" placeholder="Suchen (Bezeichnung, Datum) …">
<div id="tmAccList" class="tm-acc-list border rounded p-2"><div class="text-muted small p-2">Wird geladen …</div></div>
<div class="js-status small mt-2 text-danger d-none" id="tmErr"></div>
<div class="d-none mt-3" id="tmResult">
<div class="alert alert-success d-flex flex-wrap align-items-center gap-3 mb-0">
<img id="tmResultQr" alt="QR" width="96" height="96" style="background:#fff;border-radius:8px;">
<div class="flex-grow-1 min-w-0">
<div class="fw-bold mb-1" id="tmResultLabel"></div>
<div class="input-group input-group-sm">
<input type="text" class="form-control" id="tmResultUrl" readonly>
<button type="button" class="btn btn-outline-secondary" id="tmCopy"><i class="material-icons sm">content_copy</i></button>
<a class="btn btn-outline-secondary" id="tmOpen" target="_blank" rel="noopener"><i class="material-icons sm">open_in_new</i></a>
</div>
</div>
</div>
</div>
<div class="d-flex gap-2 mt-3">
<button type="button" class="btn btn-primary" id="tmSave">Speichern</button>
<button type="button" class="btn btn-light" id="tmCancel">Schließen</button>
</div>
</div>
</div>
<div class="card">
<div class="card-header fw-bold">Angelegte Terminals <span class="badge bg-secondary rounded-pill ms-1" id="tmCount">0</span></div>
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead><tr><th>Bezeichnung</th><th>E-Mail</th><th>Ansichten</th><th>Status</th><th>Link</th><th class="text-end">Aktionen</th></tr></thead>
<tbody id="tmList"><tr><td colspan="6" class="text-muted small py-4 text-center">Wird geladen …</td></tr></tbody>
</table>
</div>
</div>
<style>
.tm-acc-list{max-height:280px;overflow:auto;}
.tm-acc-row{display:flex;align-items:flex-start;gap:9px;padding:7px 6px;border-bottom:1px solid var(--bs-border-color,#eef2f6);}
.tm-acc-row:last-child{border-bottom:0;}
.tm-acc-row input{margin-top:3px;flex:0 0 auto;}
.tm-acc-meta{font-size:12px;color:var(--bs-secondary-color,#6c757d);}
.tm-acc-chip{display:inline-block;background:#eef3f9;color:#243447;border-radius:6px;padding:1px 7px;font-size:11px;margin:2px 3px 0 0;}
.tm-url{font-family:ui-monospace,monospace;font-size:12px;}
</style>
<script src="https://seaside.pacim.de/assets/js/terminals.js?v=1782514226"></script>
</div><!-- /.page-wrapper -->
<footer class="footer">
<span>PaCIM · Parken-am-Schiff.de</span>
<span>SeaSide Travel GmbH & Co. Immobilien KG</span>
</footer>
</main><!-- /.main -->
<div class="sidebar-backdrop" hidden></div>
<!-- Globale JS-Variable -->
<script>
var SITE_URL = "https://seaside.pacim.de";
</script>
<!-- Bootstrap 5 Bundle (Content-Komponenten, inkl. Popper) -->
<script src="https://seaside.pacim.de/assets/js/bootstrap.bundle.min.js"></script>
<!-- Gentelella v4 Shell-Verhalten (Sidebar/Drawer/Theme) -->
<script src="https://seaside.pacim.de/assets/js/gentelella.js?v=1780438958"></script>
<script src="https://seaside.pacim.de/assets/js/search.js?v=1780917509"></script>
<!-- Vanilla-Plugins -->
<script src="https://seaside.pacim.de/assets/js/plugins/quill.min.js"></script>
<script src="https://seaside.pacim.de/assets/js/plugins/choices.min.js"></script>
<script src="https://seaside.pacim.de/assets/js/plugins/theme-functions.js"></script>
<script src="https://seaside.pacim.de/assets/js/custom.min.js?v=1782441601"></script>
<script src="https://seaside.pacim.de/assets/js/filter.js?v=1780443738"></script>
<script src="https://seaside.pacim.de/assets/js/table-sort.js?v=1780460902"></script>
<script src="https://seaside.pacim.de/assets/js/address-autocomplete.js?v=1780694884"></script>
<!-- Bestätigungs-Modal -->
<div class="modal fade" id="confirmationModal" tabindex="-1" role="dialog" aria-labelledby="confirmationModalTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="confirmationModalTitle">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<div class="confirmation m-0 row w-100">
<button type="button" class="btn btn-danger col mx-1 d-block" data-bs-dismiss="modal">Abbrechen</button>
<button type="button" class="btn btn-primary col mx-1 d-block btn-send-ajax">Bestätigen</button>
</div>
<div class="editor m-0 row w-100" style="display:none;">
<button type="button" class="btn btn-light border-secondary col mx-1 d-block" data-bs-dismiss="modal">Abbrechen</button>
<button type="button" class="btn btn-success border-secondary col mx-1 d-block btn-send-ajax">Speichern</button>
</div>
</div>
</div>
</div>
</div>
<!-- Datei-Viewer-Modal -->
<div class="modal fade" id="fileModal" tabindex="-1" role="dialog" aria-labelledby="fileModalTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fileModalTitle">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-danger col" data-bs-dismiss="modal">Schließen</button>
<button type="button" class="btn btn-primary col">Drucken</button>
</div>
</div>
</div>
</div>
</body>
</html>