Merge branch 'QA_4_7' into STABLE

This commit is contained in:
Isaac Bennetch 2017-12-23 09:38:40 -05:00
commit 42eb0bff01
56 changed files with 595 additions and 637 deletions

View File

@ -1,6 +1,12 @@
phpMyAdmin - ChangeLog
======================
4.7.7 (2017-12-23)
- issue #13865 Fixed displaying of formatted numeric values for some locales
- issue #13856 Ensure datetimepicker is always loaded for datetime fields
- issue #13848 Fixed PHP error when browsing certain results
- issue [security] Fix XSRF/CSRF vulnerability, see PMASA-2017-09
4.7.6 (2017-11-29)
- issue #13517 Fixed check all interaction with filtering
- issue #13803 Add SJIS-win to default list of allowed charsets

2
README
View File

@ -1,7 +1,7 @@
phpMyAdmin - Readme
===================
Version 4.7.6
Version 4.7.7
A web interface for MySQL and MariaDB.

View File

@ -39,7 +39,7 @@
"ext-pcre": "*",
"ext-json": "*",
"phpmyadmin/sql-parser": "^4.2.3",
"phpmyadmin/motranslator": "^3.0",
"phpmyadmin/motranslator": "^3.4",
"phpmyadmin/shapefile": "^2.0",
"tecnickcom/tcpdf": "^6.2",
"phpseclib/phpseclib": "^2.0",

View File

@ -51,7 +51,7 @@ copyright = u'2012 - 2017, The phpMyAdmin devel team'
# built documents.
#
# The short X.Y version.
version = '4.7.6'
version = '4.7.7'
# The full version, including alpha/beta/rc tags.
release = version

View File

@ -433,7 +433,8 @@ Since release 4.5, phpMyAdmin supports only PHP 5.5 and newer. Since release
4.1 phpMyAdmin supports only PHP 5.3 and newer. For PHP 5.2 you can use 4.0.x
releases.
PHP 7 is supported since phpMyAdmin 4.6, PHP 7.1 is supported since 4.6.5.
PHP 7 is supported since phpMyAdmin 4.6, PHP 7.1 is supported since 4.6.5,
PHP 7.2 is supported since 4.7.4.
phpMyAdmin also works fine with HHVM.

View File

@ -156,16 +156,12 @@ function PMA_addDatepicker($this_element, type, options)
}
}
};
if (type == "datetime" || type == "timestamp") {
$this_element.datetimepicker($.extend(defaultOptions, options));
}
else if (type == "date") {
$this_element.datetimepicker($.extend(defaultOptions, options));
}
else if (type == "time") {
if (type == "time") {
$this_element.timepicker($.extend(defaultOptions, options));
// Add a tip regarding entering MySQL allowed-values for TIME data-type
PMA_tooltip($this_element, 'input', PMA_messages.strMysqlAllowedValuesTipTime);
} else {
$this_element.datetimepicker($.extend(defaultOptions, options));
}
}

View File

@ -103,7 +103,7 @@ class Config
*/
public function checkSystem()
{
$this->set('PMA_VERSION', '4.7.6');
$this->set('PMA_VERSION', '4.7.7');
/**
* @deprecated
*/

View File

@ -3402,7 +3402,7 @@ class DisplayResults
$fields_cnt = $this->__get('fields_cnt');
foreach ($col_order as $value) {
if ($value >= $fields_cnt) {
$this->removeUiProp(Table::PROP_COLUMN_ORDER);
$pmatable->removeUiProp(Table::PROP_COLUMN_ORDER);
$fields_cnt = false;
}
}

View File

@ -223,6 +223,10 @@ class URL
$params['collation_connection'] = $GLOBALS['collation_connection'];
}
if (isset($_SESSION[' PMA_token '])) {
$params['token'] = $_SESSION[' PMA_token '];
}
$query = http_build_query($params, null, $separator);
if ($divider != '?' || strlen($query) > 0) {

View File

@ -1422,6 +1422,10 @@ class Util
7 => 'Z',
8 => 'Y'
);
/* l10n: Decimal separator */
$decimal_sep = __('.');
/* l10n: Thousands separator */
$thousands_sep = __(',');
// check for negative value to retain sign
if ($value < 0) {
@ -1459,24 +1463,20 @@ class Util
$formattedValue = number_format(
$value,
$digits_right,
/* l10n: Decimal separator */
__('.'),
/* l10n: Thousands separator */
__(',')
$decimal_sep,
$thousands_sep
);
// If we don't want any zeros, remove them now
if ($noTrailingZero && strpos($formattedValue, '.') !== false) {
$formattedValue = preg_replace('/\.?0+$/', '', $formattedValue);
if ($noTrailingZero && strpos($formattedValue, $decimal_sep) !== false) {
$formattedValue = preg_replace('/' . preg_quote($decimal_sep) . '?0+$/', '', $formattedValue);
}
if ($originalValue != 0 && floatval($value) == 0) {
return ' <' . number_format(
(1 / pow(10, $digits_right)),
$digits_right,
/* l10n: Decimal separator */
__('.'),
/* l10n: Thousands separator */
__(',')
$decimal_sep,
$thousands_sep
)
. ' ' . $unit;
}
@ -1822,6 +1822,7 @@ class Util
if (($url_length <= $GLOBALS['cfg']['LinkLengthLimit'])
&& $in_suhosin_limits
&& ! $force_button
&& strpos($url, 'sql_query=') === false
) {
$tag_params_strings = array();
foreach ($tag_params as $par_name => $par_value) {

View File

@ -361,31 +361,56 @@ if (PMA_checkPageValidity($_REQUEST['back'], $goto_whitelist)) {
* could access this variables before we reach this point
* f.e. PMA\libraries\Config: fontsize
*
* Check for token mismatch only if the Request method is POST
* GET Requests would never have token and therefore checking
* mis-match does not make sense
*
* @todo variables should be handled by their respective owners (objects)
* f.e. lang, server, collation_connection in PMA\libraries\Config
*/
$token_mismatch = true;
$token_provided = false;
if (PMA_isValid($_REQUEST['token'])) {
$token_provided = true;
$token_mismatch = ! hash_equals($_SESSION[' PMA_token '], $_REQUEST['token']);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (PMA_isValid($_POST['token'])) {
$token_provided = true;
$token_mismatch = ! @hash_equals($_SESSION[' PMA_token '], $_POST['token']);
}
if ($token_mismatch) {
/**
* We don't allow any POST operation parameters if the token is mismatched
* or is not provided
if ($token_mismatch) {
/**
* List of parameters which are allowed from unsafe source
*/
$allow_list = array(
/* needed for direct access, see FAQ 1.34
* also, server needed for cookie login screen (multi-server)
*/
$whitelist = array('ajax_request');
PMA\libraries\Sanitize::removeRequestVars($whitelist);
'server', 'db', 'table', 'target', 'lang',
/* Session ID */
'phpMyAdmin',
/* Cookie preferences */
'pma_lang', 'pma_collation_connection',
/* Possible login form */
'pma_servername', 'pma_username', 'pma_password',
'g-recaptcha-response',
/* Needed to send the correct reply */
'ajax_request',
/* Permit to log out even if there is a token mismatch */
'old_usr',
/* Permit redirection with token-mismatch in url.php */
'url',
/* Permit session expiry flag */
'session_expired',
/* JS loading */
'scripts', 'call_done',
/* Navigation panel */
'aPath', 'vPath', 'pos', 'pos2_name', 'pos2_value', 'searchClause', 'searchClause2'
);
/**
* Allow changing themes in test/theme.php
*/
if (defined('PMA_TEST_THEME')) {
$allow_list[] = 'set_theme';
}
/**
* Do actual cleanup
*/
PMA\libraries\Sanitize::removeRequestVars($allow_list);
}

View File

@ -1264,6 +1264,7 @@ class NavigationTree
);
$children = $this->_tree->children;
$url_params = array(
'token' => $_SESSION[' PMA_token '],
'server' => $GLOBALS['server'],
);
$retval .= '<div id="pma_navigation_db_select">';

View File

@ -31,10 +31,12 @@ class NodeColumn extends Node
$this->links = array(
'text' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;table=%2$s&amp;field=%1$s'
. '&amp;change_column=1',
. '&amp;change_column=1'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;table=%2$s&amp;field=%1$s'
. '&amp;change_column=1',
. '&amp;change_column=1'
. '&amp;token=' . $_SESSION[' PMA_token '],
'title' => __('Structure'),
);
}

View File

@ -27,9 +27,11 @@ class NodeColumnContainer extends Node
$this->icon = Util::getImage('pause.png', __('Columns'));
$this->links = array(
'text' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->real_name = 'columns';
@ -43,10 +45,12 @@ class NodeColumnContainer extends Node
$new->links = array(
'text' => 'tbl_addfield.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;table=%2$s'
. '&amp;field_where=last&after_field=',
. '&amp;field_where=last&after_field='
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_addfield.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;table=%2$s'
. '&amp;field_where=last&after_field=',
. '&amp;field_where=last&after_field='
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$new->classes = 'new_column italics';
$this->addChild($new);

View File

@ -47,9 +47,9 @@ class NodeDatabase extends Node
$this->links = array(
'text' => $script_name
. '?server=' . $GLOBALS['server']
. '&amp;db=%1$s',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_operations.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token '],
'title' => __('Structure'),
);
$this->classes = 'database';

View File

@ -38,8 +38,10 @@ class NodeDatabaseContainer extends Node
$new->isNew = true;
$new->icon = PMA\libraries\Util::getImage('b_newdb.png', '');
$new->links = array(
'text' => 'server_databases.php?server=' . $GLOBALS['server'],
'icon' => 'server_databases.php?server=' . $GLOBALS['server'],
'text' => 'server_databases.php?server=' . $GLOBALS['server']
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'server_databases.php?server=' . $GLOBALS['server']
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$new->classes = 'new_database italics';
$this->addChild($new);

View File

@ -30,9 +30,11 @@ class NodeEvent extends NodeDatabaseChild
$this->icon = PMA\libraries\Util::getImage('b_events.png');
$this->links = array(
'text' => 'db_events.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;item_name=%1$s&amp;edit_item=1',
. '&amp;db=%2$s&amp;item_name=%1$s&amp;edit_item=1'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_events.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;item_name=%1$s&amp;export_item=1',
. '&amp;db=%2$s&amp;item_name=%1$s&amp;export_item=1'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'event';
}

View File

@ -26,9 +26,9 @@ class NodeEventContainer extends NodeDatabaseChildContainer
$this->icon = PMA\libraries\Util::getImage('b_events.png', '');
$this->links = array(
'text' => 'db_events.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_events.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token '],
);
$this->real_name = 'events';
@ -40,9 +40,11 @@ class NodeEventContainer extends NodeDatabaseChildContainer
$new->icon = PMA\libraries\Util::getImage('b_event_add.png', '');
$new->links = array(
'text' => 'db_events.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&add_item=1',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1',
'icon' => 'db_events.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&add_item=1',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1',
);
$new->classes = 'new_event italics';
$this->addChild($new);

View File

@ -31,10 +31,10 @@ class NodeFunction extends NodeDatabaseChild
$this->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;item_name=%1$s&amp;item_type=FUNCTION'
. '&amp;edit_item=1',
. '&amp;edit_item=1&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;item_name=%1$s&amp;item_type=FUNCTION'
. '&amp;execute_dialog=1',
. '&amp;execute_dialog=1&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'function';
}

View File

@ -29,9 +29,11 @@ class NodeFunctionContainer extends NodeDatabaseChildContainer
);
$this->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;type=FUNCTION',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;type=FUNCTION',
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;type=FUNCTION',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;type=FUNCTION',
);
$this->real_name = 'functions';
@ -44,9 +46,11 @@ class NodeFunctionContainer extends NodeDatabaseChildContainer
$new->icon = PMA\libraries\Util::getImage('b_routine_add.png', $new_label);
$new->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&add_item=1&amp;item_type=FUNCTION',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1&amp;item_type=FUNCTION',
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&add_item=1&amp;item_type=FUNCTION',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1&amp;item_type=FUNCTION',
);
$new->classes = 'new_function italics';
$this->addChild($new);

View File

@ -30,9 +30,11 @@ class NodeIndex extends Node
$this->icon = PMA\libraries\Util::getImage('b_index.png', __('Index'));
$this->links = array(
'text' => 'tbl_indexes.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;table=%2$s&amp;index=%1$s',
. '&amp;db=%3$s&amp;table=%2$s&amp;index=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_indexes.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;table=%2$s&amp;index=%1$s',
. '&amp;db=%3$s&amp;table=%2$s&amp;index=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'index';
}

View File

@ -26,9 +26,11 @@ class NodeIndexContainer extends Node
$this->icon = PMA\libraries\Util::getImage('b_index.png', __('Indexes'));
$this->links = array(
'text' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->real_name = 'indexes';
@ -42,10 +44,12 @@ class NodeIndexContainer extends Node
$new->links = array(
'text' => 'tbl_indexes.php?server=' . $GLOBALS['server']
. '&amp;create_index=1&amp;added_fields=2'
. '&amp;db=%3$s&amp;table=%2$s',
. '&amp;db=%3$s&amp;table=%2$s&amp;token='
. $_SESSION[' PMA_token '],
'icon' => 'tbl_indexes.php?server=' . $GLOBALS['server']
. '&amp;create_index=1&amp;added_fields=2'
. '&amp;db=%3$s&amp;table=%2$s',
. '&amp;db=%3$s&amp;table=%2$s&amp;token='
. $_SESSION[' PMA_token '],
);
$new->classes = 'new_index italics';
$this->addChild($new);

View File

@ -34,10 +34,10 @@ class NodeProcedure extends NodeDatabaseChild
$this->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;item_name=%1$s&amp;item_type=PROCEDURE'
. '&amp;edit_item=1',
. '&amp;edit_item=1&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;item_name=%1$s&amp;item_type=PROCEDURE'
. '&amp;execute_dialog=1',
. '&amp;execute_dialog=1&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'procedure';
}

View File

@ -29,9 +29,11 @@ class NodeProcedureContainer extends NodeDatabaseChildContainer
);
$this->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;type=PROCEDURE',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;type=PROCEDURE',
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;type=PROCEDURE',
. '&amp;db=%1$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;type=PROCEDURE',
);
$this->real_name = 'procedures';
@ -44,9 +46,11 @@ class NodeProcedureContainer extends NodeDatabaseChildContainer
$new->icon = PMA\libraries\Util::getImage('b_routine_add.png', $new_label);
$new->links = array(
'text' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&add_item=1',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1',
'icon' => 'db_routines.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&add_item=1',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token ']
. '&add_item=1',
);
$new->classes = 'new_procedure italics';
$this->addChild($new);

