From 966a2c2a53f98470915811cb1aede97386e85976 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Tue, 27 Sep 2016 10:12:58 +0200
Subject: [PATCH] Disallow the creation of passwordless MySQL users trough
 ISPConfig. Related to #4205.

---
 interface/web/sites/database_user_edit.php        | 3 +++
 interface/web/sites/lib/lang/ar_database_user.lng | 1 +
 interface/web/sites/lib/lang/bg_database_user.lng | 1 +
 interface/web/sites/lib/lang/br_database_user.lng | 1 +
 interface/web/sites/lib/lang/ca_database_user.lng | 1 +
 interface/web/sites/lib/lang/cz_database_user.lng | 1 +
 interface/web/sites/lib/lang/de_database_user.lng | 1 +
 interface/web/sites/lib/lang/dk_database_user.lng | 1 +
 interface/web/sites/lib/lang/el_database_user.lng | 1 +
 interface/web/sites/lib/lang/en_database_user.lng | 1 +
 interface/web/sites/lib/lang/es_database_user.lng | 1 +
 interface/web/sites/lib/lang/fi_database_user.lng | 1 +
 interface/web/sites/lib/lang/fr_database_user.lng | 1 +
 interface/web/sites/lib/lang/hr_database_user.lng | 1 +
 interface/web/sites/lib/lang/hu_database_user.lng | 1 +
 interface/web/sites/lib/lang/id_database_user.lng | 1 +
 interface/web/sites/lib/lang/it_database_user.lng | 1 +
 interface/web/sites/lib/lang/ja_database_user.lng | 1 +
 interface/web/sites/lib/lang/nl_database_user.lng | 1 +
 interface/web/sites/lib/lang/pl_database_user.lng | 1 +
 interface/web/sites/lib/lang/pt_database_user.lng | 1 +
 interface/web/sites/lib/lang/ro_database_user.lng | 1 +
 interface/web/sites/lib/lang/ru_database_user.lng | 1 +
 interface/web/sites/lib/lang/se_database_user.lng | 1 +
 interface/web/sites/lib/lang/sk_database_user.lng | 1 +
 interface/web/sites/lib/lang/tr_database_user.lng | 1 +
 26 files changed, 28 insertions(+)

