Merge branch 'master' of https://github.com/phpmyadmin/phpmyadmin into 0629_UT_serverview2

This commit is contained in:
xmujay 2013-07-06 10:51:12 +08:00
commit 4d00015b5c
88 changed files with 81279 additions and 77072 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

@ -17,8 +17,8 @@
* // get simple success message 'Success'
* $message = PMA_Message::success();
*
* // get special notice 'Some locale notice'
* $message = PMA_Message::notice('strSomeLocaleNotice');
* // get special notice
* $message = PMA_Message::notice(__('This is a localized notice'));
* </code>
*
* more advanced usage example:
@ -29,7 +29,7 @@
* // create another message, a hint, with a localized string which expects
* // two parameters: $strSomeTooltip = 'Read the %smanual%s'
* $hint = PMA_Message::notice('strSomeTooltip');
* // replace %d with the following params
* // replace placeholders with the following params
* $hint->addParam('[doc@cfg_Example]');
* $hint->addParam('[/doc]');
* // add this hint as a tooltip

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;
}
}
?>

1988
po/af.po

File diff suppressed because it is too large Load Diff

2042
po/ar.po

File diff suppressed because it is too large Load Diff

1997
po/az.po

File diff suppressed because it is too large Load Diff

2294
po/be.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2049
po/bg.po

File diff suppressed because it is too large Load Diff

3567
po/bn.po

File diff suppressed because it is too large Load Diff

2016
po/br.po

File diff suppressed because it is too large Load Diff

2001
po/bs.po

File diff suppressed because it is too large Load Diff

2309
po/ca.po

File diff suppressed because it is too large Load Diff

1974
po/ckb.po

File diff suppressed because it is too large Load Diff

2253
po/cs.po

File diff suppressed because it is too large Load Diff

2028
po/cy.po

File diff suppressed because it is too large Load Diff

2303
po/da.po

File diff suppressed because it is too large Load Diff

2394
po/de.po

File diff suppressed because it is too large Load Diff

2400
po/el.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2404
po/es.po

File diff suppressed because it is too large Load Diff

2326
po/et.po

File diff suppressed because it is too large Load Diff

2015
po/eu.po

File diff suppressed because it is too large Load Diff

2034
po/fa.po

File diff suppressed because it is too large Load Diff

2412
po/fi.po

File diff suppressed because it is too large Load Diff

2333
po/fr.po

File diff suppressed because it is too large Load Diff

2363
po/gl.po

File diff suppressed because it is too large Load Diff

1999
po/he.po

File diff suppressed because it is too large Load Diff

2054
po/hi.po

File diff suppressed because it is too large Load Diff

2274
po/hr.po

File diff suppressed because it is too large Load Diff

3460
po/hu.po

File diff suppressed because it is too large Load Diff

1956
po/hy.po

File diff suppressed because it is too large Load Diff

1964
po/ia.po

File diff suppressed because it is too large Load Diff

2126
po/id.po

File diff suppressed because it is too large Load Diff

2350
po/it.po

File diff suppressed because it is too large Load Diff

2285
po/ja.po

File diff suppressed because it is too large Load Diff

2062
po/ka.po

File diff suppressed because it is too large Load Diff

1966
po/kk.po

File diff suppressed because it is too large Load Diff

1950
po/kn.po

File diff suppressed because it is too large Load Diff

2050
po/ko.po

File diff suppressed because it is too large Load Diff

2067
po/lt.po

File diff suppressed because it is too large Load Diff

2009
po/lv.po

File diff suppressed because it is too large Load Diff

2001
po/mk.po

File diff suppressed because it is too large Load Diff

1952
po/ml.po

File diff suppressed because it is too large Load Diff

2122
po/mn.po

File diff suppressed because it is too large Load Diff

1995
po/ms.po

File diff suppressed because it is too large Load Diff

2348
po/nb.po

File diff suppressed because it is too large Load Diff

2330
po/nl.po

File diff suppressed because it is too large Load Diff

1950
po/pa.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2322
po/pl.po

File diff suppressed because it is too large Load Diff

2082
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2123
po/ro.po

File diff suppressed because it is too large Load Diff

2333
po/ru.po

File diff suppressed because it is too large Load Diff

2038
po/si.po

File diff suppressed because it is too large Load Diff

2288
po/sk.po

File diff suppressed because it is too large Load Diff

2310
po/sl.po

File diff suppressed because it is too large Load Diff

2020
po/sq.po

File diff suppressed because it is too large Load Diff

2244
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2285
po/sv.po

File diff suppressed because it is too large Load Diff

1972
po/ta.po

File diff suppressed because it is too large Load Diff

1988
po/te.po

File diff suppressed because it is too large Load Diff

2012
po/th.po

File diff suppressed because it is too large Load Diff

1950
po/tk.po

File diff suppressed because it is too large Load Diff

2297
po/tr.po

File diff suppressed because it is too large Load Diff

2039
po/tt.po

File diff suppressed because it is too large Load Diff

2009
po/ug.po

File diff suppressed because it is too large Load Diff

2285
po/uk.po

File diff suppressed because it is too large Load Diff

2090
po/ur.po

File diff suppressed because it is too large Load Diff

2362
po/uz.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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'
),
);
}
?>