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>
98 lines
1.8 KiB
PHP
98 lines
1.8 KiB
PHP
<?php
|
|
function getthisversion()
|
|
{
|
|
$ret = 0;
|
|
|
|
if(!is_dir("./update/thisversion"))
|
|
{
|
|
if(!mkdir("./update/thisversion",0777,true))
|
|
{
|
|
$ret = -1;
|
|
}
|
|
}
|
|
if(!$ret)
|
|
{
|
|
|
|
if(!is_file("./update/thisversion/currentversion.txt"))
|
|
{
|
|
if(!file_put_contents ("./update/thisversion/currentversion.txt", "001"))
|
|
{
|
|
$ret = -1;
|
|
}
|
|
}
|
|
if(!$ret)
|
|
{
|
|
$thisversion = file("./update/thisversion/currentversion.txt");
|
|
$ret = $thisversion[0];
|
|
}
|
|
}
|
|
return $ret;
|
|
}
|
|
|
|
function checknewversion($thisversion)
|
|
{
|
|
$ret = 0;
|
|
if(is_file("./update/versions.php"))
|
|
{
|
|
include_once("update/versions.php");
|
|
if($versions[0][0] > $thisversion)
|
|
{
|
|
$ret = $versions[0][0];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$ret = -1;
|
|
}
|
|
return $ret;
|
|
}
|
|
|
|
function savenewversion($version)
|
|
{
|
|
|
|
if(!file_put_contents ("./update/thisversion/currentversion.txt", $version))
|
|
{
|
|
$ret = -1;
|
|
}
|
|
else $ret = 1;
|
|
return $ret;
|
|
}
|
|
|
|
function manageupdate($version, $newversion)
|
|
{
|
|
$err = 0;
|
|
if($newversion > $version)
|
|
{
|
|
$updated = update_tables($version,$newversion);
|
|
if($updated > $version)
|
|
{
|
|
$version = $updated;
|
|
if(savenewversion($version) == -1)
|
|
{
|
|
$err = error("Es wurde auf eine neue Version aktualisiert, es konnte aber nicht gespeichert werden, bitte schreiben sie ".$version." in die Datei update/thisversion/currentversion.txt");
|
|
}
|
|
else
|
|
{
|
|
|
|
ok("Ihr Programm wurde soeben auf die Version ".substr($version, 0, 1).".".substr($version, 1, 1).".".substr($version, 2, 1)." aktualisiert!");
|
|
}
|
|
}
|
|
elseif($updated == -1)
|
|
{
|
|
warning("Diese Version ist nicht bekannt, nichts geändert");
|
|
}
|
|
else
|
|
{
|
|
$err = error("Es trat ein Fehler beim Update auf!");
|
|
}
|
|
}
|
|
elseif($newversion < 0)
|
|
{
|
|
$err = error("Prüfung auf aktualisierungen fehlgeschlagen!");
|
|
}
|
|
if($newversion<$version)
|
|
$newversion = $version;
|
|
return array($err,$newversion);
|
|
}
|
|
|
|
?>
|