View File

@ -53,20 +53,22 @@ class NodeTable extends NodeDatabaseChild
'text' => $script_name
. '?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s'
. '&amp;pos=0',
. '&amp;pos=0&amp;token=' . $_SESSION[' PMA_token '],
'icon' => array(
Util::getScriptNameForOption(
$GLOBALS['cfg']['NavigationTreeDefaultTabTable'],
'table'
)
. '?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s&amp;token='
. $_SESSION[' PMA_token '],
Util::getScriptNameForOption(
$GLOBALS['cfg']['NavigationTreeDefaultTabTable2'],
'table'
)
. '?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s&amp;token='
. $_SESSION[' PMA_token '],
),
'title' => $this->title,
);

View File

@ -26,9 +26,11 @@ class NodeTableContainer extends NodeDatabaseChildContainer
$this->icon = PMA\libraries\Util::getImage('b_browse.png', __('Tables'));
$this->links = array(
'text' => 'db_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;tbl_type=table',
. '&amp;db=%1$s&amp;tbl_type=table'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;tbl_type=table',
. '&amp;db=%1$s&amp;tbl_type=table'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->real_name = 'tables';
$this->classes = 'tableContainer subContainer';
@ -42,9 +44,9 @@ class NodeTableContainer extends NodeDatabaseChildContainer
$new->icon = PMA\libraries\Util::getImage('b_table_add.png', $new_label);
$new->links = array(
'text' => 'tbl_create.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_create.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token '],
);
$new->classes = 'new_table italics';
$this->addChild($new);

View File

@ -30,9 +30,11 @@ class NodeTrigger extends Node
$this->icon = PMA\libraries\Util::getImage('b_triggers.png');
$this->links = array(
'text' => 'db_triggers.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;item_name=%1$s&amp;edit_item=1',
. '&amp;db=%3$s&amp;item_name=%1$s&amp;edit_item=1'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_triggers.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;item_name=%1$s&amp;export_item=1',
. '&amp;db=%3$s&amp;item_name=%1$s&amp;export_item=1'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'trigger';
}

View File

@ -26,9 +26,11 @@ class NodeTriggerContainer extends Node
$this->icon = PMA\libraries\Util::getImage('b_triggers.png');
$this->links = array(
'text' => 'db_triggers.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s&amp;token='
. $_SESSION[' PMA_token '],
'icon' => 'db_triggers.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s&amp;token='
. $_SESSION[' PMA_token '],
);
$this->real_name = 'triggers';
@ -40,9 +42,11 @@ class NodeTriggerContainer extends Node
$new->icon = PMA\libraries\Util::getImage('b_trigger_add.png', '');
$new->links = array(
'text' => 'db_triggers.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;add_item=1',
. '&amp;db=%3$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;add_item=1',
'icon' => 'db_triggers.php?server=' . $GLOBALS['server']
. '&amp;db=%3$s&amp;add_item=1',
. '&amp;db=%3$s&amp;token=' . $_SESSION[' PMA_token ']
. '&amp;add_item=1',
);
$new->classes = 'new_trigger italics';
$this->addChild($new);

View File

@ -30,9 +30,11 @@ class NodeView extends NodeDatabaseChild
$this->icon = PMA\libraries\Util::getImage('b_props.png', __('View'));
$this->links = array(
'text' => 'sql.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s&amp;pos=0',
. '&amp;db=%2$s&amp;table=%1$s&amp;pos=0'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'tbl_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s&amp;table=%1$s',
. '&amp;db=%2$s&amp;table=%1$s'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'view';
}

View File

@ -26,9 +26,11 @@ class NodeViewContainer extends NodeDatabaseChildContainer
$this->icon = PMA\libraries\Util::getImage('b_views.png', __('Views'));
$this->links = array(
'text' => 'db_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;tbl_type=view',
. '&amp;db=%1$s&amp;tbl_type=view'
. '&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'db_structure.php?server=' . $GLOBALS['server']
. '&amp;db=%1$s&amp;tbl_type=view',
. '&amp;db=%1$s&amp;tbl_type=view'
. '&amp;token=' . $_SESSION[' PMA_token '],
);
$this->classes = 'viewContainer subContainer';
$this->real_name = 'views';
@ -42,9 +44,9 @@ class NodeViewContainer extends NodeDatabaseChildContainer
$new->icon = PMA\libraries\Util::getImage('b_view_add.png', $new_label);
$new->links = array(
'text' => 'view_create.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token '],
'icon' => 'view_create.php?server=' . $GLOBALS['server']
. '&amp;db=%2$s',
. '&amp;db=%2$s&amp;token=' . $_SESSION[' PMA_token '],
);
$new->classes = 'new_view italics';
$this->addChild($new);

View File

