getDropdown() public static method

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
return 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') . '&nbsp;' . 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;
}
Ejemplo n.º 2
0
/**
 * 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;
}
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * 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");
 }