93 lines
5.3 KiB
PHP
93 lines
5.3 KiB
PHP
<?php
|
||
$pageTitle = 'Email Template System – Bridge Setup';
|
||
$pageId = 'bridge-setup';
|
||
$navActive = 'bridge';
|
||
require __DIR__ . '/accountsetup_config.php';
|
||
require dirname(__DIR__) . '/../structure/layout_start.php';
|
||
?>
|
||
<main class="max-w-4xl mx-auto p-4 md:p-6 flex-1 w-full space-y-6">
|
||
<section class="section-card">
|
||
<h4>Bridge-Datei vorbereiten</h4>
|
||
<p class="text-sm text-slate-600 mb-3">
|
||
Diese Angaben werden nur verwendet, um die <strong>emailtemplate_bridge.php</strong> zu generieren. Das EmailTemplate-System selbst behält Zugriff auf alle Tabellen; die hier definierten Whitelists greifen ausschließlich in der Bridge-Datei.
|
||
</p>
|
||
<div class="text-sm text-slate-600 mb-4 space-y-2">
|
||
<p><strong>Voraussetzung:</strong> Bridge-URL + Token in den <a class="underline" href="<?= htmlspecialchars($appBaseUrl . '/admin/settings.php') ?>">Einstellungen</a> hinterlegen.</p>
|
||
<p><strong>Import-Varianten:</strong></p>
|
||
<ul class="list-disc ps-5">
|
||
<li>Tabellen/Spalten direkt ueber die Bridge-URL laden (Schema).</li>
|
||
<li>DB-Settings ueber die Bridge-URL laden und damit Tabellen/Spalten abfragen.</li>
|
||
<li>Fixe DB-Settings eingeben und damit Tabellen/Spalten abfragen.</li>
|
||
</ul>
|
||
</div>
|
||
<form id="bridgeSetupForm" class="space-y-4">
|
||
<div>
|
||
<label class="block text-sm text-slate-600">Tabellen-Whitelist (optional)</label>
|
||
<textarea name="tables" class="input mt-1" rows="3" placeholder="z.B. customers, orders"></textarea>
|
||
<p class="text-xs text-slate-500 mt-1">Kommagetrennt oder je Zeile eine Tabelle. Leer lassen = keine Einschränkung.</p>
|
||
<div id="selectedTables" class="flex flex-wrap gap-2 text-sm text-slate-600 mt-2">Noch keine Tabellen angegeben.</div>
|
||
</div>
|
||
|
||
<fieldset class="border border-slate-200 rounded-xl p-4">
|
||
<legend class="px-2 text-sm font-semibold">Datenbankquelle</legend>
|
||
<p class="text-xs text-slate-500 mb-3">Die Auswahl bestimmt, welche Werte in die Bridge-Datei geschrieben werden.</p>
|
||
<div class="flex flex-wrap gap-4 text-sm text-slate-600 mb-3">
|
||
<label class="inline-flex items-center gap-2">
|
||
<input type="radio" name="db_mode" value="bridge" checked> Konfiguration von URL laden
|
||
</label>
|
||
<label class="inline-flex items-center gap-2">
|
||
<input type="radio" name="db_mode" value="direct"> Eingabe fixer Datenbank-Einstellungen
|
||
</label>
|
||
</div>
|
||
|
||
<div id="bridgeFields" class="space-y-2">
|
||
<label class="block text-sm text-slate-600">Import-Art</label>
|
||
<label class="inline-flex items-center gap-2 text-sm text-slate-600">
|
||
<input type="radio" name="bridge_import" value="schema" checked> Tabellen und Spalten importieren
|
||
</label>
|
||
<p class="text-xs text-slate-500">Liest die aktuelle DB-Struktur direkt von der Bridge-Datei.</p>
|
||
<label class="inline-flex items-center gap-2 text-sm text-slate-600">
|
||
<input type="radio" name="bridge_import" value="settings"> Datenbankeinstellungen importieren
|
||
</label>
|
||
<p class="text-xs text-slate-500">Liest DB-Settings ueber die Bridge-URL und nutzt sie zum Abfragen der Tabellen/Spalten.</p>
|
||
</div>
|
||
|
||
<div id="directFields" class="grid md:grid-cols-2 gap-3">
|
||
<label class="block text-sm text-slate-600">Server / Host
|
||
<input type="text" name="direct_host" class="input mt-1" placeholder="127.0.0.1">
|
||
</label>
|
||
<label class="block text-sm text-slate-600">Port
|
||
<input type="number" name="direct_port" class="input mt-1" placeholder="3306">
|
||
</label>
|
||
<label class="block text-sm text-slate-600">Datenbankname
|
||
<input type="text" name="direct_database" class="input mt-1" placeholder="kunden_db">
|
||
</label>
|
||
<label class="block text-sm text-slate-600">Zeichensatz
|
||
<input type="text" name="direct_charset" class="input mt-1" value="utf8mb4">
|
||
</label>
|
||
<label class="block text-sm text-slate-600">Benutzername
|
||
<input type="text" name="direct_user" class="input mt-1" placeholder="db_user">
|
||
</label>
|
||
<label class="block text-sm text-slate-600">Passwort
|
||
<input type="text" name="direct_password" class="input mt-1" placeholder="••••">
|
||
</label>
|
||
</div>
|
||
</fieldset>
|
||
|
||
<div class="flex flex-wrap gap-2 items-center">
|
||
<button type="button" id="btn-load-remote" class="btn" data-role="admin">Tabellen/Spalten laden</button>
|
||
<span class="text-xs text-slate-500">Nutzt die Bridge-URL/Token oder die direkten DB-Settings (je nach Auswahl).</span>
|
||
<button type="submit" class="btn">Bridge-Setup speichern</button>
|
||
</div>
|
||
<div id="setupStatus" class="text-xs text-slate-500">Noch nicht gespeichert.</div>
|
||
</form>
|
||
</section>
|
||
</main>
|
||
|
||
<div id="toast-root"></div>
|
||
|
||
<?php
|
||
tpl_add_script(app_asset_url('/assets/js/toast.js'));
|
||
tpl_add_script(app_asset_url('/assets/js/bridge-setup.js'), 'footer', false, false, '', null, true);
|
||
require dirname(__DIR__) . '/../structure/layout_end.php';
|