diff --git a/ChangeLog b/ChangeLog index 81dfe4c206..2b5c530a64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,7 @@ phpMyAdmin - ChangeLog - bug #4675 phpMyAdmin should be able to work without 'examples' DIR - move SQL scripts to sql directory 4.3.7.0 (not yet released) +- bug #4694 js error on marking table as favorite in Safari (in private mode) 4.3.6.0 (2015-01-07) - bug Undefined index notices while configuring recent and favorite tables diff --git a/js/functions.js b/js/functions.js index c7dbacd349..1425354ab5 100644 --- a/js/functions.js +++ b/js/functions.js @@ -3688,14 +3688,13 @@ AJAX.registerOnload('functions.js', function () { cache: false, type: 'POST', data: { - favorite_tables: (window.localStorage && window.localStorage.favorite_tables - !== undefined) - ? window.localStorage.favorite_tables + favorite_tables: (isStorageSupported('localStorage')) + ? window.localStorage['favorite_tables'] : '' }, success: function (data) { // Update localStorage. - if (window.localStorage && window.localStorage !== undefined) { + if (isStorageSupported('localStorage')) { window.localStorage.favorite_tables = data.favorite_tables; } @@ -4369,6 +4368,7 @@ function isStorageSupported(type) } } catch(error) { // Not supported + PMA_ajaxShowMessage(PMA_messages.strNoLocalStorage, false); } return false; } diff --git a/js/messages.php b/js/messages.php index 525457f77d..24ada970c9 100644 --- a/js/messages.php +++ b/js/messages.php @@ -529,6 +529,7 @@ $js_messages['phpErrorsBeingSubmitted'] = '
' $js_messages['strConsoleRequeryConfirm'] = __('Execute this query again?'); $js_messages['strConsoleDeleteBookmarkConfirm'] = __('Do you really want to delete this bookmark?'); +$js_messages['strNoLocalStorage'] = __('Your web browser does not support local storage of settings or the quota limit has been reached, some features may not work properly for you. In Safari, such problem is commonly caused by "Private Mode Browsing".'); echo "var PMA_messages = new Array();\n"; foreach ($js_messages as $name => $js_message) { diff --git a/js/navigation.js b/js/navigation.js index 5d8c23a938..614c0a93bd 100644 --- a/js/navigation.js +++ b/js/navigation.js @@ -406,8 +406,7 @@ $(function () { cache: false, type: 'POST', data: { - favorite_tables: (window.localStorage && window.localStorage.favorite_tables - !== undefined) + favorite_tables: (isStorageSupported('localStorage')) ? window.localStorage.favorite_tables : '' }, @@ -421,7 +420,7 @@ $(function () { $('#' + anchor_id).attr("title") ); // Update localStorage. - if (window.localStorage && window.localStorage !== undefined) { + if (isStorageSupported('localStorage')) { window.localStorage.favorite_tables = data.favorite_tables; } } else {