403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /tmp/sc/ebcad464ac92351c77992e08f1fac327dfde19d3_0.file.manager.tpl.php
<?php
/* Smarty version 3.1.30, created on 2026-06-27 05:56:50
  from "/var/www/clients/client1/web17/web/includes/templates/templates/imports/manager.tpl" */

/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
  'version' => '3.1.30',
  'unifunc' => 'content_6a3f4a02cfaba7_80033158',
  'has_nocache_code' => false,
  'file_dependency' => 
  array (
    'ebcad464ac92351c77992e08f1fac327dfde19d3' => 
    array (
      0 => '/var/www/clients/client1/web17/web/includes/templates/templates/imports/manager.tpl',
      1 => 1781612799,
      2 => 'file',
    ),
  ),
  'includes' => 
  array (
    'file:imports/_daygroups.tpl' => 2,
  ),
),false)) {
function content_6a3f4a02cfaba7_80033158 (Smarty_Internal_Template $_smarty_tpl) {
if (!is_callable('smarty_modifier_date_format')) require_once '/var/www/clients/client1/web17/web/includes/plugins/smarty-3.1.30/plugins/modifier.date_format.php';
$_smarty_tpl->_assignInScope('ov', $_smarty_tpl->tpl_vars['importmanager']->value->overview(7));
$_smarty_tpl->_assignInScope('aidaGrouped', $_smarty_tpl->tpl_vars['importmanager']->value->recentFilesByCategory('aida_bookings',7));
$_smarty_tpl->_assignInScope('parkGrouped', $_smarty_tpl->tpl_vars['importmanager']->value->recentFilesByCategory('parkinglist',7));
?>
<link rel="stylesheet" href="<?php echo @constant('SITE_URL');?>
/assets/css/imports.css">
<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="container-fluid p-4">

  <div class="d-flex flex-wrap justify-content-between align-items-center mb-3">
    <h1 class="h3 mb-0">Import-Manager</h1>
    <div class="d-flex gap-2 align-items-center">
      <?php echo $_smarty_tpl->tpl_vars['importmanager']->value->aidaButton();?>

      <a href="<?php echo @constant('SITE_URL');?>
/mobile/calendar.php?token=nico" target="_blank" class="btn btn-outline-primary btn-sm">Anreisen</a>
    </div>
  </div>

  <ul class="nav nav-tabs mb-3" role="tablist">
    <li class="nav-item"><button class="nav-link active" data-bs-toggle="tab" data-bs-target="#im-overview" type="button" role="tab">Übersicht</button></li>
    <li class="nav-item"><button class="nav-link" data-bs-toggle="tab" data-bs-target="#im-aida" type="button" role="tab">AIDA <span class="badge bg-secondary ms-1"><?php echo $_smarty_tpl->tpl_vars['ov']->value['aidaFiles'];?>
</span></button></li>
    <li class="nav-item"><button class="nav-link" data-bs-toggle="tab" data-bs-target="#im-parking" type="button" role="tab">ParkingList <span class="badge bg-secondary ms-1"><?php echo $_smarty_tpl->tpl_vars['ov']->value['parkingFiles'];?>
</span></button></li>
  </ul>

  <div class="tab-content">

    
    <div class="tab-pane fade show active" id="im-overview" role="tabpanel">

      <div class="row g-3 mb-4">
        <div class="col-6 col-xl-3">
          <div class="card h-100"><div class="stat">
            <div class="stat-icon blue"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="4" width="18" height="4" rx="1"/><path d="M5 8v11a1 1 0 001 1h12a1 1 0 001-1V8M9 12h6"/></svg></div>
            <div class="stat-content"><div class="stat-label">Importdateien · 7 Tage</div>
              <div class="stat-value-row"><span class="stat-value"><?php echo $_smarty_tpl->tpl_vars['ov']->value['totalFiles'];?>
</span></div>
              <div class="stat-subtext">an <?php echo $_smarty_tpl->tpl_vars['ov']->value['importDays'];?>
 Tag(en)</div>
            </div>
          </div></div>
        </div>
        <div class="col-6 col-xl-3">
          <div class="card h-100"><div class="stat">
            <div class="stat-icon teal"><i class="material-icons">directions_boat</i></div>
            <div class="stat-content"><div class="stat-label">AIDA-Listen</div>
              <div class="stat-value-row"><span class="stat-value"><?php echo $_smarty_tpl->tpl_vars['ov']->value['aidaFiles'];?>
</span></div>
              <div class="stat-subtext"><?php if ($_smarty_tpl->tpl_vars['ov']->value['lastAida']) {?>zuletzt <?php echo smarty_modifier_date_format($_smarty_tpl->tpl_vars['ov']->value['lastAida'],"%d.%m. %H:%M");
} else { ?>—<?php }?></div>
            </div>
          </div></div>
        </div>
        <div class="col-6 col-xl-3">
          <div class="card h-100"><div class="stat">
            <div class="stat-icon green"><i class="material-icons">local_parking</i></div>
            <div class="stat-content"><div class="stat-label">ParkingList</div>
              <div class="stat-value-row"><span class="stat-value"><?php echo $_smarty_tpl->tpl_vars['ov']->value['parkingFiles'];?>
</span></div>
              <div class="stat-subtext"><?php if ($_smarty_tpl->tpl_vars['ov']->value['lastParking']) {?>zuletzt <?php echo smarty_modifier_date_format($_smarty_tpl->tpl_vars['ov']->value['lastParking'],"%d.%m. %H:%M");
} else { ?>noch keine<?php }?></div>
            </div>
          </div></div>
        </div>
        <div class="col-6 col-xl-3">
          <div class="card h-100"><div class="stat">
            <div class="stat-icon yellow"><i class="material-icons">directions_car</i></div>
            <div class="stat-content"><div class="stat-label">Fahrzeuge importiert · 7 Tage</div>
              <div class="stat-value-row"><span class="stat-value"><?php echo number_format($_smarty_tpl->tpl_vars['ov']->value['vehicles'],0,",",".");?>
</span></div>
              <div class="stat-subtext">aus allen Quellen</div>
            </div>
          </div></div>
        </div>
      </div>

      
      <div class="card shadow-sm mb-4" id="importUploader">
        <div class="card-header d-flex align-items-center gap-2">
          <span class="fw-bold">Datei prüfen</span>
          <span class="badge bg-warning text-dark">Dry-Run</span>
          <span class="text-muted small ms-auto">erkennt automatisch AIDA-Liste oder ParkingList</span>
        </div>
        <div class="card-body">
          <div id="dropZone" class="border rounded p-4 text-center text-muted" style="border-style:dashed !important;cursor:pointer;">
            <input type="file" id="importFile" accept=".csv,.xls,.xlsx,.txt" class="d-none">
            <div><i class="material-icons" style="font-size:40px;opacity:.6;">cloud_upload</i></div>
            <div class="mt-1">Datei hierher ziehen oder <span class="text-primary fw-semibold">auswählen</span></div>
            <div class="small mt-1">CSV (ParkingList) oder Excel (AIDA-Liste) · max. 20 MB</div>
          </div>
          <div class="d-flex align-items-center gap-2 mt-3">
            <span id="importFileName" class="small text-muted"></span>
            <button class="btn btn-primary ms-auto" id="importCheckBtn" disabled><i class="material-icons sm">science</i> Prüfen (Dry-Run)</button>
          </div>
          <div class="alert alert-info small mt-3 mb-0"><strong>Hinweis:</strong> Im Dry-Run werden die Daten nur gelesen und angezeigt – es wird nichts importiert oder gespeichert.</div>
          <div id="uploadResult" class="mt-3"></div>
        </div>
      </div>

      <?php $_smarty_tpl->_assignInScope('plog', $_smarty_tpl->tpl_vars['importmanager']->value->parkingImportLog(7));
?>
      <?php if ($_smarty_tpl->tpl_vars['plog']->value) {?>
      <div class="card shadow-sm mb-4">
        <div class="card-header fw-bold">Letzte ParkingList-Importe (7 Tage)</div>
        <div class="table-responsive">
          <table class="table table-sm table-hover align-middle mb-0">
            <thead><tr><th>Datei</th><th>Zeitpunkt</th><th class="text-end">Neu</th><th class="text-end">Aktualisiert</th><th class="text-end">Übersprungen</th></tr></thead>
            <tbody>
              <?php
$_from = $_smarty_tpl->smarty->ext->_foreach->init($_smarty_tpl, $_smarty_tpl->tpl_vars['plog']->value, 'e');
if ($_from !== null) {
foreach ($_from as $_smarty_tpl->tpl_vars['e']->value) {
?>
              <tr>
                <td><?php echo htmlspecialchars($_smarty_tpl->tpl_vars['e']->value['name'], ENT_QUOTES, 'UTF-8', true);?>
</td>
                <td class="small text-muted"><?php echo smarty_modifier_date_format($_smarty_tpl->tpl_vars['e']->value['dt'],"%d.%m.%Y %H:%M");?>
 Uhr</td>
                <td class="text-end"><span class="badge bg-success"><?php echo $_smarty_tpl->tpl_vars['e']->value['created'];?>
</span></td>
                <td class="text-end"><span class="badge bg-warning text-dark"><?php echo $_smarty_tpl->tpl_vars['e']->value['updated'];?>
</span></td>
                <td class="text-end"><span class="badge bg-secondary"><?php echo $_smarty_tpl->tpl_vars['e']->value['skipped'];?>
</span></td>
              </tr>
              <?php
}
}
$_smarty_tpl->smarty->ext->_foreach->restore($_smarty_tpl);
?>

            </tbody>
          </table>
        </div>
      </div>
      <?php }?>

      <div class="text-muted small">Es werden ausschließlich Importe der letzten 7 Tage angezeigt.</div>
    </div>

    
    <div class="tab-pane fade" id="im-aida" role="tabpanel">
      <div class="card shadow-sm mb-4">
        <div class="card-body py-2">
          <div class="d-flex align-items-center gap-2">
            <input type="text" id="live-import-search" class="form-control" autocomplete="off"
                   placeholder="Suche: Name, Buchung, Kennzeichen, Kabine, Cruise-ID ...">
            <button type="button" id="clear-live-import-search" class="btn btn-link text-muted px-2">✕</button>
            <div class="spinner-border spinner-border-sm text-primary d-none" id="live-search-loader" role="status"></div>
          </div>
          <div id="live-search-status" class="small text-muted mt-1"></div>
        </div>
      </div>
      <div id="live-search-wrapper" class="mb-4" style="display:none;">
        <div class="h4 mb-3" id="live-search-header">0 Suchergebnisse</div>
        <div id="live-search-results"></div>
      </div>
      <div id="default-import-list">
        <?php $_smarty_tpl->_subTemplateRender("file:imports/_daygroups.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array('grouped'=>$_smarty_tpl->tpl_vars['aidaGrouped']->value,'emptyText'=>"Keine AIDA-Importe in den letzten 7 Tagen."), 0, false);
?>

      </div>
    </div>

    
    <div class="tab-pane fade" id="im-parking" role="tabpanel">
      <div class="d-flex align-items-center justify-content-between mb-3">
        <div class="text-muted small">Täglicher Auto-Import aus dem ParkingList-Dashboard (ganzer Monat).</div>
        <button type="button" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#plSettingsModal"><i class="material-icons sm" style="vertical-align:-4px;">vpn_key</i> Zugangsdaten</button>
      </div>
      <?php if ($_smarty_tpl->tpl_vars['parkGrouped']->value) {?>
        <?php $_smarty_tpl->_subTemplateRender("file:imports/_daygroups.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array('grouped'=>$_smarty_tpl->tpl_vars['parkGrouped']->value,'emptyText'=>"Keine ParkingList-Importe in den letzten 7 Tagen."), 0, true);
?>

      <?php } else { ?>
        <div class="alert alert-secondary d-flex align-items-center gap-2">
          <i class="material-icons">local_parking</i>
          <div>Keine ParkingList-Importe in den letzten 7 Tagen. Lade in der <strong>Übersicht</strong> eine ParkingList-CSV hoch, um sie zu prüfen.</div>
        </div>
      <?php }?>
    </div>

  </div>
</div>

<!-- Modal: Excel-Vorschau -->
<div class="modal fade" id="excelModal" tabindex="-1" aria-labelledby="excelModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-xl modal-dialog-scrollable">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="excelModalLabel">Excel-Datei</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Schließen"></button>
      </div>
      <div class="modal-body" id="excelModalBody"><div class="text-muted">Datei wird geladen ...</div></div>
    </div>
  </div>
</div>

<!-- Modal: Rückgängig-Ausgabe -->
<div class="modal fade" id="shellModal" tabindex="-1" aria-labelledby="shellModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-lg modal-dialog-scrollable">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="shellModalLabel">Rückgängig – Ausgabe</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Schließen"></button>
      </div>
      <div class="modal-body" id="shellModalBody"><div class="text-muted">Keine Ausgabe.</div></div>
    </div>
  </div>
</div>

<!-- Modal: ParkingList-Zugangsdaten -->
<div class="modal fade" id="plSettingsModal" tabindex="-1" aria-labelledby="plSettingsLabel" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="plSettingsLabel"><i class="material-icons sm" style="vertical-align:-4px;">vpn_key</i> ParkingList – Zugangsdaten</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Schließen"></button>
      </div>
      <div class="modal-body">
        <div class="form-check form-switch mb-3">
          <input class="form-check-input" type="checkbox" id="plEnabled">
          <label class="form-check-label" for="plEnabled">Automatischer Import aktiv</label>
        </div>
        <div class="mb-3">
          <label class="form-label" for="plUser">Benutzer / E-Mail</label>
          <input type="text" class="form-control" id="plUser" autocomplete="off" placeholder="service@parken-am-schiff.de">
        </div>
        <div class="mb-2">
          <label class="form-label" for="plPass">Passwort</label>
          <input type="password" class="form-control" id="plPass" autocomplete="new-password" placeholder="•••••••• (leer = unverändert)">
          <div class="form-text" id="plPassHint">Wird verschlüsselt gespeichert.</div>
        </div>
        <div id="plStatus" class="small mt-2"></div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-light" data-bs-dismiss="modal">Abbrechen</button>
        <button type="button" class="btn btn-primary" id="plSave"><i class="material-icons sm" style="vertical-align:-4px;">save</i> Speichern</button>
      </div>
    </div>
  </div>
</div>

<?php echo '<script'; ?>
 src="<?php echo @constant('SITE_URL');?>
/assets/js/imports.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
 src="<?php echo @constant('SITE_URL');?>
/assets/js/imports-overview.js?v=<?php echo filemtime((@constant('PATH_SYSTEM')).('/assets/js/imports-overview.js'));?>
"><?php echo '</script'; ?>
>
<?php }
}

Youez - 2016 - github.com/yon3zu
LinuXploit