diff --git a/ChangeLog b/ChangeLog index 160d5f8f1..1c34496e8 100755 --- a/ChangeLog +++ b/ChangeLog @@ -88,6 +88,12 @@ $Id$ - bug #2998889 [import] Import button does not work in Catalan - [browse] Fix handling of sort order if only column is specified. + [lang] Greek update, thanks to Panagiotis Papazoglou - panos78 ++ [lang] Updated lot of translation based on work done in master branch. +- bug #3008411 [databases] Last dropped database remains active in navi +- bug #2986383 [parser] Not all data being shown / counted +- bug [synchronize] Rows were deleted in target table regardless of the + "Would you like to delete..." option +- bug [privileges] List of tables not shown when the db name has a wildcard 3.3.3.0 (2010-05-10) - patch #2982480 [navi] Do not group if there would be one table in group, diff --git a/Documentation.html b/Documentation.html index bbb7dfbf0..659cd68c7 100755 --- a/Documentation.html +++ b/Documentation.html @@ -101,8 +101,8 @@ vim: expandtab ts=4 sw=4 sts=4 tw=78

Currently phpMyAdmin can:

-

- 6.7 How can I use the "display field" feature?

+ 6.7 How can I use the "display column" feature?

Starting from the previous example, create the pma_table_info as explained in the configuration section, then browse your persons table, and move the mouse over a town code or country code.

- See also FAQ 6.21 for an additional feature that "display field" + See also FAQ 6.21 for an additional feature that "display column" enables: drop-down list of possible values.

