Browse Source

Fix section with root pass restored when required if hidden

Laurent Destailleur 2 years ago
parent
commit
0016e7c5e8
2 changed files with 40 additions and 24 deletions
  1. 39 23
      htdocs/install/fileconf.php
  2. 1 1
      htdocs/install/inc.php

+ 39 - 23
htdocs/install/fileconf.php

@@ -448,7 +448,10 @@ if (!empty($force_install_noedit)) {
 			<input type="checkbox"
 				   id="db_create_database"
 				   name="db_create_database"
-				<?php if ($force_install_createdatabase) {
+				<?php
+				$checked = 0;
+				if ($force_install_createdatabase) {
+					$checked = 1;
 					print ' checked';
 				} ?>
 				<?php if ($force_install_noedit == 2 && $force_install_createdatabase !== null) {
@@ -456,7 +459,8 @@ if (!empty($force_install_noedit)) {
 				} ?>
 			>
 		</td>
-		<td class="comment"><?php echo $langs->trans("CheckToCreateDatabase"); ?>
+		<td class="comment">
+		<?php echo $langs->trans("CheckToCreateDatabase"); ?>
 		</td>
 	</tr>
 
@@ -503,7 +507,10 @@ if (!empty($force_install_noedit)) {
 			<input type="checkbox"
 				   id="db_create_user"
 				   name="db_create_user"
-				<?php if (!empty($force_install_createuser)) {
+				<?php
+				$checked = 0;
+				if (!empty($force_install_createuser)) {
+					$checked = 1;
 					print ' checked';
 				} ?>
 				<?php if ($force_install_noedit == 2 && $force_install_createuser !== null) {
@@ -511,7 +518,8 @@ if (!empty($force_install_noedit)) {
 				} ?>
 			>
 		</td>
-		<td class="comment"><?php echo $langs->trans("CheckToCreateUser"); ?>
+		<td class="comment">
+		<?php echo $langs->trans("CheckToCreateUser"); ?>
 		</td>
 	</tr>
 
@@ -613,30 +621,13 @@ jQuery(document).ready(function() {
 
 	});
 
-	function init_needroot()
-	{
-		console.log("init_needroot force_install_noedit=<?php echo $force_install_noedit?>");
-		/*alert(jQuery("#db_create_database").prop("checked")); */
-		if (jQuery("#db_create_database").is(":checked") || jQuery("#db_create_user").is(":checked"))
-		{
-			jQuery(".hideroot").show();
-			<?php
-			if (empty($force_install_noedit)) { ?>
-				jQuery(".needroot").removeAttr('disabled');
-			<?php } ?>
-		}
-		else
-		{
-			jQuery(".hideroot").hide();
-			jQuery(".needroot").prop('disabled', true);
-		}
-	}
-
 	init_needroot();
 	jQuery("#db_create_database").click(function() {
+		console.log("click on db_create_database");
 		init_needroot();
 	});
 	jQuery("#db_create_user").click(function() {
+		console.log("click on db_create_user");
 		init_needroot();
 	});
 	<?php if ($force_install_noedit == 2 && empty($force_install_databasepass)) { ?>
@@ -644,6 +635,27 @@ jQuery(document).ready(function() {
 	<?php } ?>
 });
 
+function init_needroot()
+{
+	console.log("init_needroot force_install_noedit=<?php echo $force_install_noedit?>");
+	/*alert(jQuery("#db_create_database").prop("checked")); */
+	if (jQuery("#db_create_database").is(":checked") || jQuery("#db_create_user").is(":checked"))
+	{
+		console.log("init_needroot show root section");
+		jQuery(".hideroot").show();
+		<?php
+		if (empty($force_install_noedit)) { ?>
+			jQuery(".needroot").removeAttr('disabled');
+		<?php } ?>
+	}
+	else
+	{
+		console.log("init_needroot hide root section");
+		jQuery(".hideroot").hide();
+		jQuery(".needroot").prop('disabled', true);
+	}
+}
+
 function checkDatabaseName(databasename) {
 	if (databasename.match(/[;\.]/)) { return false; }
 	return true;
@@ -651,6 +663,8 @@ function checkDatabaseName(databasename) {
 
 function jscheckparam()
 {
+	console.log("Click on jscheckparam");
+
 	ok=true;
 
 	if (document.forminstall.main_dir.value == '')
@@ -688,12 +702,14 @@ function jscheckparam()
 	{
 		ok=false;
 		alert('<?php echo dol_escape_js($langs->transnoentities("YouAskToCreateDatabaseSoRootRequired")); ?>');
+		init_needroot();
 	}
 	// If create user asked
 	else if (document.forminstall.db_create_user.checked == true && (document.forminstall.db_user_root.value == ''))
 	{
 		ok=false;
 		alert('<?php echo dol_escape_js($langs->transnoentities("YouAskToCreateDatabaseUserSoRootRequired")); ?>');
+		init_needroot();
 	}
 
 	return ok;

+ 1 - 1
htdocs/install/inc.php

@@ -530,7 +530,7 @@ function pFooter($nonext = 0, $setuplang = '', $jscheckfunction = '', $withpleas
 		print '<input type="hidden" name="selectlang" value="'.dol_escape_htmltag($setuplang).'">';
 	}
 
-	print '</form>'."\n";
+	print '</form><br>'."\n";
 
 	// If there is some logs in buffer to show
 	if (isset($conf->logbuffer) && count($conf->logbuffer)) {