/**
  * Test for PMA_displayFieldsetBottom()
  *
  * @return void
  */
 public function testDisplayFieldsetBottom()
 {
     if (!PMA_HAS_RUNKIT) {
         $this->markTestSkipped('Cannot modify constant');
     }
     // with PMA_SETUP
     if (!defined('PMA_SETUP')) {
         define('PMA_SETUP', true);
     }
     $result = PMA_displayFieldsetBottom();
     $this->assertContains('<td colspan="3" class="lastrow">', $result);
     $this->assertContains('<input type="submit" name="submit_save" value="Apply"', $result);
     $this->assertContains('<input type="button" name="submit_reset" value="Reset" />', $result);
     $this->assertContains('</fieldset>', $result);
     // without PMA_SETUP
     runkit_constant_remove('PMA_SETUP');
     $result = PMA_displayFieldsetBottom();
     $this->assertContains('<td colspan="2" class="lastrow">', $result);
 }
Ejemplo n.º 2
0
 /**
  * Outputs HTML for the forms under the menu tab
  *
  * @param bool  $show_restore_default whether to show "restore default"
  *                                    button besides the input field
  * @param array &$js_default          stores JavaScript code
  *                                    to be displayed
  * @param array &$js                  will be updated with javascript code
  * @param bool  $show_buttons         whether show submit and reset button
  *
  * @return string $htmlOutput
  */
 private function _displayForms($show_restore_default, array &$js_default, array &$js, $show_buttons)
 {
     $htmlOutput = '';
     $validators = Validator::getValidators($this->_configFile);
     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;
         $htmlOutput .= 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
             $htmlOutput .= $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);
             }
         }
         $htmlOutput .= PMA_displayFieldsetBottom($show_buttons);
     }
     return $htmlOutput;
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }