From 6368225a5e3f498e02e97b742437cbdb2498bc69 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 31 Jan 2016 06:27:10 -0500
Subject: [PATCH] Fixed: FS#4077 - php update.php --autoinstall=autoinstall.conf.php does not run non-interactive
---
install/lib/installer_base.lib.php | 43 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index f22a627..607b7cd 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -68,6 +68,12 @@
} else {
$input = $autoinstall[$name];
}
+ } elseif($name != '' && $autoupdate[$name] != '') {
+ if($autoupdate[$name] == 'default') {
+ $input = $default;
+ } else {
+ $input = $autoupdate[$name];
+ }
} else {
$answers_str = implode(',', $answers);
swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
@@ -104,6 +110,12 @@
$input = $default;
} else {
$input = $autoinstall[$name];
+ }
+ } elseif($name != '' && $autoupdate[$name] != '') {
+ if($autoupdate[$name] == 'default') {
+ $input = $default;
+ } else {
+ $input = $autoupdate[$name];
}
} else {
swrite($this->lng($query).' ['.$default.']: ');
@@ -1469,6 +1481,27 @@
}
+
+ //** writes bind configuration files
+ public function process_bind_file($configfile, $target='/', $absolute=false) {
+ global $conf;
+
+ if ($absolute) $full_file_name = $target.$configfile;
+ else $full_file_name = $conf['ispconfig_install_dir'].$target.$configfile;
+
+ //* Backup exiting file
+ if(is_file($full_file_name)) {
+ copy($full_file_name, $config_dir.$configfile.'~');
+ }
+ $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
+ $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content);
+ $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
+ $content = str_replace('{mysql_server_ispconfig_database}', $conf['mysql']['database'], $content);
+ $content = str_replace('{mysql_server_ip}', $conf['mysql']['ip'], $content);
+ $content = str_replace('{ispconfig_install_dir}', $conf['ispconfig_install_dir'], $content);
+ $content = str_replace('{dnssec_conffile}', $conf['ispconfig_install_dir'].'/server/scripts/dnssec-config.sh', $content);
+ wf($full_file_name, $content);
+ }
public function configure_bind() {
global $conf;
@@ -1481,13 +1514,15 @@
//* Create the slave subdirectory
$content .= 'slave';
- if(!@is_dir($content)) mkdir($content, 2770, true);
+ if(!@is_dir($content)) mkdir($content, 02770, true);
//* Chown the slave subdirectory to $conf['bind']['bind_user']
chown($content, $conf['bind']['bind_user']);
chgrp($content, $conf['bind']['bind_group']);
- chmod($content, 2770);
-
+ chmod($content, 02770);
+
+ //* Install scripts for dnssec implementation
+ $this->process_bind_file('named.conf.options', '/etc/bind/', true); //TODO replace hardcoded path
}
@@ -2822,4 +2857,4 @@
}
-?>
\ No newline at end of file
+?>
--
Gitblit v1.9.1