diff --git a/ChangeLog b/ChangeLog index 43d318484..bc2ec78ad 100755 --- a/ChangeLog +++ b/ChangeLog @@ -85,8 +85,19 @@ $Id$ - patch #2999595, rfe #2998130 [interface] Cleanup navigation frame. - patch #3025161 [core] Prevent sending of unnecessary cookies, thanks to Piotr Przybylski - crackpl +- bug [password] Generate password only available if JS is enabled + (fixed for Privileges and Change password) +- [core] RecodingEngine now accepts none as valid option. ++ [core] Dropped AllowAnywhereRecoding configuration variable. +- rfe #3016457 [interface] Define tab order in SQL form to allow easier tab + navigation. ++ [code] Centralized format string expansion, @VARIABLES@ are recommended way + now. ++ [validator] SQL validator works also with SOAP PHP extension. +- [interface] Better formatting for SQL validator results. 3.3.6.0 (not yet released) +- bug #3031705 [core] Do not use CONCAT for DECIMAL fields. 3.3.5.0 (not yet released) - patch #2932113 [information_schema] Slow export when having lots of diff --git a/Documentation.html b/Documentation.html index 427f9647c..c35cfae27 100755 --- a/Documentation.html +++ b/Documentation.html @@ -340,7 +340,8 @@ rm -rf config # remove not needed directory FAQ 1.23).

If you already had this infrastructure and upgraded to MySQL 4.1.2 - or newer, please use ./scripts/upgrade_tables_mysql_4_1_2+.sql.

+ or newer, please use ./scripts/upgrade_tables_mysql_4_1_2+.sql + and then create new tables by importing ./scripts/create_tables.sql.

You can use your phpMyAdmin to create the tables for you. Please be aware that you may need special (administrator) privileges to create the database @@ -1683,27 +1684,6 @@ CREATE DATABASE,ALTER DATABASE,DROP DATABASE expression. For example if you want only Czech and English, you should set filter to '^(cs|en)'. -

$cfg['DefaultCharset'] string
-
Default character set to use for recoding of MySQL queries. This must be - enabled and it's described by - $cfg['AllowAnywhereRecoding'] - option.
- You can give here any character set which is in - $cfg['AvailableCharsets'] - array and this is just default choice, user can select any of them.
- -
$cfg['AllowAnywhereRecoding'] boolean
-
Allow character set recoding of MySQL queries. You need recode or iconv - support (compiled in or module) in PHP to allow MySQL queries recoding - and used language file must have it enabled (by default only these - which are in Unicode, just to avoid losing some characters).

