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 |   85 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 69 insertions(+), 16 deletions(-)

diff --git a/install/uninstall.php b/install/uninstall.php
index 5987845..c565d46 100644
--- a/install/uninstall.php
+++ b/install/uninstall.php
@@ -1,7 +1,7 @@
 <?php
 
 /*
-Copyright (c) 2008, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
@@ -28,25 +28,78 @@
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-require("/usr/local/ispconfig/server/lib/config.inc.php");
-require("/usr/local/ispconfig/server/lib/app.inc.php");
+/*
+	ISPConfig 3 uninstaller.
+*/
 
-// Delete the ISPConfig database
-// $app->db->query("DROP DATABASE '".$conf["db_database"]."'");
-$app->db->query("DELETE FROM mysql.user WHERE User = 'ispconfig'");
+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".str_repeat('-', 80)."\n";
+echo "\n\n>> Uninstall  \n\n";
+
+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 "Finished.\n";
+} else {
+	echo "\n\n>> Canceled uninstall. \n\n";
+}
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1