public function getDisplay($tabbed_form = false, $show_restore_default = false, $show_buttons = true, $form_action = null, $hidden_fields = null)
{
static $js_lang_sent = false;
$htmlOutput = '';
$js = array();
$js_default = array();
$htmlOutput .= PMA_displayFormTop($form_action, 'post', $hidden_fields);
if ($tabbed_form) {
$tabs = array();
foreach ($this->_forms as $form) {
$tabs[$form->name] = PMA_lang("Form_{$form->name}");
}
$htmlOutput .= PMA_displayTabsTop($tabs);
}
// validate only when we aren't displaying a "new server" form
$is_new_server = false;
foreach ($this->_forms as $form) {
/* @var $form Form */
if ($form->index === 0) {
$is_new_server = true;
break;
}
}
if (!$is_new_server) {
$this->_validate();
}
// user preferences
$this->_loadUserprefsInfo();
// display forms
$htmlOutput .= $this->_displayForms($show_restore_default, $js_default, $js, $show_buttons);
if ($tabbed_form) {
$htmlOutput .= PMA_displayTabsBottom();
}
$htmlOutput .= PMA_displayFormBottom();
// if not already done, send strings used for validation to JavaScript
if (!$js_lang_sent) {
$js_lang_sent = true;
$js_lang = array();
foreach ($this->_jsLangStrings as $strName => $strValue) {
$js_lang[] = "'{$strName}': '" . Sanitize::jsFormat($strValue, false) . '\'';
}
$js[] = "\$.extend(PMA_messages, {\n\t" . implode(",\n\t", $js_lang) . '})';
}
$js[] = "\$.extend(defaultValues, {\n\t" . implode(",\n\t", $js_default) . '})';
$htmlOutput .= PMA_displayJavascript($js);
return $htmlOutput;
}