/** * Test for getDivForSliderEffect * * @return void */ function testGetDivForSliderEffectTestDisabled() { global $cfg; $cfg['InitialSlidersState'] = 'disabled'; $id = "test_id"; $message = "test_message"; $this->assertEquals(PMA_Util::getDivForSliderEffect($id, $message), '<div id="' . $id . '">'); }
/** * Get HTML for display indexes * * @return string $html_output */ function PMA_getHtmlForDisplayIndexes() { $html_output = PMA_Util::getDivForSliderEffect('indexes', __('Indexes')); $html_output .= PMA_Index::getView($GLOBALS['table'], $GLOBALS['db']); $html_output .= '<fieldset class="tblFooters" style="text-align: left;">' . '<form action="tbl_indexes.php" method="post">'; $html_output .= PMA_generate_common_hidden_inputs($GLOBALS['db'], $GLOBALS['table']) . sprintf(__('Create an index on %s columns'), '<input type="text" size="2" name="added_fields" value="1" />'); $html_output .= '<input type="hidden" name="create_index" value="1" />' . '<input class="add_index ajax"' . ' type="submit" value="' . __('Go') . '" />'; $html_output .= '</form>' . '</fieldset>' . '</div>' . '</div>'; return $html_output; }
/** * Get HTML for display indexes * * @return string $html_output */ function PMA_getHtmlForDisplayIndexes() { $html_output = '<div id="index_div" class="ajax'; if ($GLOBALS['cfg']['InitialSlidersState'] != 'disabled') { $html_output .= ' print_ignore'; } $html_output .= '" >'; $html_output .= PMA_Util::getDivForSliderEffect('indexes', __('Indexes')); $html_output .= PMA_Index::getHtmlForIndexes($GLOBALS['table'], $GLOBALS['db']); $html_output .= '<fieldset class="tblFooters print_ignore" style="text-align: ' . 'left;"><form action="tbl_indexes.php" method="post">'; $html_output .= PMA_URL_getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); $html_output .= sprintf(__('Create an index on %s columns'), '<input type="number" name="added_fields" value="1" ' . 'min="1" required="required" />'); $html_output .= '<input type="hidden" name="create_index" value="1" />' . '<input class="add_index ajax"' . ' type="submit" value="' . __('Go') . '" />'; $html_output .= '</form>' . '</fieldset>' . '</div>' . '</div>'; return $html_output; }
/** * Prepare option fields block * * @return string $options_html html content * * @access private * * @see _getTableHeaders() */ private function _getOptionsBlock() { $options_html = ''; $options_html .= '<form method="post" action="sql.php" ' . 'name="displayOptionsForm"'; $options_html .= ' class="ajax" '; $options_html .= '>'; $url_params = array('db' => $this->__get('db'), 'table' => $this->__get('table'), 'sql_query' => $this->__get('sql_query'), 'goto' => $this->__get('goto'), 'display_options_form' => 1); $options_html .= PMA_URL_getHiddenInputs($url_params) . '<br />' . PMA_Util::getDivForSliderEffect('', __('Options')) . '<fieldset>'; $options_html .= '<div class="formelement">'; $choices = array('P' => __('Partial texts'), 'F' => __('Full texts')); // pftext means "partial or full texts" (done to reduce line lengths) $options_html .= PMA_Util::getRadioFields('pftext', $choices, $_SESSION['tmpval']['pftext'], true, true, '', 'pftext_' . $this->__get('unique_id')) . '</div>'; if ($GLOBALS['cfgRelation']['relwork'] && $GLOBALS['cfgRelation']['displaywork']) { $options_html .= '<div class="formelement">'; $choices = array('K' => __('Relational key'), 'D' => __('Relational display column')); $options_html .= PMA_Util::getRadioFields('relational_display', $choices, $_SESSION['tmpval']['relational_display'], true, true, '', 'relational_display_' . $this->__get('unique_id')) . '</div>'; } $options_html .= '<div class="formelement">' . PMA_Util::getCheckbox('display_binary', __('Show binary contents'), !empty($_SESSION['tmpval']['display_binary']), false, 'display_binary_' . $this->__get('unique_id')) . '<br />' . PMA_Util::getCheckbox('display_blob', __('Show BLOB contents'), !empty($_SESSION['tmpval']['display_blob']), false, 'display_blob_' . $this->__get('unique_id')) . '</div>'; // I would have preferred to name this "display_transformation". // This is the only way I found to be able to keep this setting sticky // per SQL query, and at the same time have a default that displays // the transformations. $options_html .= '<div class="formelement">' . PMA_Util::getCheckbox('hide_transformation', __('Hide browser transformation'), !empty($_SESSION['tmpval']['hide_transformation']), false, 'hide_transformation_' . $this->__get('unique_id')) . '</div>'; if (!PMA_DRIZZLE) { $options_html .= '<div class="formelement">'; $choices = array('GEOM' => __('Geometry'), 'WKT' => __('Well Known Text'), 'WKB' => __('Well Known Binary')); $options_html .= PMA_Util::getRadioFields('geoOption', $choices, $_SESSION['tmpval']['geoOption'], true, true, '', 'geoOption_' . $this->__get('unique_id')) . '</div>'; } $options_html .= '<div class="clearfloat"></div>' . '</fieldset>'; $options_html .= '<fieldset class="tblFooters">' . '<input type="submit" value="' . __('Go') . '" />' . '</fieldset>' . '</div>' . '</form>'; return $options_html; }
/** * Generates formatted HTML for extra search options in table search form * * @return string the generated HTML */ private function _getOptions() { $html_output = ''; $html_output .= PMA_Util::getDivForSliderEffect('searchoptions', __('Options')); /** * Displays columns select list for selecting distinct columns in the search */ $html_output .= '<fieldset id="fieldset_select_fields">' . '<legend>' . __('Select columns (at least one):') . '</legend>' . '<select name="columnsToDisplay[]"' . ' size="' . min(count($this->_columnNames), 10) . '"' . ' multiple="multiple">'; // Displays the list of the fields foreach ($this->_columnNames as $each_field) { $html_output .= ' ' . '<option value="' . htmlspecialchars($each_field) . '"' . ' selected="selected">' . htmlspecialchars($each_field) . '</option>' . "\n"; } // end for $html_output .= '</select>' . '<input type="checkbox" name="distinct" value="DISTINCT"' . ' id="oDistinct" />' . '<label for="oDistinct">DISTINCT</label></fieldset>'; /** * Displays input box for custom 'Where' clause to be used in the search */ $html_output .= '<fieldset id="fieldset_search_conditions">' . '<legend>' . '<em>' . __('Or') . '</em> ' . __('Add search conditions (body of the "where" clause):') . '</legend>'; $html_output .= PMA_Util::showMySQLDocu('Functions'); $html_output .= '<input type="text" name="customWhereClause"' . ' class="textfield" size="64" />'; $html_output .= '</fieldset>'; /** * Displays option of changing default number of rows displayed per page */ $html_output .= '<fieldset id="fieldset_limit_rows">' . '<legend>' . __('Number of rows per page') . '</legend>' . '<input type="number" name="session_max_rows" required="required" ' . 'min="1" ' . 'value="' . $GLOBALS['cfg']['MaxRows'] . '" class="textfield" />' . '</fieldset>'; /** * Displays option for ordering search results * by a column value (Asc or Desc) */ $html_output .= '<fieldset id="fieldset_display_order">' . '<legend>' . __('Display order:') . '</legend>' . '<select name="orderByColumn"><option value="--nil--"></option>'; foreach ($this->_columnNames as $each_field) { $html_output .= ' ' . '<option value="' . htmlspecialchars($each_field) . '">' . htmlspecialchars($each_field) . '</option>' . "\n"; } // end for $html_output .= '</select>'; $choices = array('ASC' => __('Ascending'), 'DESC' => __('Descending')); $html_output .= PMA_Util::getRadioFields('order', $choices, 'ASC', false, true, "formelement"); unset($choices); $html_output .= '</fieldset><br style="clear: both;"/></div>'; return $html_output; }
/** * Function to get html for displaying the index form * * @param array $fields fields * @param PMA_Index $index index * @param array $form_params form parameters * @param int $add_fields number of fields in the form * * @return string */ function PMA_getHtmlForIndexForm($fields, $index, $form_params, $add_fields) { $html = ""; $html .= '<form action="tbl_indexes.php" method="post" name="index_frm" id="' . 'index_frm" class="ajax"' . 'onsubmit="if (typeof(this.elements[\'index[Key_name]\'].disabled) !=' . ' \'undefined\') {' . 'this.elements[\'index[Key_name]\'].disabled = false}">'; $html .= PMA_URL_getHiddenInputs($form_params); $html .= '<fieldset id="index_edit_fields">'; $html .= '<div class="index_info">'; $html .= '<div>' . '<div class="label">' . '<strong>' . '<label for="input_index_name">' . __('Index name:') . PMA_Util::showHint(PMA_Message::notice(__('"PRIMARY" <b>must</b> be the name of' . ' and <b>only of</b> a primary key!'))) . '</label>' . '</strong>' . '</div>' . '<input type="text" name="index[Key_name]" id="input_index_name"' . ' size="25"' . 'value="' . htmlspecialchars($index->getName()) . '"' . 'onfocus="this.select()" />' . '</div>'; $html .= '<div>' . '<div class="label">' . '<strong>' . '<label for="select_index_choice">' . __('Index choice:') . PMA_Util::showMySQLDocu('ALTER_TABLE') . '</label>' . '</strong>' . '</div>' . $index->generateIndexChoiceSelector(isset($_REQUEST['create_edit_table'])) . '</div>'; $html .= PMA_Util::getDivForSliderEffect('indexoptions', __('Options')); $html .= '<div>' . '<div class="label">' . '<strong>' . '<label for="input_key_block_size">' . __('Key block size:') . '</label>' . '</strong>' . '</div>' . '<input type="text" name="index[Key_block_size]" ' . 'id="input_key_block_size" size="30" value="' . htmlspecialchars($index->getKeyBlockSize()) . '" />' . '</div>'; $html .= '<div>' . '<div class="label">' . '<strong>' . '<label for="select_index_type">' . __('Index type:') . PMA_Util::showMySQLDocu('ALTER_TABLE') . '</label>' . '</strong>' . '</div>' . $index->generateIndexTypeSelector() . '</div>'; $html .= '<div>' . '<div class="label">' . '<strong>' . '<label for="input_parser">' . __('Parser:') . '</label>' . '</strong>' . '</div>' . '<input type="text" name="index[Parser]" ' . 'id="input_parse" size="30" value="' . htmlspecialchars($index->getParser()) . '" />' . '</div>'; $html .= '<div>' . '<div class="label">' . '<strong>' . '<label for="input_index_comment">' . __('Comment:') . '</label>' . '</strong>' . '</div>' . '<input type="text" name="index[Index_comment]" ' . 'id="input_index_comment" size="30"' . 'value="' . htmlspecialchars($index->getComment()) . '" />' . '</div>'; $html .= '</div>'; // end of indexoptions div $html .= '<div class="clearfloat"></div>'; $html .= '</div>'; $html .= '<table id="index_columns">'; $html .= '<thead>' . '<tr>' . '<th>' . __('Column') . '</th>' . '<th>' . __('Size') . '</th>' . '</tr>' . '</thead>'; $odd_row = true; $spatial_types = array('geometry', 'point', 'linestring', 'polygon', 'multipoint', 'multilinestring', 'multipolygon', 'geomtrycollection'); $html .= '<tbody>'; /* @var $column PMA_Index_Column */ foreach ($index->getColumns() as $column) { $html .= '<tr class="'; $html .= $odd_row ? 'odd' : 'even'; $html .= 'noclick">'; $html .= '<td><span class="drag_icon" title="' . __('Drag to reorder') . '"' . '></span>'; $html .= '<select name="index[columns][names][]">'; $html .= '<option value="">-- ' . __('Ignore') . ' --</option>'; foreach ($fields as $field_name => $field_type) { if (($index->getChoice() != 'FULLTEXT' || preg_match('/(char|text)/i', $field_type)) && ($index->getChoice() != 'SPATIAL' || in_array($field_type, $spatial_types))) { $html .= '<option value="' . htmlspecialchars($field_name) . '"' . ($field_name == $column->getName() ? ' selected="selected"' : '') . '>' . htmlspecialchars($field_name) . ' [' . htmlspecialchars($field_type) . ']' . '</option>' . "\n"; } } // end foreach $fields $html .= '</select>'; $html .= '</td>'; $html .= '<td>'; $html .= '<input type="text" size="5" onfocus="this.select()"' . 'name="index[columns][sub_parts][]" value="'; if ($index->getChoice() != 'SPATIAL') { $html .= $column->getSubPart(); } $html .= '"/>'; $html .= '</td>'; $html .= '</tr>'; $odd_row = !$odd_row; } // end foreach $edited_index_info['Sequences'] for ($i = 0; $i < $add_fields; $i++) { $html .= '<tr class="'; $html .= $odd_row ? 'odd' : 'even'; $html .= 'noclick">'; $html .= '<td><span class="drag_icon" title="' . __('Drag to reorder') . '"' . '></span>'; $html .= '<select name="index[columns][names][]">'; $html .= '<option value="">-- ' . __('Ignore') . ' --</option>'; $j = 0; foreach ($fields as $field_name => $field_type) { if (isset($_REQUEST['create_edit_table'])) { $col_index = $field_type[1]; $field_type = $field_type[0]; } $html .= '<option value="' . htmlspecialchars(isset($col_index) ? $col_index : $field_name) . '" ' . ($j++ == $i ? 'selected="selected"' : '') . '>' . htmlspecialchars($field_name) . ' [' . htmlspecialchars($field_type) . ']' . '</option>' . "\n"; } // end foreach $fields $html .= '</select>'; $html .= '</td>'; $html .= '<td>' . '<input type="text" size="5" onfocus="this.select()"' . 'name="index[columns][sub_parts][]" value="" />' . '</td>'; $html .= '</tr>'; $odd_row = !$odd_row; } // end foreach $edited_index_info['Sequences'] $html .= '</tbody>'; $html .= '</table>'; $html .= '<div class="add_more">'; $btn_value = sprintf(__('Add %s column(s) to index'), 1); $html .= '<div class="slider"></div>'; $html .= '<div class="add_fields hide">'; $html .= '<input type="submit" id="add_fields" value="' . $btn_value . '" />'; $html .= '</div>'; $html .= '</div>'; $html .= '</fieldset>'; $html .= '<fieldset class="tblFooters">'; $html .= '<button type="submit" id="preview_index_frm">' . __('Preview SQL') . '</button>'; $html .= '<input type="submit" id="save_index_frm" value="' . __('Go') . '" />'; $html .= '</fieldset>'; $html .= '</form>'; return $html; }