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