From c54948fbcb7ee7ad8393be458b6116528ddf5045 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 29 Nov 2013 13:52:02 -0500
Subject: [PATCH] Merge branch 'master' of git.ispconfig.org:ispconfig/ispconfig3

---
 install/uninstall-fedora.php                      |   68 ++++++++++++++++++++++------------
 server/plugins-available/mail_plugin_dkim.inc.php |   20 +++++++--
 install/uninstall.php                             |   21 ++++++++--
 interface/web/mail/mail_domain_dkim_create.php    |    2 
 4 files changed, 76 insertions(+), 35 deletions(-)

diff --git a/install/uninstall-fedora.php b/install/uninstall-fedora.php
index 66eb300..b1d7e47 100644
--- a/install/uninstall-fedora.php
+++ b/install/uninstall-fedora.php
@@ -34,6 +34,10 @@
 
 error_reporting(E_ALL|E_STRICT);
 
+require "/usr/local/ispconfig/server/lib/config.inc.php";
+require "/usr/local/ispconfig/server/lib/app.inc.php";
+require "/usr/local/ispconfig/server/mysql_clientdb.conf";
+
 //** The banner on the command line
 echo "\n\n".str_repeat('-', 80)."\n";
 echo " _____ ___________   _____              __ _         ____
@@ -47,36 +51,52 @@
 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 uninsatll ISPConfig? [no]";
+$input = fgets(STDIN);
+$do_uninstall = rtrim($input);
 
 
-exec("/etc/init.d/mysqld stop");
-exec("rm -rf /var/lib/mysql/".$conf["db_database"]);
-exec("/etc/init.d/mysqld start");
+if($do_uninstall == 'yes') {
 
-// Deleting the symlink in /var/www
-// Apache
-@unlink("/etc/httpd/conf/sites-enabled/000-ispconfig.vhost");
-@unlink("/etc/httpd/conf/sites-available/ispconfig.vhost");
-@unlink("/etc/httpd/conf/sites-enabled/000-apps.vhost");
-@unlink("/etc/httpd/conf/sites-available/apps.vhost");
+	echo "\n\n>> Uninstalling ISPConfig 3... \n\n";
 
-// 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 database
+	//exec("/etc/init.d/mysqld stop");
+	//exec("rm -rf /var/lib/mysql/".$conf["db_database"]);
+	//exec("/etc/init.d/mysqld start");
+	$link = mysql_connect($clientdb_host, $clientdb_user, $clientdb_password);
+	if (!$link) {
+		echo "Unable to connect to the database'.mysql_error($link)";
+	} else {
+		$result=mysql_query("DROP DATABASE ".$conf['db_database']."';", $link);
+		if (!$result) echo "Unable to remove the ispconfig-database ".$conf['db_database']." ".mysql_error($link)."\n";
+		$result=mysql_query("DROP USER '".$conf['db_user'] ."';");
+		if (!$result) echo "Unable to remove the ispconfig-database-user ".$conf['db_user']." ".mysql_error($link)."\n";
+	}
+	mysql_close($link);
 
-// Delete the ispconfig files
-exec('rm -rf /usr/local/ispconfig');
+	// Deleting the symlink in /var/www
+	// Apache
+	@unlink("/etc/httpd/conf/sites-enabled/000-ispconfig.vhost");
+	@unlink("/etc/httpd/conf/sites-available/ispconfig.vhost");
+	@unlink("/etc/httpd/conf/sites-enabled/000-apps.vhost");
+	@unlink("/etc/httpd/conf/sites-available/apps.vhost");
 
-echo "Please do not forget to delete the ispconfig user in the mysql.user table.\n\n";
+	// 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");
 
-echo "Finished.\n";
+	// Delete the ispconfig files
+	exec('rm -rf /usr/local/ispconfig');
+
+//	echo "Please do not forget to delete the ispconfig user in the mysql.user table.\n\n";
+
+	echo "Finished uninstalling.\n";
+} else {
+	echo "\n\n>> Canceled uninstall. \n\n";
+}
 
 ?>
diff --git a/install/uninstall.php b/install/uninstall.php
index 9ac118d..f2081d2 100644
--- a/install/uninstall.php
+++ b/install/uninstall.php
@@ -36,6 +36,7 @@
 
 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/mysql_clientdb.conf";
 
 //** The banner on the command line
 echo "\n\n".str_repeat('-', 80)."\n";
