Skip to content
Snippets Groups Projects
Commit 368fc07a authored by Demian Katz's avatar Demian Katz
Browse files

Improved file safety when re-running install.php.

parent 6368a553
No related merge requests found
...@@ -530,7 +530,13 @@ function buildApacheConfig($baseDir, $overrideDir, $basePath, $module, $multi, $ ...@@ -530,7 +530,13 @@ function buildApacheConfig($baseDir, $overrideDir, $basePath, $module, $multi, $
break; break;
} }
if (!@file_put_contents($overrideDir . '/httpd-vufind.conf', $config)) { $target = $overrideDir . '/httpd-vufind.conf';
if (file_exists($target)) {
$bak = $target . '.bak.' . time();
copy($target, $bak);
echo "Backed up existing Apache configuration to $bak.\n";
}
if (!@file_put_contents($target, $config)) {
die("Problem writing {$overrideDir}/httpd-vufind.conf.\n\n"); die("Problem writing {$overrideDir}/httpd-vufind.conf.\n\n");
} }
} }
...@@ -566,14 +572,19 @@ function buildWindowsConfig($baseDir, $overrideDir, $module) ...@@ -566,14 +572,19 @@ function buildWindowsConfig($baseDir, $overrideDir, $module)
*/ */
function buildImportConfig($baseDir, $overrideDir, $filename) function buildImportConfig($baseDir, $overrideDir, $filename)
{ {
$import = @file_get_contents($baseDir . '/import/' . $filename); $target = $overrideDir . '/import/' . $filename;
$import = str_replace("/usr/local/vufind", $baseDir, $import); if (file_exists($target)) {
$import = preg_replace( echo "Warning: $target already exists; skipping file creation.\n";
"/^\s*solrmarc.path\s*=.*$/m", } else {
"solrmarc.path = {$overrideDir}/import|{$baseDir}/import", $import $import = @file_get_contents($baseDir . '/import/' . $filename);
); $import = str_replace("/usr/local/vufind", $baseDir, $import);
if (!@file_put_contents($overrideDir . '/import/' . $filename, $import)) { $import = preg_replace(
die("Problem writing {$overrideDir}/import/{$filename}.\n\n"); "/^\s*solrmarc.path\s*=.*$/m",
"solrmarc.path = {$overrideDir}/import|{$baseDir}/import", $import
);
if (!@file_put_contents($target, $import)) {
die("Problem writing {$overrideDir}/import/{$filename}.\n\n");
}
} }
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment