Merge remote-tracking branch 'origin/master'

This commit is contained in:
Weblate 2013-07-04 12:02:48 +02:00
commit 3b290bb431
14 changed files with 553 additions and 255 deletions

View File

@ -23,6 +23,7 @@ phpMyAdmin - ChangeLog
+ rfe #1233 and rfe #1283 Improvements to Relation View interface
+ rfe #175 Allow cross-database relations
- [core] Dropped support for PHP 5.2.
+ rfe #487 and rfe #1405 Find and Replacing column wise
4.0.5.0 (not yet released)
- bug #3977 Not detected configuration storage

View File

@ -274,6 +274,10 @@ $js_messages['strSave'] = __('Save');
$js_messages['strHideSearchCriteria'] = __('Hide search criteria');
$js_messages['strShowSearchCriteria'] = __('Show search criteria');
/* For tbl_find_replace.js */
$js_messages['strHideFindNReplaceCriteria'] = __('Hide find and replace criteria');
$js_messages['strShowFindNReplaceCriteria'] = __('Show find and replace criteria');
/* For tbl_zoom_plot_jqplot.js */
$js_messages['strZoomSearch'] = __('Zoom Search');
$js_messages['strDisplayHelp'] = '<ul><li>'

47
js/tbl_find_replace.js Normal file
View File

@ -0,0 +1,47 @@
/**
* Unbind all event handlers before tearing down a page
*/
AJAX.registerTeardown('tbl_find_replace.js', function () {
$('#find_replace_form').unbind('submit');
$('#toggle_find').unbind('click');
});
/**
* Bind events
*/
AJAX.registerOnload('tbl_find_replace.js', function () {
$('<div id="toggle_find_div"><a id="toggle_find"></a></div>')
.insertAfter('#find_replace_form')
.hide();
$('#toggle_find')
.html(PMA_messages.strHideFindNReplaceCriteria)
.click(function() {
var $link = $(this);
$('#find_replace_form').slideToggle();
if ($link.text() == PMA_messages.strHideFindNReplaceCriteria) {
$link.text(PMA_messages.strShowFindNReplaceCriteria);
} else {
$link.text(PMA_messages.strHideFindNReplaceCriteria);
}
return false
});
$('#find_replace_form').submit(function(e) {
e.preventDefault();
var findReplaceForm = $('#find_replace_form');
PMA_prepareForAjaxRequest(findReplaceForm);
var $msgbox = PMA_ajaxShowMessage();
$.post(findReplaceForm.attr('action'), findReplaceForm.serialize(), function (data) {
PMA_ajaxRemoveMessage($msgbox);
if (data.success === true) {
$('#toggle_find_div').show();
$('#toggle_find').click();
$("#sqlqueryresults").html(data.preview);
} else {
$("#sqlqueryresults").html(data.error);
}
});
});
});

View File

@ -281,7 +281,7 @@ class PMA_Menu
$tabs['search']['link'] = 'tbl_select.php';
$tabs['search']['active'] = in_array(
basename($GLOBALS['PMA_PHP_SELF']),
array('tbl_select.php', 'tbl_zoom_select.php')
array('tbl_select.php', 'tbl_zoom_select.php', 'tbl_find_replace.php')
);
if (! $db_is_information_schema) {

View File

@ -210,6 +210,11 @@ class PMA_TableSearch
$subtabs['zoom']['text'] = __('Zoom Search');
$subtabs['zoom']['id'] = 'zoom_search_id';
$subtabs['replace']['icon'] = 'b_find_replace.png';
$subtabs['replace']['link'] = 'tbl_find_replace.php';
$subtabs['replace']['text'] = __('Find and Replace');
$subtabs['replace']['id'] = 'find_replace_id';
return $subtabs;
}
@ -1070,8 +1075,22 @@ EOT;
private function _getFormTag($goto)
{
$html_output = '';
$scriptName = ($this->_searchType == 'zoom' ? 'tbl_zoom_select.php' : 'tbl_select.php');
$formId = ($this->_searchType == 'zoom' ? 'zoom_search_form' : 'tbl_search_form');
$scriptName = '';
$formId = '';
switch ($this->_searchType) {
case 'normal' :
$scriptName = 'tbl_select.php';
$formId = 'tbl_search_form';
break;
case 'zoom' :
$scriptName = 'tbl_zoom_select.php';
$formId = 'zoom_search_form';
break;
case 'replace' :
$scriptName = 'tbl_find_replace.php';
$formId = 'find_replace_form';
break;
}
$html_output .= '<form method="post" action="' . $scriptName . '" '
. 'name="insertForm" id="' . $formId . '" '
@ -1086,14 +1105,11 @@ EOT;
}
/**
* Generates the table search form under table search tab
* Returns the HTML for secondary levels tabs of the table search page
*
* @param string $goto Goto URL
* @param string $dataLabel Label for points in zoom plot
*
* @return string the generated HTML for table search form
* @return string HTML for secondary levels tabs
*/
public function getSelectionForm($goto, $dataLabel = null)
public function getSecondaryTabs()
{
$url_params = array();
$url_params['db'] = $this->_db;
@ -1105,8 +1121,20 @@ EOT;
}
$html_output .= '</ul>';
$html_output .= '<div class="clearfloat"></div>';
return $html_output;
}
$html_output .= $this->_getFormTag($goto);
/**
* Generates the table search form under table search tab
*
* @param string $goto Goto URL
* @param string $dataLabel Label for points in zoom plot
*
* @return string the generated HTML for table search form
*/
public function getSelectionForm($goto, $dataLabel = null)
{
$html_output = $this->_getFormTag($goto);
if ($this->_searchType == 'zoom') {
$html_output .= '<fieldset id="fieldset_zoom_search">';
@ -1118,7 +1146,7 @@ EOT;
$html_output .= $this->_getOptionsZoom($dataLabel);
$html_output .= '</fieldset>';
$html_output .= '</fieldset>';
} else {
} else if ($this->_searchType == 'normal') {
$html_output .= '<fieldset id="fieldset_table_search">';
$html_output .= '<fieldset id="fieldset_table_qbe">';
$html_output .= '<legend>'
@ -1130,6 +1158,13 @@ EOT;
$html_output .= '</fieldset>';
$html_output .= $this->_getOptions();
$html_output .= '</fieldset>';
} else if ($this->_searchType == 'replace') {
$html_output .= '<fieldset id="fieldset_find_replace">';
$html_output .= '<fieldset id="fieldset_find">';
$html_output .= '<legend>' . __('Find and Replace') . '</legend>';
$html_output .= $this->_getSearchAndReplaceHTML();
$html_output .= '</fieldset>';
$html_output .= '</fieldset>';
}
/**
@ -1225,5 +1260,141 @@ EOT;
$html_output .= '</form>';
return $html_output;
}
/**
* Displays the 'Find and Replace' form
*
* @return HTML for 'Find and Replace' form
*/
function _getSearchAndReplaceHTML()
{
$htmlOutput = __('Find')
. ': <input type="text" value="" name="find" />';
$htmlOutput .= __('Replace with')
. ': <input type="text" value="" name="replaceWith" />';
$htmlOutput .= __('Column') . ': <select name="columnIndex">';
for ($i = 0; $i < count($this->_columnNames); $i++) {
$type = preg_replace('@\(.*@s', '', $this->_columnTypes[$i]);
if ($GLOBALS['PMA_Types']->getTypeClass($type) == 'CHAR') {
$column = $this->_columnNames[$i];
$htmlOutput .= '<option value="' . $i . '">'
. htmlspecialchars($column) . '</option>';
}
}
$htmlOutput .= '</select>';
return $htmlOutput;
}
/**
* Returns HTML for prviewing strings found and their replacements
*
* @param int $columnIndex index of the column
* @param string $find string to find in the column
* @param string $replaceWith string to replace with
* @param string $charSet character set of the connection
*
* @return HTML for prviewing strings found and their replacements
*/
function getReplacePreview($columnIndex, $find, $replaceWith, $charSet)
{
$column = $this->_columnNames[$columnIndex];
$sql_query = "SELECT "
. PMA_Util::backquote($column) . ","
. " REPLACE("
. PMA_Util::backquote($column) . ", '" . $find . "', '" . $replaceWith
. "'),"
. " COUNT(*)"
. " FROM " . PMA_Util::backquote($this->_db)
. "." . PMA_Util::backquote($this->_table)
. " WHERE " . PMA_Util::backquote($column)
. " LIKE '%" . $find . "%' COLLATE " . $charSet . "_bin"; // here we
// change the collation of the 2nd operand to a case sensitive
// binary collation to make sure that the comparison is case sensitive
$sql_query .= " GROUP BY " . PMA_Util::backquote($column)
. " ORDER BY " . PMA_Util::backquote($column) . " ASC";
$rs = $GLOBALS['dbi']->query(
$sql_query, null, PMA_DatabaseInterface::QUERY_STORE
);
$htmlOutput = '<form method="post" action="tbl_find_replace.php"'
. ' name="previewForm" id="previewForm" class="ajax">';
$htmlOutput .= PMA_generate_common_hidden_inputs($this->_db, $this->_table);
$htmlOutput .= '<input type="hidden" name="replace" value="true" />';
$htmlOutput .= '<input type="hidden" name="columnIndex" value="'
. $columnIndex . '" />';
$htmlOutput .= '<input type="hidden" name="findString"'
. ' value="' . $find . '" />';
$htmlOutput .= '<input type="hidden" name="replaceWith"'
. ' value="' . $replaceWith . '" />';
$htmlOutput .= '<fieldset id="fieldset_find_replace_preview">';
$htmlOutput .= '<legend>' . __('Find and replace - preview') . '</legend>';
$htmlOutput .= '<table id="previewTable">'
. '<thead><tr>'
. '<th>' . __('Count') . '</th>'
. '<th>' . __('Original string') . '</th>'
. '<th>' . __('Replaced string') . '</th>'
. '</tr></thead>';
$htmlOutput .= '<tbody>';
$odd = true;
while ($row = $GLOBALS['dbi']->fetchRow($rs)) {
$val = $row[0];
$replaced = $row[1];
$count = $row[2];
$valMd5 = md5($val);
$htmlOutput .= '<tr class="' . ($odd ? 'odd' : 'even') . '">';
$htmlOutput .= '<td class="right">' . htmlspecialchars($count) . '</td>';
$htmlOutput .= '<td>' . htmlspecialchars($val) . '</td>';
$htmlOutput .= '<td>' . htmlspecialchars($replaced) . '</td>';
$htmlOutput .= '</tr>';
$odd = ! $odd;
}
$htmlOutput .= '</tbody>';
$htmlOutput .= '</table>';
$htmlOutput .= '</fieldset>';
$htmlOutput .= '<fieldset class="tblFooters">';
$htmlOutput .= '<input type="submit" name="replace"'
. ' value="' . __('Replace') . '" />';
$htmlOutput .= '</fieldset>';
$htmlOutput .= '</form>';
return $htmlOutput;
}
/**
* Replaces a given string in a column with a give replacement
*
* @param int $columnIndex index of the column
* @param string $find string to find in the column
* @param string $replaceWith string to replace with
* @param string $charSet character set of the connection
*
* @return void
*/
function replace($columnIndex, $find, $replaceWith, $charSet)
{
$column = $this->_columnNames[$columnIndex];
$sql_query = "UPDATE " . PMA_Util::backquote($this->_db)
. "." . PMA_Util::backquote($this->_table)
. " SET " . PMA_Util::backquote($column) . " ="
. " REPLACE("
. PMA_Util::backquote($column) . ", '" . $find . "', '" . $replaceWith
. "')"
. " WHERE " . PMA_Util::backquote($column)
. " LIKE '%" . $find . "%' COLLATE " . $charSet . "_bin"; // here we
// change the collation of the 2nd operand to a case sensitive
// binary collation to make sure that the comparison is case sensitive
$GLOBALS['dbi']->query(
$sql_query, null, PMA_DatabaseInterface::QUERY_STORE
);
$GLOBALS['sql_query'] = $sql_query;
}
}
?>

