diff --git a/ChangeLog b/ChangeLog index 1fdbbe9608..63fbbea101 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,10 +2,34 @@ ====================== 3.5.0.0 (not yet released) ++ rfe #2021981 [interface] Add support for mass prefix change. ++ "up to date" message on main page when current version is up to date ++ Update to jQuery 1.6.1 ++ Patch #3256122 [search] Show/hide db search results ++ Patch #3302354 Add gettext wrappers around a message ++ Remove deprecated function PMA_DBI_get_fields -3.4.1.0 (not yet released) +3.4.2.0 (not yet released) +- bug #3301249 [interface] Iconic table operations does not remove inline edit label +- bug #3303869 [interface] Unnecessary scrolling on Databases page +- patch #3303813 [setup] Define a label that was missing +- bug #3305606 [interface] Show all button wraps on privileges page +- bug #3305517 [config] Config for export compression not used +- bug #3305883 [interface] Table is dropped regardless of confirmation +- [auth] Fixed error handling for signon auth method. +- bug #3276001 [core] Avoid caching of index.php. -3.4.0.0 (not yet released) +3.4.1.0 (2011-05-20) +- bug #3301108 [interface] Synchronize and already configured host +- bug #3302457 Inline edit and $cfg['PropertiesIconic'] +- Patch #3302313 Show a translated label +- bug #3300981 [navi] Table filter is case sensitive +- bug #3285929 [privileges] Revert temporary fix +- bug #3302872 [synchronize] Synchronize and user name +- bug #3302733 [core] Some browsers report an insecure https connection +- [security] Make redirector require valid token + +3.4.0.0 (2011-05-11) + rfe #2890226 [view] Enable VIEW rename + rfe #838637 [privileges] Export a user's privileges - [core] Updated mootools to fix some glitches with Safari. @@ -162,6 +186,9 @@ 3.3.11.0 (not yet released) +3.3.10.1 (2011-05-20) +- [security] XSS on Tracking page + 3.3.10.0 (2011-03-19) - patch #3147400 [structure] Aria table size printed as unknown, thanks to erickoh75 - erickoh75 diff --git a/Documentation.html b/Documentation.html index cee6a4211e..5b3da22006 100644 --- a/Documentation.html +++ b/Documentation.html @@ -1280,6 +1280,8 @@ CREATE DATABASE,ALTER DATABASE,DROP DATABASE
$cfg['Servers'][$i]['SignonSession'] string
Name of session which will be used for signon authentication method. + You should use something different than phpMyAdmin, because + this is session which phpMyAdmin uses internally.
$cfg['Servers'][$i]['SignonURL'] string
URL where user will be redirected to log in for signon authentication method. Should be absolute including protocol. diff --git a/db_qbe.php b/db_qbe.php index 34c85eed3f..a076798741 100644 --- a/db_qbe.php +++ b/db_qbe.php @@ -105,7 +105,7 @@ if (0 == $tbl_result_cnt) { // The tables list gets from MySQL while (list($tbl) = PMA_DBI_fetch_row($tbl_result)) { - $fld_results = PMA_DBI_get_fields($db, $tbl); + $fld_results = PMA_DBI_get_columns($db, $tbl, true); if (empty($tbl_names[$tbl]) && !empty($_REQUEST['TableList'])) { $tbl_names[$tbl] = ''; diff --git a/db_structure.php b/db_structure.php index d81af5d536..ebc69154e4 100644 --- a/db_structure.php +++ b/db_structure.php @@ -517,6 +517,12 @@ if (!$db_is_information_schema) { . __('Repair table') . '' . "\n"; echo ' ' . "\n"; + echo ' ' . "\n"; + echo ' ' . "\n"; + echo ' ' . "\n"; } ?> diff --git a/index.php b/index.php index 5d197586ca..66f6bf5545 100644 --- a/index.php +++ b/index.php @@ -89,7 +89,7 @@ $lang_iso_code = $GLOBALS['available_languages'][$GLOBALS['lang']][1]; // start output -header('Content-Type: text/html; charset=' . $GLOBALS['charset']); +include ('./libraries/header_http.inc.php'); ?> @@ -153,7 +153,7 @@ header('Content-Type: text/html; charset=' . $GLOBALS['charset']); // ]]> diff --git a/js/db_search.js b/js/db_search.js index 79c444e856..6fff82dec8 100644 --- a/js/db_search.js +++ b/js/db_search.js @@ -20,7 +20,7 @@ function loadResult(result_path , table_name , link , ajaxEnable){ if(ajaxEnable) { /** Hides the results shown by the delete criteria */ - //PMA_ajaxShowMessage(PMA_messages['strBrowsing']); + PMA_ajaxShowMessage(PMA_messages['strBrowsing']); $('#sqlqueryform').hide(); $('#togglequerybox').hide(); /** Load the browse results to the page */ @@ -51,14 +51,14 @@ function deleteResult(result_path , msg , ajaxEnable){ /** Load the deleted option to the page*/ $('#browse-results').load(result_path + " '"+'#result_query' + "'"); $('#sqlqueryform').load(result_path + " '"+'#sqlqueryform' + "'"); - $('#togglequerybox').html(PMA_messages['strHideQueryBox']); + $('#togglequerybox').html(PMA_messages['strShowQueryBox']); /** Refresh the search results after the deletion */ document.getElementById('buttonGo'). click(); - //PMA_ajaxShowMessage(PMA_messages['strDeleting']); + PMA_ajaxShowMessage(PMA_messages['strDeleting']); /** Show the results of the deletion option */ $('#browse-results').show(); - $('#sqlqueryform').show(); + $('#sqlqueryform').hide(); $('#togglequerybox').show(); } else @@ -89,6 +89,31 @@ $(document).ready(function() { $('#sqlqueryform').hide(); $('#togglequerybox').hide(); }); + /** + *Prepare a div containing a link for toggle the search results + */ + $('
') + .insertAfter('#searchresults') + /** don't show it until we have results on-screen */ + .hide(); + + $('
').insertAfter("#togglesearchresultsdiv").show(); + /** Changing the displayed text according to the hide/show criteria in search result forms*/ + + $('#togglesearchresultlink') + .html(PMA_messages['strHideSearchResults']) + .bind('click', function() { + var $link = $(this); + $('#searchresults').slideToggle(); + if ($link.text() == PMA_messages['strHideSearchResults']) { + $link.text(PMA_messages['strShowSearchResults']); + } else { + $link.text(PMA_messages['strHideSearchResults']); + } + /** avoid default click action */ + return false; + }); + /** * Prepare a div containing a link for toggle the search form, otherwise it's incorrectly displayed * after a couple of clicks @@ -101,7 +126,7 @@ $(document).ready(function() { /** Changing the displayed text according to the hide/show criteria in search form*/ $("#togglequerybox").hide(); $("#togglequerybox").bind('click', function() { - var $link = $(this) + var $link = $(this); $('#sqlqueryform').slideToggle("medium"); if ($link.text() == PMA_messages['strHideQueryBox']) { $link.text(PMA_messages['strShowQueryBox']); @@ -110,7 +135,7 @@ $(document).ready(function() { } /** avoid default click action */ return false; - }) + }); /** don't show it until we have results on-screen */ @@ -149,6 +174,16 @@ $(document).ready(function() { // found results $("#searchresults").html(response); $("#sqlqueryresults").trigger('appendAnchor'); + + $('#togglesearchresultlink') + // always start with the Show message + .text(PMA_messages['strHideSearchResults']) + $('#togglesearchresultsdiv') + // now it's time to show the div containing the link + .show(); + $('#searchresults').show(); + + $('#db_search_form') // workaround for Chrome problem (bug #3168569) .slideToggle() diff --git a/js/functions.js b/js/functions.js index 572c857501..a5118df9a2 100644 --- a/js/functions.js +++ b/js/functions.js @@ -90,19 +90,23 @@ function parseVersionString (str) { * Indicates current available version on main page. */ function PMA_current_version() { - var current = parseVersionString('3.4.0'/*pmaversion*/); + var current = parseVersionString(pmaversion); var latest = parseVersionString(PMA_latest_version); - $('#li_pma_version').append(PMA_messages['strLatestAvailable'] + ' ' + PMA_latest_version); + var version_information_message = PMA_messages['strLatestAvailable'] + ' ' + PMA_latest_version; if (latest > current) { var message = $.sprintf(PMA_messages['strNewerVersion'], PMA_latest_version, PMA_latest_date); if (Math.floor(latest / 10000) == Math.floor(current / 10000)) { /* Security update */ - klass = 'warning'; + klass = 'error'; } else { klass = 'notice'; } $('#maincontainer').after('
' + message + '
'); } + if (latest == current) { + version_information_message = ' (' + PMA_messages['strUpToDate'] + ')'; + } + $('#li_pma_version').append(version_information_message); } /** @@ -606,7 +610,7 @@ $(document).ready(function() { */ $('tr.odd:not(.noclick), tr.even:not(.noclick)').live('click',function(e) { // do not trigger when clicked on anchor - if ($(e.target).is('a, a *')) { + if ($(e.target).is('a, img, a *')) { return; } // XXX: FF fires two click events for