diff --git a/interface/web/sites/database_user_edit.php b/interface/web/sites/database_user_edit.php
index 1fec35c5f1..5224cc50a8 100644
--- a/interface/web/sites/database_user_edit.php
+++ b/interface/web/sites/database_user_edit.php
@@ -182,6 +182,9 @@ class page_action extends tform_actions {
 
 		//* Database username shall not be empty
 		if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<br />';
+		
+		//* Database password shall not be empty
+		if($this->dataRecord['database_password'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_password_error_empty"].'<br />';
 
 		//* Get the database name and database user prefix
 		$app->uses('getconf,tools_sites');
diff --git a/interface/web/sites/lib/lang/ar_database_user.lng b/interface/web/sites/lib/lang/ar_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/ar_database_user.lng
+++ b/interface/web/sites/lib/lang/ar_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/bg_database_user.lng b/interface/web/sites/lib/lang/bg_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/bg_database_user.lng
+++ b/interface/web/sites/lib/lang/bg_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/br_database_user.lng b/interface/web/sites/lib/lang/br_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/br_database_user.lng
+++ b/interface/web/sites/lib/lang/br_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/ca_database_user.lng b/interface/web/sites/lib/lang/ca_database_user.lng
index ed143d572c..2b19491e96 100644
--- a/interface/web/sites/lib/lang/ca_database_user.lng
+++ b/interface/web/sites/lib/lang/ca_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultat';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/cz_database_user.lng b/interface/web/sites/lib/lang/cz_database_user.lng
index 81c77a1a80..165bcf8ec0 100644
--- a/interface/web/sites/lib/lang/cz_database_user.lng
+++ b/interface/web/sites/lib/lang/cz_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 výsledků';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Hledat';
 $wb['globalsearch_suggestions_text_txt'] = 'Návrhy';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/de_database_user.lng b/interface/web/sites/lib/lang/de_database_user.lng
index 3c14f2723a..1fdd237fd8 100644
--- a/interface/web/sites/lib/lang/de_database_user.lng
+++ b/interface/web/sites/lib/lang/de_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Suche';
 $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Datenbank-Passwort ist leer.';
 ?>
diff --git a/interface/web/sites/lib/lang/dk_database_user.lng b/interface/web/sites/lib/lang/dk_database_user.lng
index 51110c772c..c915824e90 100644
--- a/interface/web/sites/lib/lang/dk_database_user.lng
+++ b/interface/web/sites/lib/lang/dk_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultater';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Søg';
 $wb['globalsearch_suggestions_text_txt'] = 'Forslag';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/el_database_user.lng b/interface/web/sites/lib/lang/el_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/el_database_user.lng
+++ b/interface/web/sites/lib/lang/el_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/en_database_user.lng b/interface/web/sites/lib/lang/en_database_user.lng
index 3f478f1a35..dee9ddb080 100644
--- a/interface/web/sites/lib/lang/en_database_user.lng
+++ b/interface/web/sites/lib/lang/en_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = "0 results";
 $wb['globalsearch_searchfield_watermark_txt'] = "Search";
 $wb['globalsearch_suggestions_text_txt'] = "Suggestions";
 $wb['limit_database_user_txt'] = "The max. number of database users is reached.";
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/es_database_user.lng b/interface/web/sites/lib/lang/es_database_user.lng
index eeea4bcabd..c1cd3ffa39 100644
--- a/interface/web/sites/lib/lang/es_database_user.lng
+++ b/interface/web/sites/lib/lang/es_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultados';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Buscar';
 $wb['globalsearch_suggestions_text_txt'] = 'Sugerencias';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/fi_database_user.lng b/interface/web/sites/lib/lang/fi_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/fi_database_user.lng
+++ b/interface/web/sites/lib/lang/fi_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/fr_database_user.lng b/interface/web/sites/lib/lang/fr_database_user.lng
index 95903514d7..376386a75a 100644
--- a/interface/web/sites/lib/lang/fr_database_user.lng
+++ b/interface/web/sites/lib/lang/fr_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/hr_database_user.lng b/interface/web/sites/lib/lang/hr_database_user.lng
index 93f20936c5..825d685a09 100644
--- a/interface/web/sites/lib/lang/hr_database_user.lng
+++ b/interface/web/sites/lib/lang/hr_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
 $wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/hu_database_user.lng b/interface/web/sites/lib/lang/hu_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/hu_database_user.lng
+++ b/interface/web/sites/lib/lang/hu_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/id_database_user.lng b/interface/web/sites/lib/lang/id_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/id_database_user.lng
+++ b/interface/web/sites/lib/lang/id_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/it_database_user.lng b/interface/web/sites/lib/lang/it_database_user.lng
index 82051d944d..c0cb43b9d5 100644
--- a/interface/web/sites/lib/lang/it_database_user.lng
+++ b/interface/web/sites/lib/lang/it_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Cerca';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggerimenti';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/ja_database_user.lng b/interface/web/sites/lib/lang/ja_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/ja_database_user.lng
+++ b/interface/web/sites/lib/lang/ja_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/nl_database_user.lng b/interface/web/sites/lib/lang/nl_database_user.lng
index d23dec7388..cec8e7ac3f 100644
--- a/interface/web/sites/lib/lang/nl_database_user.lng
+++ b/interface/web/sites/lib/lang/nl_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultaten';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Zoeken';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggesties';
 $wb['limit_database_user_txt'] = 'Het max. aantal database gebruikers is bereikt.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/pl_database_user.lng b/interface/web/sites/lib/lang/pl_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/pl_database_user.lng
+++ b/interface/web/sites/lib/lang/pl_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/pt_database_user.lng b/interface/web/sites/lib/lang/pt_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/pt_database_user.lng
+++ b/interface/web/sites/lib/lang/pt_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/ro_database_user.lng b/interface/web/sites/lib/lang/ro_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/ro_database_user.lng
+++ b/interface/web/sites/lib/lang/ro_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/ru_database_user.lng b/interface/web/sites/lib/lang/ru_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/ru_database_user.lng
+++ b/interface/web/sites/lib/lang/ru_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/se_database_user.lng b/interface/web/sites/lib/lang/se_database_user.lng
index 1b2620f070..a1d349f9a3 100644
--- a/interface/web/sites/lib/lang/se_database_user.lng
+++ b/interface/web/sites/lib/lang/se_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultat';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Sök';
 $wb['globalsearch_suggestions_text_txt'] = 'Förslag';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/sk_database_user.lng b/interface/web/sites/lib/lang/sk_database_user.lng
index d00aefe1f3..ab7b59f649 100644
--- a/interface/web/sites/lib/lang/sk_database_user.lng
+++ b/interface/web/sites/lib/lang/sk_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 results';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Search';
 $wb['globalsearch_suggestions_text_txt'] = 'Suggestions';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
diff --git a/interface/web/sites/lib/lang/tr_database_user.lng b/interface/web/sites/lib/lang/tr_database_user.lng
index 2c03022973..785c4ecce4 100644
--- a/interface/web/sites/lib/lang/tr_database_user.lng
+++ b/interface/web/sites/lib/lang/tr_database_user.lng
@@ -21,4 +21,5 @@ $wb['globalsearch_noresults_limit_txt'] = '0 sonuç';
 $wb['globalsearch_searchfield_watermark_txt'] = 'Arama';
 $wb['globalsearch_suggestions_text_txt'] = 'Öneriler';
 $wb['limit_database_user_txt'] = 'The max. number of database users is reached.';
+$wb['database_password_error_empty'] = 'Database password is empty.';
 ?>
-- 
GitLab