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 e2124220e5
2225 changed files with 1070301 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
<?php
require_once("incs/constants.php");
session_name(SESSION_NAME);
session_start();
require_once("incs/authHelper.php");
require_once("incs/settings.php");
$settings=readsettings();
if($settings != "valid")
$action = "setup";
if($settings == "valid")
{
if(!$dbconn = @mysqli_connect($mysql_server, $mysql_user, $mysql_pw))
$err = error("Verbindung zur Datenbank fehlgeschlagen!!");
if(!@mysqli_select_db($dbconn,$mysql_db))
$err = error("Datenbank nicht gefunden!! ($mysql_db)");
}
if($_SESSION["login"] == "valid" && isset($_GET["id"])){
if(!mysqli_query($dbconn,"DELETE FROM addKey WHERE datetime < DATE_SUB(NOW(), INTERVAL 1 MINUTE);")){
echo mysqli_error($dbconn);
}
if(isLocal()){
$accessKey = strval(random_int(0,99999999));
if(!mysqli_query($dbconn,"INSERT INTO addKey SET accesskey=".$accessKey.", datetime=NOW();")){
echo mysqli_error($dbconn);
}
header('Location: https://wm.el-wa.org/kunden?action=userkeys&id='.$_GET["id"].'&addKey='.$accessKey);
echo 'https://wm.el-wa.org/kunden?action=userkeys&id='.$_GET["id"].'&addKey='.$accessKey;
}else{
echo "Keine Berechtigung.";
}
}else{
echo "no login";
}
?>