@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-11-26 11:44+0000\n"
"Last-Translator: Aref Ben Lazrek <aref480@gmail.com>\n"
"PO-Revision-Date: 2017-12-16 12:04+0000\n"
"Last-Translator: Waleed Abdeen <waleed.totti@gmail.com>\n"
"Language-Team: Arabic "
"<https://hosted.weblate.org/projects/phpmyadmin/4-7/ar/>\n"
"Language: ar\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 2.18-dev\n"
"X-Generator: Weblate 2.18\n"
#: ajax.php:16 ajax.php:33 export.php:192 schema_export.php:64
msgid "Bad type!"
@ -557,12 +557,12 @@ msgstr "تم إنشاء العلامة المرجعية %s."
#, php-format
msgid "Import has been successfully finished, %d query executed."
msgid_plural "Import has been successfully finished, %d queries executed."
msgstr[0] "الإستيراد إنتهى بنجاح , %d إستعلام تم تنفيذه."
msgstr[1] "الإستيراد إنتهى بنجاح , %d إستعلام تم تنفيذه."
msgstr[2] "الإستيراد إنتهى بنجاح , %d إستعلام تم تنفيذه."
msgstr[3] "الإستيراد إنتهى بنجاح , %d إستعلام تم تنفيذه."
msgstr[4] "الإستيراد إنتهى بنجاح , %d إستعلام تم تنفيذه."
msgstr[5] "الإستيراد إنتهى بنجاح , %d إستعلام تم تنفيذه."
msgstr[0] "انتهى الإستيراد بنجاح، %d استعلام تم تنفيذه."
msgstr[1] "انتهى الإستيراد بنجاح، %d استعلام تم تنفيذه."
msgstr[2] "انتهى الإستيراد بنجاح، %d استعلام تم تنفيذه."
msgstr[3] "انتهى الإستيراد بنجاح، %d استعلام تم تنفيذه."
msgstr[4] "انتهى الإستيراد بنجاح، %d استعلام تم تنفيذه."
msgstr[5] "انتهى الإستيراد بنجاح، %d استعلام تم تنفيذه."
#: import.php:612
#, php-format
@ -629,7 +629,7 @@ msgstr "تغيير كلمة السر"
#: index.php:221
msgid "Server connection collation"
msgstr "إعدادات الأتصال بالخادم"
msgstr "إعدادات الاتصال بالخادم"
#: index.php:242
msgid "Appearance settings"
@ -1963,6 +1963,8 @@ msgid ""
"Note: a, b -> d,f implies values of columns a and b combined together can "
"determine values of column d and column f."
msgstr ""
"ملاحظة: a,b -> d,f تدل على أن قيم الأعمدة a و b مجتمعة يمكن أن تحدد قيم "
"العمود d و العمود f."
#: js/messages.php:458
msgid "No partial dependencies selected!"
@ -2277,11 +2279,15 @@ msgid "Click to sort results by this column."
msgstr "انقر لترتيب النتائج حسب هذا العمود."
#: js/messages.php:590
#, fuzzy
msgid ""
"Shift+Click to add this column to ORDER BY clause or to toggle ASC/DESC.<br /"
">- Ctrl+Click or Alt+Click (Mac: Shift+Option+Click) to remove column from "
"ORDER BY clause"
msgstr ""
"Shift+انقر للإضافة هذا العمود الى بند ORDER BY أو للتبديل بين ASC/DESC. <br "
"/> - Ctrl+Click أو Alt+انقر (Mac: Shift+Option+Click) لإزالة عمود من بند "
"ORDER BY"
#: js/messages.php:594
msgid "Click to mark/unmark."
@ -2471,6 +2477,8 @@ msgid ""
"Warning: a form on this page has more than %d fields. On submission, some of "
"the fields might be ignored, due to PHP's max_input_vars configuration."
msgstr ""
"تحذير: يحتوي النموذج الموجود في هذه الصفحة على أكثر من %d من الحقول. عند "
"الإرسال، قد يتم تجاهل بعض الحقول، وذلك بسبب تكوين ترتيب PHP max_input_vars ."
#: js/messages.php:695 js/messages.php:708
msgid "Some errors have been detected on the server!"
@ -2952,10 +2960,9 @@ msgid "Unexpected characters on line %s."
msgstr "أحرف غير متوقعة على السطر %s."
#: libraries/Advisor.php:570
#, fuzzy, php-format
#| msgid "Unexpected characters on line %s."
#, php-format
msgid "Unexpected character on line %1$s. Expected tab, but found \"%2$s\"."
msgstr "أحرف غير متوقعة على السطر %s"
msgstr "حرف غير متوقع على السطر %1$s. متوقع tab ، ولكن \"%2$s\" وجد."
#: libraries/Charsets.php:160
#: templates/database/structure/table_header.phtml:84
@ -2977,9 +2984,6 @@ msgid "Collation"
msgstr ""
#: libraries/Charsets.php:244
#, fuzzy
#| msgctxt "Collation"
#| msgid "Unknown"
msgid "Unknown"
msgstr "غير معروف"
@ -3103,7 +3107,7 @@ msgstr "البلغارية"
#: libraries/Charsets.php:374
msgctxt "Collation"
msgid "Chinese"
msgstr ""
msgstr "الصينية"
#: libraries/Charsets.php:379
msgctxt "Collation"
@ -3143,7 +3147,7 @@ msgstr "الألمانية (ترتيب القاموس)"
#: libraries/Charsets.php:405 libraries/Charsets.php:516
msgctxt "Collation"
msgid "German (phone book order)"
msgstr ""
msgstr "الألمانية (ترتيب دفتر الهاتف)"
#: libraries/Charsets.php:414
msgctxt "Collation"
@ -3173,7 +3177,7 @@ msgstr "الليتوانية"
#: libraries/Charsets.php:441
msgctxt "Collation"
msgid "Burmese"
msgstr ""
msgstr "البورمية"
#: libraries/Charsets.php:444
msgctxt "Collation"
@ -3421,11 +3425,11 @@ msgstr "تعديل :"
#: libraries/DbQbe.php:969
msgid "Ins:"
msgstr ""
msgstr "إدخال:"
#: libraries/DbQbe.php:984
msgid "Del:"
msgstr ""
msgstr "حذف:"
#: libraries/DbQbe.php:1847
#, php-format
@ -3670,10 +3674,8 @@ msgid "Kill"
msgstr "حذف"
#: libraries/DisplayResults.php:4290
#, fuzzy
#| msgid "May be approximate. See [doc@faq3-11]FAQ 3.11[/doc]"
msgid "May be approximate. See [doc@faq3-11]FAQ 3.11[/doc]."
msgstr "ممكن أن يكون تقريبي. أنظر إلى [doc@faq3-11]الأسئلة المتكررة 3.11[/doc]"
msgstr "ممكن أن يكون تقريبي. أنظر إلى [doc@faq3-11]الأسئلة المتكررة 3.11[/doc]."
#: libraries/DisplayResults.php:4363 libraries/Message.php:171
#: libraries/controllers/table/TableRelationController.php:242
@ -3711,7 +3713,7 @@ msgstr "المجموع %d"
#: libraries/DisplayResults.php:4755 libraries/sql.lib.php:1383
#, php-format
msgid "Query took %01.4f seconds."
msgstr "استغرق الاستعلام %01.4f ثانية"
msgstr "استغرق الاستعلام %01.4f ثانية."
#: libraries/DisplayResults.php:4857 libraries/DisplayResults.php:4864
#: libraries/mult_submits.inc.php:53
@ -3843,11 +3845,11 @@ msgstr "انت تحاول رفع ملف بصيغة ضغط غير معروفة (%
#: libraries/Footer.php:73
#, php-format
msgid "Currently running Git revision %1$s from the %2$s branch."
msgstr ""
msgstr "قيد التشغيل Git مراجعة %1$s من الفرع ال %2$s."
#: libraries/Footer.php:80
msgid "Git information missing!"
msgstr ""
msgstr "معلومات Git مفقودة!"
#: libraries/Footer.php:195 libraries/Footer.php:199 libraries/Footer.php:202
msgid "Open new phpMyAdmin window"
@ -3976,7 +3978,7 @@ msgstr "تم تعطيل ميزة Linting لهذا الاستعلام لأنه ي
#: libraries/Linter.php:165
#, php-format
msgid "%1$s (near <code>%2$s</code>)"
msgstr ""
msgstr "%1$s (بالقرب من <code>%2$s</code>)"
#: libraries/Menu.php:208 libraries/ServerStatusData.php:425
#: libraries/config/messages.inc.php:917
@ -4210,7 +4212,7 @@ msgstr "تعذر حفظ الجدول المفضل!"
#: libraries/RecentFavoriteTable.php:209
#: templates/database/structure/favorite_anchor.phtml:12
msgid "Remove from Favorites"
msgstr "Remove from Favorites"
msgstr "إزالة من المفضلة"
#: libraries/RecentFavoriteTable.php:231
msgid "There are no recent tables."
@ -4344,7 +4346,7 @@ msgstr "جميع متغيرات الحالة"
#: libraries/ServerStatusData.php:441
msgid "Monitor"
msgstr ""
msgstr "مراقبة"
#: libraries/ServerStatusData.php:445
msgid "Advisor"
@ -4356,7 +4358,7 @@ msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d ثانية"
msgstr[1] "%d ثانية"
msgstr[2] "%d ثانية"
msgstr[2] "%d ثانيتين"
msgstr[3] "%d ثواني"
msgstr[4] "%d ثانية"
msgstr[5] "%d ثانية"
@ -4421,10 +4423,9 @@ msgid "Invalid table name:"
msgstr "اسم الجدول غير صالح :"
#: libraries/Table.php:1369
#, fuzzy, php-format
#| msgid "Error renaming table %1$s to %2$s"
#, php-format
msgid "Failed to rename table %1$s to %2$s!"
msgstr "خطأ في إعادة تسمية الجدول %1$s إلى %2$s"
msgstr "فشل في إعادة تسمية الجدول %1$s إلى %2$s!"
#: libraries/Table.php:1388
#, php-format
@ -5230,7 +5231,7 @@ msgstr "قيمة غير صحيحة!"
#: libraries/config/FormDisplay.php:103 libraries/config/Validator.php:579
#, php-format
msgid "Value must be equal or lower than %s!"
msgstr "القيمة يجب أن تساوي أو أقل من %s"
msgstr "القيمة يجب أن تساوي أو أقل من %s!"
#: libraries/config/FormDisplay.php:619
#, php-format
@ -5616,7 +5617,7 @@ msgstr "ملف التكوين"
msgid ""
"Whether a warning (\"Are your really sure…\") should be displayed when "
"you're about to lose data."
msgstr "التحذير (\" هل أنت متأكد \" ) يظهر عندما تكون على وشك فقدان بيانات"
msgstr "التحذير (\" هل أنت متأكد \" ) يظهر عندما تكون على وشك فقدان بيانات."
#: libraries/config/messages.inc.php:95
msgid "Confirm DROP queries"
@ -6114,7 +6115,7 @@ msgstr "خيارات عرض الجداول."
#: libraries/config/messages.inc.php:275 setup/frames/menu.inc.php:25
msgid "Main panel"
msgstr "الإطار الرئيسي."
msgstr "الإطار الرئيسي"
#: libraries/config/messages.inc.php:276
msgid "Microsoft Office"
@ -6148,7 +6149,7 @@ msgid ""
"limit MySQL."
msgstr ""
"فضلاً , تذكر أن phpMyAdmin هي واجهه إستخدام فقط وميزاتها لا يمكن أن تتجاوز "
"حدود MySQL"
"حدود MySQL."
#: libraries/config/messages.inc.php:294
msgid "Basic settings"
@ -6573,7 +6574,7 @@ msgstr ""
#: libraries/config/messages.inc.php:474
msgid "Show logo in navigation panel."
msgstr "عرض تنقل قواعد البيانات على شكل شجرة"
msgstr "عرض تنقل قواعد البيانات على شكل شجرة."
#: libraries/config/messages.inc.php:475
msgid "Display logo"
@ -8012,7 +8013,7 @@ msgstr[5] ""
#: libraries/controllers/table/TableStructureController.php:250
msgid "No column selected."
msgstr "لايوجد صفوف مختارة"
msgstr "لايوجد صفوف مختارة."
#: libraries/controllers/table/TableStructureController.php:465
msgid "The columns have been moved successfully."
@ -9142,7 +9143,7 @@ msgstr ""
#: libraries/navigation/nodes/NodeColumnContainer.php:27
#: libraries/sql_query_form.lib.php:268
msgid "Columns"
msgstr "اعمدة :"
msgstr "أعمدة"
#: libraries/navigation/nodes/NodeColumnContainer.php:36
msgctxt "Create new column"
@ -9151,7 +9152,7 @@ msgstr ""
#: libraries/navigation/nodes/NodeDatabase.php:40
msgid "Database operations"
msgstr "عمليات قاعدة البيانات :"
msgstr "عمليات قاعدة البيانات"
#: libraries/navigation/nodes/NodeDatabase.php:684
#, fuzzy
@ -17019,11 +17020,11 @@ msgstr ""
#: libraries/advisory_rules.txt:441
msgid "MyISAM concurrent inserts"
msgstr ""
msgstr "MyISAM ادخالات متزامنة"
#: libraries/advisory_rules.txt:444
msgid "Enable {concurrent_insert} by setting it to 1"
msgstr ""
msgstr "مكّن {concurrent_insert} من خلال تعيينه الى 1"
#: libraries/advisory_rules.txt:445
msgid ""
@ -17034,7 +17035,7 @@ msgstr ""
#: libraries/advisory_rules.txt:446
msgid "concurrent_insert is set to 0"
msgstr ""
msgstr "تم تعيين concurrent_insert الى 0"
#, fuzzy
#~| msgid "unknown"

372
po/ca.po

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-10-19 08:45+0000\n"
"PO-Revision-Date: 2017-12-08 22:45+0000\n"
"Last-Translator: David Kindl <mtwango@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/phpmyadmin/4-7/cs/"
">\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 2.17\n"
"X-Generator: Weblate 2.18-dev\n"
#: ajax.php:16 ajax.php:33 export.php:192 schema_export.php:64
msgid "Bad type!"
@ -1526,11 +1526,9 @@ msgid "Table"
msgstr "Tabulka"
#: js/messages.php:300 libraries/display_export.lib.php:926
#, fuzzy
#| msgid "Column"
msgctxt "Alias"
msgid "Column"
msgstr "Pole"
msgstr "Sloupec"
#. l10n: A collection of available filters
#: js/messages.php:303
@ -10547,6 +10545,8 @@ msgstr "MIME"
msgid ""
"Update data when duplicate keys found on import (add ON DUPLICATE KEY UPDATE)"
msgstr ""
"Aktualizovat data při nalezení duplicitních klíčů při importu (přidat ON "
"DUPLICATE KEY UPDATE)"
#: libraries/plugins/import/ImportCsv.php:61
#: libraries/plugins/import/ImportOds.php:63
@ -10857,7 +10857,7 @@ msgstr ""
#: libraries/plugins/transformations/abs/ImageUploadTransformationsPlugin.php:87
msgid "Image preview here"
msgstr ""
msgstr "Náhled obrázku zde"
#: libraries/plugins/transformations/abs/InlineTransformationsPlugin.php:35
msgid ""

