Merge pull request #1222 from D-storm/bug-4415

Bugfix 4415,4453,4452,4451;  RFE-1518 (Navigate away) improvements
This commit is contained in:
Marc Delisle 2014-06-13 16:51:39 -04:00
commit c607dad041
16 changed files with 329 additions and 304 deletions

View File

@ -17,9 +17,9 @@ var AJAX = {
*/
xhr: null,
/**
* @var object array, list of altered targets
* @var object lockedTargets, list of locked targets
*/
alteredTargets: [],
lockedTargets: {},
/**
* @var function Callback to execute after a successful request
* Used by PMA_commonFunctions from common.js
@ -133,20 +133,36 @@ var AJAX = {
}
},
/**
* Registers a keyup function when changes are made in input field
* @param event for the trigged function
* function to handle lock page mechanism
*
* @param event the event object
*
* @return void
*/
inputAltered: function(event) {
var i;
for(i=0; i < AJAX.alteredTargets.length; i++) {
if(AJAX.alteredTargets[i] == event.target)
break;
lockPageHandler: function(event) {
var lockId = $(this).data('lock-id');
if (typeof lockId === 'undefined') {
return;
}
if(i == AJAX.alteredTargets.length) {
AJAX.alteredTargets[i] = event.target;
/*
* @todo Fix Code mirror does not give correct full value (query)
* in textarea, it returns only the change in content.
*/
var newHash = AJAX.hash($(this).val());
var oldHash = $(this).data('val-hash');
// Set lock if old value != new value
// otherwise release lock
if (oldHash !== newHash) {
AJAX.lockedTargets[lockId] = true;
} else {
delete AJAX.lockedTargets[lockId];
}
// Show lock icon if locked targets is not empty.
// otherwise remove lock icon
if (!jQuery.isEmptyObject(AJAX.lockedTargets)) {
$('#lock_page_icon').html(PMA_getImage('s_lock.png').toString());
} else {
$('#lock_page_icon').html('');
}
},
/**
@ -166,8 +182,8 @@ var AJAX = {
} else if ($(this).attr('target')) {
return true;
} else if ($(this).hasClass('ajax') || $(this).hasClass('disableAjax')) {
//reset the alteredTarget array, as specified AJAX operation has finished
AJAX.alteredTargets.length = 0;
//reset the lockedTargets object, as specified AJAX operation has finished
AJAX.lockedTargets = {};
return true;
} else if (href && href.match(/^#/)) {
return true;
@ -184,30 +200,20 @@ var AJAX = {
event.stopImmediatePropagation();
}
//sometime we accidently click on a url,refresh button or back button
//operation to confirm if user want to leave page in such cases
//trigger confirm dialog
var isInputAltered = false;
for (var i = 0; i < AJAX.alteredTargets.length; i++) {
if(AJAX.alteredTargets[i].value.length !== 0) {
isInputAltered = true;
break;
}
}
//triggers a confirm dialog if:
//the user has performed some operations on loaded page
//the user clicks on some link, (won't trigger for buttons)
//the click event is not triggered by script
if (typeof event !== 'undefined' && event.type === 'click' &&
event.isTrigger !== true &&
isInputAltered &&
!jQuery.isEmptyObject(AJAX.lockedTargets) &&
confirm(PMA_messages.strConfirmNavigation) === false
) {
return false;
}
//reset
AJAX.alteredTargets.length = 0;
AJAX.lockedTargets = {};
$('#lock_page_icon').html('');
if (AJAX.active === true) {
// Cancel the old request if abortable, when the user requests
@ -327,6 +333,7 @@ var AJAX = {
.not('#pma_navigation')
.not('#floating_menubar')
.not('#goto_pagetop')
.not('#lock_page_icon')
.not('#page_content')
.not('#selflink')
.not('#session_debug')
@ -385,6 +392,16 @@ var AJAX = {
}
AJAX._callback = function () {};
});
// initializes all lock-page elements lock-id and
// val-hash data property
$('#page_content form.lock-page textarea, ' +
'#page_content form.lock-page input[type="text"]').each(function(i){
$(this).data('lock-id', i);
// val-hash is the hash of default value of the field
// so that it can be compared with new value hash
// to check whether field was modified or not.
$(this).data('val-hash', AJAX.hash($(this).val()));
});
} else {
PMA_ajaxShowMessage(data.error, false);
AJAX.active = false;
@ -907,9 +924,14 @@ $('form').live('submit', AJAX.requestHandler);
/**
* Attach event listener to events when user modify visible
* Input fields to make changes in forms
* Input or Textarea fields to make changes in forms
*/
$('#page_content').live("keyup", "input[type='text']:visible", AJAX.inputAltered);
$(document).on(
'keyup change',
'#page_content form.lock-page textarea, ' +
'#page_content form.lock-page input[type="text"]',
AJAX.lockPageHandler
);
/**
* Gracefully handle fatal server errors

View File

@ -43,7 +43,7 @@ $js_messages['strDroppingPrimaryKeyIndex'] = __('Dropping Primary Key/Index');
$js_messages['strOperationTakesLongTime'] = __('This operation could take a long time. Proceed anyway?');
$js_messages['strDropUserGroupWarning'] = __('Do you really want to delete user group "%s"?');
$js_messages['strConfirmDeleteQBESearch'] = __('Do you really want to delete the search "%s"?');
$js_messages['strConfirmNavigation'] = __('Are you sure you want to navigate away from this page? Press OK to continue or Cancel to stay on the current page.');
$js_messages['strConfirmNavigation'] = __('You have unsaved changes; are you sure you want to leave this page?');
/* For indexes */
$js_messages['strFormEmpty'] = __('Missing value in the form!');

View File

@ -249,8 +249,6 @@ function verificationsAfterFieldChange(urlField, multi_edit, theType)
* Unbind all event handlers before tearing down a page
*/
AJAX.registerTeardown('tbl_change.js', function () {
$("a").die('click');
$("form#insertForm :input:not([type=hidden])").unbind('change');
$('span.open_gis_editor').die('click');
$("input[name='gis_data[save]']").die('click');
$('input.checkbox_null').die('click');
@ -259,7 +257,6 @@ AJAX.registerTeardown('tbl_change.js', function () {
$("select[name*='funcs']").die('click');
});
/**
* Ajax handlers for Change Table page
*
@ -270,35 +267,6 @@ AJAX.registerTeardown('tbl_change.js', function () {
AJAX.registerOnload('tbl_change.js', function () {
$.datepicker.initialized = false;
// State of the form
var $unsavedForm = false;
/**
* If user navigates away from the page
* without saving the changes, a prompt
* will be displayed to confirm navigation
*/
$('a').on('click', function(e){
e.preventDefault();
if ($unsavedForm) {
var is_confirmed = confirm(PMA_messages.strConfirmNavigation);
if (! is_confirmed) {
return false;
} else {
unsavedForm = false;
return true;
}
}
});
/**
* If any form elements are changed, set $unsavedForm to true
*/
$("form#insertForm :input:not([type=hidden])").change(function(){
$unsavedForm = true;
});
$('span.open_gis_editor').live('click', function (event) {
event.preventDefault();

View File

@ -402,6 +402,7 @@ class PMA_Header
$retval .= $this->_getWarnings();
if ($this->_menuEnabled && $GLOBALS['server'] > 0) {
$retval .= $this->_menu->getDisplay();
$retval .= '<span id="lock_page_icon"></span>';
$retval .= sprintf(
'<a id="goto_pagetop" href="#" title="%s">%s</a>',
__('Click on the bar to scroll to top of page'),

View File

@ -1149,7 +1149,7 @@ EOT;
$html_output .= '<form method="post" action="' . $scriptName . '" '
. 'name="insertForm" id="' . $formId . '" '
. 'class="ajax"' . '>';
. 'class="ajax lock-page"' . '>';
$html_output .= PMA_URL_getHiddenInputs($this->_db, $this->_table);
$html_output .= '<input type="hidden" name="goto" value="' . $goto . '" />';

View File

@ -2654,11 +2654,11 @@ function PMA_getHtmlForInsertEditColumnType($column)
*/
function PMA_getHtmlForInsertEditFormHeader($has_blob_field, $is_upload)
{
$html_output ='<form id="insertForm" ';
$html_output ='<form id="insertForm" class="lock-page ';
if ($has_blob_field && $is_upload) {
$html_output .='class="disableAjax" ';
$html_output .='disableAjax';
}
$html_output .='method="post" action="tbl_replace.php" name="insertForm" ';
$html_output .='" method="post" action="tbl_replace.php" name="insertForm" ';
if ($is_upload) {
$html_output .= ' enctype="multipart/form-data"';
}

View File

@ -88,7 +88,7 @@ function PMA_getHtmlForSqlQueryForm(
$html .= ' action="import.php" ' . $enctype . ' name="sqlform">';
} else {
$html .= '<form method="post" action="import.php" ' . $enctype;
$html .= ' class="ajax"';
$html .= ' class="ajax lock-page"';
$html .= ' id="sqlqueryform" name="sqlform">' . "\n";
}

View File

@ -239,7 +239,7 @@ function PMA_getHtmlForTableCreateOrAddField($action, $form_params, $content_cel
) {
$html = '<form method="post" action="' . $action . '" class="'
. ($action == 'tbl_create.php' ? 'create_table' : 'append_fields')
. '_form ajax">';
. '_form ajax lock-page">';
$html .= PMA_URL_getHiddenInputs($form_params);
if ($action == 'tbl_create.php') {

View File

@ -828,15 +828,22 @@ div#tablestatistics table {
white-space: nowrap;
}
#goto_pagetop {
#goto_pagetop, #lock_page_icon {
position: fixed;
padding: .1em .3em;
top: 0;
<?php echo $right; ?>: 0;
z-index: 900;
background: white;
}
#goto_pagetop {
<?php echo $right; ?>: 0;
}
#lock_page_icon {
<?php echo $right; ?>: 2em;
}
#span_table_comment {
font-weight: bold;
font-style: italic;

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -235,448 +235,458 @@ function PMA_sprites()
'width' => '16',
'height' => '16'
),
'b_sbrowse' => array(
'b_saveimage' => array(
'position' => '45',
'width' => '16',
'height' => '16'
),
'b_sbrowse' => array(
'position' => '46',
'width' => '10',
'height' => '10'
),
'b_search' => array(
'position' => '46',
'width' => '16',
'height' => '16'
),
'b_selboard' => array(
'position' => '47',
'width' => '16',
'height' => '16'
),
'b_select' => array(
'b_selboard' => array(
'position' => '48',
'width' => '16',
'height' => '16'
),
'b_snewtbl' => array(
'b_select' => array(
'position' => '49',
'width' => '16',
'height' => '16'
),
'b_snewtbl' => array(
'position' => '50',
'width' => '10',
'height' => '10'
),
'b_spatial' => array(
'position' => '50',
'width' => '16',
'height' => '16'
),
'b_sql' => array(
'position' => '51',
'width' => '16',
'height' => '16'
),
'b_sqlhelp' => array(
'b_sql' => array(
'position' => '52',
'width' => '16',
'height' => '16'
),
'b_table_add' => array(
'b_sqlhelp' => array(
'position' => '53',
'width' => '16',
'height' => '16'
),
'b_tblanalyse' => array(
'b_table_add' => array(
'position' => '54',
'width' => '16',
'height' => '16'
),
'b_tblexport' => array(
'b_tblanalyse' => array(
'position' => '55',
'width' => '16',
'height' => '16'
),
'b_tblimport' => array(
'b_tblexport' => array(
'position' => '56',
'width' => '16',
'height' => '16'
),
'b_tblops' => array(
'b_tblimport' => array(
'position' => '57',
'width' => '16',
'height' => '16'
),
'b_tbloptimize' => array(
'b_tblops' => array(
'position' => '58',
'width' => '16',
'height' => '16'
),
'b_tipp' => array(
'b_tbloptimize' => array(
'position' => '59',
'width' => '16',
'height' => '16'
),
'b_trigger_add' => array(
'b_tipp' => array(
'position' => '60',
'width' => '16',
'height' => '16'
),
'b_triggers' => array(
'b_trigger_add' => array(
'position' => '61',
'width' => '16',
'height' => '16'
),
'b_undo' => array(
'b_triggers' => array(
'position' => '62',
'width' => '16',
'height' => '16'
),
'b_unique' => array(
'b_undo' => array(
'position' => '63',
'width' => '16',
'height' => '16'
),
'b_usradd' => array(
'b_unique' => array(
'position' => '64',
'width' => '16',
'height' => '16'
),
'b_usrcheck' => array(
'b_usradd' => array(
'position' => '65',
'width' => '16',
'height' => '16'
),
'b_usrdrop' => array(
'b_usrcheck' => array(
'position' => '66',
'width' => '16',
'height' => '16'
),
'b_usredit' => array(
'b_usrdrop' => array(
'position' => '67',
'width' => '16',
'height' => '16'
),
'b_usrlist' => array(
'b_usredit' => array(
'position' => '68',
'width' => '16',
'height' => '16'
),
'b_view' => array(
'b_usrlist' => array(
'position' => '69',
'width' => '16',
'height' => '16'
),
'b_view_add' => array(
'b_view' => array(
'position' => '70',
'width' => '16',
'height' => '16'
),
'b_views' => array(
'b_view_add' => array(
'position' => '71',
'width' => '16',
'height' => '16'
),
'bd_browse' => array(
'b_views' => array(
'position' => '72',
'width' => '16',
'height' => '16'
),
'bd_deltbl' => array(
'bd_browse' => array(
'position' => '73',
'width' => '16',
'height' => '16'
),
'bd_drop' => array(
'bd_deltbl' => array(
'position' => '74',
'width' => '16',
'height' => '16'
),
'bd_edit' => array(
'bd_drop' => array(
'position' => '75',
'width' => '16',
'height' => '16'
),
'bd_empty' => array(
'bd_edit' => array(
'position' => '76',
'width' => '16',
'height' => '16'
),
'bd_export' => array(
'bd_empty' => array(
'position' => '77',
'width' => '16',
'height' => '16'
),
'bd_ftext' => array(
'bd_export' => array(
'position' => '78',
'width' => '16',
'height' => '16'
),
'bd_index' => array(
'bd_ftext' => array(
'position' => '79',
'width' => '16',
'height' => '16'
),
'bd_insrow' => array(
'bd_index' => array(
'position' => '80',
'width' => '16',
'height' => '16'
),
'bd_nextpage' => array(
'bd_insrow' => array(
'position' => '81',
'width' => '16',
'height' => '16'
),
'bd_nextpage' => array(
'position' => '82',
'width' => '8',
'height' => '13'
),
'bd_primary' => array(
'position' => '82',
'position' => '83',
'width' => '16',
'height' => '16'
),
'bd_sbrowse' => array(
'position' => '83',
'position' => '84',
'width' => '10',
'height' => '10'
),
'bd_select' => array(
'position' => '84',
'width' => '16',
'height' => '16'
),
'bd_spatial' => array(
'position' => '85',
'width' => '16',
'height' => '16'
),
'bd_unique' => array(
'bd_spatial' => array(
'position' => '86',
'width' => '16',
'height' => '16'
),
'centralColumns' => array(
'bd_unique' => array(
'position' => '87',
'width' => '16',
'height' => '16'
),
'centralColumns_add' => array(
'centralColumns' => array(
'position' => '88',
'width' => '16',
'height' => '16'
),
'centralColumns_delete' => array(
'centralColumns_add' => array(
'position' => '89',
'width' => '16',
'height' => '16'
),
'col_drop' => array(
'centralColumns_delete' => array(
'position' => '90',
'width' => '16',
'height' => '16'
),
'eye' => array(
'col_drop' => array(
'position' => '91',
'width' => '16',
'height' => '16'
),
'eye_grey' => array(
'eye' => array(
'position' => '92',
'width' => '16',
'height' => '16'
),
'lightbulb' => array(
'eye_grey' => array(
'position' => '93',
'width' => '16',
'height' => '16'
),
'lightbulb_off' => array(
'lightbulb' => array(
'position' => '94',
'width' => '16',
'height' => '16'
),
'more' => array(
'lightbulb_off' => array(
'position' => '95',
'width' => '16',
'height' => '16'
),
'more' => array(
'position' => '96',
'width' => '13',
'height' => '16'
),
'new_data' => array(
'position' => '96',
'width' => '16',
'height' => '16'
),
'new_data_hovered' => array(
'position' => '97',
'width' => '16',
'height' => '16'
),
'new_data_selected' => array(
'new_data_hovered' => array(
'position' => '98',
'width' => '16',
'height' => '16'
),
'new_data_selected_hovered' => array(
'new_data_selected' => array(
'position' => '99',
'width' => '16',
'height' => '16'
),
'new_struct' => array(
'new_data_selected_hovered' => array(
'position' => '100',
'width' => '16',
'height' => '16'
),
'new_struct_hovered' => array(
'new_struct' => array(
'position' => '101',
'width' => '16',
'height' => '16'
),
'new_struct_selected' => array(
'new_struct_hovered' => array(
'position' => '102',
'width' => '16',
'height' => '16'
),
'new_struct_selected_hovered' => array(
'new_struct_selected' => array(
'position' => '103',
'width' => '16',
'height' => '16'
),
'pause' => array(
'new_struct_selected_hovered' => array(
'position' => '104',
'width' => '16',
'height' => '16'
),
'play' => array(
'pause' => array(
'position' => '105',
'width' => '16',
'height' => '16'
),
's_asc' => array(
'play' => array(
'position' => '106',
'width' => '16',
'height' => '16'
),
's_asc' => array(
'position' => '107',
'width' => '11',
'height' => '9'
),
's_asci' => array(
'position' => '107',
'width' => '16',
'height' => '16'
),
's_cancel' => array(
'position' => '108',
'width' => '16',
'height' => '16'
),
's_cog' => array(
's_cancel' => array(
'position' => '109',
'width' => '16',
'height' => '16'
),
's_db' => array(
's_cog' => array(
'position' => '110',
'width' => '16',
'height' => '16'
),
's_desc' => array(
's_db' => array(
'position' => '111',
'width' => '16',
'height' => '16'
),
's_desc' => array(
'position' => '112',
'width' => '11',
'height' => '9'
),
's_error' => array(
'position' => '112',
'position' => '113',
'width' => '16',
'height' => '16'
),
's_error2' => array(
'position' => '113',
'position' => '114',
'width' => '11',
'height' => '11'
),
's_host' => array(
'position' => '114',
'position' => '115',
'width' => '16',
'height' => '16'
),
's_info' => array(
'position' => '115',
'position' => '116',
'width' => '11',
'height' => '11'
),
's_lang' => array(
'position' => '116',
'width' => '16',
'height' => '16'
),
's_loggoff' => array(
'position' => '117',
'width' => '16',
'height' => '16'
),
's_notice' => array(
's_lock' => array(
'position' => '118',
'width' => '16',
'height' => '16'
),
's_passwd' => array(
's_loggoff' => array(
'position' => '119',
'width' => '16',
'height' => '16'
),
's_really' => array(
's_notice' => array(
'position' => '120',
'width' => '11',
'height' => '11'
'width' => '16',
'height' => '16'
),
's_reload' => array(
's_passwd' => array(
'position' => '121',
'width' => '16',
'height' => '16'
),
's_replication' => array(
's_really' => array(
'position' => '122',
'width' => '16',
'height' => '16'
'width' => '11',
'height' => '11'
),
's_rights' => array(
's_reload' => array(
'position' => '123',
'width' => '16',
'height' => '16'
),
's_sortable' => array(
's_replication' => array(
'position' => '124',
'width' => '11',
'height' => '15'
'width' => '16',
'height' => '16'
),
's_status' => array(
's_rights' => array(
'position' => '125',
'width' => '16',
'height' => '16'
),
's_success' => array(
's_sortable' => array(
'position' => '126',
'width' => '16',
'height' => '16'
'width' => '11',
'height' => '15'
),
's_sync' => array(
's_status' => array(
'position' => '127',
'width' => '16',
'height' => '16'
),
's_tbl' => array(
's_success' => array(
'position' => '128',
'width' => '16',
'height' => '16'
),
's_theme' => array(
's_sync' => array(
'position' => '129',
'width' => '16',
'height' => '16'
),
's_top' => array(
's_tbl' => array(
'position' => '130',
'width' => '16',
'height' => '16'
),
's_vars' => array(
's_theme' => array(
'position' => '131',
'width' => '16',
'height' => '16'
),
's_views' => array(
's_top' => array(
'position' => '132',
'width' => '16',
'height' => '16'
),
's_vars' => array(
'position' => '133',
'width' => '16',
'height' => '16'
),
's_views' => array(
'position' => '134',
'width' => '10',
'height' => '10'
),
'window-new' => array(
'position' => '133',
'position' => '135',
'width' => '16',
'height' => '16'
),

View File

@ -1138,15 +1138,22 @@ div#tablestatistics table {
color: #fff;
}
#goto_pagetop {
#goto_pagetop, #lock_page_icon {
position: fixed;
padding: .25em .25em .2em;
top: 0;
<?php echo $right; ?>: 0;
z-index: 900;
background: #888;
}
#goto_pagetop {
<?php echo $right; ?>: 0;
}
#lock_page_icon {
<?php echo $right; ?>: 2em;
}
#span_table_comment {
font-weight: bold;
font-style: italic;

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -265,511 +265,521 @@ function PMA_sprites()
'width' => '16',
'height' => '16'
),
'b_sbrowse' => array(
'b_saveimage' => array(
'position' => '51',
'width' => '16',
'height' => '16'
),
'b_sdb' => array(
'b_sbrowse' => array(
'position' => '52',
'width' => '16',
'height' => '16'
),
'b_sdb' => array(
'position' => '53',
'width' => '10',
'height' => '10'
),
'b_search' => array(
'position' => '53',
'width' => '16',
'height' => '16'
),
'b_selboard' => array(
'position' => '54',
'width' => '16',
'height' => '16'
),
'b_select' => array(
'b_selboard' => array(
'position' => '55',
'width' => '16',
'height' => '16'
),
'b_snewtbl' => array(
'b_select' => array(
'position' => '56',
'width' => '16',
'height' => '16'
),
'b_spatial' => array(
'b_snewtbl' => array(
'position' => '57',
'width' => '16',
'height' => '16'
),
'b_sql' => array(
'b_spatial' => array(
'position' => '58',
'width' => '16',
'height' => '16'
),
'b_sqldoc' => array(
'b_sql' => array(
'position' => '59',
'width' => '16',
'height' => '16'
),
'b_sqlhelp' => array(
'b_sqldoc' => array(
'position' => '60',
'width' => '16',
'height' => '16'
),
'b_table_add' => array(
'b_sqlhelp' => array(
'position' => '61',
'width' => '16',
'height' => '16'
),
'b_tblanalyse' => array(
'b_table_add' => array(
'position' => '62',
'width' => '16',
'height' => '16'
),
'b_tblexport' => array(
'b_tblanalyse' => array(
'position' => '63',
'width' => '16',
'height' => '16'
),
'b_tblimport' => array(
'b_tblexport' => array(
'position' => '64',
'width' => '16',
'height' => '16'
),
'b_tblops' => array(
'b_tblimport' => array(
'position' => '65',
'width' => '16',
'height' => '16'
),
'b_tbloptimize' => array(
'b_tblops' => array(
'position' => '66',
'width' => '16',
'height' => '16'
),
'b_tipp' => array(
'b_tbloptimize' => array(
'position' => '67',
'width' => '16',
'height' => '16'
),
'b_trigger_add' => array(
'b_tipp' => array(
'position' => '68',
'width' => '16',
'height' => '16'
),
'b_triggers' => array(
'b_trigger_add' => array(
'position' => '69',
'width' => '16',
'height' => '16'
),
'b_undo' => array(
'b_triggers' => array(
'position' => '70',
'width' => '16',
'height' => '16'
),
'b_unique' => array(
'b_undo' => array(
'position' => '71',
'width' => '16',
'height' => '16'
),
'b_usradd' => array(
'b_unique' => array(
'position' => '72',
'width' => '16',
'height' => '16'
),
'b_usrcheck' => array(
'b_usradd' => array(
'position' => '73',
'width' => '16',
'height' => '16'
),
'b_usrdrop' => array(
'b_usrcheck' => array(
'position' => '74',
'width' => '16',
'height' => '16'
),
'b_usredit' => array(
'b_usrdrop' => array(
'position' => '75',
'width' => '16',
'height' => '16'
),
'b_usrlist' => array(
'b_usredit' => array(
'position' => '76',
'width' => '16',
'height' => '16'
),
'b_view' => array(
'b_usrlist' => array(
'position' => '77',
'width' => '16',
'height' => '16'
),
'b_view_add' => array(
'b_view' => array(
'position' => '78',
'width' => '16',
'height' => '16'
),
'b_views' => array(
'b_view_add' => array(
'position' => '79',
'width' => '16',
'height' => '16'
),
'bd_browse' => array(
'b_views' => array(
'position' => '80',
'width' => '16',
'height' => '16'
),
'bd_deltbl' => array(
'bd_browse' => array(
'position' => '81',
'width' => '16',
'height' => '16'
),
'bd_drop' => array(
'bd_deltbl' => array(
'position' => '82',
'width' => '16',
'height' => '16'
),
'bd_edit' => array(
'bd_drop' => array(
'position' => '83',
'width' => '16',
'height' => '16'
),
'bd_empty' => array(
'bd_edit' => array(
'position' => '84',
'width' => '16',
'height' => '16'
),
'bd_export' => array(
'bd_empty' => array(
'position' => '85',
'width' => '16',
'height' => '16'
),
'bd_firstpage' => array(
'bd_export' => array(
'position' => '86',
'width' => '16',
'height' => '16'
),
'bd_ftext' => array(
'bd_firstpage' => array(
'position' => '87',
'width' => '16',
'height' => '16'
),
'bd_index' => array(
'bd_ftext' => array(
'position' => '88',
'width' => '16',
'height' => '16'
),
'bd_insrow' => array(
'bd_index' => array(
'position' => '89',
'width' => '16',
'height' => '16'
),
'bd_lastpage' => array(
'bd_insrow' => array(
'position' => '90',
'width' => '16',
'height' => '16'
),
'bd_nextpage' => array(
'bd_lastpage' => array(
'position' => '91',
'width' => '16',
'height' => '16'
),
'bd_prevpage' => array(
'bd_nextpage' => array(
'position' => '92',
'width' => '16',
'height' => '16'
),
'bd_primary' => array(
'bd_prevpage' => array(
'position' => '93',
'width' => '16',
'height' => '16'
),
'bd_sbrowse' => array(
'bd_primary' => array(
'position' => '94',
'width' => '16',
'height' => '16'
),
'bd_select' => array(
'bd_sbrowse' => array(
'position' => '95',
'width' => '16',
'height' => '16'
),
'bd_spatial' => array(
'bd_select' => array(
'position' => '96',
'width' => '16',
'height' => '16'
),
'bd_unique' => array(
'bd_spatial' => array(
'position' => '97',
'width' => '16',
'height' => '16'
),
'centralColumns' => array(
'bd_unique' => array(
'position' => '98',
'width' => '16',
'height' => '16'
),
'centralColumns_add' => array(
'centralColumns' => array(
'position' => '99',
'width' => '16',
'height' => '16'
),
'centralColumns_delete' => array(
'centralColumns_add' => array(
'position' => '100',
'width' => '16',
'height' => '16'
),
'col_drop' => array(
'centralColumns_delete' => array(
'position' => '101',
'width' => '16',
'height' => '16'
),
'database' => array(
'col_drop' => array(
'position' => '102',
'width' => '16',
'height' => '16'
),
'eye' => array(
'database' => array(
'position' => '103',
'width' => '16',
'height' => '16'
),
'eye_grey' => array(
'eye' => array(
'position' => '104',
'width' => '16',
'height' => '16'
),
'item' => array(
'eye_grey' => array(
'position' => '105',
'width' => '16',
'height' => '16'
),
'item' => array(
'position' => '106',
'width' => '9',
'height' => '9'
),
'lightbulb' => array(
'position' => '106',
'width' => '16',
'height' => '16'
),
'lightbulb_off' => array(
'position' => '107',
'width' => '16',
'height' => '16'
),
'more' => array(
'lightbulb_off' => array(
'position' => '108',
'width' => '16',
'height' => '16'
),
'more' => array(
'position' => '109',
'width' => '13',
'height' => '16'
),
'new_data' => array(
'position' => '109',
'width' => '16',
'height' => '16'
),
'new_data_hovered' => array(
'position' => '110',
'width' => '16',
'height' => '16'
),
'new_data_selected' => array(
'new_data_hovered' => array(
'position' => '111',
'width' => '16',
'height' => '16'
),
'new_data_selected_hovered' => array(
'new_data_selected' => array(
'position' => '112',
'width' => '16',
'height' => '16'
),
'new_struct' => array(
'new_data_selected_hovered' => array(
'position' => '113',
'width' => '16',
'height' => '16'
),
'new_struct_hovered' => array(
'new_struct' => array(
'position' => '114',
'width' => '16',
'height' => '16'
),
'new_struct_selected' => array(
'new_struct_hovered' => array(
'position' => '115',
'width' => '16',
'height' => '16'
),
'new_struct_selected_hovered' => array(
'new_struct_selected' => array(
'position' => '116',
'width' => '16',
'height' => '16'
),
'pause' => array(
'new_struct_selected_hovered' => array(
'position' => '117',
'width' => '16',
'height' => '16'
),
'php_sym' => array(
'pause' => array(
'position' => '118',
'width' => '16',
'height' => '16'
),
'play' => array(
'php_sym' => array(
'position' => '119',
'width' => '16',
'height' => '16'
),
's_asc' => array(
'play' => array(
'position' => '120',
'width' => '16',
'height' => '16'
),
's_asci' => array(
's_asc' => array(
'position' => '121',
'width' => '16',
'height' => '16'
),
's_attention' => array(
's_asci' => array(
'position' => '122',
'width' => '16',
'height' => '16'
),
's_cancel' => array(
's_attention' => array(
'position' => '123',
'width' => '16',
'height' => '16'
),
's_cancel2' => array(
's_cancel' => array(
'position' => '124',
'width' => '16',
'height' => '16'
),
's_cog' => array(
's_cancel2' => array(
'position' => '125',
'width' => '16',
'height' => '16'
),
's_db' => array(
's_cog' => array(
'position' => '126',
'width' => '16',
'height' => '16'
),
's_desc' => array(
's_db' => array(
'position' => '127',
'width' => '16',
'height' => '16'
),
's_error' => array(
's_desc' => array(
'position' => '128',
'width' => '16',
'height' => '16'
),
's_error2' => array(
's_error' => array(
'position' => '129',
'width' => '16',
'height' => '16'
),
's_error2' => array(
'position' => '130',
'width' => '11',
'height' => '11'
),
's_host' => array(
'position' => '130',
'width' => '16',
'height' => '16'
),
's_info' => array(
'position' => '131',
'width' => '16',
'height' => '16'
),
's_lang' => array(
's_info' => array(
'position' => '132',
'width' => '16',
'height' => '16'
),
's_loggoff' => array(
's_lang' => array(
'position' => '133',
'width' => '16',
'height' => '16'
),
's_notice' => array(
's_lock' => array(
'position' => '134',
'width' => '16',
'height' => '16'
),
's_okay' => array(
's_loggoff' => array(
'position' => '135',
'width' => '16',
'height' => '16'
),
's_passwd' => array(
's_notice' => array(
'position' => '136',
'width' => '16',
'height' => '16'
),
's_process' => array(
's_okay' => array(
'position' => '137',
'width' => '16',
'height' => '16'
),
's_really' => array(
's_passwd' => array(
'position' => '138',
'width' => '11',
'height' => '11'
'width' => '16',
'height' => '16'
),
's_reload' => array(
's_process' => array(
'position' => '139',
'width' => '16',
'height' => '16'
),
's_replication' => array(
's_really' => array(
'position' => '140',
'width' => '16',
'height' => '16'
'width' => '11',
'height' => '11'
),
's_rights' => array(
's_reload' => array(
'position' => '141',
'width' => '16',
'height' => '16'
),
's_sortable' => array(
's_replication' => array(
'position' => '142',
'width' => '16',
'height' => '16'
),
's_status' => array(
's_rights' => array(
'position' => '143',
'width' => '16',
'height' => '16'
),
's_success' => array(
's_sortable' => array(
'position' => '144',
'width' => '16',
'height' => '16'
),
's_sync' => array(
's_status' => array(
'position' => '145',
'width' => '16',
'height' => '16'
),
's_tbl' => array(
's_success' => array(
'position' => '146',
'width' => '16',
'height' => '16'
),
's_theme' => array(
's_sync' => array(
'position' => '147',
'width' => '16',
'height' => '16'
),
's_top' => array(
's_tbl' => array(
'position' => '148',
'width' => '16',
'height' => '16'
),
's_vars' => array(
's_theme' => array(
'position' => '149',
'width' => '16',
'height' => '16'
),
's_views' => array(
's_top' => array(
'position' => '150',
'width' => '16',
'height' => '16'
),
'window-new' => array(
's_vars' => array(
'position' => '151',
'width' => '16',
'height' => '16'
),
's_views' => array(
'position' => '152',
'width' => '16',
'height' => '16'
),
'window-new' => array(
'position' => '153',
'width' => '16',
'height' => '16'
),
);
}
?>