mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
Merge tag 'N941' into develop
Tagging hotfix N941 N941
This commit is contained in:
@@ -1302,72 +1302,89 @@ EOF
|
||||
$sDBUser = $aParameters['db_user'];
|
||||
$sDBPwd = $aParameters['db_pwd'];
|
||||
$sDBName = $aParameters['db_name'];
|
||||
$sTlsEnabled = (isset($aParameters['db_tls_enabled'])) ? $aParameters['db_tls_enabled'] : null;
|
||||
$sTlsCA = (isset($aParameters['db_tls_ca'])) ? $aParameters['db_tls_ca'] : null;
|
||||
|
||||
$oPage->add_ready_script('oXHRCheckDB = null;');
|
||||
|
||||
$checks = SetupUtils::CheckDbServer($sDBServer, $sDBUser, $sDBPwd, $sTlsEnabled, $sTlsCA);
|
||||
|
||||
if ($checks === false)
|
||||
$bIsWindows = (array_key_exists('WINDIR', $_SERVER) || array_key_exists('windir', $_SERVER));
|
||||
if ($bIsWindows && (strpos($sDBPwd, '%') !== false))
|
||||
{
|
||||
// Connection failed, disable the "Next" button
|
||||
// Unsuported Password, disable the "Next" button
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "error");');
|
||||
$oPage->add_ready_script('$("#db_info").html("<img src=\'../images/error.png\'/> No connection to the database...");');
|
||||
$oPage->add_ready_script('$("#db_info").html("<img src=\'../images/error.png\'/> Database password cannot contain % character...");');
|
||||
}
|
||||
else
|
||||
{
|
||||
$aErrors = array();
|
||||
$aWarnings = array();
|
||||
foreach($checks['checks'] as $oCheck)
|
||||
{
|
||||
if ($oCheck->iSeverity == CheckResult::ERROR)
|
||||
{
|
||||
$aErrors[] = $oCheck->sLabel;
|
||||
}
|
||||
else if ($oCheck->iSeverity == CheckResult::WARNING)
|
||||
{
|
||||
$aWarnings[] = $oCheck->sLabel;
|
||||
}
|
||||
}
|
||||
if (count($aErrors) > 0)
|
||||
{
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "error");');
|
||||
$oPage->add_ready_script('$("#db_info").html(\'<img src="../images/validation_error.png"/> <b>Error:</b> '.htmlentities(implode('<br/>', $aErrors), ENT_QUOTES, 'UTF-8').'\');');
|
||||
}
|
||||
else if (count($aWarnings) > 0)
|
||||
{
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "");');
|
||||
$oPage->add_ready_script('$("#db_info").html(\'<img src="../images/error.png"/> <b>Warning:</b> '.htmlentities(implode('<br/>', $aWarnings), ENT_QUOTES, 'UTF-8').'\');');
|
||||
}
|
||||
else
|
||||
{
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "");');
|
||||
$oPage->add_ready_script('$("#db_info").html(\'<img src="../images/validation_ok.png"/> Database server connection Ok.\');');
|
||||
}
|
||||
$sTlsEnabled = (isset($aParameters['db_tls_enabled'])) ? $aParameters['db_tls_enabled'] : null;
|
||||
$sTlsCA = (isset($aParameters['db_tls_ca'])) ? $aParameters['db_tls_ca'] : null;
|
||||
|
||||
if ($checks['databases'] == null)
|
||||
$oPage->add_ready_script('oXHRCheckDB = null;');
|
||||
|
||||
$checks = SetupUtils::CheckDbServer($sDBServer, $sDBUser, $sDBPwd, $sTlsEnabled, $sTlsCA);
|
||||
|
||||
if ($checks === false)
|
||||
{
|
||||
$sDBNameInput = '<input id="db_name" name="db_name" size="15" maxlen="32" value="'.htmlentities($sDBName, ENT_QUOTES, 'UTF-8').'"/><span style="width:20px;" id="v_db_name"></span>';
|
||||
$oPage->add_ready_script('$("#table_info").html(\'<img src="../images/error.png"/> Not enough rights to enumerate the databases\');');
|
||||
// Connection failed, disable the "Next" button
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "error");');
|
||||
$oPage->add_ready_script('$("#db_info").html("<img src=\'../images/error.png\'/> No connection to the database...");');
|
||||
}
|
||||
else
|
||||
{
|
||||
$sDBNameInput = '<select id="db_name" name="db_name">';
|
||||
foreach($checks['databases'] as $sDatabaseName)
|
||||
$aErrors = array();
|
||||
$aWarnings = array();
|
||||
foreach ($checks['checks'] as $oCheck)
|
||||
{
|
||||
if ($sDatabaseName != 'information_schema')
|
||||
if ($oCheck->iSeverity == CheckResult::ERROR)
|
||||
{
|
||||
$sEncodedName = htmlentities($sDatabaseName, ENT_QUOTES, 'UTF-8');
|
||||
$sSelected = ($sDatabaseName == $sDBName) ? ' selected ' : '';
|
||||
$sDBNameInput .= '<option value="'.$sEncodedName.'" '.$sSelected.'>'.$sEncodedName.'</option>';
|
||||
$aErrors[] = $oCheck->sLabel;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($oCheck->iSeverity == CheckResult::WARNING)
|
||||
{
|
||||
$aWarnings[] = $oCheck->sLabel;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($aErrors) > 0)
|
||||
{
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "error");');
|
||||
$oPage->add_ready_script('$("#db_info").html(\'<img src="../images/validation_error.png"/> <b>Error:</b> '.htmlentities(implode('<br/>', $aErrors), ENT_QUOTES, 'UTF-8').'\');');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count($aWarnings) > 0)
|
||||
{
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "");');
|
||||
$oPage->add_ready_script('$("#db_info").html(\'<img src="../images/error.png"/> <b>Warning:</b> '.htmlentities(implode('<br/>', $aWarnings), ENT_QUOTES, 'UTF-8').'\');');
|
||||
}
|
||||
else
|
||||
{
|
||||
$oPage->add_ready_script('$("#wiz_form").data("db_connection", "");');
|
||||
$oPage->add_ready_script('$("#db_info").html(\'<img src="../images/validation_ok.png"/> Database server connection Ok.\');');
|
||||
}
|
||||
}
|
||||
$sDBNameInput .= '</select>';
|
||||
}
|
||||
$oPage->add_ready_script('$("#db_name_container").html("'.addslashes($sDBNameInput).'");');
|
||||
$oPage->add_ready_script('$("#db_name").bind("click keyup change", function() { $("#existing_db").prop("checked", true); WizardUpdateButtons(); });');
|
||||
|
||||
if ($checks['databases'] == null)
|
||||
{
|
||||
$sDBNameInput = '<input id="db_name" name="db_name" size="15" maxlen="32" value="'.htmlentities($sDBName, ENT_QUOTES, 'UTF-8').'"/><span style="width:20px;" id="v_db_name"></span>';
|
||||
$oPage->add_ready_script('$("#table_info").html(\'<img src="../images/error.png"/> Not enough rights to enumerate the databases\');');
|
||||
}
|
||||
else
|
||||
{
|
||||
$sDBNameInput = '<select id="db_name" name="db_name">';
|
||||
foreach ($checks['databases'] as $sDatabaseName)
|
||||
{
|
||||
if ($sDatabaseName != 'information_schema')
|
||||
{
|
||||
$sEncodedName = htmlentities($sDatabaseName, ENT_QUOTES, 'UTF-8');
|
||||
$sSelected = ($sDatabaseName == $sDBName) ? ' selected ' : '';
|
||||
$sDBNameInput .= '<option value="'.$sEncodedName.'" '.$sSelected.'>'.$sEncodedName.'</option>';
|
||||
}
|
||||
}
|
||||
$sDBNameInput .= '</select>';
|
||||
}
|
||||
$oPage->add_ready_script('$("#db_name_container").html("'.addslashes($sDBNameInput).'");');
|
||||
$oPage->add_ready_script('$("#db_name").bind("click keyup change", function() { $("#existing_db").prop("checked", true); WizardUpdateButtons(); });');
|
||||
|
||||
}
|
||||
}
|
||||
$oPage->add_ready_script('WizardUpdateButtons();');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user