View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-11-29 00:03+0000\n"
"PO-Revision-Date: 2017-11-30 23:46+0000\n"
"Last-Translator: Dr. Nagy Elemér Károly <eknagy@omikk.bme.hu>\n"
"Language-Team: Hungarian "
"<https://hosted.weblate.org/projects/phpmyadmin/4-7/hu/>\n"
@ -3128,22 +3128,16 @@ msgid "Czech-Slovak"
msgstr "Csehszlovák"
#: libraries/Charsets.php:341 libraries/Charsets.php:492
#, fuzzy
#| msgid "Ukrainian"
msgctxt "Collation"
msgid "Ukrainian"
msgstr "Ukrán"
#: libraries/Charsets.php:344 libraries/Charsets.php:488
#, fuzzy
#| msgid "Turkish"
msgctxt "Collation"
msgid "Turkish"
msgstr "Török"
#: libraries/Charsets.php:347 libraries/Charsets.php:480
#, fuzzy
#| msgid "Swedish"
msgctxt "Collation"
msgid "Swedish"
msgstr "Svéd"
@ -3159,8 +3153,6 @@ msgid "Unknown"
msgstr "Ismeretlen"
#: libraries/Charsets.php:369
#, fuzzy
#| msgid "Bulgarian"
msgctxt "Collation"
msgid "Bulgarian"
msgstr "Bolgár"
@ -3171,43 +3163,31 @@ msgid "Chinese"
msgstr "Kínai"
#: libraries/Charsets.php:379
#, fuzzy
#| msgid "Croatian"
msgctxt "Collation"
msgid "Croatian"
msgstr "Horvát"
#: libraries/Charsets.php:383
#, fuzzy
#| msgid "Czech"
msgctxt "Collation"
msgid "Czech"
msgstr "Cseh"
#: libraries/Charsets.php:387
#, fuzzy
#| msgid "Danish"
msgctxt "Collation"
msgid "Danish"
msgstr "Dán"
#: libraries/Charsets.php:391
#, fuzzy
#| msgid "English"
msgctxt "Collation"
msgid "English"
msgstr "Angol"
#: libraries/Charsets.php:395
#, fuzzy
#| msgid "Esperanto"
msgctxt "Collation"
msgid "Esperanto"
msgstr "Eszperantó"
#: libraries/Charsets.php:399
#, fuzzy
#| msgid "Estonian"
msgctxt "Collation"
msgid "Estonian"
msgstr "Észt"
@ -3223,15 +3203,11 @@ msgid "German (phone book order)"
msgstr "Német (telefonkönyv sorrend)"
#: libraries/Charsets.php:414
#, fuzzy
#| msgid "Hungarian"
msgctxt "Collation"
msgid "Hungarian"
msgstr "Magyar"
#: libraries/Charsets.php:418
#, fuzzy
#| msgid "Icelandic"
msgctxt "Collation"
msgid "Icelandic"
msgstr "Izlandi"
@ -3242,64 +3218,46 @@ msgid "Classical Latin"
msgstr "Klasszikus latin"
#: libraries/Charsets.php:429
#, fuzzy
#| msgid "Latvian"
msgctxt "Collation"
msgid "Latvian"
msgstr "Lett"
#: libraries/Charsets.php:433
#, fuzzy
#| msgid "Lithuanian"
msgctxt "Collation"
msgid "Lithuanian"
msgstr "Litván"
#: libraries/Charsets.php:441
#, fuzzy
#| msgid "Burmese"
msgctxt "Collation"
msgid "Burmese"
msgstr "Burmai"
#: libraries/Charsets.php:444
#, fuzzy
#| msgid "Persian"
msgctxt "Collation"
msgid "Persian"
msgstr "Perzsa"
#: libraries/Charsets.php:448
#, fuzzy
#| msgid "Polish"
msgctxt "Collation"
msgid "Polish"
msgstr "Lengyel"
#: libraries/Charsets.php:455
#, fuzzy
#| msgid "Romanian"
msgctxt "Collation"
msgid "Romanian"
msgstr "Román"
#: libraries/Charsets.php:459
#, fuzzy
#| msgid "Sinhalese"
msgctxt "Collation"
msgid "Sinhalese"
msgstr "Szingaléz"
#: libraries/Charsets.php:463
#, fuzzy
#| msgid "Slovak"
msgctxt "Collation"
msgid "Slovak"
msgstr "Szlovák"
#: libraries/Charsets.php:467
#, fuzzy
#| msgid "Slovenian"
msgctxt "Collation"
msgid "Slovenian"
msgstr "Szlovén"
@ -3320,15 +3278,11 @@ msgid "Vietnamese"
msgstr "Vietnámi"
#: libraries/Charsets.php:563
#, fuzzy
#| msgid "case-insensitive"
msgctxt "Collation variant"
msgid "case-insensitive"
msgstr "a kis- és nagybetű nem különbözik"
#: libraries/Charsets.php:566
#, fuzzy
#| msgid "case-sensitive"
msgctxt "Collation variant"
msgid "case-sensitive"
msgstr "a kis- és nagybetű különbözik"

View File

@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-11-29 00:03+0000\n"
"Last-Translator: Han Velthuis <han.velthuis@home.nl>\n"
"PO-Revision-Date: 2017-12-01 03:24+0000\n"
"Last-Translator: dingo thirteen <dingo13@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/phpmyadmin/4-7/nl/>"
"\n"
"Language: nl\n"
@ -4274,7 +4274,7 @@ msgstr "Recente tabellen"
#: libraries/RecentFavoriteTable.php:249
msgid "Recent"
msgstr "Recent"
msgstr "Recentelijk"
#: libraries/RecentFavoriteTable.php:251 libraries/config/messages.inc.php:539
msgid "Favorite tables"

View File

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-11-27 07:59+0000\n"
"PO-Revision-Date: 2017-12-02 20:48+0000\n"
"Last-Translator: Kozioł Marcin <koziol.martin@gmail.com>\n"
"Language-Team: Polish "
"<https://hosted.weblate.org/projects/phpmyadmin/4-7/pl/>\n"
@ -1830,7 +1830,8 @@ msgstr "Eksport"
#: js/messages.php:403
msgid "No routine is exportable. Required privileges may be lacking."
msgstr ""
"Nie można wyeksportować żadnej procedury. Może brakować wymaganych uprawnień."
"Nie można eksportować żadnej procedury. Wymagane uprawnienia mogą być "
"niewystarczające."
#: js/messages.php:406 libraries/rte/rte_routines.lib.php:747
msgid "ENUM/SET editor"
@ -1941,15 +1942,15 @@ msgstr "Zobacz więcej"
#: js/messages.php:436
msgid "Are you sure?"
msgstr "Czy jesteś pewien?"
msgstr "Jesteś pewny?"
#: js/messages.php:438
msgid ""
"This action may change some of the columns definition.<br/>Are you sure you "
"want to continue?"
msgstr ""
"To działanie może zmienić część definicji kolumn.<br/>Czy jesteś pewien, że "
"chcesz kontynuować?"
"Ta akcja może zmienić niektóre definicje kolumn. <br/>Czy na pewno chcesz "
"kontynuować?"
#: js/messages.php:441
msgid "Continue"
@ -2034,7 +2035,7 @@ msgstr "Zostaną wykonane następujące działania:"
#: js/messages.php:470
#, php-format
msgid "DROP columns %s from the table %s"
msgstr "USUŃ kolumny %s z tabeli %s"
msgstr "DROP kolumny %s z tabeli %s"
#: js/messages.php:471
msgid "Create the following table"
@ -2042,7 +2043,7 @@ msgstr "Utwórz tabelę"
#: js/messages.php:474
msgid "Third step of normalization (3NF)"
msgstr "Trzeci krok normalizacji (3NF)"
msgstr "Trzeci krok normalizacji (3KN)"
#: js/messages.php:475
msgid "Confirm transitive dependencies"
@ -2076,11 +2077,11 @@ msgstr "Pokaż kryteria wyszukiwania"
#: js/messages.php:485
msgid "Range search"
msgstr "Wyszukiwanie zakresu"
msgstr "Zakres wyszukiwania"
#: js/messages.php:486
msgid "Column maximum:"
msgstr "Maksymalna kolumna:"
msgstr "Maksimum kolumny:"
#: js/messages.php:487
msgid "Column minimum:"
@ -5013,8 +5014,7 @@ msgstr "Użyj tej wartości"
msgid ""
"The configuration storage is not ready for the central list of columns "
"feature."
msgstr ""
"Konfiguracja magazynu nie jest gotowa na centralną listę funkcji kolumn."
msgstr "Pamięć konfiguracji nie jest gotowa na centralną listę funkcji kolumn."
#: libraries/central_columns.lib.php:282
#, php-format
@ -10187,7 +10187,7 @@ msgstr "Kolumny dołączyć:"
#: libraries/plugins/export/ExportCsv.php:72
#: libraries/plugins/import/AbstractImportCsv.php:71
msgid "Columns escaped with:"
msgstr "Kolumny uciekają z:"
msgstr "Kolumny uciekły z:"
#: libraries/plugins/export/ExportCsv.php:77
#: libraries/plugins/import/AbstractImportCsv.php:78
@ -10563,7 +10563,7 @@ msgstr "Metadane dla Bazy danych %s"
#: libraries/plugins/export/ExportSql.php:1415
#: libraries/plugins/schema/pdf/PdfRelationSchema.php:603
msgid "Creation:"
msgstr "Utworzono:"
msgstr "Utworzenie:"
#: libraries/plugins/export/ExportSql.php:1428
#: libraries/plugins/schema/pdf/PdfRelationSchema.php:610
@ -15150,7 +15150,7 @@ msgstr "Rozmiar"
#: templates/database/structure/table_header.phtml:105
#: templates/table/structure/row_stats_table.phtml:79
msgid "Creation"
msgstr "Utworzono"
msgstr "Utworzenie"
#: templates/database/structure/table_header.phtml:116
#: templates/table/structure/row_stats_table.phtml:86

View File

@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-11-25 02:49+0000\n"
"Last-Translator: Mauricio Bastos <msbmail@gmail.com>\n"
"PO-Revision-Date: 2017-12-19 00:41+0000\n"
"Last-Translator: Bruno Fontes <brunofontes.github@mailnull.com>\n"
"Language-Team: Portuguese (Brazil) "
"<https://hosted.weblate.org/projects/phpmyadmin/4-7/pt_BR/>\n"
"Language: pt_BR\n"
@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 2.18-dev\n"
"X-Generator: Weblate 2.18\n"
#: ajax.php:16 ajax.php:33 export.php:192 schema_export.php:64
msgid "Bad type!"
@ -14500,7 +14500,7 @@ msgstr "É uma chave estrangeira."
#: templates/columns_definitions/column_name.phtml:43
#, fuzzy
msgid "Pick from Central Columns"
msgstr "Escolher a partir das colunas centrais"
msgstr "Escolher a partir das Colunas Centrais"
#: templates/columns_definitions/column_virtuality.phtml:46
#: templates/table/structure/display_partitions.phtml:28
@ -14630,10 +14630,10 @@ msgid ""
"quote (\"'\") amongst those values, precede it with a backslash (for example "
"'\\\\xyz' or 'a\\'b')."
msgstr ""
"Digite os valores para as opções de transformação usando este formato: 'a', "
"100, b,'c'…<br />Se por acaso precisar inserir uma contrabarra (\"\\\") ou "
"aspas simples (\"'\") entre esses valores, faça-o precedendo-as com uma "
"contrabarra (por exemplo '\\\\xyz' ou 'a\\'b')."
"Por favor, digite os valores para as opções de transformação usando este "
"formato: 'a', 100, b,'c'…<br />Se por acaso precisar inserir uma barra "
"invertida (\"\\\") ou aspas simples (\"'\") entre esses valores, faça-o "
"precedendo-as com uma barra invertida (por exemplo '\\\\xyz' ou 'a\\'b')."
#: templates/columns_definitions/table_fields_definitions.phtml:107
#: transformation_overview.php:43

View File

