From 2b3b4cfe53e93823e11da9dc6c898b43e43cfa70 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Sun, 28 Feb 2016 17:14:17 +0100
Subject: [PATCH] more detaled informations during install/setup when mysql is
 not using NO_ENGINE_SUBSTITUTION

---
 install/lib/installer_base.lib.php | 7 ++++++-
 install/lib/update.lib.php         | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 363a38cb99..bbf8cfd3b7 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -217,7 +217,12 @@ class installer_base {
 		//* check sql-mode
 		$check_sql_mode = $this->db->queryOneRecord("SELECT @@sql_mode");
 
-		if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') die('Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION');
+		if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') {
+			echo "Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION. Add\n\n";
+			echo "    sql-mode=\"NO_ENGINE_SUBSTITUTION\"\n\n";
+			echo"to the mysqld-section in /etc/mysql/my.cnf and restart mysqld afterwards\n";
+			die();
+		}
 
 		//** Create the database
 		if(!$this->db->query('CREATE DATABASE IF NOT EXISTS ?? DEFAULT CHARACTER SET ?', $conf['mysql']['database'], $conf['mysql']['charset'])) {
diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php
index 9fb57cb655..a6bb42d2d4 100644
--- a/install/lib/update.lib.php
+++ b/install/lib/update.lib.php
@@ -125,7 +125,12 @@ function updateDbAndIni() {
 
 	//* check sql-mode
 	$check_sql_mode = $inst->db->queryOneRecord("SELECT @@sql_mode");
-	if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') die('Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION');
+	if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') {
+		echo "Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION. Add\n\n";
+		echo "    sql-mode=\"NO_ENGINE_SUBSTITUTION\"\n\n";
+		echo"to the mysqld-section in /etc/mysql/my.cnf and restart mysqld afterwards\n";
+		die();
+	}
 
 	//* Update $conf array with values from the server.ini that shall be preserved
 	$tmp = $inst->db->queryOneRecord("SELECT * FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . '.server', $conf['server_id']);
-- 
GitLab