Instanz: - $instanz in der externen Config bestimmt INSTANZ, UPLOADS_PATH und SESSION_NAME. Der Verzeichnisname waehlt nur noch die Config-Datei aus und ist Fallback, solange $instanz fehlt. - savePDF() schreibt nicht mehr fest nach DOCUMENT_ROOT."kunden", sondern in das Verzeichnis, das es auch aufraeumt. .gitkeep wird nicht mehr mitgeloescht. Sicherheit: - index.php?action=setup war ohne Login auch bei gueltiger Config erreichbar. rebuild-settings.php schrieb $_POST ungeprueft als PHP-Code in die Config (Codeausfuehrung, sofern die Datei schreibbar war). - Setup nur noch ohne gueltige Config, firststart.php und rebuild-settings.php pruefen das zusaetzlich selbst. - Config-Werte werden per var_export() maskiert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
// Nur als Teil von index.php?action=setup gültig und nur, solange es noch
|
|
// keine gültige Config gibt (siehe index.php).
|
|
if(!defined("CONFIG_PATH") || readsettings() == "valid")
|
|
exit;
|
|
$err = array();
|
|
|
|
require_once("update/database-update.php");
|
|
require_once("incs/update.php");
|
|
|
|
$smarty->assign("firma",$_POST["firma"]);
|
|
$smarty->assign("mysqlserver",$_POST["mysqlserver"]);
|
|
$smarty->assign("mysqldb",$_POST["mysqldb"]);
|
|
$smarty->assign("mysqluser",$_POST["mysqluser"]);
|
|
$smarty->assign("mysqlpw",$_POST["mysqlpw"]);
|
|
$smarty->assign("opengeodb",$_POST["opengeodb"]);
|
|
$smarty->assign("sunname",$_POST["sunname"]);
|
|
$smarty->assign("suvname",$_POST["suvname"]);
|
|
$smarty->assign("sunick",$_POST["sunick"]);
|
|
$smarty->assign("newpw",$_POST["newpw"]);
|
|
$smarty->assign("sumail",$_POST["sumail"]);
|
|
$smarty->assign("importsks",$_POST["importsks"]);
|
|
$smarty->assign("importpre",$_POST["importpre"]);
|
|
$smarty->assign("deletedb",$_POST["deletedb"]);
|
|
|
|
|
|
if(isset($_GET["formsent"]) && isset($_POST["mysqluser"]) && isset($_POST["mysqlserver"]))
|
|
{
|
|
include("update/rebuild-settings.php");
|
|
}
|
|
else if(isset($_GET["formsent"]))
|
|
{
|
|
|
|
$err = error("Keine Formulardaten erhalten, vielleicht ist die Datei zu groß?");
|
|
}
|
|
|
|
if($err || !isset($_GET["formsent"]))
|
|
{
|
|
if(@fileperms(CONFIG_PATH) != 16895)
|
|
{
|
|
$smarty->assign("permissionerror",1);
|
|
}
|
|
|
|
include_once("update/versions.php");
|
|
$disp_versions[""] = "Bitte wählen";
|
|
foreach($versions as $ver)
|
|
{
|
|
if($ver[0] > 1)
|
|
$disp_versions[$ver[0]] = "V".substr($ver[0],0,1).".".substr($ver[0],1,1).".".substr($ver[0],2,1)." Gültig $ver[1]";
|
|
}
|
|
$smarty->assign("versions",$disp_versions);
|
|
$smarty->display('firststart.tpl');
|
|
}
|
|
?>
|