@ -4,17 +4,17 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.7.6-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2017-11-02 14:03+0100\n"
"PO-Revision-Date: 2017-10-09 08:47+0000\n"
"Last-Translator: Suad Pacariz <suad@pacariz.in.rs>\n"
"Language-Team: Serbian (latin) <https://hosted.weblate.org/projects/"
"phpmyadmin/4-7/sr_Latn/>\n"
"PO-Revision-Date: 2017-12-02 16:49+0000\n"
"Last-Translator: Aleksej Jovanović <jovanovicaleksej.su@gmail.com>\n"
"Language-Team: Serbian (latin) "
"<https://hosted.weblate.org/projects/phpmyadmin/4-7/sr_Latn/>\n"
"Language: sr@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.17-dev\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.18-dev\n"
#: ajax.php:16 ajax.php:33 export.php:192 schema_export.php:64
msgid "Bad type!"
@ -334,22 +334,19 @@ msgid "Access denied!"
msgstr "Pristup odbijen!"
#: db_tracking.php:53 db_tracking.php:78
#, fuzzy
#| msgid "Replication status"
msgid "Tracking data deleted successfully."
msgstr "Status replikacije"
msgstr "Podaci o praćenju su uspešno izbrisani."
#: db_tracking.php:62
#, php-format
msgid ""
"Version %1$s was created for selected tables, tracking is active for them."
msgstr ""
"Verzija %1$s je kreirana za izabrane tabele, praćenje je aktivirano za njih."
#: db_tracking.php:93
#, fuzzy
#| msgid "No databases selected."
msgid "No tables selected."
msgstr "Nije izabrana ni jedna baza."
msgstr "Nije izabrana ni jedna tabela."
#: db_tracking.php:150
msgid "Database Log"
@ -360,24 +357,28 @@ msgid ""
"An error has been detected and an error report has been automatically "
"submitted based on your settings."
msgstr ""
"Otkrivena je greška i izveštaj o grešci je automatski podnet na osnovu vaših "
"podešavanja."
#: error_report.php:72
msgid "Thank you for submitting this report."
msgstr ""
msgstr "Hvala vam što ste poslali ovaj izveštaj."
#: error_report.php:76
msgid ""
"An error has been detected and an error report has been generated but failed "
"to be sent."
msgstr ""
"Otkrivena je greška i generisan je izveštaj o grešci, ali nije se uspeo da "
"se pošalje."
#: error_report.php:81
msgid "If you experience any problems please submit a bug report manually."
msgstr ""
msgstr "Ako imate bilo kakvih problema, ručno podnesite izveštaj o greškama."
#: error_report.php:85
msgid "You may want to refresh the page."
msgstr ""
msgstr "Možda ćete želeti da osvežite stranicu."
#: export.php:275
msgid "Bad parameters!"
@ -395,22 +396,17 @@ msgstr "Iskoristi OpenStreetMaps kao osnovni sloj"
#. l10n: Spatial Reference System Identifier
#: gis_data_editor.php:169
#, fuzzy
#| msgid "SRID"
msgid "SRID:"
msgstr "SRID"
msgstr "SRID:"
#: gis_data_editor.php:195
#, fuzzy, php-format
#| msgid "Geometry"
#, php-format
msgid "Geometry %d:"
msgstr "Geometrija"
msgstr "Geometrija %d:"
#: gis_data_editor.php:217
#, fuzzy
#| msgid "Point"
msgid "Point:"
msgstr "Tačka"
msgstr "Tačka:"
#: gis_data_editor.php:218 gis_data_editor.php:245 gis_data_editor.php:301
#: gis_data_editor.php:374 js/messages.php:519
@ -434,22 +430,18 @@ msgid "Add a point"
msgstr "Dodaj tačku"
#: gis_data_editor.php:273
#, fuzzy, php-format
#| msgid "Linestring"
#, php-format
msgid "Linestring %d:"
msgstr "Linija teksta"
msgstr "Linija teksta %d:"
#: gis_data_editor.php:276 gis_data_editor.php:353
#, fuzzy
#| msgid "Outer Ring"
msgid "Outer ring:"
msgstr "Spoljni prsten"
msgstr "Spoljni prsten:"
#: gis_data_editor.php:278 gis_data_editor.php:355
#, fuzzy, php-format
#| msgid "Inner Ring"
#, php-format
msgid "Inner ring %d:"
msgstr "Unutrašnji prsten"
msgstr "Unutrašnji prsten %d:"
#: gis_data_editor.php:315
msgid "Add a linestring"
@ -460,10 +452,9 @@ msgid "Add an inner ring"
msgstr "Dodaj unutrašnji prsten"
#: gis_data_editor.php:337
#, fuzzy, php-format
#| msgid "Polygon"
#, php-format
msgid "Polygon %d:"
msgstr "Poligon"
msgstr "Poligon %d:"
#: gis_data_editor.php:401
msgid "Add a polygon"
@ -518,16 +509,12 @@ msgid "Output"
msgstr "Izlaz"
#: gis_data_editor.php:419
#, fuzzy
#| msgid ""
#| "Choose \"GeomFromText\" from the \"Function\" column and paste the string "
#| "below into the \"Value\" field"
msgid ""
"Choose \"GeomFromText\" from the \"Function\" column and paste the string "
"below into the \"Value\" field."
msgstr ""
"Izaberi \"GeomFromText\" iz \"Funkcija\" kolone i nalepi ispod teksta u "
"\"Vrednost\" polju"
"Izaberi \"GeomFromText\" iz \"Funkcija\" kolone i nalepi ispod teksta u \""
"Vrednost\" polju."
#: import.php:65
#, fuzzy
@ -537,19 +524,14 @@ msgstr "Pristup odbijen!"
#: import.php:69 js/messages.php:615
msgid "Failed"
msgstr ""
msgstr "Greška"
#: import.php:73
#, fuzzy
#| msgid "complete inserts"
msgid "Incomplete params"
msgstr "Kompletan INSERT"
msgstr "Nepotpun parametar"
#: import.php:197
#, fuzzy, php-format
#| msgid ""
#| "You probably tried to upload too large file. Please refer to "
#| "%sdocumentation%s for ways to workaround this limit."
#, php-format
msgid ""
"You probably tried to upload a file that is too large. Please refer to "
"%sdocumentation%s for a workaround for this limit."
@ -580,10 +562,9 @@ msgid "Could not load import plugins, please check your installation!"
msgstr "Ne mogu da učitam dodatke za uvoz, molim proverite svoju instalaciju!"
#: import.php:571 libraries/sql.lib.php:788 libraries/sql.lib.php:1567
#, fuzzy, php-format
#| msgid "Bookmark %s created"
#, php-format
msgid "Bookmark %s has been created."
msgstr "Napravljen marker %s"
msgstr "Napravljen marker %s."
#: import.php:581
#, fuzzy, php-format
@ -621,7 +602,7 @@ msgstr "\"DROP DATABASE\" komanda je onemogućena."
#: import_status.php:105
msgid "Could not load the progress of the import."
msgstr ""
msgstr "Nije moguće učitati napredak uvoza."
#: import_status.php:114 js/messages.php:459 js/messages.php:623
#: libraries/Util.php:689 libraries/export.lib.php:518
@ -634,12 +615,12 @@ msgid ""
"You were logged out from one server, to logout completely from phpMyAdmin, "
"you need to logout from all servers."
msgstr ""
"Bili ste odjavljeni sa jednog servera, da biste se potpuno odjavili iz "
"phpMyAdmin-a, morate odjaviti sa svih servera."
#: index.php:160 libraries/Footer.php:69
#, fuzzy
#| msgid "phpMyAdmin homepage"
msgid "phpMyAdmin Demo Server"
msgstr "phpMyAdmin početna stranica"
msgstr "phpMyAdmin Demo Server"
#: index.php:164
#, php-format
@ -648,10 +629,11 @@ msgid ""
"change root, debian-sys-maint and pma users. More information is available "
"at %s."
msgstr ""
"Koristite demo server. Ovde možete uraditi bilo šta, ali molim vas nemojte "
"menjati root, debian-sys-maint i pma korisnike. Više informacija je dostupno "
"na %s."
#: index.php:174
#, fuzzy
#| msgid "General Settings"
msgid "General settings"
msgstr "Opšta podešavanja"
@ -666,10 +648,8 @@ msgid "Server connection collation"
msgstr "Način poređenja kod veze na server"
#: index.php:242
#, fuzzy
#| msgid "Change settings"
msgid "Appearance settings"
msgstr "Izmeni podešavanja"
msgstr "Postavke izgleda"
#: index.php:275 prefs_manage.php:294
msgid "More settings"
@ -684,68 +664,50 @@ msgid "Server:"
msgstr "Server:"
#: index.php:304
#, fuzzy
#| msgid "Server port"
msgid "Server type:"
msgstr "Port na serveru"
msgstr "Tip servera:"
#: index.php:308 libraries/plugins/export/ExportLatex.php:220
#: libraries/plugins/export/ExportSql.php:701
#: libraries/plugins/export/ExportXml.php:242
#, fuzzy
#| msgid "Server version"
msgid "Server version:"
msgstr "Verzija servera"
msgstr "Verzija servera:"
#: index.php:314
#, fuzzy
#| msgid "Protocol version"
msgid "Protocol version:"
msgstr "Verzija protokola"
msgstr "Verzija protokola:"
#: index.php:318
#, fuzzy
#| msgid "User"
msgid "User:"
msgstr "Korisnik"
msgstr "Korisnik:"
#: index.php:323
#, fuzzy
#| msgid "Server charset"
msgid "Server charset:"
msgstr "Server skup znakova"
msgstr "Server skup znakova:"
#: index.php:336
msgid "Web server"
msgstr ""
msgstr "Veb server"
#: index.php:347
#, fuzzy
#| msgid "Database client version"
msgid "Database client version:"
msgstr "Verzija klijenta baze"
msgstr "Verzija klijenta baze:"
#: index.php:351
#, fuzzy
#| msgid "PHP extension"
msgid "PHP extension:"
msgstr "PHP proširenje"
msgstr "PHP ekstenzija:"
#: index.php:365
#, fuzzy
#| msgid "PHP Version"
msgid "PHP version:"
msgstr "verzija PHP-a"
msgstr "Verzija PHP-a:"
#: index.php:376
msgid "Show PHP information"
msgstr "Prikaži informacije o PHP-u"
#: index.php:395
#, fuzzy
#| msgid "Version information"
msgid "Version information:"
msgstr "Informacije o verziji"
msgstr "Informacije o verziji:"
#: index.php:404 libraries/Sanitize.php:189 libraries/Util.php:336
#: libraries/Util.php:403 libraries/config/FormDisplay.tpl.php:165
@ -765,7 +727,7 @@ msgstr "Doprinesi"
#: index.php:427
msgid "Get support"
msgstr ""
msgstr "Dobijte podršku"
#: index.php:434
msgid "List of changes"
@ -773,7 +735,7 @@ msgstr "Lista izmena"
#: index.php:441 templates/server/plugins/section.phtml:12
msgid "License"
msgstr ""
msgstr "Licensa"
#: index.php:461
msgid ""
@ -790,6 +752,9 @@ msgid ""
"The curl extension was not found and allow_url_fopen is disabled. Due to "
"this some features such as error reporting or version check are disabled."
msgstr ""
"Dodatak curl nije pronađen i allow_url_fopen je onemogućen. Zbog toga, neke "
"mogućnosti kao što su izvještaji o greškama ili provera verzije su "
"onemogućeni."
#: index.php:491
msgid ""

View File

@ -407,8 +407,15 @@ if [ $do_tag -eq 1 ] ; then
echo "* Tagging release as $tagname"
git tag -s -a -m "Released $version" $tagname $branch
echo " Dont forget to push tags using: git push --tags"
echo "* Cleanup of $branch"
# Remove composer.lock, but we need to create fresh worktree for that
git worktree add --force $workdir $branch
cd $workdir
git rm --force composer.lock
git commit -s -m "Removing composer.lock"
cd ../..
rm -rf $workdir
git worktree prune
fi
# Mark as stable release

View File

@ -171,7 +171,7 @@ class AdvisorTest extends PMATestCase
'name' => 'Variable',
'issue' => 'issue',
'recommendation' => 'Recommend <a href="server_variables.php?' .
'filter=status_var&amp;lang=en">status_var</a>'
'filter=status_var&amp;lang=en&amp;token=token">status_var</a>'
),
null,
),

View File

