/** * Outputs HTML for forms * * @param bool $tabbed_form if true, use a form with tabs * @param bool $show_restore_default whether show "restore default" button * besides the input field * @param bool $show_buttons whether show submit and reset button * @param string $form_action action attribute for the form * @param array $hidden_fields array of form hidden fields (key: field * name) * * @return string HTML for forms */ 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; }
echo '<td colspan="2" class="lastrow" style="text-align: left">'; echo '<input type="submit" name="submit_display" value="' . __('Display') . '" />'; echo '<input type="submit" name="submit_download" value="' . __('Download') . '" />'; echo ' '; echo '<input type="submit" name="submit_save" value="' . __('Save') . '"'; if (!$config_writable) { echo ' disabled="disabled"'; } echo '/>'; echo '<input type="submit" name="submit_load" value="' . __('Load') . '"'; if (!$config_exists) { echo ' disabled="disabled"'; } echo '/>'; echo '<input type="submit" name="submit_delete" value="' . __('Delete') . '"'; if (!$config_exists || !$config_writable) { echo ' disabled="disabled"'; } echo '/>'; echo ' '; echo '<input type="submit" name="submit_clear" value="' . __('Clear') . '" class="red" />'; echo '</td>'; echo '</tr>'; echo '</table>'; echo PMA_displayFormBottom(); echo '</fieldset>'; echo '<div id="footer">'; echo '<a href="https://www.phpmyadmin.net/">' . __('phpMyAdmin homepage') . '</a>'; echo '<a href="https://www.phpmyadmin.net/donate/">' . __('Donate') . '</a>'; echo '<a href="' . PMA_URL_getCommon() . $separator . 'version_check=1">' . __('Check for latest version') . '</a>'; echo '</div>';
/** * Outputs HTML for forms * * @param bool $tabbed_form * @param bool $show_restore_default whether show "restore default" button * besides the input field * * @return void */ public function display($tabbed_form = false, $show_restore_default = false) { static $js_lang_sent = false; $js = array(); $js_default = array(); $tabbed_form = $tabbed_form && count($this->_forms) > 1; $validators = PMA_config_get_validators(); PMA_displayFormTop(); if ($tabbed_form) { $tabs = array(); foreach ($this->_forms as $form) { $tabs[$form->name] = PMA_lang("Form_{$form->name}"); } PMA_displayTabsTop($tabs); } // valdiate 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 foreach ($this->_forms as $form) { /* @var $form Form */ $form_desc = isset($GLOBALS["strConfigForm_{$form->name}_desc"]) ? PMA_lang("Form_{$form->name}_desc") : ''; $form_errors = isset($this->_errors[$form->name]) ? $this->_errors[$form->name] : null; PMA_displayFieldsetTop(PMA_lang("Form_{$form->name}"), $form_desc, $form_errors, array('id' => $form->name)); foreach ($form->fields as $field => $path) { $work_path = array_search($path, $this->_systemPaths); $translated_path = $this->_translatedPaths[$work_path]; // always true/false for user preferences display // otherwise null $userprefs_allow = isset($this->_userprefsKeys[$path]) ? !isset($this->_userprefsDisallow[$path]) : null; // display input $this->_displayFieldInput($form, $field, $path, $work_path, $translated_path, $show_restore_default, $userprefs_allow, $js_default); // register JS validators for this field if (isset($validators[$path])) { PMA_addJsValidate($translated_path, $validators[$path], $js); } } PMA_displayFieldsetBottom(); } if ($tabbed_form) { PMA_displayTabsBottom(); } PMA_displayFormBottom(); // if not already done, send strings used for valdiation to JavaScript if (!$js_lang_sent) { $js_lang_sent = true; $js_lang = array(); foreach ($this->_jsLangStrings as $strName => $strValue) { $js_lang[] = "'{$strName}': '" . PMA_jsFormat($strValue, false) . '\''; } $js[] = "\$.extend(PMA_messages, {\n\t" . implode(",\n\t", $js_lang) . '})'; } $js[] = "\$.extend(defaultValues, {\n\t" . implode(",\n\t", $js_default) . '})'; PMA_displayJavascript($js); }
/** * Test for PMA_displayFormBottom() * * @return void */ public function testDisplayFormBottom() { $result = PMA_displayFormBottom(); $this->assertEquals("</form>\n", $result); }
/** * Test for PMA_displayFormBottom() * * @return void */ public function testDisplayFormBottom() { $this->expectOutputString( "</form>\n" ); PMA_displayFormBottom(); }