- - Setting this to TRUE also activates a pull-down menu - in the Export and Import pages, to choose the character set when - exporting a file. The default value in this menu comes from - $cfg['Export']['charset'] and $cfg['Import']['charset']. -
-
$cfg['RecodingEngine'] string
You can select here which functions will be used for character set conversion. Possible values are: @@ -1711,8 +1691,15 @@ CREATE DATABASE,ALTER DATABASE,DROP DATABASE iconv, then recode)
  • iconv - use iconv or libiconv functions
  • recode - use recode_string function
  • +
  • none - disable encoding conversion
  • Default is auto.
    +
    + Enabled charset conversion activates a pull-down menu + in the Export and Import pages, to choose the character set when + exporting a file. The default value in this menu comes from + $cfg['Export']['charset'] and $cfg['Import']['charset']. +
    $cfg['IconvExtraParams'] string
    Specify some parameters for iconv used in charset conversion. See @@ -2163,24 +2150,8 @@ setfacl -d -m "g:www-data:rwx" tmp
    $cfg['TitleDatabase'] string
    $cfg['TitleServer'] string
    $cfg['TitleDefault'] string
    -
    Allows you to specify window's title bar. Following magic string can - be used to get special values: -
    -
    @HTTP_HOST@
    -
    HTTP host that runs phpMyAdmin
    -
    @SERVER@
    -
    MySQL server name
    -
    @VERBOSE@
    -
    Verbose MySQL server name as defined in server configuration
    -
    @VSERVER@
    -
    Verbose MySQL server name if set, otherwise normal
    -
    @DATABASE@
    -
    Currently opened database
    -
    @TABLE@
    -
    Currently opened table
    -
    @PHPMYADMIN@
    -
    phpMyAdmin with version
    -
    +
    Allows you to specify window's title bar. You can use + format string expansion.
    $cfg['ErrorIconic'] boolean
    @@ -4137,25 +4108,34 @@ INSERT INTO REL_towns VALUES ('M', 'Montréal'); 6.14 How do I set up the SQL Validator? -

    To use it, you need a very recent version of PHP, 4.3.0 recommended, with +

    + To use SQL Validator, you need PHP with XML, PCRE and PEAR support. - On your system command line, run "pear install Net_Socket Net_URL - HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary - PEAR modules - for usage.
    - On a more recent pear version, I had problems with the state of Net_DIME - being beta, so this single command - "pear -d preferred_state=beta install -a SOAP" installed all the - needed modules.
    + In addition you need a SOAP support, either as a PHP extension or as a PEAR SOAP + module. +

    + +

    + To install PEAR SOAP module, run "pear install Net_Socket Net_URL + HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary PEAR modules for + usage. +

    + +

    If you use the Validator, you should be aware that any SQL statement you submit will be stored anonymously (database/table/column names, strings, numbers replaced with generic values). The Mimer SQL Validator itself, is © 2001 Upright Database Technology. - We utilize it as free SOAP service.

    + We utilize it as free SOAP service. +

    6.15 I want to add a BLOB column and put an index on @@ -4343,6 +4323,33 @@ chmod o+rwx tmp

    Click the first row of the range, hold the shift key and click the last row of the range. This works everywhere you see rows, for example in Browse mode or on the Structure page.

    +

    + 6.27 What format strings can I use?

    + +

    + In all places where phpMyAdmin accepts format strings, you can use + @VARIABLE@ expansion and + strftime format strings. The + expanded variables depend on a context (eg. if you don't have chosen + table, you can not get table name), but following variables can be used: +

    +
    +
    @HTTP_HOST@
    +
    HTTP host that runs phpMyAdmin
    +
    @SERVER@
    +
    MySQL server name
    +
    @VERBOSE@
    +
    Verbose MySQL server name as defined in server configuration
    +
    @VSERVER@
    +
    Verbose MySQL server name if set, otherwise normal
    +
    @DATABASE@
    +
    Currently opened database
    +
    @TABLE@
    +
    Currently opened table
    +
    @PHPMYADMIN@
    +
    phpMyAdmin with version
    +
    +

    phpMyAdmin project

    diff --git a/browse_foreigners.php b/browse_foreigners.php index 714d8676d..0f39cb4fe 100755 --- a/browse_foreigners.php +++ b/browse_foreigners.php @@ -3,7 +3,6 @@ /** * display selection for relational field values * - * @version $Id$ * @package phpMyAdmin */ diff --git a/bs_change_mime_type.php b/bs_change_mime_type.php index b8fea6b55..8ad8d1abc 100755 --- a/bs_change_mime_type.php +++ b/bs_change_mime_type.php @@ -1,7 +1,6 @@ %s" %s:') - * @uses __('%s match(es) inside table %s') - * @uses __('Browse') - * @uses __('Delete') - * @uses __('Total: %s match(es)') - * @uses __('Search in database') - * @uses __('Word(s) or value(s) to search for (wildcard: "%"):') - * @uses __('Find:') - * @uses __('Words are separated by a space character (" ").') - * @uses __('Inside table(s):') - * @uses __('Unselect All') - * @uses __('Select All') * @uses PMA_DBI_get_tables() * @uses PMA_sqlAddslashes() * @uses PMA_getSearchSqls() @@ -46,7 +29,6 @@ * @uses array_intersect() * @uses sprintf() * @uses in_array() - * @version $Id$ * @package phpMyAdmin */ @@ -263,7 +245,7 @@ if (isset($_REQUEST['submit_search'])) { $sql_query .= $newsearchsqls['select_count']; echo '' - .'' . sprintf(__('%s match(es) inside table %s'), $res_cnt, + .'' . sprintf(_ngettext('%s match inside table %s', '%s matches inside table %s', $res_cnt), $res_cnt, htmlspecialchars($each_table)) . "\n"; if ($res_cnt > 0) { @@ -288,7 +270,7 @@ if (isset($_REQUEST['submit_search'])) { echo '' . "\n"; if (count($tables_selected) > 1) { - echo '

    ' . sprintf(__('Total: %s match(es)'), + echo '

    ' . sprintf(_ngettext('Total: %s match', 'Total: %s matches', $num_search_result_total), $num_search_result_total) . '

    ' . "\n"; } } // end 1. diff --git a/db_sql.php b/db_sql.php index 500cf335b..9ee4ce4fa 100755 --- a/db_sql.php +++ b/db_sql.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ diff --git a/db_structure.php b/db_structure.php index 4c8e41f3d..8dc0ab859 100755 --- a/db_structure.php +++ b/db_structure.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ diff --git a/db_tracking.php b/db_tracking.php index 806da83be..8ecfb9691 100755 --- a/db_tracking.php +++ b/db_tracking.php @@ -1,7 +1,6 @@ setCookie('pma_server_filename_template', $filename_template); } - $filename = str_replace('__SERVER__', $GLOBALS['cfg']['Server']['host'], strftime($filename_template)); } elseif ($export_type == 'database') { if (isset($remember_template)) { $GLOBALS['PMA_Config']->setCookie('pma_db_filename_template', $filename_template); } - $filename = str_replace('__DB__', $db, str_replace('__SERVER__', $GLOBALS['cfg']['Server']['host'], strftime($filename_template))); } else { if (isset($remember_template)) { $GLOBALS['PMA_Config']->setCookie('pma_table_filename_template', $filename_template); } - $filename = str_replace('__TABLE__', $table, str_replace('__DB__', $db, str_replace('__SERVER__', $GLOBALS['cfg']['Server']['host'], strftime($filename_template)))); } + $filename = PMA_expandUserString($filename_template); // convert filename to iso-8859-1, it is safer - if (!(isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding'] )) { - $filename = PMA_convert_string($charset, 'iso-8859-1', $filename); - } else { - $filename = PMA_convert_string($convcharset, 'iso-8859-1', $filename); - } + $filename = PMA_convert_string($charset, 'iso-8859-1', $filename); // Grab basic dump extension and mime type $filename .= '.' . $export_list[$type]['extension']; diff --git a/import.php b/import.php index 4d45a59d8..b12306419 100755 --- a/import.php +++ b/import.php @@ -4,7 +4,6 @@ * Core script for import, this is just the glue around all other stuff * * @uses PMA_Bookmark_getList() - * @version $Id$ * @package phpMyAdmin */ @@ -343,7 +342,7 @@ if ($import_file != 'none' && !$error) { //$_SESSION['Import_message'] = $message->getDisplay(); // Convert the file's charset if necessary -if ($cfg['AllowAnywhereRecoding'] && isset($charset_of_file)) { +if ($GLOBALS['PMA_recoding_engine'] != PMA_CHARSET_NONE && isset($charset_of_file)) { if ($charset_of_file != $charset) { $charset_conversion = TRUE; } @@ -451,7 +450,7 @@ if (isset($my_die)) { if (! empty($last_query_with_results)) { // but we want to show intermediate results too $disp_query = $sql_query; - $disp_message = __('Your SQL query has been executed successfully'); + $disp_message = __('Your SQL query has been executed successfully'); $sql_query = $last_query_with_results; $go_sql = true; } diff --git a/import_status.php b/import_status.php index 4125eadea..d739009ee 100755 --- a/import_status.php +++ b/import_status.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ diff --git a/index.php b/index.php index d2d16fa78..3b16ec7d2 100755 --- a/index.php +++ b/index.php @@ -3,8 +3,6 @@ /** * forms frameset * - * @version $Id$ - * @uses __('phpMyAdmin is more friendly with a frames-capable browser.') * @uses $GLOBALS['cfg']['QueryHistoryDB'] * @uses $GLOBALS['cfg']['Server']['user'] * @uses $GLOBALS['cfg']['DefaultTabServer'] as src for the mainframe @@ -63,7 +61,7 @@ unset($cfgRelation); /** * pass variables to child pages */ -$drops = array('lang', 'server', 'convcharset', 'collation_connection', +$drops = array('lang', 'server', 'collation_connection', 'db', 'table'); foreach ($drops as $each_drop) { diff --git a/js/functions.js b/js/functions.js index aa88858bd..39dd73fa6 100755 --- a/js/functions.js +++ b/js/functions.js @@ -203,7 +203,7 @@ function confirmQuery(theForm1, sqlQuery1) * Displays a confirmation box before disabling the BLOB repository for a given database. * This function is called while clicking links * - * @param object the database + * @param object the database * * @return boolean whether to disable the repository or not */ @@ -291,10 +291,10 @@ function checkSqlQuery(theForm) // Global variable row_class is set to even var row_class = 'even'; -/** +/** * Generates a row dynamically in the differences table displaying -* the complete statistics of difference in table like number of -* rows to be updated, number of rows to be inserted, number of +* the complete statistics of difference in table like number of +* rows to be updated, number of rows to be inserted, number of * columns to be added, number of columns to be removed, etc. * * @param index index of matching table @@ -303,17 +303,17 @@ var row_class = 'even'; * @param remove_size number of columns to be removed * @param insert_index number of indexes to be inserted * @param remove_index number of indexes to be removed -* @param img_obj image object +* @param img_obj image object * @param table_name name of the table */ function showDetails(i, update_size, insert_size, remove_size, insert_index, remove_index, img_obj, table_name) -{ +{ // The path of the image is split to facilitate comparison - var relative_path = (img_obj.src).split("themes/"); - + var relative_path = (img_obj.src).split("themes/"); + // The image source is changed when the showDetails function is called. - if (relative_path[1] == 'original/img/new_data_hovered.jpg') { + if (relative_path[1] == 'original/img/new_data_hovered.jpg') { img_obj.src = "./themes/original/img/new_data_selected_hovered.jpg"; img_obj.alt = PMA_messages['strClickToUnselect']; //only for IE browser } else if (relative_path[1] == 'original/img/new_struct_hovered.jpg') { @@ -322,76 +322,76 @@ function showDetails(i, update_size, insert_size, remove_size, insert_index, rem } else if (relative_path[1] == 'original/img/new_struct_selected_hovered.jpg') { img_obj.src = "./themes/original/img/new_struct_hovered.jpg"; img_obj.alt = PMA_messages['strClickToSelect']; - } else if (relative_path[1] == 'original/img/new_data_selected_hovered.jpg') { + } else if (relative_path[1] == 'original/img/new_data_selected_hovered.jpg') { img_obj.src = "./themes/original/img/new_data_hovered.jpg"; img_obj.alt = PMA_messages['strClickToSelect']; - } - - var div = document.getElementById("list"); - var table = div.getElementsByTagName("table")[0]; + } + + var div = document.getElementById("list"); + var table = div.getElementsByTagName("table")[0]; var table_body = table.getElementsByTagName("tbody")[0]; - + //Global variable row_class is being used if (row_class == 'even') { row_class = 'odd'; } else { - row_class = 'even'; + row_class = 'even'; } - // If the red or green button against a table name is pressed then append a new row to show the details of differences of this table. - if ((relative_path[1] != 'original/img/new_struct_selected_hovered.jpg') && (relative_path[1] != 'original/img/new_data_selected_hovered.jpg')) { - - var newRow = document.createElement("tr"); + // If the red or green button against a table name is pressed then append a new row to show the details of differences of this table. + if ((relative_path[1] != 'original/img/new_struct_selected_hovered.jpg') && (relative_path[1] != 'original/img/new_data_selected_hovered.jpg')) { + + var newRow = document.createElement("tr"); newRow.setAttribute("class", row_class); - newRow.className = row_class; - // Id assigned to this row element is same as the index of this table name in the matching_tables/source_tables_uncommon array + newRow.className = row_class; + // Id assigned to this row element is same as the index of this table name in the matching_tables/source_tables_uncommon array newRow.setAttribute("id" , i); - + var table_name_cell = document.createElement("td"); table_name_cell.align = "center"; table_name_cell.innerHTML = table_name ; - + newRow.appendChild(table_name_cell); - + var create_table = document.createElement("td"); create_table.align = "center"; - + var add_cols = document.createElement("td"); add_cols.align = "center"; - + var remove_cols = document.createElement("td"); remove_cols.align = "center"; - + var alter_cols = document.createElement("td"); alter_cols.align = "center"; - + var add_index = document.createElement("td"); add_index.align = "center"; - + var delete_index = document.createElement("td"); delete_index.align = "center"; - + var update_rows = document.createElement("td"); update_rows.align = "center"; - + var insert_rows = document.createElement("td"); insert_rows.align = "center"; - + var tick_image = document.createElement("img"); - tick_image.src = "./themes/original/img/s_success.png"; + tick_image.src = "./themes/original/img/s_success.png"; if (update_size == '' && insert_size == '' && remove_size == '') { /** - This is the case when the table needs to be created in target database. + This is the case when the table needs to be created in target database. */ create_table.appendChild(tick_image); add_cols.innerHTML = "--"; - remove_cols.innerHTML = "--"; + remove_cols.innerHTML = "--"; alter_cols.innerHTML = "--"; delete_index.innerHTML = "--"; add_index.innerHTML = "--"; update_rows.innerHTML = "--"; insert_rows.innerHTML = "--"; - + newRow.appendChild(create_table); newRow.appendChild(add_cols); newRow.appendChild(remove_cols); @@ -400,43 +400,21 @@ function showDetails(i, update_size, insert_size, remove_size, insert_index, rem newRow.appendChild(add_index); newRow.appendChild(update_rows); newRow.appendChild(insert_rows); - + } else if (update_size == '' && remove_size == '') { /** - This is the case when data difference is displayed in the - table which is present in source but absent from target database + This is the case when data difference is displayed in the + table which is present in source but absent from target database */ create_table.innerHTML = "--"; add_cols.innerHTML = "--"; - remove_cols.innerHTML = "--"; + remove_cols.innerHTML = "--"; alter_cols.innerHTML = "--"; add_index.innerHTML = "--"; delete_index.innerHTML = "--"; update_rows.innerHTML = "--"; insert_rows.innerHTML = insert_size; - - newRow.appendChild(create_table); - newRow.appendChild(add_cols); - newRow.appendChild(remove_cols); - newRow.appendChild(alter_cols); - newRow.appendChild(delete_index); - newRow.appendChild(add_index); - newRow.appendChild(update_rows); - newRow.appendChild(insert_rows); - - } else if (remove_size == '') { - /** - This is the case when data difference between matching_tables is displayed. - */ - create_table.innerHTML = "--"; - add_cols.innerHTML = "--"; - remove_cols.innerHTML = "--"; - alter_cols.innerHTML = "--"; - add_index.innerHTML = "--"; - delete_index.innerHTML = "--"; - update_rows.innerHTML = update_size; - insert_rows.innerHTML = insert_size; - + newRow.appendChild(create_table); newRow.appendChild(add_cols); newRow.appendChild(remove_cols); @@ -445,41 +423,63 @@ function showDetails(i, update_size, insert_size, remove_size, insert_index, rem newRow.appendChild(add_index); newRow.appendChild(update_rows); newRow.appendChild(insert_rows); - + + } else if (remove_size == '') { + /** + This is the case when data difference between matching_tables is displayed. + */ + create_table.innerHTML = "--"; + add_cols.innerHTML = "--"; + remove_cols.innerHTML = "--"; + alter_cols.innerHTML = "--"; + add_index.innerHTML = "--"; + delete_index.innerHTML = "--"; + update_rows.innerHTML = update_size; + insert_rows.innerHTML = insert_size; + + newRow.appendChild(create_table); + newRow.appendChild(add_cols); + newRow.appendChild(remove_cols); + newRow.appendChild(alter_cols); + newRow.appendChild(delete_index); + newRow.appendChild(add_index); + newRow.appendChild(update_rows); + newRow.appendChild(insert_rows); + } else { /** This is the case when structure difference between matching_tables id displayed */ create_table.innerHTML = "--"; add_cols.innerHTML = insert_size; - remove_cols.innerHTML = remove_size; + remove_cols.innerHTML = remove_size; alter_cols.innerHTML = update_size; delete_index.innerHTML = remove_index; add_index.innerHTML = insert_index; update_rows.innerHTML = "--"; insert_rows.innerHTML = "--"; - + newRow.appendChild(create_table); newRow.appendChild(add_cols); newRow.appendChild(remove_cols); - newRow.appendChild(alter_cols); + newRow.appendChild(alter_cols); newRow.appendChild(delete_index); newRow.appendChild(add_index); newRow.appendChild(update_rows); newRow.appendChild(insert_rows); } table_body.appendChild(newRow); - + } else if ((relative_path[1] != 'original/img/new_struct_hovered.jpg') && (relative_path[1] != 'original/img/new_data_hovered.jpg')) { //The case when the row showing the details need to be removed from the table i.e. the difference button is deselected now. var table_rows = table_body.getElementsByTagName("tr"); var j; var index = 0; - for (j=0; j < table_rows.length; j++) - { - if (table_rows[j].id == i) { + for (j=0; j < table_rows.length; j++) + { + if (table_rows[j].id == i) { index = j; - table_rows[j].parentNode.removeChild(table_rows[j]); + table_rows[j].parentNode.removeChild(table_rows[j]); } } //The table row css is being adjusted. Class "odd" for odd rows and "even" for even rows should be maintained. @@ -490,11 +490,11 @@ function showDetails(i, update_size, insert_size, remove_size, insert_index, rem table_rows[index].setAttribute("class","odd"); // for Mozilla firefox table_rows[index].className = "odd"; // for IE browser } else { - table_rows[index].setAttribute("class","even"); // for Mozilla firefox - table_rows[index].className = "even"; // for IE browser + table_rows[index].setAttribute("class","even"); // for Mozilla firefox + table_rows[index].className = "even"; // for IE browser } - } - } + } + } } /** @@ -503,35 +503,35 @@ function showDetails(i, update_size, insert_size, remove_size, insert_index, rem * @param img_obj the image object whose source needs to be changed * */ - + function change_Image(img_obj) { - var relative_path = (img_obj.src).split("themes/"); - - if (relative_path[1] == 'original/img/new_data.jpg') { - img_obj.src = "./themes/original/img/new_data_hovered.jpg"; + var relative_path = (img_obj.src).split("themes/"); + + if (relative_path[1] == 'original/img/new_data.jpg') { + img_obj.src = "./themes/original/img/new_data_hovered.jpg"; } else if (relative_path[1] == 'original/img/new_struct.jpg') { img_obj.src = "./themes/original/img/new_struct_hovered.jpg"; } else if (relative_path[1] == 'original/img/new_struct_hovered.jpg') { img_obj.src = "./themes/original/img/new_struct.jpg"; - } else if (relative_path[1] == 'original/img/new_data_hovered.jpg') { - img_obj.src = "./themes/original/img/new_data.jpg"; - } else if (relative_path[1] == 'original/img/new_data_selected.jpg') { - img_obj.src = "./themes/original/img/new_data_selected_hovered.jpg"; - } else if(relative_path[1] == 'original/img/new_struct_selected.jpg') { - img_obj.src = "./themes/original/img/new_struct_selected_hovered.jpg"; - } else if (relative_path[1] == 'original/img/new_struct_selected_hovered.jpg') { - img_obj.src = "./themes/original/img/new_struct_selected.jpg"; - } else if (relative_path[1] == 'original/img/new_data_selected_hovered.jpg') { - img_obj.src = "./themes/original/img/new_data_selected.jpg"; + } else if (relative_path[1] == 'original/img/new_data_hovered.jpg') { + img_obj.src = "./themes/original/img/new_data.jpg"; + } else if (relative_path[1] == 'original/img/new_data_selected.jpg') { + img_obj.src = "./themes/original/img/new_data_selected_hovered.jpg"; + } else if(relative_path[1] == 'original/img/new_struct_selected.jpg') { + img_obj.src = "./themes/original/img/new_struct_selected_hovered.jpg"; + } else if (relative_path[1] == 'original/img/new_struct_selected_hovered.jpg') { + img_obj.src = "./themes/original/img/new_struct_selected.jpg"; + } else if (relative_path[1] == 'original/img/new_data_selected_hovered.jpg') { + img_obj.src = "./themes/original/img/new_data_selected.jpg"; } } /** - * Generates the URL containing the list of selected table ids for synchronization and - * a variable checked for confirmation of deleting previous rows from target tables + * Generates the URL containing the list of selected table ids for synchronization and + * a variable checked for confirmation of deleting previous rows from target tables * - * @param token the token generated for each PMA form + * @param token the token generated for each PMA form * */ @@ -545,15 +545,15 @@ function ApplySelectedChanges(token) var x = table_rows.length; var i; /** - Append the token at the beginning of the query string followed by - Table_ids that shows that "Apply Selected Changes" button is pressed + Append the token at the beginning of the query string followed by + Table_ids that shows that "Apply Selected Changes" button is pressed */ var append_string = "?token="+token+"&Table_ids="+1; for(i=0; i $js_message) { PMA_printJsValue("PMA_messages['" . $name . "']", $js_message); diff --git a/js/password_generation.js b/js/password_generation.js new file mode 100644 index 000000000..9153cc9b5 --- /dev/null +++ b/js/password_generation.js @@ -0,0 +1,10 @@ +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * for libraries/display_change_password.lib.php + * + */ + +$(document).ready(function() { + $('#tr_element_before_generate_password').parent().append('' + PMA_messages['strGeneratePassword'] + ''); + $('#div_element_before_generate_password').parent().append('
    '); +}); diff --git a/libraries/Config.class.php b/libraries/Config.class.php index 28994c2b1..225977bef 100755 --- a/libraries/Config.class.php +++ b/libraries/Config.class.php @@ -3,7 +3,6 @@ /** * * - * @version $Id$ * @package phpMyAdmin */ @@ -994,7 +993,6 @@ class PMA_Config * @uses $GLOBALS['PMA_Config'] * @uses PMA_Config::get() * @uses PMA_Config::_getFontsizeOptions() - * @uses __('Font size') * @static * @param string $current_size currently slected font size with unit * @return string html selectbox @@ -1031,7 +1029,6 @@ class PMA_Config * * @uses PMA_generate_common_hidden_inputs() * @uses PMA_Config::_getFontsizeSelection() - * @uses __('Go') * @static * @param string $current_size currently slected font size with unit * @return string html selectbox diff --git a/libraries/Error.class.php b/libraries/Error.class.php index 849287e43..b063995be 100755 --- a/libraries/Error.class.php +++ b/libraries/Error.class.php @@ -3,7 +3,6 @@ /** * Holds class PMA_Error * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/Error_Handler.class.php b/libraries/Error_Handler.class.php index fab7a3986..0b9089833 100755 --- a/libraries/Error_Handler.class.php +++ b/libraries/Error_Handler.class.php @@ -3,7 +3,6 @@ /** * Holds class PMA_Error_Handler * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/File.class.php b/libraries/File.class.php index 9dfe5687b..a6a515f44 100755 --- a/libraries/File.class.php +++ b/libraries/File.class.php @@ -3,7 +3,6 @@ /** * file upload functions * - * @version $Id$ * @package phpMyAdmin */ @@ -259,13 +258,6 @@ class PMA_File * @uses PMA_File::setRecentBLOBReference() * @uses curl_setopt_array() * @uses PMA_File::$_error_message - * @uses __('The uploaded file exceeds the upload_max_filesize directive in php.ini.') - * @uses __('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.') - * @uses __('The uploaded file was only partially uploaded.') - * @uses __('Missing a temporary folder.') - * @uses __('Failed to write file to disk.') - * @uses __('File upload stopped by extension.') - * @uses __('Unknown error in file upload.') * @uses $_FILES * @param string $key a numeric key used to identify the different rows * @param string $primary_key @@ -832,7 +824,6 @@ class PMA_File /** * * @access public - * @uses __('File could not be read') * @uses PMA_File::setName() * @uses PMA_securePath() * @uses PMA_userDir() @@ -881,7 +872,6 @@ class PMA_File * @todo move check of $cfg['TempDir'] into PMA_Config? * @access public * @uses $cfg['TempDir'] - * @uses __('Error moving the uploaded file, see [a@./Documentation.html#faq1_11@Documentation]FAQ 1.11[/a]') * @uses PMA_File::isReadable() * @uses PMA_File::getName() * @uses PMA_File::setName() @@ -937,7 +927,6 @@ class PMA_File * * @todo move file read part into readChunk() or getChunk() * @todo add support for compression plugins - * @uses __('File could not be read') * @uses PMA_File::$_compression to set it * @uses PMA_File::getName() * @uses fopen() diff --git a/libraries/Index.class.php b/libraries/Index.class.php index 8d7aa9f5a..81ef590cd 100755 --- a/libraries/Index.class.php +++ b/libraries/Index.class.php @@ -3,7 +3,6 @@ /** * holds the database index class * - * @version $Id$ * @package phpMyAdmin */ @@ -541,7 +540,6 @@ class PMA_Index /** * Function to check over array of indexes and look for common problems * - * @uses __('The indexes %1 and %2 seem to be equal and one of them could possibly be removed.') * @uses is_string() * @uses is_array() * @uses count() diff --git a/libraries/List.class.php b/libraries/List.class.php index 029b6fc3d..65ac7fc5a 100755 --- a/libraries/List.class.php +++ b/libraries/List.class.php @@ -3,7 +3,6 @@ /** * hold the PMA_List base class * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/List_Database.class.php b/libraries/List_Database.class.php index 397a6db32..f793ed424 100755 --- a/libraries/List_Database.class.php +++ b/libraries/List_Database.class.php @@ -3,7 +3,6 @@ /** * holds the PMA_List_Database class * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/Message.class.php b/libraries/Message.class.php index ffddb87e0..68d32bcfc 100755 --- a/libraries/Message.class.php +++ b/libraries/Message.class.php @@ -3,7 +3,6 @@ /** * Holds class PMA_Message * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/Partition.class.php b/libraries/Partition.class.php index cd696338a..c2b14a4e3 100755 --- a/libraries/Partition.class.php +++ b/libraries/Partition.class.php @@ -3,7 +3,6 @@ /** * Library for extracting information about the partitions * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/StorageEngine.class.php b/libraries/StorageEngine.class.php index 711f709e1..2ae125a3e 100755 --- a/libraries/StorageEngine.class.php +++ b/libraries/StorageEngine.class.php @@ -3,7 +3,6 @@ /** * Library for extracting information about the available storage engines * - * @version $Id$ * @package phpMyAdmin */ @@ -155,7 +154,6 @@ class PMA_StorageEngine * @uses PMA_ENGINE_DETAILS_TYPE_SIZE * @uses PMA_ENGINE_DETAILS_TYPE_NUMERIC * @uses PMA_StorageEngine::getVariablesStatus() - * @uses __('There is no detailed status information available for this storage engine.') * @uses PMA_showHint() * @uses PMA_formatByteDown() * @uses PMA_formatNumber() @@ -335,11 +333,6 @@ class PMA_StorageEngine /** * public String getSupportInformationMessage() * - * @uses __('%s is the default storage engine on this MySQL server.') - * @uses __('%s is available on this MySQL server.') - * @uses __('%s has been disabled for this MySQL server.') - * @uses __('This MySQL server does not support the %s storage engine.') - * @uses __('This MySQL server does not support the %s storage engine.') * @uses PMA_ENGINE_SUPPORT_DEFAULT * @uses PMA_ENGINE_SUPPORT_YES * @uses PMA_ENGINE_SUPPORT_DISABLED diff --git a/libraries/Table.class.php b/libraries/Table.class.php index ef522f967..7839107e8 100755 --- a/libraries/Table.class.php +++ b/libraries/Table.class.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/Theme.class.php b/libraries/Theme.class.php index cf8f0a5b4..09f46e285 100755 --- a/libraries/Theme.class.php +++ b/libraries/Theme.class.php @@ -3,7 +3,6 @@ /** * hold PMA_Theme class * - * @version $Id$ * @package phpMyAdmin */ @@ -145,7 +144,6 @@ class PMA_Theme { * @uses PMA_Theme::setImgPath() * @uses PMA_Theme::getName() * @uses $GLOBALS['cfg']['ThemePath'] - * @uses __('No valid image path for theme %s found!') * @uses is_dir() * @uses sprintf() */ @@ -357,8 +355,6 @@ class PMA_Theme { * @uses PMA_Theme::getVersion() * @uses PMA_Theme::getId() * @uses PMA_Theme::getPath() - * @uses __('No preview available.') - * @uses __('take it') * @uses PMA_generate_common_url() * @uses addslashes() * @uses file_exists() diff --git a/libraries/Theme_Manager.class.php b/libraries/Theme_Manager.class.php index 9adb7c54c..c5298f378 100755 --- a/libraries/Theme_Manager.class.php +++ b/libraries/Theme_Manager.class.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/Tracker.class.php b/libraries/Tracker.class.php index e909e76b8..82deb43fe 100755 --- a/libraries/Tracker.class.php +++ b/libraries/Tracker.class.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/auth/config.auth.lib.php b/libraries/auth/config.auth.lib.php index 71e9a62cd..e16d1894f 100755 --- a/libraries/auth/config.auth.lib.php +++ b/libraries/auth/config.auth.lib.php @@ -4,7 +4,6 @@ * Set of functions used to run config authentication (ie no authentication). * * @package phpMyAdmin-Auth-Config - * @version $Id$ */ diff --git a/libraries/auth/cookie.auth.lib.php b/libraries/auth/cookie.auth.lib.php index d524e1cb1..a9644557c 100755 --- a/libraries/auth/cookie.auth.lib.php +++ b/libraries/auth/cookie.auth.lib.php @@ -4,7 +4,6 @@ * Set of functions used to run cookie based authentication. * * @package phpMyAdmin-Auth-Cookie - * @version $Id$ */ if (! defined('PHPMYADMIN')) { @@ -115,17 +114,6 @@ function PMA_get_blowfish_secret() { * @uses $GLOBALS['target'] * @uses $GLOBALS['db'] * @uses $GLOBALS['table'] - * @uses __('Welcome to %s') - * @uses __('The configuration file now needs a secret passphrase (blowfish_secret).') - * @uses __('Error') - * @uses __('Log in') - * @uses __('Server:') - * @uses __('Username:') - * @uses __('Password:') - * @uses __('Server Choice') - * @uses __('Go') - * @uses __('Cookies must be enabled past this point.') - * @uses __('phpMyAdmin documentation') * @uses $GLOBALS['pmaThemeImage'] * @uses $cfg['Servers'] * @uses $cfg['LoginCookieRecall'] @@ -184,14 +172,14 @@ function PMA_auth() ?> - + - +?> + @@ -324,22 +312,6 @@ if (top != self) { } ?> - removeCookie() diff --git a/libraries/auth/http.auth.lib.php b/libraries/auth/http.auth.lib.php index 7ccea39e3..b3d305a10 100755 --- a/libraries/auth/http.auth.lib.php +++ b/libraries/auth/http.auth.lib.php @@ -5,7 +5,6 @@ * NOTE: Requires PHP loaded as a Apache module. * * @package phpMyAdmin-Auth-HTTP - * @version $Id$ */ diff --git a/libraries/auth/signon.auth.lib.php b/libraries/auth/signon.auth.lib.php index 2f828bda8..4215408af 100755 --- a/libraries/auth/signon.auth.lib.php +++ b/libraries/auth/signon.auth.lib.php @@ -4,7 +4,6 @@ * Set of functions used to run single signon authentication. * * @package phpMyAdmin-Auth-Signon - * @version $Id$ */ diff --git a/libraries/blowfish.php b/libraries/blowfish.php index 1dc3dcda0..ae85f4335 100755 --- a/libraries/blowfish.php +++ b/libraries/blowfish.php @@ -11,7 +11,6 @@ * See the enclosed file COPYING for license information (LGPL). If you * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. * - * @version $Id$ * @since Horde 2.2 * @package horde.cipher */ diff --git a/libraries/bookmark.lib.php b/libraries/bookmark.lib.php index 73a9665b9..fa6b4bfcd 100755 --- a/libraries/bookmark.lib.php +++ b/libraries/bookmark.lib.php @@ -3,7 +3,6 @@ /** * Set of functions used with the bookmark feature * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/charset_conversion.lib.php b/libraries/charset_conversion.lib.php index dbcb4fdc7..9acd1843a 100755 --- a/libraries/charset_conversion.lib.php +++ b/libraries/charset_conversion.lib.php @@ -3,116 +3,50 @@ /** * Charset conversion functions. * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { exit; } -/** - * Failure on loading recode/iconv extensions. - */ -function PMA_failRecoding() { - PMA_fatalError(__('Couldn\'t load the iconv or recode extension needed for charset conversion. Either configure PHP to enable these extensions or disable charset conversion in phpMyAdmin.')); -} - -/** - * Loads the recode or iconv extensions if any of it is not loaded yet - */ -if (isset($cfg['AllowAnywhereRecoding']) - && $cfg['AllowAnywhereRecoding']) { - - if ($cfg['RecodingEngine'] == 'recode') { - if (!@extension_loaded('recode')) { - PMA_failRecoding(); - } - $PMA_recoding_engine = 'recode'; - } elseif ($cfg['RecodingEngine'] == 'iconv') { - if (!@extension_loaded('iconv')) { - PMA_failRecoding(); - } - $PMA_recoding_engine = 'iconv'; - } else { - if (@extension_loaded('iconv')) { - $PMA_recoding_engine = 'iconv'; - } elseif (@extension_loaded('recode')) { - $PMA_recoding_engine = 'recode'; - } else { - PMA_failRecoding(); - } - } -} // end load recode/iconv extension - define('PMA_CHARSET_NONE', 0); define('PMA_CHARSET_ICONV', 1); -define('PMA_CHARSET_LIBICONV', 2); -define('PMA_CHARSET_RECODE', 3); -define('PMA_CHARSET_ICONV_AIX', 4); - -if (!isset($cfg['IconvExtraParams'])) { - $cfg['IconvExtraParams'] = ''; -} +define('PMA_CHARSET_RECODE', 2); +define('PMA_CHARSET_ICONV_AIX', 3); // Finally detect which function we will use: -if (isset($cfg['AllowAnywhereRecoding']) - && $cfg['AllowAnywhereRecoding']) { - - if (!isset($PMA_recoding_engine)) { - $PMA_recoding_engine = $cfg['RecodingEngine']; - } - if ($PMA_recoding_engine == 'iconv') { - if (@function_exists('iconv')) { - if ((@stristr(PHP_OS, 'AIX')) && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) && (@strcasecmp(ICONV_VERSION, 'unknown') == 0)) { - $PMA_recoding_engine = PMA_CHARSET_ICONV_AIX; - } else { - $PMA_recoding_engine = PMA_CHARSET_ICONV; - } - } elseif (@function_exists('libiconv')) { - $PMA_recoding_engine = PMA_CHARSET_LIBICONV; +if ($cfg['RecodingEngine'] == 'iconv') { + if (@function_exists('iconv')) { + if ((@stristr(PHP_OS, 'AIX')) && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) && (@strcasecmp(ICONV_VERSION, 'unknown') == 0)) { + $PMA_recoding_engine = PMA_CHARSET_ICONV_AIX; } else { - $PMA_recoding_engine = PMA_CHARSET_NONE; - - if (!isset($GLOBALS['is_header_sent'])) { - include './libraries/header.inc.php'; - } - echo __('Couldn\'t use the iconv, libiconv, or recode_string functions, although the necessary extensions appear to be loaded. Check your PHP configuration.'); - require_once './libraries/footer.inc.php'; - exit(); - } - } elseif ($PMA_recoding_engine == 'recode') { - if (@function_exists('recode_string')) { - $PMA_recoding_engine = PMA_CHARSET_RECODE; - } else { - $PMA_recoding_engine = PMA_CHARSET_NONE; - - require_once './libraries/header.inc.php'; - echo __('Couldn\'t use the iconv, libiconv, or recode_string functions, although the necessary extensions appear to be loaded. Check your PHP configuration.'); - require_once './libraries/footer.inc.php'; - exit; + $PMA_recoding_engine = PMA_CHARSET_ICONV; } } else { - if (@function_exists('iconv')) { - if ((@stristr(PHP_OS, 'AIX')) && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) && (@strcasecmp(ICONV_VERSION, 'unknown') == 0)) { - $PMA_recoding_engine = PMA_CHARSET_ICONV_AIX; - } else { - $PMA_recoding_engine = PMA_CHARSET_ICONV; - } - } elseif (@function_exists('libiconv')) { - $PMA_recoding_engine = PMA_CHARSET_LIBICONV; - } elseif (@function_exists('recode_string')) { - $PMA_recoding_engine = PMA_CHARSET_RECODE; + $PMA_recoding_engine = PMA_CHARSET_NONE; + PMA_warnMissingExtension('iconv'); + } +} elseif ($cfg['RecodingEngine'] == 'recode') { + if (@function_exists('recode_string')) { + $PMA_recoding_engine = PMA_CHARSET_RECODE; + } else { + $PMA_recoding_engine = PMA_CHARSET_NONE; + PMA_warnMissingExtension('recode'); + } +} elseif ($cfg['RecodingEngine'] == 'auto') { + if (@function_exists('iconv')) { + if ((@stristr(PHP_OS, 'AIX')) && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) && (@strcasecmp(ICONV_VERSION, 'unknown') == 0)) { + $PMA_recoding_engine = PMA_CHARSET_ICONV_AIX; } else { - $PMA_recoding_engine = PMA_CHARSET_NONE; - - require_once './libraries/header.inc.php'; - echo __('Couldn\'t use the iconv, libiconv, or recode_string functions, although the necessary extensions appear to be loaded. Check your PHP configuration.'); - require_once './libraries/footer.inc.php'; - exit; + $PMA_recoding_engine = PMA_CHARSET_ICONV; } + } elseif (@function_exists('recode_string')) { + $PMA_recoding_engine = PMA_CHARSET_RECODE; + } else { + $PMA_recoding_engine = PMA_CHARSET_NONE; } } else { - $PMA_recoding_engine = PMA_CHARSET_NONE; + $PMA_recoding_engine = PMA_CHARSET_NONE; } /* Load AIX iconv wrapper if needed */ @@ -120,43 +54,6 @@ if ($PMA_recoding_engine == PMA_CHARSET_ICONV_AIX) { require_once './libraries/iconv_wrapper.lib.php'; } -/** - * Converts encoding of text according to current settings. - * - * @param string what to convert - * - * @return string converted text - * - * @global array the configuration array - * @global boolean whether recoding is allowed or not - * @global string the current charset - * @global array the charset to convert to - * - * @access public - * - */ -function PMA_convert_charset($what) { - global $cfg, $charset, $convcharset; - - if (!(isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding'] ) - || $convcharset == $charset) { // if input and output charset are the same, we don't have to do anything... - return $what; - } else { - switch ($GLOBALS['PMA_recoding_engine']) { - case PMA_CHARSET_RECODE: - return recode_string($charset . '..' . $convcharset, $what); - case PMA_CHARSET_ICONV: - return iconv($charset, $convcharset . $cfg['IconvExtraParams'], $what); - case PMA_CHARSET_ICONV_AIX: - return PMA_aix_iconv_wrapper($charset, $convcharset . $cfg['IconvExtraParams'], $what); - case PMA_CHARSET_LIBICONV: - return libiconv($charset, $convcharset . $GLOBALS['cfg']['IconvExtraParams'], $what); - default: - return $what; - } - } -} // end of the "PMA_convert_charset()" function - /** * Converts encoding of text according to parameters with detected * conversion function. @@ -181,59 +78,9 @@ function PMA_convert_string($src_charset, $dest_charset, $what) { return iconv($src_charset, $dest_charset . $GLOBALS['cfg']['IconvExtraParams'], $what); case PMA_CHARSET_ICONV_AIX: return PMA_aix_iconv_wrapper($src_charset, $dest_charset . $GLOBALS['cfg']['IconvExtraParams'], $what); - case PMA_CHARSET_LIBICONV: - return libiconv($src_charset, $dest_charset, $what); default: return $what; } } // end of the "PMA_convert_string()" function - -/** - * Converts encoding of file according to parameters with detected - * conversion function. The old file will be unlinked and new created and - * its file name is returned. - * - * @param string source charset - * @param string target charset - * @param string file to convert - * - * @return string new temporay file - * - * @access public - * - */ -function PMA_convert_file($src_charset, $dest_charset, $file) { - switch ($GLOBALS['PMA_recoding_engine']) { - case PMA_CHARSET_RECODE: - case PMA_CHARSET_ICONV: - case PMA_CHARSET_LIBICONV: - $tmpfname = tempnam('', 'PMA_convert_file'); - $fin = fopen($file, 'r'); - $fout = fopen($tmpfname, 'w'); - if ($GLOBALS['PMA_recoding_engine'] == PMA_CHARSET_RECODE) { - recode_file($src_charset . '..' . $dest_charset, $fin, $fout); - } else { - while (!feof($fin)) { - $line = fgets($fin, 4096); - if ($GLOBALS['PMA_recoding_engine'] == PMA_CHARSET_ICONV) { - $dist = iconv($src_charset, $dest_charset . $GLOBALS['cfg']['IconvExtraParams'], $line); - } elseif ($GLOBALS['PMA_recoding_engine'] == PMA_CHARSET_ICONV_AIX) { - $dist = PMA_aix_iconv_wrapper($src_charset, $dest_charset . $GLOBALS['cfg']['IconvExtraParams'], $line); - } else { - $dist = libiconv($src_charset, $dest_charset . $GLOBALS['cfg']['IconvExtraParams'], $line); - } - fputs($fout, $dist); - } // end while - } - fclose($fin); - fclose($fout); - unlink($file); - - return $tmpfname; - default: - return $file; - } -} // end of the "PMA_convert_file()" function - ?> diff --git a/libraries/check_user_privileges.lib.php b/libraries/check_user_privileges.lib.php index 398101bf6..6dbc251e4 100755 --- a/libraries/check_user_privileges.lib.php +++ b/libraries/check_user_privileges.lib.php @@ -3,7 +3,6 @@ /** * Get user's global privileges and some db-specific privileges * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/cleanup.lib.php b/libraries/cleanup.lib.php index 2bd1ef88c..b77fd315e 100755 --- a/libraries/cleanup.lib.php +++ b/libraries/cleanup.lib.php @@ -3,7 +3,6 @@ /** * Functions for cleanup of user input. * - * @version $Id$ * @package phpMyAdmin */ diff --git a/libraries/common.inc.php b/libraries/common.inc.php index 95f8fffeb..4e8a59c34 100755 --- a/libraries/common.inc.php +++ b/libraries/common.inc.php @@ -28,7 +28,6 @@ * - db connection * - authentication work * - * @version $Id$ * @package phpMyAdmin */ @@ -454,7 +453,7 @@ if (PMA_checkPageValidity($_REQUEST['back'], $goto_whitelist)) { * f.e. PMA_Config: fontsize * * @todo variables should be handled by their respective owners (objects) - * f.e. lang, server, convcharset, collation_connection in PMA_Config + * f.e. lang, server, collation_connection in PMA_Config */ if (! PMA_isValid($_REQUEST['token']) || $_SESSION[' PMA_token '] != $_REQUEST['token']) { /** @@ -468,7 +467,7 @@ if (! PMA_isValid($_REQUEST['token']) || $_SESSION[' PMA_token '] != $_REQUEST[' /* Session ID */ 'phpMyAdmin', /* Cookie preferences */ - 'pma_lang', 'pma_charset', 'pma_collation_connection', + 'pma_lang', 'pma_collation_connection', /* Possible login form */ 'pma_servername', 'pma_username', 'pma_password', /* for playing blobstreamable media */ @@ -488,14 +487,6 @@ if (! PMA_isValid($_REQUEST['token']) || $_SESSION[' PMA_token '] != $_REQUEST[' } -/** - * @global string $GLOBALS['convcharset'] - * @see select_lang.lib.php - */ -if (isset($_REQUEST['convcharset'])) { - $GLOBALS['convcharset'] = strip_tags($_REQUEST['convcharset']); -} - /** * current selected database * @global string $GLOBALS['db'] @@ -797,7 +788,6 @@ if (! defined('PMA_MINIMUM_COMMON')) { * @todo should be done in PMA_Config */ $GLOBALS['PMA_Config']->setCookie('pma_lang', $GLOBALS['lang']); - $GLOBALS['PMA_Config']->setCookie('pma_charset', $GLOBALS['convcharset']); $GLOBALS['PMA_Config']->setCookie('pma_collation_connection', $GLOBALS['collation_connection']); $_SESSION['PMA_Theme_Manager']->setThemeCookie(); diff --git a/libraries/common.lib.php b/libraries/common.lib.php index 070f1aff9..a9434f4bb 100755 --- a/libraries/common.lib.php +++ b/libraries/common.lib.php @@ -3,7 +3,6 @@ /** * Misc functions used all over the scripts. * - * @version $Id$ * @package phpMyAdmin */ @@ -130,7 +129,6 @@ function PMA_getIcon($icon, $alternate = '', $container = false, $force_text = f /** * Displays the maximum size for an upload * - * @uses __('Max: %s%s') * @uses PMA_formatByteDown() * @uses sprintf() * @param integer the size @@ -346,7 +344,6 @@ function PMA_formatSql($parsed_sql, $unparsed_sql = '') * @uses $cfg['MySQLManualType'] * @uses $cfg['MySQLManualBase'] * @uses $cfg['ReplaceHelpImg'] - * @uses __('Documentation') * @uses $GLOBALS['pmaThemeImage'] * @uses PMA_MYSQL_INT_VERSION * @uses strtolower() @@ -501,11 +498,7 @@ function PMA_showHint($message, $bbcode = false, $type = 'notice') * @uses footer.inc.php * @uses header.inc.php * @uses $GLOBALS['sql_query'] - * @uses __('Error') - * @uses __('SQL query') * @uses $GLOBALS['pmaThemeImage'] - * @uses __('Edit') - * @uses __('MySQL said: ') * @uses $GLOBALS['cfg']['PropertiesIconic'] * @uses $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] * @uses PMA_backquote() @@ -1143,7 +1136,11 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice', $is_view if (! empty($GLOBALS['show_as_php'])) { $query_base = '$sql = "' . $query_base; } elseif (! empty($GLOBALS['validatequery'])) { - $query_base = PMA_validateSQL($query_base); + try { + $query_base = PMA_validateSQL($query_base); + } catch (Exception $e) { + PMA_Message::error(__('Failed to connect to SQL validator!'))->display(); + } } elseif (isset($parsed_sql)) { $query_base = PMA_formatSql($parsed_sql, $query_base); } @@ -1259,7 +1256,11 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice', $is_view $validate_link = ''; } //validator - echo ''; + if (!empty($GLOBALS['validatequery'])) { + echo '
    '; + } else { + echo ''; + } if ($query_too_big) { echo $shortened_query_base; } else { @@ -1270,7 +1271,11 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice', $is_view if (! empty($GLOBALS['show_as_php'])) { echo '";'; } - echo ''; + if (!empty($GLOBALS['validatequery'])) { + echo '
    '; + } else { + echo '
    '; + } echo '
    '; // avoid displaying a Profiling checkbox that could @@ -1278,6 +1283,17 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice', $is_view if (! empty($refresh_link)) { PMA_profilingCheckbox($sql_query); } + // if needed, generate an invisible form that contains controls for the + // Inline link; this way, the behavior of the Inline link does not + // depend on the profiling support or on the refresh link + if (empty($refresh_link) || ! PMA_profilingSupported()) { + echo '
    '; + echo PMA_generate_common_hidden_inputs($GLOBALS['db'], $GLOBALS['table']); + echo ''; + echo '
    '; + } + + // see in js/functions.js the jQuery code attached to id inline_edit $inline_edit = "'."\n"; +/** + * Formats user string, expading @VARIABLES@, accepting strftime format string. + * + * @param string Text where to do expansion. + * @param function Function to call for escaping variable values. + * @param array Array with overrides for default parameters (obtained from GLOBALS). + */ +function PMA_expandUserString($string, $escape = NULL, $updates = array()) { + /* Content */ + $vars['http_host'] = PMA_getenv('HTTP_HOST') ? PMA_getenv('HTTP_HOST') : ''; + $vars['server_name'] = $GLOBALS['cfg']['Server']['host']; + $vars['server_verbose'] = $GLOBALS['cfg']['Server']['verbose']; + $vars['server_verbose_or_name'] = !empty($GLOBALS['cfg']['Server']['verbose']) ? $GLOBALS['cfg']['Server']['verbose'] : $GLOBALS['cfg']['Server']['host']; + $vars['database'] = $GLOBALS['db']; + $vars['table'] = $GLOBALS['table']; + $vars['phpmyadmin_version'] = 'phpMyAdmin ' . PMA_VERSION; - if ($print) - echo $out; + /* Update forced variables */ + foreach($updates as $key => $val) { + $vars[$key] = $val; + } - return $out; + /* Replacement mapping */ + /* + * The __VAR__ ones are for backward compatibility, because user + * might still have it in cookies. + */ + $replace = array( + '@HTTP_HOST@' => $vars['http_host'], + '@SERVER@' => $vars['server_name'], + '__SERVER__' => $vars['server_name'], + '@VERBOSE@' => $vars['server_verbose'], + '@VSERVER@' => $vars['server_verbose_or_name'], + '@DATABASE@' => $vars['database'], + '__DB__' => $vars['database'], + '@TABLE@' => $vars['table'], + '__TABLE__' => $vars['table'], + '@PHPMYADMIN@' => $vars['phpmyadmin_version'], + ); + + /* Optional escaping */ + if (!is_null($escape)) { + foreach($replace as $key => $val) { + $replace[$key] = $escape($val); + } + } + + /* Do the replacement */ + return str_replace(array_keys($replace), array_values($replace), strftime($string)); } /** diff --git a/libraries/config.default.php b/libraries/config.default.php index cd6ef6b6c..7ec7c5dc5 100755 --- a/libraries/config.default.php +++ b/libraries/config.default.php @@ -16,7 +16,6 @@ * * All directives are explained in Documentation.html * - * @version $Id$ * @package phpMyAdmin */ @@ -544,7 +543,7 @@ $cfg['SessionSavePath'] = ''; /** * maximum allocated bytes ('0' for no limit) * this is a string because '16M' is a valid value; we must put here - * a string as the default value so that /setup accepts strings + * a string as the default value so that /setup accepts strings * * @global string $cfg['MemoryLimit'] */ @@ -1117,21 +1116,21 @@ $cfg['Export']['remember_file_template'] = true; * * @global string $cfg['Export']['file_template_table'] */ -$cfg['Export']['file_template_table'] = '__TABLE__'; +$cfg['Export']['file_template_table'] = '@TABLE@'; /** * * * @global string $cfg['Export']['file_template_database'] */ -$cfg['Export']['file_template_database'] = '__DB__'; +$cfg['Export']['file_template_database'] = '@DB@'; /** * * * @global string $cfg['Export']['file_template_server'] */ -$cfg['Export']['file_template_server'] = '__SERVER__'; +$cfg['Export']['file_template_server'] = '@SERVER@'; /** * @@ -1432,14 +1431,14 @@ $cfg['Export']['latex_data_continued_caption'] = 'strLatexContent strLatexContin * * @global string $cfg['Export']['latex_data_label'] */ -$cfg['Export']['latex_data_label'] = 'tab:__TABLE__-data'; +$cfg['Export']['latex_data_label'] = 'tab:@TABLE@-data'; /** * * * @global string $cfg['Export']['latex_structure_label'] */ -$cfg['Export']['latex_structure_label'] = 'tab:__TABLE__-structure'; +$cfg['Export']['latex_structure_label'] = 'tab:@TABLE@-structure'; /** * @@ -1950,26 +1949,6 @@ $cfg['DefaultConnectionCollation'] = 'utf8_general_ci'; */ $cfg['FilterLanguages'] = ''; -/** - * Default character set to use for recoding of MySQL queries, does not take - * any effect when character sets recoding is switched off by - * $cfg['AllowAnywhereRecoding'] or in language file - * (see $cfg['AvailableCharsets'] to possible choices, you can add your own) - * - * @global string $cfg['DefaultCharset'] - */ -$cfg['DefaultCharset'] = 'utf-8'; - -/** - * Allow character set recoding of MySQL queries, must be also enabled in language - * file to make harder using other language files than Unicode. - * Default value is false to avoid problems on servers without the iconv - * extension - * - * @global boolean $cfg['AllowAnywhereRecoding'] - */ -$cfg['AllowAnywhereRecoding'] = false; - /** * You can select here which functions will be used for character set conversion. * Possible values are: @@ -1977,6 +1956,7 @@ $cfg['AllowAnywhereRecoding'] = false; * recode) * iconv - use iconv or libiconv functions * recode - use recode_string function + * none - disable encoding conversion * * @global string $cfg['RecodingEngine'] */ @@ -2278,14 +2258,6 @@ $cfg['InitialSlidersState'] = 'closed'; -//----------------------------------------------------------------------------- -// custom-setup by mkkeck: 2004-05-04 -// some specials for new icons and scrolling -/** - * @todo We need to rearrange these variables. - */ - - /******************************************************************************* * Window title settings */ diff --git a/libraries/core.lib.php b/libraries/core.lib.php index 12e28c531..5e85d6905 100755 --- a/libraries/core.lib.php +++ b/libraries/core.lib.php @@ -5,7 +5,6 @@ * This script is distinct from libraries/common.inc.php because this * script is called from /test. * - * @version $Id$ * @package phpMyAdmin */ @@ -202,7 +201,6 @@ function PMA_securePath($path) * @todo use detected argument separator (PMA_Config) * @uses $GLOBALS['session_name'] * @uses $GLOBALS['text_dir'] - * @uses __('Error') * @uses $GLOBALS['available_languages'] * @uses $GLOBALS['lang'] * @uses $GLOBALS['PMA_Config']->removeCookie() @@ -226,7 +224,7 @@ function PMA_fatalError($error_message, $message_args = null) if (! isset($GLOBALS['available_languages'])) { $GLOBALS['cfg'] = array( 'DefaultLang' => 'en', - 'AllowAnywhereRecoding' => false); + ); // Loads the language file require_once './libraries/select_lang.lib.php'; @@ -281,7 +279,8 @@ function PMA_fatalError($error_message, $message_args = null) */ function PMA_warnMissingExtension($extension, $fatal = false, $extra = '') { - $message = sprintf(__('Cannot load [a@http://php.net/%1$s@Documentation][em]%1$s[/em][/a] extension. Please check your PHP configuration.'), $extension); + $message = sprintf(__('The %s extension is missing. Please check your PHP configuration.'), + sprintf('[a@http://php.net/%1$s@Documentation][em]%1$s[/em][/a]', $extension)); if ($extra != '') { $message .= ' ' . $extra; } diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php index de65d12b8..2f24e4fb7 100755 --- a/libraries/database_interface.lib.php +++ b/libraries/database_interface.lib.php @@ -3,7 +3,6 @@ /** * Common Option Constants For DBI Functions * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/db_common.inc.php b/libraries/db_common.inc.php index 439ac0588..e7769d55b 100755 --- a/libraries/db_common.inc.php +++ b/libraries/db_common.inc.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/db_events.inc.php b/libraries/db_events.inc.php index 2d0990226..820477021 100755 --- a/libraries/db_events.inc.php +++ b/libraries/db_events.inc.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/db_info.inc.php b/libraries/db_info.inc.php index 4f782f9e7..7955b9f50 100755 --- a/libraries/db_info.inc.php +++ b/libraries/db_info.inc.php @@ -31,7 +31,6 @@ * @uses strnatcasecmp() * @uses count() * @uses addslashes() - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { @@ -59,7 +58,6 @@ $pos = $_SESSION['tmp_user_values']['table_limit_offset']; * fills given tooltip arrays * * @uses $cfg['ShowTooltipAliasTB'] - * @uses __('Creation') * @uses PMA_localisedDate() * @uses strtotime() * @param array $tooltip_truename tooltip data diff --git a/libraries/db_links.inc.php b/libraries/db_links.inc.php index 2f19754c6..5ccefced7 100755 --- a/libraries/db_links.inc.php +++ b/libraries/db_links.inc.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/db_routines.inc.php b/libraries/db_routines.inc.php index 1ec501313..d523e2db1 100755 --- a/libraries/db_routines.inc.php +++ b/libraries/db_routines.inc.php @@ -12,7 +12,6 @@ * our current sql.php. * Of course the interface would need a way to pass calling parameters. * Also, support DEFINER (like we do in export). - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/db_structure.lib.php b/libraries/db_structure.lib.php index 2b6f42034..6f91d448c 100755 --- a/libraries/db_structure.lib.php +++ b/libraries/db_structure.lib.php @@ -2,7 +2,6 @@ /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { @@ -17,14 +16,6 @@ if (! defined('PHPMYADMIN')) { * @uses PMA_showHint() * @uses $GLOBALS['cfg']['PropertiesNumColumns'] * @uses $GLOBALS['is_show_stats'] - * @uses __('Table') - * @uses __('Action') - * @uses __('Rows') - * @uses __('May be approximate. See [a@./Documentation.html#faq3_11@Documentation]FAQ 3.11[/a]') - * @uses __('Type') - * @uses __('Collation') - * @uses __('Size') - * @uses __('Overhead') * @uses $GLOBALS['colspan_for_structure'] * @uses PMA_SortableTableHeader() * @param boolean $db_is_information_schema diff --git a/libraries/db_table_exists.lib.php b/libraries/db_table_exists.lib.php index d1ae16a34..1110dc52d 100755 --- a/libraries/db_table_exists.lib.php +++ b/libraries/db_table_exists.lib.php @@ -4,7 +4,6 @@ * Ensure the database and the table exist (else move to the "parent" script) * and display headers * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { diff --git a/libraries/dbg/setup.php b/libraries/dbg/setup.php index 07732dfd6..7b80ce2d1 100755 --- a/libraries/dbg/setup.php +++ b/libraries/dbg/setup.php @@ -1,7 +1,6 @@ addParam('DBG'); + $message = PMA_Message::error(__('The %s extension is missing. Please check your PHP configuration.'), + $message->addParam(sprintf('[a@http://php.net/%1$s@Documentation][em]%1$s[/em][/a]', 'dbg')); $message->addMessage('', false); $message->addString(__('Documentation')); $message->addMessage('', false); diff --git a/libraries/dbi/mysql.dbi.lib.php b/libraries/dbi/mysql.dbi.lib.php index 360f1db2b..fdd83f8aa 100755 --- a/libraries/dbi/mysql.dbi.lib.php +++ b/libraries/dbi/mysql.dbi.lib.php @@ -4,7 +4,6 @@ * Interface to the classic MySQL extension * * @package phpMyAdmin-DBI-MySQL - * @version $Id$ */ if (! defined('PHPMYADMIN')) { exit; @@ -308,9 +307,6 @@ function PMA_DBI_get_client_info() * @uses PMA_DBI_convert_message() * @uses $GLOBALS['errno'] * @uses $GLOBALS['userlink'] - * @uses __('The server is not responding') - * @uses __('(or the local MySQL server's socket is not correctly configured)') - * @uses __('Details...') * @uses mysql_errno() * @uses mysql_error() * @uses defined() diff --git a/libraries/dbi/mysqli.dbi.lib.php b/libraries/dbi/mysqli.dbi.lib.php index 2a59ed57f..de90cac08 100755 --- a/libraries/dbi/mysqli.dbi.lib.php +++ b/libraries/dbi/mysqli.dbi.lib.php @@ -4,7 +4,6 @@ * Interface to the improved MySQL extension (MySQLi) * * @package phpMyAdmin-DBI-MySQLi - * @version $Id$ */ if (! defined('PHPMYADMIN')) { exit; @@ -144,7 +143,6 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu * selects given database * * @uses $GLOBALS['userlink'] - * @uses PMA_convert_charset() * @uses mysqli_select_db() * @param string $dbname database name to select * @param object mysqli $link the mysqli object @@ -168,7 +166,6 @@ function PMA_DBI_select_db($dbname, $link = null) * @uses PMA_DBI_QUERY_STORE * @uses PMA_DBI_QUERY_UNBUFFERED * @uses $GLOBALS['userlink'] - * @uses PMA_convert_charset() * @uses MYSQLI_STORE_RESULT * @uses MYSQLI_USE_RESULT * @uses mysqli_query() @@ -366,8 +363,6 @@ function PMA_DBI_get_client_info() * @uses PMA_DBI_convert_message() * @uses $GLOBALS['errno'] * @uses $GLOBALS['userlink'] - * @uses __('The server is not responding') - * @uses __('(or the local MySQL server's socket is not correctly configured)') * @uses mysqli_errno() * @uses mysqli_error() * @uses mysqli_connect_errno() @@ -493,8 +488,8 @@ function PMA_DBI_get_fields_meta($result) { // Build an associative array for a type look up $typeAr = array(); - $typeAr[MYSQLI_TYPE_DECIMAL] = 'real'; - $typeAr[MYSQLI_TYPE_NEWDECIMAL] = 'real'; + $typeAr[MYSQLI_TYPE_DECIMAL] = 'decimal'; + $typeAr[MYSQLI_TYPE_NEWDECIMAL] = 'decimal'; $typeAr[MYSQLI_TYPE_BIT] = 'int'; $typeAr[MYSQLI_TYPE_TINY] = 'int'; $typeAr[MYSQLI_TYPE_SHORT] = 'int'; diff --git a/libraries/display_change_password.lib.php b/libraries/display_change_password.lib.php index b541aa528..43a61f6ef 100755 --- a/libraries/display_change_password.lib.php +++ b/libraries/display_change_password.lib.php @@ -3,7 +3,6 @@ /** * Displays form for password change * - * @version $Id$ * @package phpMyAdmin */ if (! defined('PHPMYADMIN')) { @@ -58,7 +57,7 @@ $chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5) - +   @@ -67,15 +66,6 @@ $chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5) - - - - - - - - -