Generates and returns an HTML dropdown
public static getDropdown ( string $select_name, array $choices, string $active_choice, string $id, string $class = '', string $placeholder = null ) : string | ||
$select_name | string | name for the select element |
$choices | array | choices values |
$active_choice | string | the choice to select by default |
$id | string | id of the select element; can be different in case the dropdown is present more than once on the page |
$class | string | class for the select element |
$placeholder | string | Placeholder for dropdown if nothing else is selected |
리턴 | string | html content |
/** * Get HTML fieldset for Table option, it contains HTML table for options * * @param string $comment Comment * @param array $tbl_collation table collation * @param string $tbl_storage_engine table storage engine * @param boolean $is_myisam_or_aria whether MYISAM | ARIA or not * @param boolean $is_isam whether ISAM or not * @param string $pack_keys pack keys * @param string $delay_key_write delay key write * @param string $auto_increment value of auto increment * @param string $transactional value of transactional * @param string $page_checksum value of page checksum * @param boolean $is_innodb whether INNODB or not * @param boolean $is_pbxt whether PBXT or not * @param boolean $is_aria whether ARIA or not * @param string $checksum the checksum * * @return string $html_output */ function PMA_getTableOptionFieldset($comment, $tbl_collation, $tbl_storage_engine, $is_myisam_or_aria, $is_isam, $pack_keys, $delay_key_write, $auto_increment, $transactional, $page_checksum, $is_innodb, $is_pbxt, $is_aria, $checksum) { $html_output = '<fieldset>' . '<legend>' . __('Table options') . '</legend>'; $html_output .= '<table>'; $html_output .= PMA_getHtmlForRenameTable(); $html_output .= PMA_getHtmlForTableComments($comment); //Storage engine $html_output .= '<tr><td class="vmiddle">' . __('Storage Engine') . ' ' . PMA\libraries\Util::showMySQLDocu('Storage_engines') . '</td>' . '<td>' . StorageEngine::getHtmlSelect('new_tbl_storage_engine', null, $tbl_storage_engine) . '</td>' . '</tr>'; //Table character set $html_output .= '<tr><td class="vmiddle">' . __('Collation') . '</td>' . '<td>' . PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_COLLATION, 'tbl_collation', null, $tbl_collation, false) . '</td>' . '</tr>'; // Change all Column collations $html_output .= '<tr><td></td><td>' . '<input type="checkbox" name="change_all_collations" value="1" ' . 'id="checkbox_change_all_collations" />' . '<label for="checkbox_change_all_collations">' . __('Change all column collations') . '</label>' . '</td></tr>'; if ($is_myisam_or_aria || $is_isam) { $html_output .= PMA_getHtmlForPackKeys($pack_keys); } // end if (MYISAM|ISAM) if ($is_myisam_or_aria) { $html_output .= PMA_getHtmlForTableRow('new_checksum', 'CHECKSUM', $checksum); $html_output .= PMA_getHtmlForTableRow('new_delay_key_write', 'DELAY_KEY_WRITE', $delay_key_write); } // end if (MYISAM) if ($is_aria) { $html_output .= PMA_getHtmlForTableRow('new_transactional', 'TRANSACTIONAL', $transactional); $html_output .= PMA_getHtmlForTableRow('new_page_checksum', 'PAGE_CHECKSUM', $page_checksum); } // end if (ARIA) if (mb_strlen($auto_increment) > 0 && ($is_myisam_or_aria || $is_innodb || $is_pbxt)) { $html_output .= '<tr><td class="vmiddle">' . '<label for="auto_increment_opt">AUTO_INCREMENT</label></td>' . '<td><input type="number" name="new_auto_increment" ' . 'id="auto_increment_opt"' . 'value="' . $auto_increment . '" /></td>' . '</tr> '; } // end if (MYISAM|INNODB) $possible_row_formats = PMA_getPossibleRowFormat(); // for MYISAM there is also COMPRESSED but it can be set only by the // myisampack utility, so don't offer here the choice because if we // try it inside an ALTER TABLE, MySQL (at least in 5.1.23-maria) // does not return a warning // (if the table was compressed, it can be seen on the Structure page) if (isset($possible_row_formats[$tbl_storage_engine])) { $current_row_format = mb_strtoupper($GLOBALS['showtable']['Row_format']); $html_output .= '<tr><td class="vmiddle">' . '<label for="new_row_format">ROW_FORMAT</label></td>' . '<td>'; $html_output .= PMA\libraries\Util::getDropdown('new_row_format', $possible_row_formats[$tbl_storage_engine], $current_row_format, 'new_row_format'); $html_output .= '</td></tr>'; } $html_output .= '</table>' . '</fieldset>'; return $html_output; }
/** * Gets the currently active authentication plugins * * @param string $orig_auth_plugin Default Authentication plugin * @param string $mode are we creating a new user or are we just * changing one? * (allowed values: 'new', 'edit', 'change_pw') * @param string $versions Is MySQL version newer or older than 5.5.7 * * @return string $html_output */ function PMA_getHtmlForAuthPluginsDropdown($orig_auth_plugin, $mode = 'new', $versions = 'new') { $select_id = 'select_authentication_plugin' . ($mode == 'change_pw' ? '_cp' : ''); if ($versions == 'new') { $active_auth_plugins = PMA_getActiveAuthPlugins(); if (isset($active_auth_plugins['mysql_old_password'])) { unset($active_auth_plugins['mysql_old_password']); } } else { $active_auth_plugins = array('mysql_native_password' => __('Native MySQL authentication')); } $html_output = Util::getDropdown('authentication_plugin', $active_auth_plugins, $orig_auth_plugin, $select_id); return $html_output; }
/** * Prepare fields for table navigation * Number of rows * * @param string $html_sql_query the sql encoded by htmlspecialchars() * * @return string $additional_fields_html html content * * @access private * * @see _getTableNavigation() */ private function _getAdditionalFieldsForTableNavigation($html_sql_query) { $additional_fields_html = ''; $additional_fields_html .= '<input type="hidden" name="sql_query" ' . 'value="' . $html_sql_query . '" />' . '<input type="hidden" name="goto" value="' . $this->__get('goto') . '" />' . '<input type="hidden" name="pos" size="3" value="' . $_SESSION['tmpval']['pos'] . '" />' . '<input type="hidden" name="is_browse_distinct" value="' . $this->__get('is_browse_distinct') . '" />'; $numberOfRowsPlaceholder = null; if ($_SESSION['tmpval']['max_rows'] == self::ALL_ROWS) { $numberOfRowsPlaceholder = __('All'); } $numberOfRowsChoices = array('25' => 25, '50' => 50, '100' => 100, '250' => 250, '500' => 500); $additional_fields_html .= __('Number of rows:') . ' '; $additional_fields_html .= Util::getDropdown('session_max_rows', $numberOfRowsChoices, $_SESSION['tmpval']['max_rows'], '', 'autosubmit', $numberOfRowsPlaceholder); return $additional_fields_html; }
/** * Returns HTML for the index type selector * * @return string HTML for the index type selector */ public function generateIndexTypeSelector() { $types = array("" => "--"); foreach (Index::getIndexTypes() as $type) { $types[$type] = $type; } return Util::getDropdown("index[Index_type]", $types, $this->_type, "select_index_type"); }