@ -167,13 +167,13 @@ class DbSearchTest extends PMATestCase
. 'href="sql.php?db=pma&amp;table'
. '=table1&amp;goto=db_sql.php&amp;pos=0&amp;is_js_confirmed=0&amp;'
. 'server=0&amp;lang=en&amp;'
. 'collation_connection=utf-8" '
. 'collation_connection=utf-8&amp;token=token" '
. 'data-browse-sql="column1" data-table-name="table1" '
. '>Browse</a></td><td>'
. '<a name="delete_search" class="ajax delete_results" href'
. '="sql.php?db=pma&amp;table=table1&amp;goto=db_sql.php&amp;pos=0'
. '&amp;is_js_confirmed=0&amp;server=0&amp;'
. 'lang=en&amp;collation_connection=utf-8" '
. 'lang=en&amp;collation_connection=utf-8&amp;token=token" '
. 'data-delete-sql="column2" '
. 'data-table-name="table1" '
. '>Delete</a></td></tr>'

View File

@ -372,6 +372,7 @@ class DisplayResultsTest extends PMATestCase
array('`new`.`id`' => '= 1'),
'[%_PMA_CHECKBOX_DIR_%]',
'klass',
'<td class="klass" class="center print_ignore"><input type'
. '="checkbox" id="id_rows_to_delete0[%_PMA_CHECKBOX_DIR_%]" name='
. '"rows_to_delete[0]" class="multi_checkbox checkall" value="%60'
@ -433,16 +434,9 @@ class DisplayResultsTest extends PMATestCase
. '"Edit" class="icon ic_b_edit" /> Edit</span>',
'`customer`.`id` = 1',
'%60customer%60.%60id%60+%3D+1',
'<td class="klass edit_row_anchor center print_ignore" >'
. '<span class="nowrap">'
. '<a href="tbl_change.php?db=Data&amp;table=customer&amp;where_'
. 'clause=%60customer%60.%60id%60+%3D+1&amp;clause_is_unique=1&amp;'
. 'sql_query=SELECT+%2A+FROM+%60customer%60&amp;goto=sql.php&amp;'
. 'default_action=update"'
. ' ><span class="nowrap"><img src="themes/dot.gif" title="Edit" '
. 'alt="Edit" class="icon ic_b_edit" /> Edit</span></a>'
. '<input type="hidden" class="where_clause" value ="%60customer'
. '%60.%60id%60+%3D+1" /></span></td>'
'<td class="klass edit_row_anchor center print_ignore" ><span class="nowrap"><input type="hidden" name="subform[1][db]" value="Data" /><input type="hidden" name="subform[1][table]" value="customer" /><input type="hidden" name="subform[1][where_clause]" value="`customer`.`id` = 1" /><input type="hidden" name="subform[1][clause_is_unique]" value="1" /><input type="hidden" name="subform[1][sql_query]" value="SELECT * FROM `customer`" /><input type="hidden" name="subform[1][goto]" value="sql.php" /><input type="hidden" name="subform[1][default_action]" value="update" /><input type="hidden" name="subform[1][redirect]" value="tbl_change.php" /><input type="hidden" name="subform[1][token]" value="token" />
<a href="#usesubform[1]=1" class="formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Edit" alt="Edit" class="icon ic_b_edit" /> Edit</span> </a>
<input type="hidden" class="where_clause" value ="%60customer%60.%60id%60+%3D+1" /></span></td>'
)
);
}
@ -496,16 +490,9 @@ class DisplayResultsTest extends PMATestCase
'`customer`.`id` = 1',
'%60customer%60.%60id%60+%3D+1',
'klass',
'<td class="klass center print_ignore" ><span class='
. '"nowrap">'
. '<a href="tbl_change.php?db=Data&amp;table=customer&amp;where_'
. 'clause=%60customer%60.%60id%60+%3D+1&amp;clause_is_unique=1&amp;'
. 'sql_query=SELECT+%2A+FROM+%60customer%60&amp;goto=sql.php&amp;'
. 'default_action=insert"'
. ' ><span class="nowrap"><img src="themes/dot.gif" title="Copy" '
. 'alt="Copy" class="icon ic_b_insrow" /> Copy</span></a>'
. '<input type="hidden" class="where_clause" value="%60customer%60'
. '.%60id%60+%3D+1" /></span></td>'
'<td class="klass center print_ignore" ><span class="nowrap"><input type="hidden" name="subform[1][db]" value="Data" /><input type="hidden" name="subform[1][table]" value="customer" /><input type="hidden" name="subform[1][where_clause]" value="`customer`.`id` = 1" /><input type="hidden" name="subform[1][clause_is_unique]" value="1" /><input type="hidden" name="subform[1][sql_query]" value="SELECT * FROM `customer`" /><input type="hidden" name="subform[1][goto]" value="sql.php" /><input type="hidden" name="subform[1][default_action]" value="insert" /><input type="hidden" name="subform[1][redirect]" value="tbl_change.php" /><input type="hidden" name="subform[1][token]" value="token" />
<a href="#usesubform[1]=1" class="formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Copy" alt="Copy" class="icon ic_b_insrow" /> Copy</span> </a>
<input type="hidden" class="where_clause" value="%60customer%60.%60id%60+%3D+1" /></span></td>'
)
);
}
@ -560,18 +547,9 @@ class DisplayResultsTest extends PMATestCase
. 'alt="Delete" class="icon ic_b_drop" /> Delete</span>',
'DELETE FROM `Data`.`customer` WHERE `customer`.`id` = 1',
'klass',
'<td class="klass center print_ignore" >'
. '<a href="sql.php?db=Data&amp;table=customer&amp;sql_query=DELETE'
. '+FROM+%60Data%60.%60customer%60+WHERE+%60customer%60.%60id%60+%3D'
. '+1&amp;message_to_show=The+row+has+been+deleted&amp;goto=sql.php'
. '%3Fdb%3DData%26table%3Dcustomer%26sql_query%3DSELECT%2B%252A%2B'
. 'FROM%2B%2560customer%2560%26message_to_show%3DThe%2Brow%2Bhas%2B'
. 'been%2Bdeleted%26goto%3Dtbl_structure.php" '
. 'class="delete_row requireConfirm"><span class="nowrap"><img src="themes/dot.'
. 'gif" title="Delete" alt="Delete" class="icon ic_b_drop" /> '
. 'Delete</span></a>'
. '<div class="hide">DELETE FROM `Data`.`customer` WHERE '
. '`customer`.`id` = 1</div></td>'
'<td class="klass center print_ignore" ><input type="hidden" name="subform[1][db]" value="Data" /><input type="hidden" name="subform[1][table]" value="customer" /><input type="hidden" name="subform[1][sql_query]" value="DELETE FROM `Data`.`customer` WHERE `customer`.`id` = 1" /><input type="hidden" name="subform[1][message_to_show]" value="The row has been deleted" /><input type="hidden" name="subform[1][goto]" value="sql.php?db=Data&amp;table=customer&amp;sql_query=SELECT+%2A+FROM+%60customer%60&amp;message_to_show=The+row+has+been+deleted&amp;goto=tbl_structure.php" /><input type="hidden" name="subform[1][redirect]" value="sql.php" /><input type="hidden" name="subform[1][token]" value="token" />
<a href="#usesubform[1]=1" class="delete_row requireConfirm formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Delete" alt="Delete" class="icon ic_b_drop" /> Delete</span> </a>
<div class="hide">DELETE FROM `Data`.`customer` WHERE `customer`.`id` = 1</div></td>'
)
);
}
@ -651,40 +629,14 @@ class DisplayResultsTest extends PMATestCase
'<span class="nowrap"><img src="themes/dot.gif" title="Delete" '
. 'alt="Delete" class="icon ic_b_drop" /> Delete</span>',
'DELETE FROM `data`.`new` WHERE `new`.`id` = 1',
'<td class="center print_ignore"><input type="checkbox" id="id_rows_to_delete0_'
. 'left" name="rows_to_delete[0]" class="multi_checkbox checkall" '
. 'value="%60new%60.%60id%60+%3D+1" /><input type="hidden" class='
. '"condition_array" value="{&quot;`new`.`id`&quot;:&quot;= 1&quot;'
. '}" /> </td><td class="edit_row_anchor center print_ignore" ><span class='
. '"nowrap">'
. '<a href="tbl_change.php?db=data&amp;table=new&amp;where_'
. 'clause=%60new%60.%60id%60+%3D+1&amp;clause_is_unique=1&amp;'
. 'sql_query=SELECT+%2A+FROM+%60new%60&amp;goto=sql.php&amp;default'
. '_action=update" >'
. '<span class="nowrap"><img src="themes/dot.gif" title="Edit" '
. 'alt="Edit" class="icon ic_b_edit" /> Edit</span></a>'
. '<input type="hidden" class="where_clause" value ="%60new%60.%60'
. 'id%60+%3D+1" /></span></td><td class="center print_ignore" ><span class'
. '="nowrap">'
. '<a href="tbl_change.php?db=data&amp;table=new&amp;where_clause'
. '=%60new%60.%60id%60+%3D+1&amp;clause_is_unique=1&amp;sql_query='
. 'SELECT+%2A+FROM+%60new%60&amp;goto=sql.php&amp;default_action='
. 'insert" ><span class'
. '="nowrap"><img src="themes/dot.gif" title="Copy" alt="Copy" '
. 'class="icon ic_b_insrow" /> Copy</span></a>'
. '<input type="hidden" class="where_clause" value="%60new%60.%60id'
. '%60+%3D+1" /></span></td><td class="center print_ignore" >'
. '<a href="sql.php?db=data&amp;table=new&amp;sql_query=DELETE+'
. 'FROM+%60data%60.%60new%60+WHERE+%60new%60.%60id%60+%3D+1&amp;'
. 'message_to_show=The+row+has+been+deleted&amp;goto=sql.php%3F'
. 'db%3Ddata%26table%3Dnew%26sql_query%3DSELECT%2B%252A%2BFROM%2B'
. '%2560new%2560%26message_to_show%3DThe%2Brow%2Bhas%2Bbeen%2B'
. 'deleted%26goto%3Dtbl_structure.php" '
. 'class="delete_row requireConfirm"><span class="nowrap"><img src="themes/dot.'
. 'gif" title="Delete" alt="Delete" class="icon ic_b_drop" /> '
. 'Delete</span></a>'
. '<div class="hide">DELETE FROM `data`.`new` WHERE `new`.`id` = 1'
. '</div></td>'
'<td class="center print_ignore"><input type="checkbox" id="id_rows_to_delete0_left" name="rows_to_delete[0]" class="multi_checkbox checkall" value="%60new%60.%60id%60+%3D+1" /><input type="hidden" class="condition_array" value="{&quot;`new`.`id`&quot;:&quot;= 1&quot;}" /> </td><td class="edit_row_anchor center print_ignore" ><span class="nowrap"><input type="hidden" name="subform[1][db]" value="data" /><input type="hidden" name="subform[1][table]" value="new" /><input type="hidden" name="subform[1][where_clause]" value="`new`.`id` = 1" /><input type="hidden" name="subform[1][clause_is_unique]" value="1" /><input type="hidden" name="subform[1][sql_query]" value="SELECT * FROM `new`" /><input type="hidden" name="subform[1][goto]" value="sql.php" /><input type="hidden" name="subform[1][default_action]" value="update" /><input type="hidden" name="subform[1][redirect]" value="tbl_change.php" /><input type="hidden" name="subform[1][token]" value="token" />
<a href="#usesubform[1]=1" class="formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Edit" alt="Edit" class="icon ic_b_edit" /> Edit</span> </a>
<input type="hidden" class="where_clause" value ="%60new%60.%60id%60+%3D+1" /></span></td><td class="center print_ignore" ><span class="nowrap"><input type="hidden" name="subform[2][db]" value="data" /><input type="hidden" name="subform[2][table]" value="new" /><input type="hidden" name="subform[2][where_clause]" value="`new`.`id` = 1" /><input type="hidden" name="subform[2][clause_is_unique]" value="1" /><input type="hidden" name="subform[2][sql_query]" value="SELECT * FROM `new`" /><input type="hidden" name="subform[2][goto]" value="sql.php" /><input type="hidden" name="subform[2][default_action]" value="insert" /><input type="hidden" name="subform[2][redirect]" value="tbl_change.php" /><input type="hidden" name="subform[2][token]" value="token" />
<a href="#usesubform[2]=1" class="formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Copy" alt="Copy" class="icon ic_b_insrow" /> Copy</span> </a>
<input type="hidden" class="where_clause" value="%60new%60.%60id%60+%3D+1" /></span></td><td class="center print_ignore" ><input type="hidden" name="subform[3][db]" value="data" /><input type="hidden" name="subform[3][table]" value="new" /><input type="hidden" name="subform[3][sql_query]" value="DELETE FROM `data`.`new` WHERE `new`.`id` = 1" /><input type="hidden" name="subform[3][message_to_show]" value="The row has been deleted" /><input type="hidden" name="subform[3][goto]" value="sql.php?db=data&amp;table=new&amp;sql_query=SELECT+%2A+FROM+%60new%60&amp;message_to_show=The+row+has+been+deleted&amp;goto=tbl_structure.php" /><input type="hidden" name="subform[3][redirect]" value="sql.php" /><input type="hidden" name="subform[3][token]" value="token" />
<a href="#usesubform[3]=1" class="delete_row requireConfirm formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Delete" alt="Delete" class="icon ic_b_drop" /> Delete</span> </a>
<div class="hide">DELETE FROM `data`.`new` WHERE `new`.`id` = 1</div></td>'
),
array(
PMA\libraries\DisplayResults::POSITION_RIGHT,
@ -723,38 +675,13 @@ class DisplayResultsTest extends PMATestCase
'<span class="nowrap"><img src="themes/dot.gif" title="Delete" '
. 'alt="Delete" class="icon ic_b_drop" /> Delete</span>',
'DELETE FROM `data`.`new` WHERE `new`.`id` = 1',
'<td class="center print_ignore" >'
. '<a href="sql.php?db=data&amp;table=new&amp;sql_query=DELETE+'
. 'FROM+%60data%60.%60new%60+WHERE+%60new%60.%60id%60+%3D+1&amp;'
. 'message_to_show=The+row+has+been+deleted&amp;goto=sql.php%3Fdb'
. '%3Ddata%26table%3Dnew%26sql_query%3DSELECT%2B%252A%2BFROM%2B%25'
. '60new%2560%26message_to_show%3DThe%2Brow%2Bhas%2Bbeen%2Bdeleted'
. '%26goto%3Dtbl_structure.php" class="delete'
. '_row requireConfirm"><span class="nowrap"><img src="themes/dot.gif" title='
. '"Delete" alt="Delete" class="icon ic_b_drop" /> Delete</span></a>'
. '<div class="hide">DELETE FROM `data`.`new` WHERE `new`.'
. '`id` = 1</div></td><td class="center print_ignore" ><span class="nowrap">'
. '<a href="tbl_change.php?db=data&amp;table=new&amp;where_'
. 'clause=%60new%60.%60id%60+%3D+1&amp;clause_is_unique=1&amp;sql_'
. 'query=SELECT+%2A+FROM+%60new%60&amp;goto=sql.php&amp;default_'
. 'action=insert" ><span '
. 'class="nowrap"><img src="themes/dot.gif" title="Copy" alt="Copy" '
. 'class="icon ic_b_insrow" /> Copy</span></a>'
. '<input type="hidden" class="where_clause" value="%60new%60.%60id'
. '%60+%3D+1" /></span></td><td class="edit_row_anchor center print_ignore" >'
. '<span class="nowrap">'
. '<a href="tbl_change.php?db=data&amp;table=new&amp;where_clause'
. '=%60new%60.%60id%60+%3D+1&amp;clause_is_unique=1&amp;sql_query='
. 'SELECT+%2A+FROM+%60new%60&amp;goto=sql.php&amp;default_action='
. 'update" ><span class='
. '"nowrap"><img src="themes/dot.gif" title="Edit" alt="Edit" class'
. '="icon ic_b_edit" /> Edit</span></a>'
. '<input type="hidden" class="where_clause" value ="%60new%60.%60'
. 'id%60+%3D+1" /></span></td><td class="center print_ignore"><input type='
. '"checkbox" id="id_rows_to_delete0_right" name="rows_to_delete'
. '[0]" class="multi_checkbox checkall" value="%60new%60.%60id%60'
. '+%3D+1" /><input type="hidden" class="condition_array" value="'
. '{&quot;`new`.`id`&quot;:&quot;= 1&quot;}" /> </td>'
'<td class="center print_ignore" ><input type="hidden" name="subform[1][db]" value="data" /><input type="hidden" name="subform[1][table]" value="new" /><input type="hidden" name="subform[1][sql_query]" value="DELETE FROM `data`.`new` WHERE `new`.`id` = 1" /><input type="hidden" name="subform[1][message_to_show]" value="The row has been deleted" /><input type="hidden" name="subform[1][goto]" value="sql.php?db=data&amp;table=new&amp;sql_query=SELECT+%2A+FROM+%60new%60&amp;message_to_show=The+row+has+been+deleted&amp;goto=tbl_structure.php" /><input type="hidden" name="subform[1][redirect]" value="sql.php" /><input type="hidden" name="subform[1][token]" value="token" />
<a href="#usesubform[1]=1" class="delete_row requireConfirm formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Delete" alt="Delete" class="icon ic_b_drop" /> Delete</span> </a>
<div class="hide">DELETE FROM `data`.`new` WHERE `new`.`id` = 1</div></td><td class="center print_ignore" ><span class="nowrap"><input type="hidden" name="subform[2][db]" value="data" /><input type="hidden" name="subform[2][table]" value="new" /><input type="hidden" name="subform[2][where_clause]" value="`new`.`id` = 1" /><input type="hidden" name="subform[2][clause_is_unique]" value="1" /><input type="hidden" name="subform[2][sql_query]" value="SELECT * FROM `new`" /><input type="hidden" name="subform[2][goto]" value="sql.php" /><input type="hidden" name="subform[2][default_action]" value="insert" /><input type="hidden" name="subform[2][redirect]" value="tbl_change.php" /><input type="hidden" name="subform[2][token]" value="token" />
<a href="#usesubform[2]=1" class="formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Copy" alt="Copy" class="icon ic_b_insrow" /> Copy</span> </a>
<input type="hidden" class="where_clause" value="%60new%60.%60id%60+%3D+1" /></span></td><td class="edit_row_anchor center print_ignore" ><span class="nowrap"><input type="hidden" name="subform[3][db]" value="data" /><input type="hidden" name="subform[3][table]" value="new" /><input type="hidden" name="subform[3][where_clause]" value="`new`.`id` = 1" /><input type="hidden" name="subform[3][clause_is_unique]" value="1" /><input type="hidden" name="subform[3][sql_query]" value="SELECT * FROM `new`" /><input type="hidden" name="subform[3][goto]" value="sql.php" /><input type="hidden" name="subform[3][default_action]" value="update" /><input type="hidden" name="subform[3][redirect]" value="tbl_change.php" /><input type="hidden" name="subform[3][token]" value="token" />
<a href="#usesubform[3]=1" class="formLinkSubmit"><span class="nowrap"><img src="themes/dot.gif" title="Edit" alt="Edit" class="icon ic_b_edit" /> Edit</span> </a>
<input type="hidden" class="where_clause" value ="%60new%60.%60id%60+%3D+1" /></span></td><td class="center print_ignore"><input type="checkbox" id="id_rows_to_delete0_right" name="rows_to_delete[0]" class="multi_checkbox checkall" value="%60new%60.%60id%60+%3D+1" /><input type="hidden" class="condition_array" value="{&quot;`new`.`id`&quot;:&quot;= 1&quot;}" /> </td>'
),
array(
PMA\libraries\DisplayResults::POSITION_NONE,
@ -962,7 +889,7 @@ class DisplayResultsTest extends PMATestCase
'routine_name',
'db_routines.php?item_name=circumference&db=data'
. '&item_type=FUNCTION&server=0&lang=en'
. '&collation_connection=utf-8'
. '&collation_connection=utf-8&token=token'
),
array(
'information_schema',
@ -976,7 +903,7 @@ class DisplayResultsTest extends PMATestCase
'routine_name',
'db_routines.php?item_name=area&db=data'
. '&item_type=PROCEDURE&server=0&lang=en'
. '&collation_connection=utf-8'
. '&collation_connection=utf-8&token=token'
),
array(
'information_schema',
@ -990,7 +917,7 @@ class DisplayResultsTest extends PMATestCase
'index.php?sql_query=SELECT+%60CHARACTER_SET_NAME%60+FROM+%60info'
. 'rmation_schema%60.%60CHARACTER_SETS%60&db=information_schema'
. '&test_name=value&server=0&lang=en'
. '&collation_connection=utf-8'
. '&collation_connection=utf-8&token=token'
)
);
}
@ -1319,7 +1246,7 @@ class DisplayResultsTest extends PMATestCase
$url_params,
null,
'<a href="tbl_get_field.php?db=foo&amp;table=bar&amp;server=0'
. '&amp;lang=en&amp;collation_connection=utf-8'
. '&amp;lang=en&amp;collation_connection=utf-8&amp;token=token'
. '" class="disableAjax">1001</a>'
),
array(
@ -1334,7 +1261,7 @@ class DisplayResultsTest extends PMATestCase
$url_params,
null,
'<a href="tbl_get_field.php?db=foo&amp;table=bar&amp;server=0'
. '&amp;lang=en&amp;collation_connection=utf-8'
. '&amp;lang=en&amp;collation_connection=utf-8&amp;token=token'
. '" class="disableAjax">0x123456</a>'
),
array(
@ -1349,7 +1276,7 @@ class DisplayResultsTest extends PMATestCase
$url_params,
null,
'<a href="tbl_get_field.php?db=foo&amp;table=bar&amp;server=0'
. '&amp;lang=en&amp;collation_connection=utf-8'
. '&amp;lang=en&amp;collation_connection=utf-8&amp;token=token'
. '" class="disableAjax">[BLOB - 4 B]</a>'
),
array(
@ -1472,7 +1399,7 @@ class DisplayResultsTest extends PMATestCase
'binary',
'<td class="left hex"><a href="tbl_get_field.php?'
. 'db=foo&amp;table=tbl&amp;server=0&amp;lang=en'
. '&amp;collation_connection=utf-8'
. '&amp;collation_connection=utf-8&amp;token=token'
. '" '
. 'class="disableAjax">[BLOB - 4 B]</a></td>'
),