63
tbl_find_replace.php Normal file
View File

@ -0,0 +1,63 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Handles find and replace tab
*
* Displays find and replace form, allows previewing and do the replacing
*
* @package PhpMyAdmin
*/
/**
* Gets some core libraries
*/
require_once 'libraries/common.inc.php';
require_once 'libraries/TableSearch.class.php';
$response = PMA_Response::getInstance();
$table_search = new PMA_TableSearch($db, $table, "replace");
$connectionCharSet = $GLOBALS['dbi']->fetchValue(
"SHOW VARIABLES LIKE 'character_set_connection'", 0, 1
);
if (isset($_POST['find'])) {
$preview = $table_search->getReplacePreview(
$_POST['columnIndex'],
$_POST['find'],
$_POST['replaceWith'],
$connectionCharSet
);
$response->addJSON('preview', $preview);
exit;
}
$header = $response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('tbl_find_replace.js');
// Show secondary level of tabs
$htmlOutput = $table_search->getSecondaryTabs();
if (isset($_POST['replace'])) {
$htmlOutput .= $table_search->replace(
$_POST['columnIndex'],
$_POST['findString'],
$_POST['replaceWith'],
$connectionCharSet
);
$htmlOutput .= PMA_Util::getMessage(
__('Your SQL query has been executed successfully'),
null, 'success'
);
}
if (! isset($goto)) {
$goto = $GLOBALS['cfg']['DefaultTabTable'];
}
// Defines the url to return to in case of error in the next sql statement
$err_url = $goto . '?' . PMA_generate_common_url($db, $table);
// Displays the find and replace form
$htmlOutput .= $table_search->getSelectionForm($goto);
$response->addHTML($htmlOutput);
?>

View File

