Initialer Commit: Kundenverwaltung (PHP/Smarty)

Bestehende Codebasis als Ausgangsstand aufgenommen.

- .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache
  (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen;
  Verzeichnisstruktur ueber .gitkeep erhalten
- .gitattributes: Zeilenenden normalisiert (LF im Repo),
  Binaerformate markiert
- db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der
  Anwendung aus der externen Konfiguration statt hartkodiert aus der
  Datei; Passwort wird ueber eine temporaere Optionsdatei statt per
  Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet,
  Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 16:41:18 +02:00
co-authored by Claude Opus 5
commit e6eb55bc4b
2225 changed files with 1070301 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
{include file="heading.tpl" heading=$head}
<div class="widthlimiter">
<form action="?action={$frmact}&do=konto&kunde={$kunde|escape}&formsent=1&kontoid={$kontoid}" method='POST'>
<fieldset>
<label>Bank:</label><input name='bank' id='bank' value="{$bank|escape}" pattern="[^0-9]*" /><br />
<label>BLZ:</label><input name='blz' id='blz' value="{$blz|escape}" pattern="[0-9]*" /><br />
<label>Konto Nr.:</label><input name='ktonr' id='ktonr' value="{$ktonr|escape}" pattern="[0-9]*" /><br />
<label>Inhaber:</label><input name='inhaber' id='inhaber' value="{$inhaber|escape}" /><br />
<label>IBAN:</label><input name='iban' id='iban' value="{$iban|escape}" pattern="[0-9a-zA-Z]*" /><br />
<label>SWIFT:</label><input name='swift' id='swift' value="{$swift|escape}" pattern="[0-9]*" /><br />
<button type="button" class='spell' onclick="$('input').spellCheckInDialog()">Rechtschreibung prüfen</button><br />
</fieldset>
<input type="submit" value="Speichern" />
</form>
</div>
<script>
$(function() {
$( "#bank" ).autocomplete({
source: "ajax/auto/bank.php",
minLength: 2,
focus: function( event, ui ) {
$( "#blz" ).val( ui.item.blz);
return false;
}
});
});
$(function() {
$( "#blz" ).autocomplete({
source: "ajax/auto/blz.php",
minLength: 2,
focus: function( event, ui ) {
$( "#bank" ).val( ui.item.bank);
return false;
}
});
});
</script>