View File

@ -157,7 +157,7 @@ class FooterTest extends PMATestCase
$this->assertEquals(
'<div id="selflink" class="print_ignore"><a href="index.php?db=&amp;'
. 'table=&amp;server=1&amp;target=&amp;lang=en&amp;collation_connection='
. 'utf8_general_ci" title="Open new phpMyAdmin window" '
. 'utf8_general_ci&amp;token=token" title="Open new phpMyAdmin window" '
. 'target="_blank" rel="noopener noreferrer">Open new phpMyAdmin window</a></div>',
$this->_callPrivateFunction(
'_getSelfLink',
@ -182,7 +182,7 @@ class FooterTest extends PMATestCase
$this->assertEquals(
'<div id="selflink" class="print_ignore"><a href="index.php?db=&amp;'
. 'table=&amp;server=1&amp;target=&amp;lang=en&amp;collation_connection='
. 'utf8_general_ci" title="Open new phpMyAdmin window" '
. 'utf8_general_ci&amp;token=token" title="Open new phpMyAdmin window" '
. 'target="_blank" rel="noopener noreferrer"><img src="themes/dot.gif" title="Open new '
. 'phpMyAdmin window" alt="Open new phpMyAdmin window" '
. 'class="icon ic_window-new" /></a></div>',

View File

@ -292,7 +292,7 @@ class ThemeTest extends PMATestCase
$this->object->getPrintPreview(),
'<div class="theme_preview"><h2> (0.0.0.0) </h2><p><a class="take_'
. 'theme" name="" href="index.php?set_theme=&amp;server=99&amp;lang=en'
. '&amp;collation_connection=utf-8'
. '&amp;collation_connection=utf-8&amp;token=token'
. '">No preview available.[ <strong>take it</strong> ]'
. '</a></p></div>'
);

View File

@ -45,6 +45,7 @@ class URLTest extends PHPUnit_Framework_TestCase
$expected = 'server=x' . htmlentities($separator)
. 'lang=en' . htmlentities($separator)
. 'collation_connection=x'
. htmlentities($separator) . 'token=token'
;
$expected = '?db=db'
@ -68,6 +69,7 @@ class URLTest extends PHPUnit_Framework_TestCase
$expected = 'server=x' . htmlentities($separator)
. 'lang=en' . htmlentities($separator)
. 'collation_connection=x'
. htmlentities($separator) . 'token=token'
;
$expected = '?db=db'
@ -92,6 +94,7 @@ class URLTest extends PHPUnit_Framework_TestCase
$expected = 'server=x' . $separator
. 'lang=en' . $separator
. 'collation_connection=x'
. $separator . 'token=token'
;
$expected = '#ABC#db=db' . $separator . 'table=table' . $separator
@ -119,6 +122,7 @@ class URLTest extends PHPUnit_Framework_TestCase
$expected = '?server=x' . htmlentities($separator)
. 'lang=en' . htmlentities($separator)
. 'collation_connection=x'
. htmlentities($separator) . 'token=token'
;
$this->assertEquals($expected, URL::getCommon());
}

View File

@ -57,7 +57,7 @@ class PageSettingsTest extends PMATestCase
'<div id="page_settings_modal">'
. '<div class="page_settings">'
. '<form method="post" '
. 'action="phpunit?db=db&amp;table=&amp;server=1&amp;target=&amp;lang=en" '
. 'action="phpunit?db=db&amp;table=&amp;server=1&amp;target=&amp;lang=en&amp;token=token" '
. 'class="config-form disableAjax">',
$html
);

