Merge remote-tracking branch 'origin/QA_4_7' into QA_4_7
This commit is contained in:
commit
89e3820bae
@ -13,6 +13,7 @@ phpMyAdmin - ChangeLog
|
||||
- issue #13193 Improved documentation on user settings
|
||||
- issue #13092 Gracefully handle early fatal errors in AJAX requests
|
||||
- issue #13327 Fixed Incorrect NavigationTreeEnableExpansion default value in the documentation
|
||||
- issue #13008 Fixed export of database with a lot of tables
|
||||
|
||||
4.7.1 (2017-05-25)
|
||||
- issue #13132 Always execute tracking queries as controluser
|
||||
|
||||
34
ajax.php
Normal file
34
ajax.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* Generic AJAX endpoint for getting information about database
|
||||
*
|
||||
* @package PhpMyAdmin
|
||||
*/
|
||||
|
||||
use PMA\libraries\Response;
|
||||
use PMA\libraries\Util;
|
||||
require_once 'libraries/common.inc.php';
|
||||
|
||||
$response = Response::getInstance();
|
||||
|
||||
if (empty($_POST['type'])) {
|
||||
PMA_fatalError(__('Bad type!'));
|
||||
}
|
||||
|
||||
switch ($_POST['type']) {
|
||||
case 'list-databases':
|
||||
$response->addJSON('databases', $GLOBALS['dblist']->databases);
|
||||
break;
|
||||
case 'list-tables':
|
||||
Util::checkParameters(array('db'));
|
||||
$response->addJSON('tables', $GLOBALS['dbi']->getTables($_REQUEST['db']));
|
||||
break;
|
||||
case 'list-columns':
|
||||
Util::checkParameters(array('db', 'table'));
|
||||
$response->addJSON('columns', $GLOBALS['dbi']->getColumnNames($_REQUEST['db'], $_REQUEST['table']));
|
||||
break;
|
||||
|
||||
default:
|
||||
PMA_fatalError(__('Bad type!'));
|
||||
}
|
||||
196
js/export.js
196
js/export.js
@ -225,8 +225,10 @@ AJAX.registerTeardown('export.js', function () {
|
||||
$("input[type='radio'][name='quick_or_custom']").unbind('change');
|
||||
$("input[type='radio'][name='allrows']").unbind('change');
|
||||
$('#btn_alias_config').off('click');
|
||||
$('#db_alias_select').off('change');
|
||||
$('.table_alias_select').off('change');
|
||||
$('.alias_remove').off('click');
|
||||
$('#db_alias_button').off('click');
|
||||
$('#table_alias_button').off('click');
|
||||
$('#column_alias_button').off('click');
|
||||
$('input[name="table_select[]"]').off('change');
|
||||
$('input[name="table_structure[]"]').off('change');
|
||||
$('input[name="table_data[]"]').off('change');
|
||||
@ -764,23 +766,10 @@ function aliasSelectHandler(event) {
|
||||
function createAliasModal(event) {
|
||||
event.preventDefault();
|
||||
var dlgButtons = {};
|
||||
dlgButtons[PMA_messages.strResetAll] = function() {
|
||||
$(this).find('input[type="text"]').val('');
|
||||
};
|
||||
dlgButtons[PMA_messages.strReset] = function() {
|
||||
$(this).find('input[type="text"]:visible').val('');
|
||||
};
|
||||
dlgButtons[PMA_messages.strSaveAndClose] = function() {
|
||||
$(this).dialog("close");
|
||||
// do not fillup form submission with empty values
|
||||
$.each($(this).find('input[type="text"]'), function (i, e) {
|
||||
if ($(e).val().trim().length == 0) {
|
||||
$(e).prop('disabled', true);
|
||||
}
|
||||
});
|
||||
$('#alias_modal').parent().appendTo($('form[name="dump"]'));
|
||||
};
|
||||
$('#alias_modal').find('input[type="text"]').prop('disabled', false);
|
||||
$('#alias_modal').dialog({
|
||||
width: Math.min($(window).width() - 100, 700),
|
||||
maxHeight: $(window).height(),
|
||||
@ -789,24 +778,79 @@ function createAliasModal(event) {
|
||||
buttons: dlgButtons,
|
||||
create: function() {
|
||||
$(this).css('maxHeight', $(window).height() - 150);
|
||||
$('.alias-dialog .ui-dialog-titlebar-close').remove();
|
||||
var db = PMA_commonParams.get('db');
|
||||
if (db) {
|
||||
var option = $('<option></option>');
|
||||
option.text(db);
|
||||
option.attr('value', db);
|
||||
$('#db_alias_select').append(option).val(db).change();
|
||||
} else {
|
||||
var params = {
|
||||
ajax_request : true,
|
||||
token : PMA_commonParams.get('token'),
|
||||
server : PMA_commonParams.get('server'),
|
||||
type: 'list-databases'
|
||||
};
|
||||
$.post('ajax.php', params, function (response) {
|
||||
if (response.success === true) {
|
||||
$.each(response.databases, function (idx, value) {
|
||||
var option = $('<option></option>');
|
||||
option.text(value);
|
||||
option.attr('value', value);
|
||||
$('#db_alias_select').append(option);
|
||||
});
|
||||
} else {
|
||||
PMA_ajaxShowMessage(response.error, false);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
close: function() {
|
||||
var isEmpty = true;
|
||||
$(this).find('input[type="text"]').each(function() {
|
||||
// trim input fields on close
|
||||
$(this).val($(this).val().trim());
|
||||
// check if non empty field present
|
||||
// trim empty input fields on close
|
||||
if ($(this).val()) {
|
||||
isEmpty = false;
|
||||
} else {
|
||||
$(this).parents('tr').remove();
|
||||
}
|
||||
});
|
||||
// Toggle checkbox based on aliases
|
||||
$('input#btn_alias_config').prop('checked', !isEmpty);
|
||||
},
|
||||
position: { my: "center top", at: "center top", of: window }
|
||||
});
|
||||
// Call change event of .table_alias_select
|
||||
$('.table_alias_select:visible').trigger('change');
|
||||
}
|
||||
|
||||
function aliasToggleRow(elm) {
|
||||
var inputs = elm.parents('tr').find('input,button');
|
||||
if (elm.val()) {
|
||||
inputs.attr('disabled', false);
|
||||
} else {
|
||||
inputs.attr('disabled', true);
|
||||
}
|
||||
}
|
||||
|
||||
function addAlias(type, name, field, value) {
|
||||
if (value === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
var row = $('#alias_data tfoot tr').clone();
|
||||
row.find('th').text(type);
|
||||
row.find('td:first').text(name);
|
||||
row.find('input').attr('name', field);
|
||||
row.find('input').val(value);
|
||||
row.find('.alias_remove').on('click', function () {
|
||||
$(this).parents('tr').remove();
|
||||
});
|
||||
|
||||
var matching = $('#alias_data [name="' + $.escapeSelector(field) + '"]');
|
||||
if (matching.length > 0) {
|
||||
matching.parents('tr').remove();
|
||||
}
|
||||
|
||||
$('#alias_data tbody').append(row);
|
||||
}
|
||||
|
||||
AJAX.registerOnload('export.js', function () {
|
||||
@ -846,18 +890,100 @@ AJAX.registerOnload('export.js', function () {
|
||||
|
||||
// Open Alias Modal Dialog on click
|
||||
$('#btn_alias_config').on('click', createAliasModal);
|
||||
|
||||
// Database alias select on change event
|
||||
$('#db_alias_select').on(
|
||||
'change',
|
||||
{sel: 'span', type: '_tables'},
|
||||
aliasSelectHandler
|
||||
);
|
||||
|
||||
// Table alias select on change event
|
||||
$('.table_alias_select').on(
|
||||
'change',
|
||||
{sel: 'table', type: '_cols'},
|
||||
aliasSelectHandler
|
||||
);
|
||||
$('.alias_remove').on('click', function () {
|
||||
$(this).parents('tr').remove();
|
||||
});
|
||||
$('#db_alias_select').on('change', function () {
|
||||
aliasToggleRow($(this));
|
||||
var db = $(this).val();
|
||||
var table = PMA_commonParams.get('table');
|
||||
if (table) {
|
||||
var option = $('<option></option>');
|
||||
option.text(table);
|
||||
option.attr('value', table);
|
||||
$('#table_alias_select').append(option).val(table).change();
|
||||
} else {
|
||||
var params = {
|
||||
ajax_request : true,
|
||||
token : PMA_commonParams.get('token'),
|
||||
server : PMA_commonParams.get('server'),
|
||||
db : $(this).val(),
|
||||
type: 'list-tables'
|
||||
};
|
||||
$.post('ajax.php', params, function (response) {
|
||||
if (response.success === true) {
|
||||
$.each(response.tables, function (idx, value) {
|
||||
var option = $('<option></option>');
|
||||
option.text(value);
|
||||
option.attr('value', value);
|
||||
$('#table_alias_select').append(option);
|
||||
});
|
||||
} else {
|
||||
PMA_ajaxShowMessage(response.error, false);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#table_alias_select').on('change', function () {
|
||||
aliasToggleRow($(this));
|
||||
var params = {
|
||||
ajax_request : true,
|
||||
token : PMA_commonParams.get('token'),
|
||||
server : PMA_commonParams.get('server'),
|
||||
db : $('#db_alias_select').val(),
|
||||
table: $(this).val(),
|
||||
type: 'list-columns'
|
||||
};
|
||||
$.post('ajax.php', params, function (response) {
|
||||
if (response.success === true) {
|
||||
$.each(response.columns, function (idx, value) {
|
||||
var option = $('<option></option>');
|
||||
option.text(value);
|
||||
option.attr('value', value);
|
||||
$('#column_alias_select').append(option);
|
||||
});
|
||||
} else {
|
||||
PMA_ajaxShowMessage(response.error, false);
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#column_alias_select').on('change', function () {
|
||||
aliasToggleRow($(this));
|
||||
});
|
||||
$('#db_alias_button').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var db = $('#db_alias_select').val();
|
||||
addAlias(
|
||||
PMA_messages.strAliasDatabase,
|
||||
db,
|
||||
'aliases[' + db + '][alias]',
|
||||
$('#db_alias_name').val()
|
||||
);
|
||||
$('#db_alias_name').val('');
|
||||
});
|
||||
$('#table_alias_button').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var db = $('#db_alias_select').val();
|
||||
var table = $('#table_alias_select').val();
|
||||
addAlias(
|
||||
PMA_messages.strAliasTable,
|
||||
db + '.' + table,
|
||||
'aliases[' + db + '][tables][' + table + '][alias]',
|
||||
$('#table_alias_name').val()
|
||||
);
|
||||
$('#table_alias_name').val('');
|
||||
});
|
||||
$('#column_alias_button').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var db = $('#db_alias_select').val();
|
||||
var table = $('#table_alias_select').val();
|
||||
var column = $('#column_alias_select').val();
|
||||
addAlias(
|
||||
PMA_messages.strAliasColumn,
|
||||
db + '.' + table + '.' + column,
|
||||
'aliases[' + db + '][tables][' + table + '][colums][' + column + ']',
|
||||
$('#column_alias_name').val()
|
||||
);
|
||||
$('#column_alias_name').val('');
|
||||
});
|
||||
});
|
||||
|
||||
@ -295,6 +295,10 @@ $js_messages['strProfilingResults'] = __('Profiling results');
|
||||
$js_messages['strTable'] = _pgettext('Display format', 'Table');
|
||||
$js_messages['strChart'] = __('Chart');
|
||||
|
||||
$js_messages['strAliasDatabase'] = _pgettext('Alias', 'Database');
|
||||
$js_messages['strAliasTable'] = _pgettext('Alias', 'Table');
|
||||
$js_messages['strAliasColumn'] = _pgettext('Alias', 'Column');
|
||||
|
||||
/* l10n: A collection of available filters */
|
||||
$js_messages['strFiltersForLogTable'] = __('Log table filter options');
|
||||
/* l10n: Filter as in "Start Filtering" */
|
||||
|
||||
@ -11,6 +11,7 @@ use PMA\libraries\Message;
|
||||
use PMA\libraries\plugins\ExportPlugin;
|
||||
use PMA\libraries\Response;
|
||||
use PMA\libraries\Table;
|
||||
use PMA\libraries\Template;
|
||||
use PMA\libraries\URL;
|
||||
|
||||
/**
|
||||
@ -877,25 +878,76 @@ function PMA_getHtmlForExportOptions(
|
||||
$html .= PMA_getHtmlForExportOptionsQuickExport();
|
||||
}
|
||||
|
||||
$html .= PMA_getHtmlForAliasModalDialog($db, $table);
|
||||
$html .= PMA_getHtmlForAliasModalDialog();
|
||||
$html .= PMA_getHtmlForExportOptionsOutput($export_type);
|
||||
$html .= PMA_getHtmlForExportOptionsFormat($export_list);
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints Html For Alias Modal Dialog
|
||||
*
|
||||
* @param String $db Selected DB
|
||||
* @param String $table Selected Table
|
||||
* Generate Html For currently defined aliases
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function PMA_getHtmlForAliasModalDialog($db = '', $table = '')
|
||||
function PMA_getHtmlForCurrentAlias()
|
||||
{
|
||||
$result = '<table id="alias_data"><thead><tr><th colspan="4">'
|
||||
. __('Defined aliases')
|
||||
. '</th></tr></thead><tbody>';
|
||||
|
||||
$template = Template::get('export/alias_item');
|
||||
if (isset($_SESSION['tmpval']['aliases'])) {
|
||||
$aliases = $_SESSION['tmpval']['aliases'];
|
||||
foreach ($_SESSION['tmpval']['aliases'] as $db => $db_data) {
|
||||
if (isset($db_data['alias'])) {
|
||||
$result .= $template->render(array(
|
||||
'type' => _pgettext('Alias', 'Database'),
|
||||
'name' => $db,
|
||||
'field' => 'aliases[' . $db . '][alias]',
|
||||
'value' => $db_data['alias'],
|
||||
));
|
||||
}
|
||||
if (! isset($db_data['tables'])) {
|
||||
continue;
|
||||
}
|
||||
foreach ($db_data['tables'] as $table => $table_data) {
|
||||
if (isset($table_data['alias'])) {
|
||||
$result .= $template->render(array(
|
||||
'type' => _pgettext('Alias', 'Table'),
|
||||
'name' => $db . '.' . $table,
|
||||
'field' => 'aliases[' . $db . '][tables][' . $table . '][alias]',
|
||||
'value' => $table_data['alias'],
|
||||
));
|
||||
}
|
||||
if (! isset($table_data['columns'])) {
|
||||
continue;
|
||||
}
|
||||
foreach ($table_data['columns'] as $column => $column_name) {
|
||||
$result .= $template->render(array(
|
||||
'type' => _pgettext('Alias', 'Column'),
|
||||
'name' => $db . '.' . $table . '.'. $column,
|
||||
'field' => 'aliases[' . $db . '][tables][' . $table . '][colums][' . $column . ']',
|
||||
'value' => $column_name,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Empty row for javascript manipulations
|
||||
$result .= '</tbody><tfoot class="hide">' . $template->render(array(
|
||||
'type' => '', 'name' => '', 'field' => 'aliases_new', 'value' => ''
|
||||
)) . '</tfoot>';
|
||||
|
||||
return $result . '</table>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate Html For Alias Modal Dialog
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function PMA_getHtmlForAliasModalDialog()
|
||||
{
|
||||
// In case of server export, the following list of
|
||||
// databases are not shown in the list.
|
||||
$dbs_not_allowed = array(
|
||||
@ -906,114 +958,10 @@ function PMA_getHtmlForAliasModalDialog($db = '', $table = '')
|
||||
// Fetch Columns info
|
||||
// Server export does not have db set.
|
||||
$title = __('Rename exported databases/tables/columns');
|
||||
if (empty($db)) {
|
||||
$databases = $GLOBALS['dbi']->getColumnsFull(
|
||||
null, null, null, $GLOBALS['userlink']
|
||||
);
|
||||
foreach ($dbs_not_allowed as $db) {
|
||||
unset($databases[$db]);
|
||||
}
|
||||
// Database export does not have table set.
|
||||
} elseif (empty($table)) {
|
||||
$tables = $GLOBALS['dbi']->getColumnsFull(
|
||||
$db, null, null, $GLOBALS['userlink']
|
||||
);
|
||||
$databases = array($db => $tables);
|
||||
// Table export
|
||||
} else {
|
||||
$columns = $GLOBALS['dbi']->getColumnsFull(
|
||||
$db, $table, null, $GLOBALS['userlink']
|
||||
);
|
||||
$databases = array(
|
||||
$db => array(
|
||||
$table => $columns
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$html = '<div id="alias_modal" class="hide" title="' . $title . '">';
|
||||
$db_html = '<label class="col-2">' . __('Select database') . ': '
|
||||
. '</label><select id="db_alias_select">';
|
||||
$table_html = '<label class="col-2">' . __('Select table') . ': </label>';
|
||||
$first_db = true;
|
||||
$table_input_html = $db_input_html = '';
|
||||
foreach ($databases as $db => $tables) {
|
||||
$val = '';
|
||||
if (!empty($aliases[$db]['alias'])) {
|
||||
$val = htmlspecialchars($aliases[$db]['alias']);
|
||||
}
|
||||
$db = htmlspecialchars($db);
|
||||
$name_attr = 'aliases[' . $db . '][alias]';
|
||||
$id_attr = substr(md5($name_attr), 0, 12);
|
||||
$class = 'hide';
|
||||
if ($first_db) {
|
||||
$first_db = false;
|
||||
$class = '';
|
||||
$db_input_html = '<label class="col-2" for="' . $id_attr . '">'
|
||||
. __('New database name') . ': </label>';
|
||||
}
|
||||
$db_input_html .= '<input type="text" name="' . $name_attr . '" '
|
||||
. 'placeholder="' . $db . ' alias" class="' . $class . '" '
|
||||
. 'id="' . $id_attr . '" value="' . $val . '" disabled="disabled"/>';
|
||||
$db_html .= '<option value="' . $id_attr . '">' . $db . '</option>';
|
||||
$table_html .= '<span id="' . $id_attr . '_tables" class="' . $class . '">';
|
||||
$table_html .= '<select id="' . $id_attr . '_tables_select" '
|
||||
. 'class="table_alias_select">';
|
||||
$first_tbl = true;
|
||||
$col_html = '';
|
||||
foreach ($tables as $table => $columns) {
|
||||
$val = '';
|
||||
if (!empty($aliases[$db]['tables'][$table]['alias'])) {
|
||||
$val = htmlspecialchars($aliases[$db]['tables'][$table]['alias']);
|
||||
}
|
||||
$table = htmlspecialchars($table);
|
||||
$name_attr = 'aliases[' . $db . '][tables][' . $table . '][alias]';
|
||||
$id_attr = substr(md5($name_attr), 0, 12);
|
||||
$class = 'hide';
|
||||
if ($first_tbl) {
|
||||
$first_tbl = false;
|
||||
$class = '';
|
||||
$table_input_html = '<label class="col-2" for="' . $id_attr . '">'
|
||||
. __('New table name') . ': </label>';
|
||||
}
|
||||
$table_input_html .= '<input type="text" value="' . $val . '" '
|
||||
. 'name="' . $name_attr . '" id="' . $id_attr . '" '
|
||||
. 'placeholder="' . $table . ' alias" class="' . $class . '" '
|
||||
. 'disabled="disabled"/>';
|
||||
$table_html .= '<option value="' . $id_attr . '">'
|
||||
. $table . '</option>';
|
||||
$col_html .= '<table id="' . $id_attr . '_cols" class="'
|
||||
. $class . '" width="100%">';
|
||||
$col_html .= '<thead><tr><th>' . __('Old column name') . '</th>'
|
||||
. '<th>' . __('New column name') . '</th></tr></thead><tbody>';
|
||||
foreach ($columns as $column => $col_def) {
|
||||
$val = '';
|
||||
if (!empty($aliases[$db]['tables'][$table]['columns'][$column])) {
|
||||
$val = htmlspecialchars(
|
||||
$aliases[$db]['tables'][$table]['columns'][$column]
|
||||
);
|
||||
}
|
||||
$column = htmlspecialchars($column);
|
||||
$name_attr = 'aliases[' . $db . '][tables][' . $table
|
||||
. '][columns][' . $column . ']';
|
||||
$id_attr = substr(md5($name_attr), 0, 12);
|
||||
$col_html .= '<tr>';
|
||||
$col_html .= '<th><label for="' . $id_attr . '">' . $column
|
||||
. '</label></th>';
|
||||
$col_html .= '<td><dummy_inp type="text" name="' . $name_attr . '" '
|
||||
. 'id="' . $id_attr . '" placeholder="'
|
||||
. $column . ' alias" value="' . $val . '"></dummy_inp></td>';
|
||||
$col_html .= '</tr>';
|
||||
}
|
||||
$col_html .= '</tbody></table>';
|
||||
}
|
||||
$table_html .= '</select>';
|
||||
$table_html .= $table_input_html . '<hr/>' . $col_html . '</span>';
|
||||
}
|
||||
$db_html .= '</select>';
|
||||
$html .= $db_html;
|
||||
$html .= $db_input_html . '<hr/>';
|
||||
$html .= $table_html;
|
||||
$html .= PMA_getHtmlForCurrentAlias();
|
||||
$html .= Template::get('export/alias_add')->render();
|
||||
|
||||
$html .= '</div>';
|
||||
return $html;
|
||||
|
||||
54
templates/export/alias_add.phtml
Normal file
54
templates/export/alias_add.phtml
Normal file
@ -0,0 +1,54 @@
|
||||
<table>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4"><?= __('Define new aliases') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label><?= __('Select database:') ?></label>
|
||||
</td>
|
||||
<td>
|
||||
<select id="db_alias_select"><option value=""></option></select>
|
||||
</td>
|
||||
<td>
|
||||
<input id="db_alias_name" placeholder="<?= __('New database name') ?>" disabled="1" />
|
||||
</td>
|
||||
<td>
|
||||
<button id="db_alias_button" class="ui-button ui-corner-all ui-widget" disabled="1"><?= __('Add') ?></button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label><?= __('Select table:') ?></label>
|
||||
</td>
|
||||
<td>
|
||||
<select id="table_alias_select"><option value=""></option></select>
|
||||
</td>
|
||||
<td>
|
||||
<input id="table_alias_name" placeholder="<?= __('New table name') ?>" disabled="1" />
|
||||
</td>
|
||||
<td>
|
||||
<button id="table_alias_button" class="ui-button ui-corner-all ui-widget" disabled="1"><?= __('Add') ?></button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label><?= __('Select column:') ?></label>
|
||||
</td>
|
||||
<td>
|
||||
<select id="column_alias_select"><option value=""></option></select>
|
||||
</td>
|
||||
<td>
|
||||
<input id="column_alias_name" placeholder="<?= __('New column name') ?>" disabled="1" />
|
||||
</td>
|
||||
<td>
|
||||
<button id="column_alias_button" class="ui-button ui-corner-all ui-widget" disabled="1"><?= __('Add') ?></button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
10
templates/export/alias_item.phtml
Normal file
10
templates/export/alias_item.phtml
Normal file
@ -0,0 +1,10 @@
|
||||
<tr>
|
||||
<th><?= htmlspecialchars($type) ?></th>
|
||||
<td><?= htmlspecialchars($name) ?></td>
|
||||
<td>
|
||||
<input name="<?= htmlspecialchars($field) ?>" value="<?= htmlspecialchars($value) ?>" required="true" type="text" />
|
||||
</td>
|
||||
<td>
|
||||
<button class="alias_remove ui-button ui-corner-all ui-widget"><?= __('Remove') ?></button>
|
||||
</td>
|
||||
</tr>
|
||||
@ -235,10 +235,6 @@ class PMA_DisplayExport_Test extends PHPUnit_Framework_TestCase
|
||||
'New table name',
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
'test_column',
|
||||
$html
|
||||
);
|
||||
|
||||
//validate 6: PMA_getHtmlForExportOptionsOutput
|
||||
$this->assertContains(
|
||||
@ -297,35 +293,7 @@ class PMA_DisplayExport_Test extends PHPUnit_Framework_TestCase
|
||||
. 'Rename exported databases/tables/columns">',
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
'test\'_db',
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
'test_<b>table',
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
'col<2',
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
'co"l1',
|
||||
$html
|
||||
);
|
||||
$this->assertContains(
|
||||
'<hr/>',
|
||||
$html
|
||||
);
|
||||
|
||||
$name_attr = 'aliases[test\'_db][tables][test_<b>table][alias]';
|
||||
$id_attr = mb_substr(md5($name_attr), 0, 12);
|
||||
|
||||
$this->assertContains(
|
||||
'<input type="text" value="" name="' . $name_attr . '" '
|
||||
. 'id="' . $id_attr . '" placeholder="'
|
||||
. 'test_<b>table alias" class="" disabled="disabled"/>',
|
||||
$html
|
||||
);
|
||||
$this->assertContains('<button class="alias_remove', $html);
|
||||
}
|
||||
}
|
||||
|
||||
@ -259,7 +259,7 @@ button.mult_submit {
|
||||
|
||||
/* odd items 1,3,5,7,... */
|
||||
table tr:nth-child(odd) {
|
||||
background: <?php echo $GLOBALS['cfg']['BgOne']; ?>;
|
||||
background: <?php echo $GLOBALS['cfg']['BgOne']; ?>;
|
||||
}
|
||||
|
||||
/* even items 2,4,6,8,... */
|
||||
@ -2679,19 +2679,8 @@ table.show_create td {
|
||||
border-right: 1px solid #bbb;
|
||||
}
|
||||
|
||||
#alias_modal table th {
|
||||
vertical-align: middle;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
#alias_modal label.col-2 {
|
||||
min-width: 20%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#alias_modal select {
|
||||
width: 25%;
|
||||
margin-right: 2em;
|
||||
#alias_modal table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#alias_modal label {
|
||||
|
||||
@ -542,7 +542,7 @@ button.mult_submit {
|
||||
table tbody:first-of-type tr:nth-child(odd),
|
||||
table tbody:first-of-type tr:nth-child(odd) th {
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* even items 2,4,6,8,... */
|
||||
table tbody:first-of-type tr:nth-child(even),
|
||||
@ -2979,19 +2979,8 @@ table.show_create td {
|
||||
border-right: 1px solid #bbb;
|
||||
}
|
||||
|
||||
#alias_modal table th {
|
||||
vertical-align: middle;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
#alias_modal label.col-2 {
|
||||
min-width: 20%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#alias_modal select {
|
||||
width: 25%;
|
||||
margin-right: 2em;
|
||||
#alias_modal table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#alias_modal label {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user