From e1ceb050e19c7574bca146a8da7047ee4ff456b5 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Sun, 10 Jul 2016 05:02:35 -0400
Subject: [PATCH] Merge branch 'stable-3.1'

---
 install/uninstall.php |   84 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 26 deletions(-)

diff --git a/install/uninstall.php b/install/uninstall.php
index 000c6c2..c565d46 100644
--- a/install/uninstall.php
+++ b/install/uninstall.php
@@ -34,40 +34,72 @@
 
 error_reporting(E_ALL|E_STRICT);
 
+require_once "/usr/local/ispconfig/server/lib/config.inc.php";
+require_once "/usr/local/ispconfig/server/lib/app.inc.php";
+require "/usr/local/ispconfig/server/lib/mysql_clientdb.conf";
+
 //** The banner on the command line
-echo "\n\n".str_repeat('-',80)."\n";
-echo " _____ ___________   _____              __ _       
-|_   _/  ___| ___ \ /  __ \            / _(_)      
-  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _ 
-  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
- _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
- \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
+echo "\n\n".str_repeat('-', 80)."\n";
+echo " _____ ___________   _____              __ _         ____
+|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
+  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
+  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
+ _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
+ \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                               __/ |
                                              |___/ ";
-echo "\n".str_repeat('-',80)."\n";
+echo "\n".str_repeat('-', 80)."\n";
 echo "\n\n>> Uninstall  \n\n";
 
-require("/usr/local/ispconfig/server/lib/config.inc.php");
-require("/usr/local/ispconfig/server/lib/app.inc.php");
-
-// Delete the ISPConfig database
-// $app->db->query("DROP DATABASE '".$conf["db_database"]."'");
-// $app->db->query("DELETE FROM mysql.user WHERE User = 'ispconfig'");
+echo "Are you sure you want to uninstall ISPConfig? [no]";
+$input = fgets(STDIN);
+$do_uninstall = rtrim($input);
 
 
-exec("/etc/init.d/mysql stop");
-exec("rm -rf /var/lib/mysql/".$conf["db_database"]);
-exec("/etc/init.d/mysql start");
+if($do_uninstall == 'yes') {
 
-// Deleting the symlink in /var/www
-unlink("/etc/apache2/sites-enabled/ispconfig.vhost");
-unlink("/etc/apache2/sites-available/ispconfig.vhost");
+	echo "\n\n>> Uninstalling ISPConfig 3... \n\n";
 
-// Delete the ispconfig files
-exec('rm -rf /usr/local/ispconfig');
+	$link = mysqli_connect($clientdb_host, $clientdb_user, $clientdb_password);
+	if (!$link) {
+		echo "Unable to connect to the database. mysql_error($link)";
+	} else {
+		$result=mysqli_query($link,"DROP DATABASE ".$conf['db_database'].";");
+		if (!$result) echo "Unable to remove the ispconfig-database ".$conf['db_database']." ".mysqli_error($link)."\n";
+		$result=mysqli_query($link,"DROP USER '".$conf['db_user']."'@'".$conf['db_host']."';");
+	        if (!$result) echo "Unable to remove the ispconfig-database-user ".$conf['db_user']." ".mysqli_error($link)."\n";
+	}
+	mysqli_close($link);
+	
+	// Deleting the symlink in /var/www
+	// Apache
+	@unlink("/etc/apache2/sites-enabled/000-ispconfig.vhost");
+	@unlink("/etc/apache2/sites-available/ispconfig.vhost");
+	@unlink("/etc/apache2/sites-enabled/000-apps.vhost");
+	@unlink("/etc/apache2/sites-available/apps.vhost");
+	
+	// nginx
+	@unlink("/etc/nginx/sites-enabled/000-ispconfig.vhost");
+	@unlink("/etc/nginx/sites-available/ispconfig.vhost");
+	@unlink("/etc/nginx/sites-enabled/000-apps.vhost");
+	@unlink("/etc/nginx/sites-available/apps.vhost");
+	
+	// Delete the ispconfig files
+	exec('rm -rf /usr/local/ispconfig');
+	
+	// Delete various other files
+	@unlink("/usr/local/bin/ispconfig_update.sh");
+	@unlink("/usr/local/bin/ispconfig_update_from_svn.sh");
+	@unlink("/var/spool/mail/ispconfig");
+	@unlink("/var/www/ispconfig");
+	@unlink("/var/www/php-fcgi-scripts/ispconfig");
+	@unlink("/var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter");
+	
+	echo "Backups in /var/backup/ and log files in /var/log/ispconfig are not deleted.";
+	echo "Finished uninstalling.\n";
 
-echo "Please do not forget to delete the ispconfig user in the mysql.user table.\n\n";
+} else {
+	echo "\n\n>> Canceled uninstall. \n\n";
+}
 
-echo "Finished.\n";
-
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1