View File

@ -156,7 +156,7 @@ class NavigationTest extends PMATestCase
$this->assertContains(
'<a href="navigation.php?'
. 'unhideNavItem=1&amp;itemType=table&amp;'
. 'itemName=tableName&amp;dbName=db&amp;lang=en"'
. 'itemName=tableName&amp;dbName=db&amp;lang=en&amp;token=token"'
. ' class="unhideNavItem ajax">',
$html
);

View File

@ -83,7 +83,7 @@ class NodeDatabaseChildTest extends PMATestCase
$this->assertContains(
'<a href="navigation.php?'
. 'hideNavItem=1&amp;itemType=itemType&amp;itemName=child'
. '&amp;dbName=parent&amp;lang=en" class="hideNavItem ajax">',
. '&amp;dbName=parent&amp;lang=en&amp;token=token" class="hideNavItem ajax">',
$html
);
}

View File

@ -138,7 +138,7 @@ class AuthenticationConfigTest extends PMATestCase
$this->assertContains(
'<a href="index.php?server=0&amp;lang=en'
. '&amp;collation_connection=utf-8" '
. '&amp;collation_connection=utf-8&amp;token=token" '
. 'class="button disableAjax">Retry to connect</a>',
$html
);

View File

@ -372,7 +372,7 @@ class AuthenticationCookieTest extends PMATestCase
$_COOKIE['pmaAuth-2'] = '';
$this->mockResponse('Location: /phpmyadmin/index.php?server=2&lang=en&collation_connection=utf-8');
$this->mockResponse('Location: /phpmyadmin/index.php?server=2&lang=en&collation_connection=utf-8&token=token');
$this->object->logOut();
}

View File

@ -39,7 +39,7 @@ class PMA_Form_Processing_Test extends PMATestCase
{
$this->mockResponse(
array('HTTP/1.1 303 See Other'),
array('Location: index.php?lang=en')
array('Location: index.php?lang=en&token=token')
);
// case 1

View File

@ -293,7 +293,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertEquals(
' : <a href="tbl_change.php?ShowFunctionFields=1&amp;ShowFieldTypesIn'
. 'DataEditView=1&amp;goto=sql.php&amp;lang=en">'
. 'DataEditView=1&amp;goto=sql.php&amp;lang=en&amp;token=token">'
. 'Function</a>',
$result
);
@ -303,7 +303,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertEquals(
'<th><a href="tbl_change.php?ShowFunctionFields=0&amp;ShowFieldTypesIn'
. 'DataEditView=1&amp;goto=sql.php&amp;lang=en" title='
. 'DataEditView=1&amp;goto=sql.php&amp;lang=en&amp;token=token" title='
. '"Hide">Function</a></th>',
$result
);
@ -313,7 +313,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertEquals(
' : <a href="tbl_change.php?ShowFunctionFields=1&amp;ShowFieldTypesIn'
. 'DataEditView=1&amp;goto=sql.php&amp;lang=en">'
. 'DataEditView=1&amp;goto=sql.php&amp;lang=en&amp;token=token">'
. 'Type</a>',
$result
);
@ -323,7 +323,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertEquals(
'<th><a href="tbl_change.php?ShowFunctionFields=1&amp;ShowFieldTypesIn'
. 'DataEditView=0&amp;goto=sql.php&amp;lang=en" title='
. 'DataEditView=0&amp;goto=sql.php&amp;lang=en&amp;token=token" title='
. '"Hide">Type</a></th>',
$result
);
@ -746,7 +746,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertContains(
'<a class="ajax browse_foreign" href="browse_'
. 'foreigners.php?db=db&amp;table=tbl&amp;field=f&amp;rownumber=8'
. '&amp;data=abc&amp;server=1&amp;lang=en">',
. '&amp;data=abc&amp;server=1&amp;lang=en&amp;token=token">',
$result
);
@ -1977,7 +1977,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
{
$GLOBALS['cfg']['ServerDefault'] = 1;
$this->assertEquals(
'tbl_change.php?lang=en',
'tbl_change.php?lang=en&amp;token=token',
PMA_getErrorUrl(array())
);
@ -2278,7 +2278,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertEquals(
'<a href="sql.php?db=information_schema&amp;table=TABLES&amp;pos=0&amp;'
. 'sql_query=SELECT+%2A+FROM+%60information_schema%60.%60TABLES%60+WHERE'
. '+%60f%60%3D1&amp;lang=en" title="a&gt;">b&lt;</a>',
. '+%60f%60%3D1&amp;lang=en&amp;token=token" title="a&gt;">b&lt;</a>',
$result
);
@ -2288,7 +2288,7 @@ class PMA_InsertEditTest extends PHPUnit_Framework_TestCase
$this->assertEquals(
'<a href="sql.php?db=information_schema&amp;table=TABLES&amp;pos=0&amp;'
. 'sql_query=SELECT+%2A+FROM+%60information_schema%60.%60TABLES%60+WHERE'
. '+%60f%60%3D1&amp;lang=en" title="b&lt;">a&gt;</a>',
. '+%60f%60%3D1&amp;lang=en&amp;token=token" title="b&lt;">a&gt;</a>',
$result
);
}

View File

@ -2427,13 +2427,13 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$this->assertContains(
'<a class="ajax" href="server_privileges.php?initial=-&amp;'
. 'server=1&amp;lang=en&amp;collation_connection='
. 'collation_connection">-</a>',
. 'collation_connection&amp;token=token">-</a>',
$actual
);
$this->assertContains(
'<a class="ajax" href="server_privileges.php?initial=%22&amp;'
. 'server=1&amp;lang=en&amp;collation_connection='
. 'collation_connection">"</a>',
. 'collation_connection&amp;token=token">"</a>',
$actual
);
$this->assertContains('Show all', $actual);

View File

@ -368,7 +368,7 @@ class PMA_User_Preferences_Test extends PMATestCase
{
$GLOBALS['lang'] = '';
$this->mockResponse('Location: /phpmyadmin/file.html?a=b&saved=1&server=0#h+ash');
$this->mockResponse('Location: /phpmyadmin/file.html?a=b&saved=1&server=0&token=token#h+ash');
$GLOBALS['PMA_Config']->set('PmaAbsoluteUri', '');
$GLOBALS['PMA_Config']->set('PMA_IS_IIS', false);

View File

@ -10,6 +10,7 @@
/*
* Include to test.
*/
use PhpMyAdmin\MoTranslator\Loader;
/**
@ -71,6 +72,7 @@ class PMA_FormatNumberByteDown_Test extends PHPUnit_Framework_TestCase
array(-0.003, 6, 0, '-3,000 &micro;'),
array(100.98, 0, 2, '100.98'),
array(21010101, 0, 2, '21,010,101.00'),
array(1100000000, 5, 0, '1,100 M'),
array(20000, 2, 2, '20 k'),
array(20011, 2, 2, '20.01 k'),
array(123456789, 6, 0, '123,457 k'),
@ -118,17 +120,41 @@ class PMA_FormatNumberByteDown_Test extends PHPUnit_Framework_TestCase
// Test with various precisions
$old_precision = ini_get('precision');
ini_set('precision', 20);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', 14);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', 10);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', 5);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', -1);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', $old_precision);
try {
ini_set('precision', 20);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', 14);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', 10);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', 5);
$this->assertFormatNumber($a, $b, $c, $d);
ini_set('precision', -1);
$this->assertFormatNumber($a, $b, $c, $d);
} finally {
ini_set('precision', $old_precision);
}
// Test with different translations
$translator = Loader::getInstance()->getTranslator();
try {
// German
$translator->setTranslation(',', '.');
$translator->setTranslation('.', ',');
$expected = str_replace([',', 'X'], ['.', ','], str_replace('.', 'X', $d));
$this->assertFormatNumber($a, $b, $c, $expected);
// Czech
$translator->setTranslation(',', ' ');
$translator->setTranslation('.', ',');
$expected = str_replace([',', 'X'], [' ', ','], str_replace('.', 'X', $d));
$this->assertFormatNumber($a, $b, $c, $expected);
} finally {
// Restore
$translator->setTranslation(',', ',');
$translator->setTranslation('.', '.');
}
}
/**

View File

@ -58,7 +58,7 @@ class PMA_GetDbLink_Test extends PHPUnit_Framework_TestCase
$GLOBALS['cfg']['DefaultTabDatabase'], 'database'
)
. '?db=' . $database
. '&amp;server=99&amp;lang=en" '
. '&amp;server=99&amp;lang=en&amp;token=token" '
. 'title="Jump to database &quot;'
. htmlspecialchars($database) . '&quot;.">'
. htmlspecialchars($database) . '</a>',
@ -80,7 +80,7 @@ class PMA_GetDbLink_Test extends PHPUnit_Framework_TestCase
$GLOBALS['cfg']['DefaultTabDatabase'], 'database'
)
. '?db=' . $database
. '&amp;server=99&amp;lang=en" title="Jump to database &quot;'
. '&amp;server=99&amp;lang=en&amp;token=token" title="Jump to database &quot;'
. htmlspecialchars($database) . '&quot;.">'
. htmlspecialchars($database) . '</a>',
PMA\libraries\Util::getDbLink($database)
@ -103,7 +103,7 @@ class PMA_GetDbLink_Test extends PHPUnit_Framework_TestCase
)
. '?db='
. htmlspecialchars(urlencode($database))
. '&amp;server=99&amp;lang=en" title="Jump to database &quot;'
. '&amp;server=99&amp;lang=en&amp;token=token" title="Jump to database &quot;'
. htmlspecialchars($database) . '&quot;.">'
. htmlspecialchars($database) . '</a>',
PMA\libraries\Util::getDbLink($database)