@@ -4098,8 +4097,8 @@ INSERT INTO REL_towns VALUES ('M', 'Montréal'); different structure.
  • "Add AUTO_INCREMENT value" ensures that AUTO_INCREMENT value (if any) will be included in backup.
  • -
  • "Enclose table and field names with backquotes" ensures that - field and table names formed with special characters are protected.
  • +
  • "Enclose table and column names with backquotes" ensures that + column and table names formed with special characters are protected.
  • "Add into comments" includes column comments, relations, and MIME types set in the pmadb in the dump as SQL comments (/* xxx */). @@ -4156,15 +4155,15 @@ INSERT INTO REL_towns VALUES ('M', 'Montréal'); We utilize it as free SOAP service.

    - 6.15 I want to add a BLOB field and put an index on + 6.15 I want to add a BLOB column and put an index on it, but MySQL says "BLOB column '...' used in key specification without a key length".

    -

    The right way to do this, is to create the field without any indexes, +

    The right way to do this, is to create the column without any indexes, then display the table structure and use the "Create an index" - dialog. On this page, you will be able to choose your BLOB field, and + dialog. On this page, you will be able to choose your BLOB column, and set a size to the index, which is the condition to create an index on - a BLOB field.

    + a BLOB column.

    6.16 How can I simply move in page with plenty @@ -4183,7 +4182,7 @@ INSERT INTO REL_towns VALUES ('M', 'Montréal'); WTF is this feature then useful for?

    Slow down :). Defining mimetypes is of no use, if you can't put transformations - on them. Otherwise you could just put a comment on the field. Because entering + on them. Otherwise you could just put a comment on the column. Because entering your own mimetype will cause serious syntax checking issues and validation, this introduces a high-risk false-user-input situation. Instead you have to initialize mimetypes using functions or empty mimetype definitions.
    @@ -4273,17 +4272,17 @@ INSERT INTO REL_towns VALUES ('M', 'Montréal');

    6.21 In edit/insert mode, how can I see a list of - possible values for a field, based on some foreign table?

    + possible values for a column, based on some foreign table?

    You have to setup appropriate links between the tables, and also - setup the "display field" in the foreign table. See + setup the "display column" in the foreign table. See FAQ 6.6 for an example. Then, if there are 100 values or less in the foreign table, a drop-down list of values will be available. You will see two lists of values, the first list containing the key - and the display field, the second list containing the display field + and the display column, the second list containing the display column and the key. The reason for this is to be able to type the first - letter of either the key or the display field.

    + letter of either the key or the display column.

    For 100 values or more, a distinct window will appear, to browse foreign key values and choose one. To change the default limit of 100, see @@ -4867,7 +4866,7 @@ Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, "Manuzhai". also contributed the French translation.

  • Alexandr Bravo <abravo_at_hq.admiral.ru> who contributed - tbl_select.php3, a feature to display only some fields from a table. + tbl_select.php3, a feature to display only some columns from a table.
  • Chris Jackson <chrisj_at_ctel.net> added support for MySQL functions in tbl_change.php3. He also added the diff --git a/db_datadict.php b/db_datadict.php index a38b35b16..7af533c94 100755 --- a/db_datadict.php +++ b/db_datadict.php @@ -125,9 +125,9 @@ while ($row = PMA_DBI_fetch_assoc($rowset)) { /** - * Gets fields properties + * Gets columns properties */ - $result = PMA_DBI_query('SHOW FIELDS FROM ' . PMA_backquote($table) . ';', null, PMA_DBI_QUERY_STORE); + $result = PMA_DBI_query('SHOW COLUMNS FROM ' . PMA_backquote($table) . ';', null, PMA_DBI_QUERY_STORE); $fields_cnt = PMA_DBI_num_rows($result); if (PMA_MYSQL_INT_VERSION < 50025) { @@ -171,7 +171,7 @@ while ($row = PMA_DBI_fetch_assoc($rowset)) { ?> - +*/ ?> diff --git a/db_operations.php b/db_operations.php index 8ba13a28b..40ec65272 100755 --- a/db_operations.php +++ b/db_operations.php @@ -121,7 +121,7 @@ if (strlen($db) && (! empty($db_rename) || ! empty($db_copy))) { if ($this_what != 'nocopy') { // keep the triggers from the original db+table - // (third param is empty because delimiters are only intended + // (third param is empty because delimiters are only intended // for importing via the mysql client or our Import feature) $triggers = PMA_DBI_get_triggers($db, $each_table, ''); @@ -141,7 +141,7 @@ if (strlen($db) && (! empty($db_rename) || ! empty($db_copy))) { } unset($trigger); } - unset($triggers); + unset($triggers); // this does not apply to a rename operation if (isset($GLOBALS['add_constraints']) && !empty($GLOBALS['sql_constraints_query'])) { @@ -380,6 +380,8 @@ if (!$is_information_schema) { + +
    @@ -422,6 +424,8 @@ if (!$is_information_schema) { echo 'INSERT INTO ... SELECT'; //} echo ')'; ?> + +
    @@ -599,6 +603,8 @@ if (!$is_information_schema) { . ' ' . "\n" . PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_COLLATION, 'db_collation', 'select_db_collation', $db_collation, false, 3) + . '' + . '
    ' . ' ' . "\n" . '
    ' . "\n" @@ -631,79 +637,15 @@ if ($cfgRelation['pdfwork'] && $num_tables > 0) { ?> WHERE db_name = \'' . PMA_sqlAddslashes($db) . '\''; $test_rs = PMA_query_as_controluser($test_query, null, PMA_DBI_QUERY_STORE); - if ($test_rs && PMA_DBI_num_rows($test_rs) > 0) { ?> - - -
    - - '; - } - echo __('Display PDF schema'); - ?>: - - -
    - - -
    - -
    - -
    - -
    - -
    - -
    - - -
    - - - -
    -
    - -
    - - 0) { + include('./libraries/display_pdf_schema.lib.php'); } // end if - echo '
    '; + echo '
    '; if ($cfg['PropertiesIconic']) { echo ''; } - echo __('Edit PDF Pages') . ''; + echo __('Edit PDF Pages') . '
    '; } // end if /** diff --git a/db_printview.php b/db_printview.php index d1ed79c17..a6d66f7b5 100755 --- a/db_printview.php +++ b/db_printview.php @@ -102,7 +102,7 @@ else { - +
    - + diff --git a/db_qbe.php b/db_qbe.php index dce1c6770..0b661c95f 100755 --- a/db_qbe.php +++ b/db_qbe.php @@ -171,7 +171,7 @@ function showColumnSelectCell($columns, $column_number, $selected = '')
    - + - + diff --git a/db_structure.php b/db_structure.php index 0fa4873da..65b78b708 100755 --- a/db_structure.php +++ b/db_structure.php @@ -477,7 +477,7 @@ if ($is_show_stats) { if ($num_tables == 0) $tableReductionCount = 0; - echo sprintf(__('%s table(s)'), PMA_formatNumber($num_tables - $tableReductionCount, 0)); + echo sprintf(_ngettext('%s table', '%s tables', $num_tables - $tableReductionCount), PMA_formatNumber($num_tables - $tableReductionCount, 0)); ?> $js_message) { diff --git a/libraries/Index.class.php b/libraries/Index.class.php index 23306423b..66a2114ba 100755 --- a/libraries/Index.class.php +++ b/libraries/Index.class.php @@ -443,7 +443,7 @@ class PMA_Index $r .= ''; $r .= ''; $r .= ''; - $r .= ''; + $r .= ''; $r .= ''; $r .= ''; $r .= ''; diff --git a/libraries/db_structure.lib.php b/libraries/db_structure.lib.php index 7a6dff7d8..2b6f42034 100755 --- a/libraries/db_structure.lib.php +++ b/libraries/db_structure.lib.php @@ -19,7 +19,7 @@ if (! defined('PHPMYADMIN')) { * @uses $GLOBALS['is_show_stats'] * @uses __('Table') * @uses __('Action') - * @uses __('Records') + * @uses __('Rows') * @uses __('May be approximate. See [a@./Documentation.html#faq3_11@Documentation]FAQ 3.11[/a]') * @uses __('Type') * @uses __('Collation') @@ -53,7 +53,7 @@ function PMA_TableHeader($db_is_information_schema = false, $replication = false .' ' . __('Action') . "\n" .' ' // larger values are more interesting so default sort order is DESC - .' ' . "\n"; if (!($GLOBALS['cfg']['PropertiesNumColumns'] > 1)) { diff --git a/libraries/display_create_table.lib.php b/libraries/display_create_table.lib.php index 19512b108..8f1b740a6 100755 --- a/libraries/display_create_table.lib.php +++ b/libraries/display_create_table.lib.php @@ -38,7 +38,7 @@ $is_create_table_priv = true; ?> + onsubmit="return (emptyFormElements(this, 'table') && checkFormElementInRange(this, 'num_fields', '', 1))">
    - : + :
    diff --git a/libraries/display_export.lib.php b/libraries/display_export.lib.php index ec7affcc6..54867f503 100755 --- a/libraries/display_export.lib.php +++ b/libraries/display_export.lib.php @@ -104,7 +104,7 @@ echo PMA_pluginGetJavascript($export_list); '; - echo sprintf(__('Dump %s row(s) starting at record # %s'), + echo sprintf(__('Dump %s row(s) starting at row # %s'), '', diff --git a/libraries/display_import.lib.php b/libraries/display_import.lib.php index d30619db3..923d9622d 100755 --- a/libraries/display_import.lib.php +++ b/libraries/display_import.lib.php @@ -236,7 +236,7 @@ if ($_SESSION[$SESSION_KEY]["handler"]!="noplugin") { if (! (isset($timeout_passed) && $timeout_passed)) { ?>
    - +
    + +
    + + '; + } + echo __('Display PDF schema'); + ?>: + + + +
    + + + + + +
    + +
    + +
    + +
    + +
    + +
    + + +
    + + + +
    +
    + +
    + + diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php index 538409fb0..5238d937f 100755 --- a/libraries/display_tbl.lib.php +++ b/libraries/display_tbl.lib.php @@ -307,7 +307,7 @@ onsubmit="return (checkFormElementInRange(this, 'session_max_rows', '" /> - +
    '; $choices = array( 'K' => __('Relational key'), - 'D' => __('Relational display field') + 'D' => __('Relational display column') ); PMA_display_html_radio('relational_display', $choices, $_SESSION['tmp_user_values']['relational_display']); echo ''; diff --git a/libraries/export/csv.php b/libraries/export/csv.php index 5bc490dd3..e3d78f2b8 100755 --- a/libraries/export/csv.php +++ b/libraries/export/csv.php @@ -18,13 +18,13 @@ if (isset($plugin_list)) { 'extension' => 'csv', 'mime_type' => 'text/comma-separated-values', 'options' => array( - array('type' => 'text', 'name' => 'separator', 'text' => __('Fields terminated by')), - array('type' => 'text', 'name' => 'enclosed', 'text' => __('Fields enclosed by')), - array('type' => 'text', 'name' => 'escaped', 'text' => __('Fields escaped by')), + array('type' => 'text', 'name' => 'separator', 'text' => __('Columns terminated by')), + array('type' => 'text', 'name' => 'enclosed', 'text' => __('Columns enclosed by')), + array('type' => 'text', 'name' => 'escaped', 'text' => __('Columns escaped by')), array('type' => 'text', 'name' => 'terminated', 'text' => __('Lines terminated by')), array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')), - array('type' => 'bool', 'name' => 'removeCRLF', 'text' => __('Remove CRLF characters within fields')), - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')), + array('type' => 'bool', 'name' => 'removeCRLF', 'text' => __('Remove CRLF characters within columns')), + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')), array('type' => 'hidden', 'name' => 'data'), ), 'options_text' => __('Options'), diff --git a/libraries/export/excel.php b/libraries/export/excel.php index 92d0bce7d..768fa3d30 100755 --- a/libraries/export/excel.php +++ b/libraries/export/excel.php @@ -20,8 +20,8 @@ if (isset($plugin_list)) { 'mime_type' => 'text/comma-separated-values', 'options' => array( array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')), - array('type' => 'bool', 'name' => 'removeCRLF', 'text' => __('Remove CRLF characters within fields')), - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')), + array('type' => 'bool', 'name' => 'removeCRLF', 'text' => __('Remove CRLF characters within columns')), + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')), array( 'type' => 'select', 'name' => 'edition', diff --git a/libraries/export/htmlword.php b/libraries/export/htmlword.php index 2f4441a19..5f36dc95a 100755 --- a/libraries/export/htmlword.php +++ b/libraries/export/htmlword.php @@ -23,7 +23,7 @@ if (isset($plugin_list)) { array('type' => 'bool', 'name' => 'structure', 'text' => __('Structure'), 'force' => 'data'), array('type' => 'bgroup', 'name' => 'data', 'text' => __('Data'), 'force' => 'structure'), array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')), - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')), + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')), array('type' => 'egroup'), ), 'options_text' => __('Options'), @@ -241,7 +241,7 @@ function PMA_exportStructure($db, $table, $crlf, $error_url, $do_relation = fals } $schema_insert = '
    '; - $schema_insert .= ''; + $schema_insert .= ''; $schema_insert .= ''; $schema_insert .= ''; $schema_insert .= ''; diff --git a/libraries/export/latex.php b/libraries/export/latex.php index 232d3787f..cba335abc 100755 --- a/libraries/export/latex.php +++ b/libraries/export/latex.php @@ -54,7 +54,7 @@ if (isset($plugin_list)) { $plugin_list['latex']['options'][] = array('type' => 'bgroup', 'name' => 'data', 'text' => __('Data'), 'force' => 'structure'); $plugin_list['latex']['options'][] = - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')); + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')); $plugin_list['latex']['options'][] = array('type' => 'text', 'name' => 'data_caption', 'text' => __('Table caption')); $plugin_list['latex']['options'][] = @@ -357,7 +357,7 @@ function PMA_exportStructure($db, $table, $crlf, $error_url, $do_relation = fals $buffer = $alignment . '} ' . $crlf ; $header = ' \\hline '; - $header .= '\\multicolumn{1}{|c|}{\\textbf{' . __('Field') . '}} & \\multicolumn{1}{|c|}{\\textbf{' . __('Type') . '}} & \\multicolumn{1}{|c|}{\\textbf{' . __('Null') . '}} & \\multicolumn{1}{|c|}{\\textbf{' . __('Default') . '}}'; + $header .= '\\multicolumn{1}{|c|}{\\textbf{' . __('Column') . '}} & \\multicolumn{1}{|c|}{\\textbf{' . __('Type') . '}} & \\multicolumn{1}{|c|}{\\textbf{' . __('Null') . '}} & \\multicolumn{1}{|c|}{\\textbf{' . __('Default') . '}}'; if ($do_relation && $have_rel) { $header .= ' & \\multicolumn{1}{|c|}{\\textbf{' . __('Links to') . '}}'; } diff --git a/libraries/export/ods.php b/libraries/export/ods.php index c8dee56c1..78fd6f235 100755 --- a/libraries/export/ods.php +++ b/libraries/export/ods.php @@ -21,7 +21,7 @@ if (isset($plugin_list)) { 'force_file' => true, 'options' => array( array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')), - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')), + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')), array('type' => 'hidden', 'name' => 'data'), ), 'options_text' => __('Options'), diff --git a/libraries/export/odt.php b/libraries/export/odt.php index 9b3239bfb..157fc43d6 100755 --- a/libraries/export/odt.php +++ b/libraries/export/odt.php @@ -47,7 +47,7 @@ if (isset($plugin_list)) { $plugin_list['odt']['options'][] = array('type' => 'bgroup', 'name' => 'data', 'text' => __('Data'), 'force' => 'structure'); $plugin_list['odt']['options'][] = - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')); + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')); $plugin_list['odt']['options'][] = array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')); $plugin_list['odt']['options'][] = @@ -291,7 +291,7 @@ function PMA_exportStructure($db, $table, $crlf, $error_url, $do_relation = fals /* Header */ $GLOBALS['odt_buffer'] .= ''; $GLOBALS['odt_buffer'] .= '' - . '' . htmlspecialchars(__('Field')) . '' + . '' . htmlspecialchars(__('Column')) . '' . ''; $GLOBALS['odt_buffer'] .= '' . '' . htmlspecialchars(__('Type')) . '' diff --git a/libraries/export/sql.php b/libraries/export/sql.php index 31f35c460..4c42a91c2 100755 --- a/libraries/export/sql.php +++ b/libraries/export/sql.php @@ -77,7 +77,7 @@ if (isset($plugin_list)) { $plugin_list['sql']['options'][] = array('type' => 'bool', 'name' => 'auto_increment', 'text' => __('Add AUTO_INCREMENT value')); $plugin_list['sql']['options'][] = - array('type' => 'bool', 'name' => 'backquotes', 'text' => __('Enclose table and field names with backquotes')); + array('type' => 'bool', 'name' => 'backquotes', 'text' => __('Enclose table and column names with backquotes')); $plugin_list['sql']['options'][] = array('type' => 'bool', 'name' => 'procedure_function', 'text' => sprintf(__('Add %s'), 'CREATE PROCEDURE / FUNCTION' . (PMA_MYSQL_INT_VERSION > 50100 ? ' / EVENT' : ''))); diff --git a/libraries/export/texytext.php b/libraries/export/texytext.php index 4eeba6558..eeb1615bf 100755 --- a/libraries/export/texytext.php +++ b/libraries/export/texytext.php @@ -31,7 +31,7 @@ if (isset($plugin_list)) { 'text' => __('Replace NULL by')), array('type' => 'bool', 'name' => 'columns', - 'text' => __('Put fields names in the first row')), + 'text' => __('Put columns names in the first row')), array('type' => 'egroup'), ), 'options_text' => __('Options'), @@ -230,7 +230,7 @@ function PMA_exportStructure($db, $table, $crlf, $error_url, $do_relation = fals } $text_output = "|------\n"; - $text_output .= '|' . htmlspecialchars(__('Field')); + $text_output .= '|' . htmlspecialchars(__('Column')); $text_output .= '|' . htmlspecialchars(__('Type')); $text_output .= '|' . htmlspecialchars(__('Null')); $text_output .= '|' . htmlspecialchars(__('Default')); diff --git a/libraries/export/xls.php b/libraries/export/xls.php index ed13c15a2..d23890322 100755 --- a/libraries/export/xls.php +++ b/libraries/export/xls.php @@ -21,7 +21,7 @@ if (isset($plugin_list)) { 'force_file' => true, 'options' => array( array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')), - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')), + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')), array('type' => 'hidden', 'name' => 'data'), ), 'options_text' => __('Options'), diff --git a/libraries/export/xlsx.php b/libraries/export/xlsx.php index fb323bfbd..b59c78cc8 100755 --- a/libraries/export/xlsx.php +++ b/libraries/export/xlsx.php @@ -21,7 +21,7 @@ if (isset($plugin_list)) { 'force_file' => true, 'options' => array( array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')), - array('type' => 'bool', 'name' => 'columns', 'text' => __('Put fields names in the first row')), + array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')), array('type' => 'hidden', 'name' => 'data'), ), 'options_text' => __('Options'), diff --git a/libraries/import/csv.php b/libraries/import/csv.php index d10d6df4a..170fb96bb 100755 --- a/libraries/import/csv.php +++ b/libraries/import/csv.php @@ -24,9 +24,9 @@ if (isset($plugin_list)) { 'options' => array( array('type' => 'bool', 'name' => 'replace', 'text' => __('Replace table data with file')), array('type' => 'bool', 'name' => 'ignore', 'text' => __('Ignore duplicate rows')), - array('type' => 'text', 'name' => 'terminated', 'text' => __('Fields terminated by'), 'size' => 2, 'len' => 2), - array('type' => 'text', 'name' => 'enclosed', 'text' => __('Fields enclosed by'), 'size' => 2, 'len' => 2), - array('type' => 'text', 'name' => 'escaped', 'text' => __('Fields escaped by'), 'size' => 2, 'len' => 2), + array('type' => 'text', 'name' => 'terminated', 'text' => __('Columns terminated by'), 'size' => 2, 'len' => 2), + array('type' => 'text', 'name' => 'enclosed', 'text' => __('Columns enclosed by'), 'size' => 2, 'len' => 2), + array('type' => 'text', 'name' => 'escaped', 'text' => __('Columns escaped by'), 'size' => 2, 'len' => 2), array('type' => 'text', 'name' => 'new_line', 'text' => __('Lines terminated by'), 'size' => 2), ), 'options_text' => __('Options'), @@ -56,7 +56,7 @@ $csv_new_line = strtr($csv_new_line, $replacements); if (strlen($csv_terminated) != 1) { $message = PMA_Message::error(__('Invalid parameter for CSV import: %s')); - $message->addParam(__('Fields terminated by'), false); + $message->addParam(__('Columns terminated by'), false); $error = TRUE; // The default dialog of MS Excel when generating a CSV produces a // semi-colon-separated file with no chance of specifying the @@ -68,11 +68,11 @@ if (strlen($csv_terminated) != 1) { // one character. } elseif (strlen($csv_enclosed) > 1) { $message = PMA_Message::error(__('Invalid parameter for CSV import: %s')); - $message->addParam(__('Fields enclosed by'), false); + $message->addParam(__('Columns enclosed by'), false); $error = TRUE; } elseif (strlen($csv_escaped) != 1) { $message = PMA_Message::error(__('Invalid parameter for CSV import: %s')); - $message->addParam(__('Fields escaped by'), false); + $message->addParam(__('Columns escaped by'), false); $error = TRUE; } elseif (strlen($csv_new_line) != 1 && $csv_new_line != 'auto') { $message = PMA_Message::error(__('Invalid parameter for CSV import: %s')); @@ -309,7 +309,7 @@ while (!($finished && $i >= $len) && !$error && !$timeout_passed) { if ($values[count($values) - 1] == ';') { unset($values[count($values) - 1]); } else { - $message = PMA_Message::error(__('Invalid field count in CSV input on line %d.')); + $message = PMA_Message::error(__('Invalid column count in CSV input on line %d.')); $message->addParam($line); $error = TRUE; break; diff --git a/libraries/import/ldi.php b/libraries/import/ldi.php index 47516aa88..2c8702af3 100755 --- a/libraries/import/ldi.php +++ b/libraries/import/ldi.php @@ -37,9 +37,9 @@ if (isset($plugin_list)) { 'options' => array( array('type' => 'bool', 'name' => 'replace', 'text' => __('Replace table data with file')), array('type' => 'bool', 'name' => 'ignore', 'text' => __('Ignore duplicate rows')), - array('type' => 'text', 'name' => 'terminated', 'text' => __('Fields terminated by'), 'size' => 2, 'len' => 2), - array('type' => 'text', 'name' => 'enclosed', 'text' => __('Fields enclosed by'), 'size' => 2, 'len' => 2), - array('type' => 'text', 'name' => 'escaped', 'text' => __('Fields escaped by'), 'size' => 2, 'len' => 2), + array('type' => 'text', 'name' => 'terminated', 'text' => __('Columns terminated by'), 'size' => 2, 'len' => 2), + array('type' => 'text', 'name' => 'enclosed', 'text' => __('Columns enclosed by'), 'size' => 2, 'len' => 2), + array('type' => 'text', 'name' => 'escaped', 'text' => __('Columns escaped by'), 'size' => 2, 'len' => 2), array('type' => 'text', 'name' => 'new_line', 'text' => __('Lines terminated by'), 'size' => 2), array('type' => 'text', 'name' => 'columns', 'text' => __('Column names')), array('type' => 'bool', 'name' => 'local_option', 'text' => __('Use LOCAL keyword')), diff --git a/libraries/messages.inc.php b/libraries/messages.inc.php index cc5bac995..7ea17e19b 100755 --- a/libraries/messages.inc.php +++ b/libraries/messages.inc.php @@ -22,6 +22,43 @@ $strLatexContent = __('Content of table __TABLE__'); $strLatexContinued = __('(continued)'); $strLatexStructure = __('Structure of table __TABLE__'); +$strPrivDescAllPrivileges = __('Includes all privileges except GRANT.'); +$strPrivDescAlter = __('Allows altering the structure of existing tables.'); +$strPrivDescAlterRoutine = __('Allows altering and dropping stored routines.'); +$strPrivDescCreateDb = __('Allows creating new databases and tables.'); +$strPrivDescCreateRoutine = __('Allows creating stored routines.'); +$strPrivDescCreateTbl = __('Allows creating new tables.'); +$strPrivDescCreateTmpTable = __('Allows creating temporary tables.'); +$strPrivDescCreateUser = __('Allows creating, dropping and renaming user accounts.'); +$strPrivDescCreateView = __('Allows creating new views.'); +$strPrivDescDelete = __('Allows deleting data.'); +$strPrivDescDropDb = __('Allows dropping databases and tables.'); +$strPrivDescDropTbl = __('Allows dropping tables.'); +$strPrivDescEvent = __('Allows to set up events for the event scheduler'); +$strPrivDescExecute = __('Allows executing stored routines.'); +$strPrivDescFile = __('Allows importing data from and exporting data into files.'); +$strPrivDescGrant = __('Allows adding users and privileges without reloading the privilege tables.'); +$strPrivDescIndex = __('Allows creating and dropping indexes.'); +$strPrivDescInsert = __('Allows inserting and replacing data.'); +$strPrivDescLockTables = __('Allows locking tables for the current thread.'); +$strPrivDescMaxConnections = __('Limits the number of new connections the user may open per hour.'); +$strPrivDescMaxQuestions = __('Limits the number of queries the user may send to the server per hour.'); +$strPrivDescMaxUpdates = __('Limits the number of commands that change any table or database the user may execute per hour.'); +$strPrivDescMaxUserConnections = __('Limits the number of simultaneous connections the user may have.'); +$strPrivDescProcess = __('Allows viewing processes of all users'); +$strPrivDescReferences = __('Has no effect in this MySQL version.'); +$strPrivDescReload = __('Allows reloading server settings and flushing the server\'s caches.'); +$strPrivDescReplClient = __('Allows the user to ask where the slaves / masters are.'); +$strPrivDescReplSlave = __('Needed for the replication slaves.'); +$strPrivDescSelect = __('Allows reading data.'); +$strPrivDescShowDb = __('Gives access to the complete list of databases.'); +$strPrivDescShowView = __('Allows performing SHOW CREATE VIEW queries.'); +$strPrivDescShutdown = __('Allows shutting down the server.'); +$strPrivDescSuper = __('Allows connecting, even if maximum number of connections is reached; required for most administrative operations like setting global variables or killing threads of other users.'); +$strPrivDescTrigger = __('Allows creating and dropping triggers'); +$strPrivDescUpdate = __('Allows changing data.'); +$strPrivDescUsage = __('No privileges.'); + $strShowStatusBinlog_cache_disk_useDescr = __('The number of transactions that used the temporary binary log cache but that exceeded the value of binlog_cache_size and used a temporary file to store statements from the transaction.'); $strShowStatusBinlog_cache_useDescr = __('The number of transactions that used the temporary binary log cache.'); $strShowStatusCreated_tmp_disk_tablesDescr = __('The number of temporary tables on disk created automatically by the server while executing statements. If Created_tmp_disk_tables is big, you may want to increase the tmp_table_size value to cause temporary tables to be memory-based instead of disk-based.'); diff --git a/libraries/relation.lib.php b/libraries/relation.lib.php index 205bb7aa0..587a67e20 100755 --- a/libraries/relation.lib.php +++ b/libraries/relation.lib.php @@ -175,7 +175,7 @@ function PMA_printRelationsParamDiagnostic($cfgRelation) */ function PMA_printDiagMessageForFeature($feature_name, $relation_parameter, $messages, $skip_line=true) { - echo ' ' . "\n"; if ($skip_line) { diff --git a/libraries/sql_query_form.lib.php b/libraries/sql_query_form.lib.php index eeee6713a..6a4b6e9a1 100755 --- a/libraries/sql_query_form.lib.php +++ b/libraries/sql_query_form.lib.php @@ -314,7 +314,7 @@ function PMA_sqlQueryFormInsert($query = '', $is_querywindow = false, $delimiter if (count($fields_list)) { echo '
    ' . "\n" - .'' . "\n" + .'' . "\n" .''; @@ -777,11 +777,11 @@ if ($action == 'tbl_create.php') { onclick="return checkTableEditForm(this.form, )" /> - '); ?> + '); ?> - onclick="return checkFormElementInRange(this.form, 'added_fields', '', 1)" + onclick="return checkFormElementInRange(this.form, 'added_fields', '', 1)" /> diff --git a/libraries/tbl_replace_fields.inc.php b/libraries/tbl_replace_fields.inc.php index dd24882fe..08bbdb7fd 100755 --- a/libraries/tbl_replace_fields.inc.php +++ b/libraries/tbl_replace_fields.inc.php @@ -114,7 +114,7 @@ if (false !== $possibly_uploaded_val) { $val = preg_replace('/[^01]/', '0', $val); $val = "b'" . PMA_sqlAddslashes($val) . "'"; } elseif (! (($type == 'datetime' || $type == 'timestamp') && $val == 'CURRENT_TIMESTAMP')) { - $val = "'" . PMA_sqlAddslashes($val) . "' /*" . $type . " */"; + $val = "'" . PMA_sqlAddslashes($val) . "'"; } // Was the Null checkbox checked for this field? diff --git a/libraries/transformations/application_octetstream__download.inc.php b/libraries/transformations/application_octetstream__download.inc.php index 369126ddc..4fbc24dd3 100755 --- a/libraries/transformations/application_octetstream__download.inc.php +++ b/libraries/transformations/application_octetstream__download.inc.php @@ -7,7 +7,7 @@ function PMA_transformation_application_octetstream__download_info() { return array( - 'info' => __('Displays a link to download the binary data of the field. You can use the first option to specify the filename, or use the second option as the name of a field which contains the filename. If you use the second option, you need to set the first option to the empty string.'), + 'info' => __('Displays a link to download the binary data of the column. You can use the first option to specify the filename, or use the second option as the name of a column which contains the filename. If you use the second option, you need to set the first option to the empty string.'), ); } diff --git a/libraries/transformations/generator.sh b/libraries/transformations/generator.sh index 0d0d6fa7b..aa4900e78 100755 --- a/libraries/transformations/generator.sh +++ b/libraries/transformations/generator.sh @@ -18,16 +18,7 @@ fi functionupper="`echo $2 | tr [:lower:] [:upper:]`" functionlower="`echo $2 | tr [:upper:] [:lower:]`" -cat $1 | sed "s/\[ENTER_FILENAME_HERE\]/$functionupper/" | sed "s/\[enter_filename_here\]/$functionlower/" >> $2.inc.php - -if [ "$3" ] -then - echo "" - echo "To do later:" - echo "cd ../../lang" - echo "./add_message.sh '\$strTransformation_${functionlower}' '$3'" - echo "" -fi +sed "s/\[ENTER_FILENAME_HERE\]/$functionupper/; s/\[enter_filename_here\]/$functionlower/; s/Description of the transformation./$3/;" < $1 > $2.inc.php echo "Created $2.inc.php" echo "" diff --git a/libraries/transformations/text_plain__dateformat.inc.php b/libraries/transformations/text_plain__dateformat.inc.php index 3f11fa902..cf3c2b02f 100755 --- a/libraries/transformations/text_plain__dateformat.inc.php +++ b/libraries/transformations/text_plain__dateformat.inc.php @@ -7,7 +7,7 @@ function PMA_transformation_text_plain__dateformat_info() { return array( - 'info' => __('Displays a TIME, TIMESTAMP, DATETIME or numeric unix timestamp field as formatted date. The first option is the offset (in hours) which will be added to the timestamp (Default: 0). Use second option to specify a different date/time format string. Third option determines whether you want to see local date or UTC one (use "local" or "utc" strings) for that. According to that, date format has different value - for "local" see the documentation for PHP\'s strftime() function and for "utc" it is done using gmdate() function.'), + 'info' => __('Displays a TIME, TIMESTAMP, DATETIME or numeric unix timestamp column as formatted date. The first option is the offset (in hours) which will be added to the timestamp (Default: 0). Use second option to specify a different date/time format string. Third option determines whether you want to see local date or UTC one (use "local" or "utc" strings) for that. According to that, date format has different value - for "local" see the documentation for PHP\'s strftime() function and for "utc" it is done using gmdate() function.'), ); } diff --git a/libraries/transformations/text_plain__external.inc.php b/libraries/transformations/text_plain__external.inc.php index 981faecff..8c35a4eb9 100755 --- a/libraries/transformations/text_plain__external.inc.php +++ b/libraries/transformations/text_plain__external.inc.php @@ -7,7 +7,7 @@ function PMA_transformation_text_plain__external_info() { return array( - 'info' => __('LINUX ONLY: Launches an external application and feeds it the field data via standard input. Returns the standard output of the application. The default is Tidy, to pretty-print HTML code. For security reasons, you have to manually edit the file libraries/transformations/text_plain__external.inc.php and list the tools you want to make available. The first option is then the number of the program you want to use and the second option is the parameters for the program. The third option, if set to 1, will convert the output using htmlspecialchars() (Default 1). The fourth option, if set to 1, will prevent wrapping and ensure that the output appears all on one line (Default 1).'), + 'info' => __('LINUX ONLY: Launches an external application and feeds it the column data via standard input. Returns the standard output of the application. The default is Tidy, to pretty-print HTML code. For security reasons, you have to manually edit the file libraries/transformations/text_plain__external.inc.php and list the tools you want to make available. The first option is then the number of the program you want to use and the second option is the parameters for the program. The third option, if set to 1, will convert the output using htmlspecialchars() (Default 1). The fourth option, if set to 1, will prevent wrapping and ensure that the output appears all on one line (Default 1).'), ); } diff --git a/libraries/transformations/text_plain__formatted.inc.php b/libraries/transformations/text_plain__formatted.inc.php index 7a1e8f87f..add22e148 100755 --- a/libraries/transformations/text_plain__formatted.inc.php +++ b/libraries/transformations/text_plain__formatted.inc.php @@ -7,7 +7,7 @@ function PMA_transformation_text_plain__formatted_info() { return array( - 'info' => __('Displays the contents of the field as-is, without running it through htmlspecialchars(). That is, the field is assumed to contain valid HTML.'), + 'info' => __('Displays the contents of the column as-is, without running it through htmlspecialchars(). That is, the column is assumed to contain valid HTML.'), ); } diff --git a/libraries/transformations/text_plain__imagelink.inc.php b/libraries/transformations/text_plain__imagelink.inc.php index d743a16b5..cb62067ec 100755 --- a/libraries/transformations/text_plain__imagelink.inc.php +++ b/libraries/transformations/text_plain__imagelink.inc.php @@ -7,7 +7,7 @@ function PMA_transformation_text_plain__imagelink_info() { return array( - 'info' => __('Displays an image and a link; the field contains the filename. The first option is a URL prefix like "http://www.example.com/". The second and third options are the width and the height in pixels.'), + 'info' => __('Displays an image and a link; the column contains the filename. The first option is a URL prefix like "http://www.example.com/". The second and third options are the width and the height in pixels.'), ); } diff --git a/libraries/transformations/text_plain__link.inc.php b/libraries/transformations/text_plain__link.inc.php index f9e2bf180..579deda78 100755 --- a/libraries/transformations/text_plain__link.inc.php +++ b/libraries/transformations/text_plain__link.inc.php @@ -7,7 +7,7 @@ function PMA_transformation_text_plain__link_info() { return array( - 'info' => __('Displays a link; the field contains the filename. The first option is a URL prefix like "http://www.example.com/". The second option is a title for the link.'), + 'info' => __('Displays a link; the column contains the filename. The first option is a URL prefix like "http://www.example.com/". The second option is a title for the link.'), ); } diff --git a/pdf_pages.php b/pdf_pages.php index dc9c64e1a..2e907b8d5 100755 --- a/pdf_pages.php +++ b/pdf_pages.php @@ -13,6 +13,11 @@ require_once './libraries/common.inc.php'; require_once './libraries/db_common.inc.php'; require './libraries/StorageEngine.class.php'; +$active_page = 'db_operations.php'; +require_once './libraries/db_common.inc.php'; +$url_query .= '&goto=pdf_pages.php'; +require_once './libraries/db_info.inc.php'; + /** * Settings for relation stuff */ @@ -34,25 +39,25 @@ $query_default_option = PMA_DBI_QUERY_STORE; */ if (!$cfgRelation['relwork']) { echo sprintf(__('%s table not found or not set in %s'), 'relation', 'config.inc.php') . '
    ' . "\n" - . '' . __('Documentation') . '' . "\n"; + . PMA_showDocu('relation') . "\n"; require_once './libraries/footer.inc.php'; } if (!$cfgRelation['displaywork']) { echo sprintf(__('%s table not found or not set in %s'), 'table_info', 'config.inc.php') . '
    ' . "\n" - . '' . __('Documentation') . '' . "\n"; + . PMA_showDocu('table_info') . "\n"; require_once './libraries/footer.inc.php'; } if (!isset($cfgRelation['table_coords'])){ echo sprintf(__('%s table not found or not set in %s'), 'table_coords', 'config.inc.php') . '
    ' . "\n" - . '' . __('Documentation') . '' . "\n"; - exit(); + . PMA_showDocu('table_coords') . "\n"; + require_once './libraries/footer.inc.php'; } if (!isset($cfgRelation['pdf_pages'])) { echo sprintf(__('%s table not found or not set in %s'), 'pdf_page', 'config.inc.php') . '
    ' . "\n" - . '' . __('Documentation') . '' . "\n"; - exit(); + . PMA_showDocu('pdf_pages') . "\n"; + require_once './libraries/footer.inc.php'; } if ($cfgRelation['pdfwork']) { @@ -282,6 +287,8 @@ if ($cfgRelation['pdfwork']) { PMA_display_html_radio('action_choose', $choices, '0', false); unset($choices); ?> + +

    @@ -298,14 +305,26 @@ if ($cfgRelation['pdfwork']) { - - - +
    + + + + + + +
    ::
    - : + :  : + :
    -
    ' . __('Type') . '' . __('Unique') . '' . __('Packed') . '' . __('Field') . '' . __('Column') . '' . __('Cardinality') . '' . __('Collation') . '' . __('Null') . '' . PMA_SortableTableHeader(__('Records'), 'records', 'DESC') + .' ' . PMA_SortableTableHeader(__('Rows'), 'records', 'DESC') .PMA_showHint(PMA_sanitize(__('May be approximate. See [a@./Documentation.html#faq3_11@Documentation]FAQ 3.11[/a]'))) . "\n" .'
    ' . $GLOBALS[$feature_name] . ': ' + echo '
    ' . $feature_name . ': ' . ($GLOBALS['cfgRelation'][$relation_parameter] ? $messages['enabled'] : $messages['disabled']) . '
    +
    +' - . '(' . __('Automatic layout') . ' / FOREIGN KEY)'; +?> +
    + +
    +
    +
    @@ -520,39 +539,7 @@ function resetDrag() { && ($do == 'edcoord' || ($do == 'choosepage' && isset($chpage)) || ($do == 'createpage' && isset($chpage)))) { - ?> -
    - - - - ' . __('Display PDF schema') . ''; ?>: 
    -
    -
    -
    -
    -
    -
    - -
    - - -
    -    -
    -