@@ -63,10 +64,20 @@
 	// $app->db->query("DROP DATABASE '".$conf["db_database"]."'");
 	// $app->db->query("DELETE FROM mysql.user WHERE User = 'ispconfig'");
 	
-	
-	exec("/etc/init.d/mysql stop");
-	exec("rm -rf /var/lib/mysql/".$conf["db_database"]);
-	exec("/etc/init.d/mysql start");
+//	exec("/etc/init.d/mysql stop");
+//	exec("rm -rf /var/lib/mysql/".$conf["db_database"]);
+//	exec("/etc/init.d/mysql start");
+
+	$link = mysql_connect($clientdb_host, $clientdb_user, $clientdb_password);
+	if (!$link) {
+		echo "Unable to connect to the database'.mysql_error($link)";
+	} else {
+		$result=mysql_query("DROP DATABASE ".$conf['db_database']."';", $link);
+		if (!$result) echo "Unable to remove the ispconfig-database ".$conf['db_database']." ".mysql_error($link)."\n";
+		$result=mysql_query("DROP USER '".$conf['db_user'] ."';");
+	        if (!$result) echo "Unable to remove the ispconfig-database-user ".$conf['db_user']." ".mysql_error($link)."\n";
+	}
+	mysql_close($link);
 	
 	// Deleting the symlink in /var/www
 	// Apache
@@ -84,7 +95,7 @@
 	// Delete the ispconfig files
 	exec('rm -rf /usr/local/ispconfig');
 	
-	echo "Please do not forget to delete the ispconfig user in the mysql.user table.\n\n";
+//	echo "Please do not forget to delete the ispconfig user in the mysql.user table.\n\n";
 	echo "Finished uninstalling.\n";
 
 } else {
diff --git a/interface/web/mail/mail_domain_dkim_create.php b/interface/web/mail/mail_domain_dkim_create.php
index 24198a3..2a486a7 100644
--- a/interface/web/mail/mail_domain_dkim_create.php
+++ b/interface/web/mail/mail_domain_dkim_create.php
@@ -95,7 +95,7 @@
 		exec('openssl rand -out /usr/local/ispconfig/server/temp/random-data.bin 4096', $output, $result);
 		exec('openssl genrsa -rand /usr/local/ispconfig/server/temp/random-data.bin 1024', $privkey, $result);
 		unlink("/usr/local/ispconfig/server/temp/random-data.bin");
-		$private_key='';
+		foreach($privkey as $values) $private_key=$private_key.$values."\n";
 	break;
 
 	case 'show': /* show the DNS-Record onLoad */
diff --git a/server/plugins-available/mail_plugin_dkim.inc.php b/server/plugins-available/mail_plugin_dkim.inc.php
index 1d5e521..325dc0b 100644
--- a/server/plugins-available/mail_plugin_dkim.inc.php
+++ b/server/plugins-available/mail_plugin_dkim.inc.php
@@ -77,7 +77,8 @@
 		$pos_config=array(
 			'/etc/amavisd.conf',
 			'/etc/amavisd.conf/50-user',
-			'/etc/amavis/conf.d/50-user'
+			'/etc/amavis/conf.d/50-user',
+			'/etc/amavisd/amavisd.conf'
 		);
 		$amavis_configfile='';
 		foreach($pos_config as $conf) {
@@ -123,12 +124,21 @@
 	 */
 	function restart_amavis() {
 		global $app, $conf;
-		$initfile=$conf['init_scripts'].'/amavis';
-		$app->log('Restarting amavis.', LOGLEVEL_DEBUG);
-		exec(escapeshellarg($conf['init_scripts']).escapeshellarg('/amavis').' restart', $output);
+		$pos_init=array(
+			$conf['init_scripts'].'/amavis',
+			$conf['init_scripts'].'/amavisd'
+		);
+		$initfile='';
+		foreach($pos_init as $init) {
+			if (is_executable($init)) {
+				$initfile=$init;
+				break;
+				}
+		}
+		$app->log('Restarting amavis: '.$initfile.'.', LOGLEVEL_DEBUG);
+		exec(escapeshellarg($initfile).' restart', $output);
 		foreach($output as $logline) $app->log($logline, LOGLEVEL_DEBUG);
 	}
-
 
 	/**
 	 * This function writes the keyfiles (public and private)

--
Gitblit v1.9.1