From ce9b51ed7f2febf37f2da0df983315f1c71f95a6 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Mon, 23 May 2016 04:21:02 -0400
Subject: [PATCH] - changed json handler for REST api

---
 install/install.php |   42 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/install/install.php b/install/install.php
index 7e916c1..cff2265 100644
--- a/install/install.php
+++ b/install/install.php
@@ -115,6 +115,10 @@
 		include_once $cmd_opt['autoinstall'];
 	} elseif($path_parts['extension'] == 'ini') {
 		$tmp = ini_to_array(file_get_contents('autoinstall.ini'));
+		if(!is_array($tmp['install'])) $tmp['install'] = array();
+		if(!is_array($tmp['ssl_cert'])) $tmp['ssl_cert'] = array();
+		if(!is_array($tmp['expert'])) $tmp['expert'] = array();
+		if(!is_array($tmp['update'])) $tmp['update'] = array();
 		$autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
 		unset($tmp);
 	}
@@ -135,6 +139,9 @@
 //** Installer Interface
 //****************************************************************************************************
 $inst = new installer();
+if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n");
+$retval=shell_exec("which which");
+if (empty($retval)) die ("ISPConfig requieres which \n");
 
 swriteln($inst->lng('    Following will be a few questions for primary configuration so be careful.'));
 swriteln($inst->lng('    Default values are in [brackets] and can be accepted with <ENTER>.'));
@@ -183,7 +190,7 @@
 } while (!$check);
 
 // Check if the mysql functions are loaded in PHP
-if(!function_exists('mysql_connect')) die('No PHP MySQL functions available. Please ensure that the PHP MySQL module is loaded.');
+if(!function_exists('mysqli_connect')) die('No PHP MySQLi functions available. Please ensure that the PHP MySQL module is loaded.');
 
 //** Get MySQL root credentials
 $finished = false;
@@ -203,7 +210,7 @@
 	}
 
 	//* Initialize the MySQL server connection
-	if(@mysql_connect($tmp_mysql_server_host . ':' . (int)$tmp_mysql_server_port, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
+	if(@mysqli_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password, '', (int)$tmp_mysql_server_port)) {
 		$conf['mysql']['host'] = $tmp_mysql_server_host;
 		$conf['mysql']['port'] = $tmp_mysql_server_port;
 		$conf['mysql']['admin_user'] = $tmp_mysql_server_admin_user;
@@ -212,7 +219,7 @@
 		$conf['mysql']['charset'] = $tmp_mysql_server_charset;
 		$finished = true;
 	} else {
-		swriteln($inst->lng('Unable to connect to the specified MySQL server').' '.mysql_error());
+		swriteln($inst->lng('Unable to connect to the specified MySQL server').' '.mysqli_connect_error());
 	}
 } while ($finished == false);
 unset($finished);
@@ -241,6 +248,8 @@
 
 if($install_mode == 'standard') {
 
+	$inst->dbmaster = $inst->db;
+	
 	//* Create the MySQL database
 	$inst->configure_database();
 
@@ -321,22 +330,29 @@
 	} else swriteln('[ERROR] Postfix not installed - skipping Mail');
 
 	//* Check for DNS
-	if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) {
-		$conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS', false);
+//	if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) {
+	if(!$conf['bind']['installed'] && !$conf['mydns']['installed']) {
+//		$conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS', false);
 		$conf['bind']['installed'] = $inst->force_configure_app('BIND', false);
 		$conf['mydns']['installed'] = $inst->force_configure_app('MyDNS', false);
 	}
 	//* Configure PowerDNS
+/*
 	if($conf['powerdns']['installed']) {
 		swriteln('Configuring PowerDNS');
 		$inst->configure_powerdns();
 		$conf['services']['dns'] = true;
 	}
+*/
+
 	//* Configure Bind
 	if($conf['bind']['installed']) {
 		swriteln('Configuring BIND');
 		$inst->configure_bind();
 		$conf['services']['dns'] = true;
+		if(!is_installed('haveged')) {
+			swriteln("[INFO] haveged not detected - DNSSEC can fail");
+		}
 	}
 	//* Configure MyDNS
 	if($conf['mydns']['installed']) {
@@ -438,6 +454,7 @@
 		swriteln('Configuring Bastille Firewall');
 		$inst->configure_bastille_firewall();
 		$conf['services']['firewall'] = true;
+		$conf['bastille']['installed'] = true;
 	}
 
 	//* Configure Fail2ban
@@ -495,6 +512,9 @@
 		$inst->install_crontab();
 	} else swriteln('[ERROR] Cron not found');
 
+	swriteln('Detect IP addresses');
+	$inst->detect_ips();
+
 	swriteln('Restarting services ...');
 	if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'restart').' >/dev/null 2>&1');
 	if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart'));
@@ -543,7 +563,7 @@
 			$tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
 
 			//* Initialize the MySQL server connection
-			if(@mysql_connect($tmp_mysql_server_host . ':' . (int)$tmp_mysql_server_port, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
+			if(@mysqli_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password, $tmp_mysql_server_database, (int)$tmp_mysql_server_port)) {
 				$conf['mysql']['master_host'] = $tmp_mysql_server_host;
 				$conf['mysql']['master_port'] = $tmp_mysql_server_port;
 				$conf['mysql']['master_admin_user'] = $tmp_mysql_server_admin_user;
@@ -551,7 +571,7 @@
 				$conf['mysql']['master_database'] = $tmp_mysql_server_database;
 				$finished = true;
 			} else {
-				swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
+				swriteln($inst->lng('Unable to connect to mysql server').' '.mysqli_connect_error());
 			}
 		} while ($finished == false);
 		unset($finished);
@@ -691,7 +711,7 @@
 		swriteln('Configuring Pureftpd');
 		$inst->configure_pureftpd();
 	}
-
+	
 	//** Configure DNS
 	if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') {
 		$conf['services']['dns'] = true;
@@ -713,6 +733,9 @@
 			swriteln('Configuring BIND');
 			$inst->configure_bind();
 			$conf['services']['dns'] = true;
+			if(!is_installed('haveged')) {
+				swriteln("[INFO] haveged not detected - DNSSEC can fail");
+			}
 		}
 		//* Configure MyDNS
 		if($conf['mydns']['installed']) {
@@ -861,6 +884,9 @@
 		if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload'));
 		if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload'));
 	}
+	
+	swriteln('Detect IP addresses');
+	$inst->detect_ips();
 
 
 

--
Gitblit v1.9.1