@ -57,6 +57,7 @@ if (! isset($_POST['columnsToDisplay']) && ! isset($_POST['displayAllColumns']))
// Defines the url to return to in case of error in the next sql statement
$err_url = $goto . '?' . PMA_generate_common_url($db, $table);
// Displays the table search form
$response->addHTML($table_search->getSecondaryTabs());
$response->addHTML($table_search->getSelectionForm($goto));
} else {

View File

@ -112,6 +112,7 @@ if ( !isset($_POST['zoom_submit']) || $_POST['dataLabel'] == '') {
}
// Displays the zoom search form
$response->addHTML($table_search->getSecondaryTabs());
$response->addHTML($table_search->getSelectionForm($goto, $dataLabel));
/*

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -165,458 +165,463 @@ function PMA_sprites()
'width' => '16',
'height' => '16'
),
'b_ftext' => array(
'b_find_replace' => array(
'position' => '33',
'width' => '16',
'height' => '16'
),
'b_group' => array(
'b_ftext' => array(
'position' => '34',
'width' => '16',
'height' => '16'
),
'b_help' => array(
'b_group' => array(
'position' => '35',
'width' => '16',
'height' => '16'
),
'b_help' => array(
'position' => '36',
'width' => '11',
'height' => '11'
),
'b_home' => array(
'position' => '36',
'width' => '16',
'height' => '16'
),
'b_import' => array(
'position' => '37',
'width' => '16',
'height' => '16'
),
'b_index_add' => array(
'b_import' => array(
'position' => '38',
'width' => '16',
'height' => '16'
),
'b_index' => array(
'b_index_add' => array(
'position' => '39',
'width' => '16',
'height' => '16'
),
'b_info' => array(
'b_index' => array(
'position' => '40',
'width' => '16',
'height' => '16'
),
'b_info' => array(
'position' => '41',
'width' => '11',
'height' => '11'
),
'b_inline_edit' => array(
'position' => '41',
'width' => '16',
'height' => '16'
),
'b_insrow' => array(
'position' => '42',
'width' => '16',
'height' => '16'
),
'b_minus' => array(
'b_insrow' => array(
'position' => '43',
'width' => '16',
'height' => '16'
),
'b_minus' => array(
'position' => '44',
'width' => '9',
'height' => '9'
),
'b_more' => array(
'position' => '44',
'width' => '16',
'height' => '16'
),
'b_move' => array(
'position' => '45',
'width' => '16',
'height' => '16'
),
'b_newdb' => array(
'b_move' => array(
'position' => '46',
'width' => '16',
'height' => '16'
),
'b_newtbl' => array(
'b_newdb' => array(
'position' => '47',
'width' => '16',
'height' => '16'
),
'b_nextpage' => array(
'b_newtbl' => array(
'position' => '48',
'width' => '16',
'height' => '16'
),
'b_plus' => array(
'b_nextpage' => array(
'position' => '49',
'width' => '16',
'height' => '16'
),
'b_plus' => array(
'position' => '50',
'width' => '9',
'height' => '9'
),
'b_primary' => array(
'position' => '50',
'width' => '16',
'height' => '16'
),
'b_print' => array(
'position' => '51',
'width' => '16',
'height' => '16'
),
'b_props' => array(
'b_print' => array(
'position' => '52',
'width' => '16',
'height' => '16'
),
'b_relations' => array(
'b_props' => array(
'position' => '53',
'width' => '16',
'height' => '16'
),
'b_routine_add' => array(
'b_relations' => array(
'position' => '54',
'width' => '16',
'height' => '16'
),
'b_routines' => array(
'b_routine_add' => array(
'position' => '55',
'width' => '16',
'height' => '16'
),
'b_save' => array(
'b_routines' => array(
'position' => '56',
'width' => '16',
'height' => '16'
),
'b_sbrowse' => array(
'b_save' => array(
'position' => '57',
'width' => '16',
'height' => '16'
),
'b_sbrowse' => array(
'position' => '58',
'width' => '10',
'height' => '10'
),
'b_search' => array(
'position' => '58',
'width' => '16',
'height' => '16'
),
'b_selboard' => array(
'position' => '59',
'width' => '16',
'height' => '16'
),
'b_select' => array(
'b_selboard' => array(
'position' => '60',
'width' => '16',
'height' => '16'
),
'b_snewtbl' => array(
'b_select' => array(
'position' => '61',
'width' => '16',
'height' => '16'
),
'b_snewtbl' => array(
'position' => '62',
'width' => '10',
'height' => '10'
),
'b_spatial' => array(
'position' => '62',
'width' => '16',
'height' => '16'
),
'b_sqlhelp' => array(
'position' => '63',
'width' => '16',
'height' => '16'
),
'b_sql' => array(
'b_sqlhelp' => array(
'position' => '64',
'width' => '16',
'height' => '16'
),
'b_table_add' => array(
'b_sql' => array(
'position' => '65',
'width' => '16',
'height' => '16'
),
'b_tblanalyse' => array(
'b_table_add' => array(
'position' => '66',
'width' => '16',
'height' => '16'
),
'b_tblexport' => array(
'b_tblanalyse' => array(
'position' => '67',
'width' => '16',
'height' => '16'
),
'b_tblimport' => array(
'b_tblexport' => array(
'position' => '68',
'width' => '16',
'height' => '16'
),
'b_tblops' => array(
'b_tblimport' => array(
'position' => '69',
'width' => '16',
'height' => '16'
),
'b_tbloptimize' => array(
'b_tblops' => array(
'position' => '70',
'width' => '16',
'height' => '16'
),
'b_tipp' => array(
'b_tbloptimize' => array(
'position' => '71',
'width' => '16',
'height' => '16'
),
'b_trigger_add' => array(
'b_tipp' => array(
'position' => '72',
'width' => '16',
'height' => '16'
),
'b_triggers' => array(
'b_trigger_add' => array(
'position' => '73',
'width' => '16',
'height' => '16'
),
'b_unique' => array(
'b_triggers' => array(
'position' => '74',
'width' => '16',
'height' => '16'
),
'b_usradd' => array(
'b_unique' => array(
'position' => '75',
'width' => '16',
'height' => '16'
),
'b_usrcheck' => array(
'b_usradd' => array(
'position' => '76',
'width' => '16',
'height' => '16'
),
'b_usrdrop' => array(
'b_usrcheck' => array(
'position' => '77',
'width' => '16',
'height' => '16'
),
'b_usredit' => array(
'b_usrdrop' => array(
'position' => '78',
'width' => '16',
'height' => '16'
),
'b_usrlist' => array(
'b_usredit' => array(
'position' => '79',
'width' => '16',
'height' => '16'
),
'b_view_add' => array(
'b_usrlist' => array(
'position' => '80',
'width' => '16',
'height' => '16'
),
'b_view' => array(
'b_view_add' => array(
'position' => '81',
'width' => '16',
'height' => '16'
),
'b_views' => array(
'b_view' => array(
'position' => '82',
'width' => '16',
'height' => '16'
),
'col_drop' => array(
'b_views' => array(
'position' => '83',
'width' => '16',
'height' => '16'
),
'eye_grey' => array(
'col_drop' => array(
'position' => '84',
'width' => '16',
'height' => '16'
),
'eye' => array(
'eye_grey' => array(
'position' => '85',
'width' => '16',
'height' => '16'
),
'more' => array(
'eye' => array(
'position' => '86',
'width' => '16',
'height' => '16'
),
'more' => array(
'position' => '87',
'width' => '13',
'height' => '16'
),
'new_data_hovered' => array(
'position' => '87',
'width' => '16',
'height' => '16'
),
'new_data' => array(
'position' => '88',
'width' => '16',
'height' => '16'
),
'new_data_selected_hovered' => array(
'new_data' => array(
'position' => '89',
'width' => '16',
'height' => '16'
),
'new_data_selected' => array(
'new_data_selected_hovered' => array(
'position' => '90',
'width' => '16',
'height' => '16'
),
'new_struct_hovered' => array(
'new_data_selected' => array(
'position' => '91',
'width' => '16',
'height' => '16'
),
'new_struct' => array(
'new_struct_hovered' => array(
'position' => '92',
'width' => '16',
'height' => '16'
),
'new_struct_selected_hovered' => array(
'new_struct' => array(
'position' => '93',
'width' => '16',
'height' => '16'
),
'new_struct_selected' => array(
'new_struct_selected_hovered' => array(
'position' => '94',
'width' => '16',
'height' => '16'
),
'pause' => array(
'new_struct_selected' => array(
'position' => '95',
'width' => '16',
'height' => '16'
),
'play' => array(
'pause' => array(
'position' => '96',
'width' => '16',
'height' => '16'
),
's_asci' => array(
'play' => array(
'position' => '97',
'width' => '16',
'height' => '16'
),
's_asc' => array(
's_asci' => array(
'position' => '98',
'width' => '16',
'height' => '16'
),
's_asc' => array(
'position' => '99',
'width' => '11',
'height' => '9'
),
's_cancel' => array(
'position' => '99',
'width' => '16',
'height' => '16'
),
's_cog' => array(
'position' => '100',
'width' => '16',
'height' => '16'
),
's_db' => array(
's_cog' => array(
'position' => '101',
'width' => '16',
'height' => '16'
),
's_desc' => array(
's_db' => array(
'position' => '102',
'width' => '16',
'height' => '16'
),
's_desc' => array(
'position' => '103',
'width' => '11',
'height' => '9'
),
's_error2' => array(
'position' => '103',
'position' => '104',
'width' => '11',
'height' => '11'
),
's_error' => array(
'position' => '104',
'width' => '16',
'height' => '16'
),
's_host' => array(
'position' => '105',
'width' => '16',
'height' => '16'
),
's_lang' => array(
's_host' => array(
'position' => '106',
'width' => '16',
'height' => '16'
),
's_loggoff' => array(
's_lang' => array(
'position' => '107',
'width' => '16',
'height' => '16'
),
's_notice' => array(
's_loggoff' => array(
'position' => '108',
'width' => '16',
'height' => '16'
),
's_passwd' => array(
's_notice' => array(
'position' => '109',
'width' => '16',
'height' => '16'
),
's_really' => array(
's_passwd' => array(
'position' => '110',
'width' => '16',
'height' => '16'
),
's_really' => array(
'position' => '111',
'width' => '11',
'height' => '11'
),
's_reload' => array(
'position' => '111',
'width' => '16',
'height' => '16'
),
's_replication' => array(
'position' => '112',
'width' => '16',
'height' => '16'
),
's_rights' => array(
's_replication' => array(
'position' => '113',
'width' => '16',
'height' => '16'
),
's_sortable' => array(
's_rights' => array(
'position' => '114',
'width' => '16',
'height' => '16'
),
's_sortable' => array(
'position' => '115',
'width' => '11',
'height' => '15'
),
's_status' => array(
'position' => '115',
'width' => '16',
'height' => '16'
),
's_success' => array(
'position' => '116',
'width' => '16',
'height' => '16'
),
's_sync' => array(
's_success' => array(
'position' => '117',
'width' => '16',
'height' => '16'
),
's_tbl' => array(
's_sync' => array(
'position' => '118',
'width' => '16',
'height' => '16'
),
's_theme' => array(
's_tbl' => array(
'position' => '119',
'width' => '16',
'height' => '16'
),
's_top' => array(
's_theme' => array(
'position' => '120',
'width' => '16',
'height' => '16'
),
's_vars' => array(
's_top' => array(
'position' => '121',
'width' => '16',
'height' => '16'
),
's_views' => array(
's_vars' => array(
'position' => '122',
'width' => '16',
'height' => '16'
),
's_views' => array(
'position' => '123',
'width' => '10',
'height' => '10'
),
'window-new' => array(
'position' => '123',
'position' => '124',
'width' => '16',
'height' => '16'
),

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -190,531 +190,536 @@ function PMA_sprites()
'width' => '16',
'height' => '16'
),
'b_firstpage' => array(
'b_find_replace' => array(
'position' => '38',
'width' => '16',
'height' => '16'
),
'b_ftext' => array(
'b_firstpage' => array(
'position' => '39',
'width' => '16',
'height' => '16'
),
'b_group' => array(
'b_ftext' => array(
'position' => '40',
'width' => '16',
'height' => '16'
),
'b_help' => array(
'b_group' => array(
'position' => '41',
'width' => '16',
'height' => '16'
),
'b_home' => array(
'b_help' => array(
'position' => '42',
'width' => '16',
'height' => '16'
),
'b_import' => array(
'b_home' => array(
'position' => '43',
'width' => '16',
'height' => '16'
),
'b_index_add' => array(
'b_import' => array(
'position' => '44',
'width' => '16',
'height' => '16'
),
'b_index' => array(
'b_index_add' => array(
'position' => '45',
'width' => '16',
'height' => '16'
),
'b_info' => array(
'b_index' => array(
'position' => '46',
'width' => '16',
'height' => '16'
),
'b_info' => array(
'position' => '47',
'width' => '11',
'height' => '11'
),
'b_inline_edit' => array(
'position' => '47',
'width' => '16',
'height' => '16'
),
'b_insrow' => array(
'position' => '48',
'width' => '16',
'height' => '16'
),
'b_lastpage' => array(
'b_insrow' => array(
'position' => '49',
'width' => '16',
'height' => '16'
),
'b_minus' => array(
'b_lastpage' => array(
'position' => '50',
'width' => '16',
'height' => '16'
),
'b_more' => array(
'b_minus' => array(
'position' => '51',
'width' => '16',
'height' => '16'
),
'b_move' => array(
'b_more' => array(
'position' => '52',
'width' => '16',
'height' => '16'
),
'b_newdb' => array(
'b_move' => array(
'position' => '53',
'width' => '16',
'height' => '16'
),
'b_newtbl' => array(
'b_newdb' => array(
'position' => '54',
'width' => '16',
'height' => '16'
),
'b_nextpage' => array(
'b_newtbl' => array(
'position' => '55',
'width' => '16',
'height' => '16'
),
'b_pdfdoc' => array(
'b_nextpage' => array(
'position' => '56',
'width' => '16',
'height' => '16'
),
'b_plus' => array(
'b_pdfdoc' => array(
'position' => '57',
'width' => '16',
'height' => '16'
),
'b_prevpage' => array(
'b_plus' => array(
'position' => '58',
'width' => '16',
'height' => '16'
),
'b_primary' => array(
'b_prevpage' => array(
'position' => '59',
'width' => '16',
'height' => '16'
),
'b_print' => array(
'b_primary' => array(
'position' => '60',
'width' => '16',
'height' => '16'
),
'b_props' => array(
'b_print' => array(
'position' => '61',
'width' => '16',
'height' => '16'
),
'b_relations' => array(
'b_props' => array(
'position' => '62',
'width' => '16',
'height' => '16'
),
'b_routine_add' => array(
'b_relations' => array(
'position' => '63',
'width' => '16',
'height' => '16'
),
'b_routines' => array(
'b_routine_add' => array(
'position' => '64',
'width' => '16',
'height' => '16'
),
'b_save' => array(
'b_routines' => array(
'position' => '65',
'width' => '16',
'height' => '16'
),
'b_sbrowse' => array(
'b_save' => array(
'position' => '66',
'width' => '16',
'height' => '16'
),
'b_sdb' => array(
'b_sbrowse' => array(
'position' => '67',
'width' => '16',
'height' => '16'
),
'b_sdb' => array(
'position' => '68',
'width' => '10',
'height' => '10'
),
'b_search' => array(
'position' => '68',
'width' => '16',
'height' => '16'
),
'b_selboard' => array(
'position' => '69',
'width' => '16',
'height' => '16'
),
'b_select' => array(
'b_selboard' => array(
'position' => '70',
'width' => '16',
'height' => '16'
),
'b_snewtbl' => array(
'b_select' => array(
'position' => '71',
'width' => '16',
'height' => '16'
),
'b_spatial' => array(
'b_snewtbl' => array(
'position' => '72',
'width' => '16',
'height' => '16'
),
'b_sqldoc' => array(
'b_spatial' => array(
'position' => '73',
'width' => '16',
'height' => '16'
),
'b_sqlhelp' => array(
'b_sqldoc' => array(
'position' => '74',
'width' => '16',
'height' => '16'
),
'b_sql' => array(
'b_sqlhelp' => array(
'position' => '75',
'width' => '16',
'height' => '16'
),
'b_table_add' => array(
'b_sql' => array(
'position' => '76',
'width' => '16',
'height' => '16'
),
'b_tblanalyse' => array(
'b_table_add' => array(
'position' => '77',
'width' => '16',
'height' => '16'
),
'b_tblexport' => array(
'b_tblanalyse' => array(
'position' => '78',
'width' => '16',
'height' => '16'
),
'b_tblimport' => array(
'b_tblexport' => array(
'position' => '79',
'width' => '16',
'height' => '16'
),
'b_tblops' => array(
'b_tblimport' => array(
'position' => '80',
'width' => '16',
'height' => '16'
),
'b_tbloptimize' => array(
'b_tblops' => array(
'position' => '81',
'width' => '16',
'height' => '16'
),
'b_tipp' => array(
'b_tbloptimize' => array(
'position' => '82',
'width' => '16',
'height' => '16'
),
'b_trigger_add' => array(
'b_tipp' => array(
'position' => '83',
'width' => '16',
'height' => '16'
),
'b_triggers' => array(
'b_trigger_add' => array(
'position' => '84',
'width' => '16',
'height' => '16'
),
'b_unique' => array(
'b_triggers' => array(
'position' => '85',
'width' => '16',
'height' => '16'
),
'b_usradd' => array(
'b_unique' => array(
'position' => '86',
'width' => '16',
'height' => '16'
),
'b_usrcheck' => array(
'b_usradd' => array(
'position' => '87',
'width' => '16',
'height' => '16'
),
'b_usrdrop' => array(
'b_usrcheck' => array(
'position' => '88',
'width' => '16',
'height' => '16'
),
'b_usredit' => array(
'b_usrdrop' => array(
'position' => '89',
'width' => '16',
'height' => '16'
),
'b_usrlist' => array(
'b_usredit' => array(
'position' => '90',
'width' => '16',
'height' => '16'
),
'b_view_add' => array(
'b_usrlist' => array(
'position' => '91',
'width' => '16',
'height' => '16'
),
'b_view' => array(
'b_view_add' => array(
'position' => '92',
'width' => '16',
'height' => '16'
),
'b_views' => array(
'b_view' => array(
'position' => '93',
'width' => '16',
'height' => '16'
),
'col_drop' => array(
'b_views' => array(
'position' => '94',
'width' => '16',
'height' => '16'
),
'database' => array(
'col_drop' => array(
'position' => '95',
'width' => '16',
'height' => '16'
),
'eye_grey' => array(
'database' => array(
'position' => '96',
'width' => '16',
'height' => '16'
),
'eye' => array(
'eye_grey' => array(
'position' => '97',
'width' => '16',
'height' => '16'
),
'item' => array(
'eye' => array(
'position' => '98',
'width' => '16',
'height' => '16'
),
'item' => array(
'position' => '99',
'width' => '9',
'height' => '9'
),
'more' => array(
'position' => '99',
'position' => '100',
'width' => '13',
'height' => '16'
),
'new_data_hovered' => array(
'position' => '100',
'width' => '16',
'height' => '16'
),
'new_data' => array(
'position' => '101',
'width' => '16',
'height' => '16'
),
'new_data_selected_hovered' => array(
'new_data' => array(
'position' => '102',
'width' => '16',
'height' => '16'
),
'new_data_selected' => array(
'new_data_selected_hovered' => array(
'position' => '103',
'width' => '16',
'height' => '16'
),
'new_struct_hovered' => array(
'new_data_selected' => array(
'position' => '104',
'width' => '16',
'height' => '16'
),
'new_struct' => array(
'new_struct_hovered' => array(
'position' => '105',
'width' => '16',
'height' => '16'
),
'new_struct_selected_hovered' => array(
'new_struct' => array(
'position' => '106',
'width' => '16',
'height' => '16'
),
'new_struct_selected' => array(
'new_struct_selected_hovered' => array(
'position' => '107',
'width' => '16',
'height' => '16'
),
'pause' => array(
'new_struct_selected' => array(
'position' => '108',
'width' => '16',
'height' => '16'
),
'php_sym' => array(
'pause' => array(
'position' => '109',
'width' => '16',
'height' => '16'
),
'play' => array(
'php_sym' => array(
'position' => '110',
'width' => '16',
'height' => '16'
),
's_asci' => array(
'play' => array(
'position' => '111',
'width' => '16',
'height' => '16'
),
's_asc' => array(
's_asci' => array(
'position' => '112',
'width' => '16',
'height' => '16'
),
's_attention' => array(
's_asc' => array(
'position' => '113',
'width' => '16',
'height' => '16'
),
's_cancel2' => array(
's_attention' => array(
'position' => '114',
'width' => '16',
'height' => '16'
),
's_cancel' => array(
's_cancel2' => array(
'position' => '115',
'width' => '16',
'height' => '16'
),
's_cog' => array(
's_cancel' => array(
'position' => '116',
'width' => '16',
'height' => '16'
),
's_db' => array(
's_cog' => array(
'position' => '117',
'width' => '16',
'height' => '16'
),
's_desc' => array(
's_db' => array(
'position' => '118',
'width' => '16',
'height' => '16'
),
's_error2' => array(
's_desc' => array(
'position' => '119',
'width' => '16',
'height' => '16'
),
's_error2' => array(
'position' => '120',
'width' => '11',
'height' => '11'
),
's_error' => array(
'position' => '120',
'width' => '16',
'height' => '16'
),
's_host' => array(
'position' => '121',
'width' => '16',
'height' => '16'
),
's_info' => array(
's_host' => array(
'position' => '122',
'width' => '16',
'height' => '16'
),
's_lang' => array(
's_info' => array(
'position' => '123',
'width' => '16',
'height' => '16'
),
's_loggoff' => array(
's_lang' => array(
'position' => '124',
'width' => '16',
'height' => '16'
),
's_notice' => array(
's_loggoff' => array(
'position' => '125',
'width' => '16',
'height' => '16'
),
's_okay' => array(
's_notice' => array(
'position' => '126',
'width' => '16',
'height' => '16'
),
's_passwd' => array(
's_okay' => array(
'position' => '127',
'width' => '16',
'height' => '16'
),
's_process' => array(
's_passwd' => array(
'position' => '128',
'width' => '16',
'height' => '16'
),
's_really' => array(
's_process' => array(
'position' => '129',
'width' => '16',
'height' => '16'
),
's_really' => array(
'position' => '130',
'width' => '11',
'height' => '11'
),
's_reload' => array(
'position' => '130',
'width' => '16',
'height' => '16'
),
's_replication' => array(
'position' => '131',
'width' => '16',
'height' => '16'
),
's_rights' => array(
's_replication' => array(
'position' => '132',
'width' => '16',
'height' => '16'
),
's_sortable' => array(
's_rights' => array(
'position' => '133',
'width' => '16',
'height' => '16'
),
's_status' => array(
's_sortable' => array(
'position' => '134',
'width' => '16',
'height' => '16'
),
's_success' => array(
's_status' => array(
'position' => '135',
'width' => '16',
'height' => '16'
),
's_sync' => array(
's_success' => array(
'position' => '136',
'width' => '16',
'height' => '16'
),
's_tbl' => array(
's_sync' => array(
'position' => '137',
'width' => '16',
'height' => '16'
),
's_theme' => array(
's_tbl' => array(
'position' => '138',
'width' => '16',
'height' => '16'
),
's_top' => array(
's_theme' => array(
'position' => '139',
'width' => '16',
'height' => '16'
),
's_vars' => array(
's_top' => array(
'position' => '140',
'width' => '16',
'height' => '16'
),
's_views' => array(
's_vars' => array(
'position' => '141',
'width' => '16',
'height' => '16'
),
'window-new' => array(
's_views' => array(
'position' => '142',
'width' => '16',
'height' => '16'
),
'window-new' => array(
'position' => '143',
'width' => '16',
'height' => '16'
),
);
}
?>