/** * Get HTML for enum type * * @param array $column description of column in given table * @param string $backup_field hidden input field * @param string $column_name_appendix the name attribute * @param array $extracted_columnspec associative array containing type, * spec_in_brackets and possibly * enum_set_values (another array) * @param string $onChangeClause onchange clause for fields * @param integer $tabindex tab index * @param integer $tabindex_for_value offset for the values tabindex * @param integer $idindex id index * @param mixed $data data to edit * * @return string an html snippet */ function PMA_getPmaTypeEnum($column, $backup_field, $column_name_appendix, $extracted_columnspec, $onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data) { $html_output = ''; if (!isset($column['values'])) { $column['values'] = PMA_getColumnEnumValues($column, $extracted_columnspec); } $column_enum_values = $column['values']; $html_output .= '<input type="hidden" name="fields_type' . $column_name_appendix . '" value="enum" />'; $html_output .= '<input type="hidden" name="fields' . $column_name_appendix . '" value="" />'; $html_output .= "\n" . ' ' . $backup_field . "\n"; if (mb_strlen($column['Type']) > 20) { $html_output .= PMA_getDropDownDependingOnLength($column, $column_name_appendix, $onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data, $column_enum_values); } else { $html_output .= PMA_getRadioButtonDependingOnLength($column_name_appendix, $onChangeClause, $tabindex, $column, $tabindex_for_value, $idindex, $data, $column_enum_values); } return $html_output; }
/** * Test for PMA_getRadioButtonDependingOnLength * * @return void */ public function testGetRadioButtonDependingOnLength() { $column_enum_values = array(array('html' => 'foo', 'plain' => 'data'), array('html' => 'bar', 'plain' => '')); $result = PMA_getRadioButtonDependingOnLength('a', 'b', 2, array(), 0, 1, 'data', $column_enum_values); $this->assertContains('<input type="radio" name="fieldsa" class="textfield" value="foo" ' . 'id="field_1_3_0" b checked="checked" tabindex="2" />', $result); $this->assertContains('<label for="field_1_3_0">foo</label>', $result); $this->assertContains('<input type="radio" name="fieldsa" class="textfield" value="bar" ' . 'id="field_1_3_1" b tabindex="2" />', $result); $this->assertContains('<label for="field_1_3_1">bar</label>', $result); // case 2 $column_enum_values = array(array('html' => 'foo', 'plain' => 'data')); $column = array(); $column['Default'] = 'data'; $column['Null'] = 'YES'; $result = PMA_getRadioButtonDependingOnLength('a', 'b', 2, $column, 0, 1, '', $column_enum_values); $this->assertContains('<input type="radio" name="fieldsa" class="textfield" value="foo" ' . 'id="field_1_3_0" b checked="checked" tabindex="2" />', $result); }