Merge branch 'master' into master-security
This commit is contained in:
commit
809a75eb92
@ -6,6 +6,7 @@
|
||||
language: php
|
||||
|
||||
php:
|
||||
- "7.1.0RC1"
|
||||
- "7.0"
|
||||
- "5.6"
|
||||
- "5.5"
|
||||
|
||||
12
ChangeLog
12
ChangeLog
@ -3,7 +3,6 @@ phpMyAdmin - ChangeLog
|
||||
|
||||
4.7.0.0 (not yet released)
|
||||
- patch #12233 [Display] Improve message when renaming database to same name
|
||||
- issue #11924 Remove caching of server information
|
||||
- issue #6146 Log authentication attempts to syslog
|
||||
- issue #11981 Remove support for Swekey authentication
|
||||
- issue #11987 Remove code for no longer supported MSIE versions
|
||||
@ -28,6 +27,8 @@ phpMyAdmin - ChangeLog
|
||||
- issue #12465 Improved handling of http requests
|
||||
- issue #12474 Broken links in Setup forms Navigation
|
||||
- issue #12494 Can't add a new User
|
||||
- issue #12523 Add 'token' Parameter in all POST requests (Fix 'Token mismatch' errors)
|
||||
- issue #12302 Improved usage of number_format
|
||||
|
||||
4.6.5 (not yet released)
|
||||
- issue Remove potentionally license problematic sRGB profile
|
||||
@ -49,6 +50,15 @@ phpMyAdmin - ChangeLog
|
||||
- issue #12502 Remove unused paramenter when connecting to MySQLi
|
||||
- issue #12303 Fix number formatting with different settings of precision in PHP
|
||||
- issue #12405 Use single quotes in PHP code
|
||||
- issue #12534 Option for the dropped column is not removed from 'after_field' select, after the column is dropped
|
||||
- issue #12531 Properly detect DROP DATABASE queries
|
||||
- issue #12470 Fix possible race condition in setting URL hash
|
||||
- issue #11924 Remove caching of server information
|
||||
- issue #11628 Proper parsing of INSERT ... ON DUPLICATE KEY queries
|
||||
- issue #12545 Proper parsing of CREATE TABLE ... PARTITION queries
|
||||
- issue #12473 Code can throw unhandled exception
|
||||
- issue #12550 Do not try to keep alive session even after expiry
|
||||
- issue #12512 Fixed rendering BBCode links in setup
|
||||
|
||||
4.6.4 (2016-08-16)
|
||||
- issue [security] Weaknesses with cookie encryption, see PMASA-2016-29
|
||||
|
||||
@ -122,8 +122,8 @@ libraries/plugins/transformations/TEMPLATE\_ABSTRACT files for adding
|
||||
your own transformation plug-in. You can also generate a new
|
||||
transformation plug-in (with or without the abstract transformation
|
||||
class), by using
|
||||
:file:`libraries/plugins/transformations/generator_plugin.sh` or
|
||||
:file:`libraries/plugins/transformations/generator_main_class.sh`.
|
||||
:file:`scripts/transformations_generator_plugin.sh` or
|
||||
:file:`scripts/transformations_generator_main_class.sh`.
|
||||
|
||||
The applyTransformation() method always gets passed three variables:
|
||||
|
||||
|
||||
13
import.php
13
import.php
@ -691,6 +691,19 @@ if ($go_sql) {
|
||||
// @todo: possibly refactor
|
||||
extract($analyzed_sql_results);
|
||||
|
||||
// Check if User is allowed to issue a 'DROP DATABASE' Statement
|
||||
if (PMA_hasNoRightsToDropDatabase(
|
||||
$analyzed_sql_results, $cfg['AllowUserDropDatabase'], $GLOBALS['is_superuser']
|
||||
)) {
|
||||
PMA\libraries\Util::mysqlDie(
|
||||
__('"DROP DATABASE" statements are disabled.'),
|
||||
'',
|
||||
false,
|
||||
$_SESSION['Import_message']['go_back_url']
|
||||
);
|
||||
return;
|
||||
} // end if
|
||||
|
||||
if ($table != $table_from_sql && !empty($table_from_sql)) {
|
||||
$table = $table_from_sql;
|
||||
}
|
||||
|
||||
@ -588,8 +588,9 @@ function setTab(tab_id)
|
||||
}
|
||||
$this.find('li').removeClass('active').find('a[href=#' + tab_id + ']').parent().addClass('active');
|
||||
$this.parent().find('div.tabs_contents fieldset').hide().filter('#' + tab_id).show();
|
||||
location.hash = 'tab_' + tab_id;
|
||||
$this.parent().find('input[name=tab_hash]').val(location.hash);
|
||||
var hashValue = 'tab_' + tab_id;
|
||||
location.hash = hashValue;
|
||||
$this.parent().find('input[name=tab_hash]').val(hashValue);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -613,8 +613,12 @@ function confirmLink(theLink, theSqlQuery)
|
||||
if (is_confirmed) {
|
||||
if ($(theLink).hasClass('formLinkSubmit')) {
|
||||
var name = 'is_js_confirmed';
|
||||
|
||||
if ($(theLink).attr('href').indexOf('usesubform') != -1) {
|
||||
name = 'subform[' + $(theLink).attr('href').substr('#').match(/usesubform\[(\d+)\]/i)[1] + '][is_js_confirmed]';
|
||||
var matches = $(theLink).attr('href').substr('#').match(/usesubform\[(\d+)\]/i);
|
||||
if (matches != null) {
|
||||
name = 'subform[' + matches[1] + '][is_js_confirmed]';
|
||||
}
|
||||
}
|
||||
|
||||
$(theLink).parents('form').append('<input type="hidden" name="' + name + '" value="1" />');
|
||||
@ -629,8 +633,7 @@ function confirmLink(theLink, theSqlQuery)
|
||||
} // end of the 'confirmLink()' function
|
||||
|
||||
/**
|
||||
* Displays an error message if a "DROP DATABASE" statement is submitted
|
||||
* while it isn't allowed, else confirms a "DROP/DELETE/ALTER" query before
|
||||
* Confirms a "DROP/DELETE/ALTER" query before
|
||||
* submitting it if required.
|
||||
* This function is called by the 'checkSqlQuery()' js function.
|
||||
*
|
||||
@ -648,17 +651,6 @@ function confirmQuery(theForm1, sqlQuery1)
|
||||
return true;
|
||||
}
|
||||
|
||||
// "DROP DATABASE" statement isn't allowed
|
||||
if (PMA_messages.strNoDropDatabases !== '') {
|
||||
var drop_re = new RegExp('(^|;)\\s*DROP\\s+(IF EXISTS\\s+)?DATABASE\\s', 'i');
|
||||
if (drop_re.test(sqlQuery1.value)) {
|
||||
alert(PMA_messages.strNoDropDatabases);
|
||||
theForm1.reset();
|
||||
sqlQuery1.focus();
|
||||
return false;
|
||||
} // end if
|
||||
} // end if
|
||||
|
||||
// Confirms a "DROP/DELETE/ALTER/TRUNCATE" statement
|
||||
//
|
||||
// TODO: find a way (if possible) to use the parser-analyser
|
||||
@ -666,7 +658,7 @@ function confirmQuery(theForm1, sqlQuery1)
|
||||
// For now, I just added a ^ to check for the statement at
|
||||
// beginning of expression
|
||||
|
||||
var do_confirm_re_0 = new RegExp('^\\s*DROP\\s+(IF EXISTS\\s+)?(TABLE|DATABASE|PROCEDURE)\\s', 'i');
|
||||
var do_confirm_re_0 = new RegExp('^\\s*DROP\\s+(IF EXISTS\\s+)?(TABLE|PROCEDURE)\\s', 'i');
|
||||
var do_confirm_re_1 = new RegExp('^\\s*ALTER\\s+TABLE\\s+((`[^`]+`)|([A-Za-z0-9_$]+))\\s+DROP\\s', 'i');
|
||||
var do_confirm_re_2 = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i');
|
||||
var do_confirm_re_3 = new RegExp('^\\s*TRUNCATE\\s', 'i');
|
||||
@ -911,13 +903,13 @@ AJAX.registerOnload('functions.js', function () {
|
||||
data: params,
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
if (PMA_commonParams.get('LoginCookieValidity')-_idleSecondsCounter > 5) {
|
||||
var interval = (PMA_commonParams.get('LoginCookieValidity') - _idleSecondsCounter - 5) * 1000;
|
||||
if (interval > Math.pow(2, 31) - 1) { // max value for setInterval() function
|
||||
interval = Math.pow(2, 31) - 1;
|
||||
}
|
||||
var remaining = PMA_commonParams.get('LoginCookieValidity') - _idleSecondsCounter;
|
||||
if (remaining > 5) {
|
||||
// max value for setInterval() function
|
||||
var interval = min(remaining * 1000, Math.pow(2, 31) - 1);
|
||||
updateTimeout = window.setTimeout(UpdateIdleTime, interval);
|
||||
} else {
|
||||
} else if (remaining > 0) {
|
||||
// We're close to session expiry
|
||||
updateTimeout = window.setTimeout(UpdateIdleTime, 2000);
|
||||
}
|
||||
} else { //timeout occurred
|
||||
|
||||
@ -39,11 +39,6 @@ if (!defined('TESTSUITE')) {
|
||||
);
|
||||
}
|
||||
|
||||
$js_messages['strNoDropDatabases'] = __('"DROP DATABASE" statements are disabled.');
|
||||
if ($cfg['AllowUserDropDatabase']) {
|
||||
$js_messages['strNoDropDatabases'] = '';
|
||||
}
|
||||
|
||||
/* For confirmations */
|
||||
$js_messages['strConfirm'] = __('Confirm');
|
||||
$js_messages['strDoYouReally'] = __('Do you really want to execute "%s"?');
|
||||
|
||||
@ -239,8 +239,16 @@ AJAX.registerOnload('tbl_structure.js', function () {
|
||||
}
|
||||
$after_field_item.remove();
|
||||
$curr_row.hide("medium").remove();
|
||||
//by default select the last option to add new column (in case last column is dropped)
|
||||
|
||||
// Remove the dropped column from select menu for 'after field'
|
||||
$("select[name=after_field]").find(
|
||||
'[value="' + curr_column_name.trim() + '"]'
|
||||
).remove();
|
||||
|
||||
// by default select the (new) last option to add new column
|
||||
// (in case last column is dropped)
|
||||
$("select[name=after_field] option:last").attr("selected","selected");
|
||||
|
||||
//refresh table stats
|
||||
if (data.tableStat) {
|
||||
$('#tablestatistics').html(data.tableStat);
|
||||
|
||||
@ -53,6 +53,14 @@ class Sanitize
|
||||
'./server_privileges.php?',
|
||||
'./tbl_structure.php?',
|
||||
);
|
||||
// Adjust path to setup script location
|
||||
if (defined('PMA_SETUP')) {
|
||||
foreach ($valid_starts as $key => $value) {
|
||||
if (substr($value, 0, 2) === './') {
|
||||
$valid_starts[$key] = '.' . $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($other) {
|
||||
$valid_starts[] = 'mailto:';
|
||||
$valid_starts[] = 'ftp://';
|
||||
|
||||
@ -76,16 +76,16 @@ class SysInfoLinux extends \PMA\libraries\SysInfo
|
||||
|
||||
$mem = array_merge($defaults, $mem);
|
||||
|
||||
foreach ($mem as $idx => $value) {
|
||||
$mem[$idx] = intval($value);
|
||||
}
|
||||
|
||||
$mem['MemUsed'] = $mem['MemTotal']
|
||||
- $mem['MemFree'] - $mem['Cached'] - $mem['Buffers'];
|
||||
|
||||
$mem['SwapUsed'] = $mem['SwapTotal']
|
||||
- $mem['SwapFree'] - $mem['SwapCached'];
|
||||
|
||||
foreach ($mem as $idx => $value) {
|
||||
$mem[$idx] = intval($value);
|
||||
}
|
||||
|
||||
return $mem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1475,26 +1475,6 @@ class Util
|
||||
return array(trim($return_value), $unit);
|
||||
} // end of the 'formatByteDown' function
|
||||
|
||||
/**
|
||||
* Changes thousands and decimal separators to locale specific values.
|
||||
*
|
||||
* @param string $value the value
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function localizeNumber($value)
|
||||
{
|
||||
return str_replace(
|
||||
array(',', '.'),
|
||||
array(
|
||||
/* l10n: Thousands separator */
|
||||
__(','),
|
||||
/* l10n: Decimal separator */
|
||||
__('.'),
|
||||
),
|
||||
$value
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats $value to the given length and appends SI prefixes
|
||||
@ -1536,11 +1516,18 @@ class Util
|
||||
$originalValue = $value;
|
||||
//number_format is not multibyte safe, str_replace is safe
|
||||
if ($digits_left === 0) {
|
||||
$value = number_format($value, $digits_right);
|
||||
$value = number_format(
|
||||
$value,
|
||||
$digits_right,
|
||||
/* l10n: Decimal separator */
|
||||
__('.'),
|
||||
/* l10n: Thousands separator */
|
||||
__(',')
|
||||
);
|
||||
if (($originalValue != 0) && (floatval($value) == 0)) {
|
||||
$value = ' <' . (1 / self::pow(10, $digits_right));
|
||||
}
|
||||
return self::localizeNumber($value);
|
||||
return $value;
|
||||
}
|
||||
|
||||
// this units needs no translation, ISO
|
||||
@ -1597,19 +1584,32 @@ class Util
|
||||
$unit = $units[$d];
|
||||
|
||||
// number_format is not multibyte safe, str_replace is safe
|
||||
$formattedValue = number_format($value, $digits_right);
|
||||
$formattedValue = number_format(
|
||||
$value,
|
||||
$digits_right,
|
||||
/* l10n: Decimal separator */
|
||||
__('.'),
|
||||
/* l10n: Thousands separator */
|
||||
__(',')
|
||||
);
|
||||
// If we don't want any zeros, remove them now
|
||||
if ($noTrailingZero && strpos($formattedValue, '.') !== false) {
|
||||
$formattedValue = preg_replace('/\.?0+$/', '', $formattedValue);
|
||||
}
|
||||
$localizedValue = self::localizeNumber($formattedValue);
|
||||
|
||||
if ($originalValue != 0 && floatval($value) == 0) {
|
||||
return ' <' . self::localizeNumber((1 / self::pow(10, $digits_right)))
|
||||
return ' <' . number_format(
|
||||
(1 / self::pow(10, $digits_right)),
|
||||
$digits_right,
|
||||
/* l10n: Decimal separator */
|
||||
__('.'),
|
||||
/* l10n: Thousands separator */
|
||||
__(',')
|
||||
)
|
||||
. ' ' . $unit;
|
||||
}
|
||||
|
||||
return $sign . $localizedValue . ' ' . $unit;
|
||||
return $sign . $formattedValue . ' ' . $unit;
|
||||
} // end of the 'formatNumber' function
|
||||
|
||||
/**
|
||||
|
||||
@ -380,10 +380,10 @@ if (PMA_checkPageValidity($_REQUEST['back'], $goto_whitelist)) {
|
||||
* f.e. lang, server, collation_connection in PMA\libraries\Config
|
||||
*/
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$token_mismatch = true;
|
||||
$token_provided = false;
|
||||
$token_mismatch = true;
|
||||
$token_provided = false;
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
if (PMA_isValid($_POST['token'])) {
|
||||
$token_provided = true;
|
||||
$token_mismatch = ! hash_equals($_SESSION[' PMA_token '], $_POST['token']);
|
||||
|
||||
@ -698,7 +698,7 @@ $GLOBALS['dummy_queries'] = array(
|
||||
array(
|
||||
'query' => "SELECT `PARTITION_METHOD` "
|
||||
. "FROM `information_schema`.`PARTITIONS` "
|
||||
. "WHERE `TABLE_SCHEMA` = 'db' AND `TABLE_NAME` = 'table'",
|
||||
. "WHERE `TABLE_SCHEMA` = 'db' AND `TABLE_NAME` = 'table' LIMIT 1",
|
||||
'result' => array(),
|
||||
),
|
||||
array(
|
||||
|
||||
@ -20,11 +20,6 @@ if (! defined('PHPMYADMIN')) {
|
||||
*/
|
||||
require_once './libraries/check_user_privileges.lib.php';
|
||||
|
||||
/**
|
||||
* We do this check, DROP DATABASE does not need to be confirmed elsewhere
|
||||
*/
|
||||
define('PMA_CHK_DROP', 1);
|
||||
|
||||
/**
|
||||
* Checks whether timeout is getting close
|
||||
*
|
||||
@ -174,7 +169,6 @@ function PMA_importRunQuery($sql = '', $full = '', &$sql_data = array())
|
||||
if (! empty($import_run_buffer['sql'])
|
||||
&& trim($import_run_buffer['sql']) != ''
|
||||
) {
|
||||
|
||||
$max_sql_len = max(
|
||||
$max_sql_len,
|
||||
mb_strlen($import_run_buffer['sql'])
|
||||
@ -182,63 +176,53 @@ function PMA_importRunQuery($sql = '', $full = '', &$sql_data = array())
|
||||
if (! $sql_query_disabled) {
|
||||
$sql_query .= $import_run_buffer['full'];
|
||||
}
|
||||
$pattern = '@^[[:space:]]*DROP[[:space:]]+(IF EXISTS[[:space:]]+)?'
|
||||
. 'DATABASE @i';
|
||||
if (! $cfg['AllowUserDropDatabase']
|
||||
&& ! $is_superuser
|
||||
&& preg_match($pattern, $import_run_buffer['sql'])
|
||||
) {
|
||||
$GLOBALS['message'] = Message::error(
|
||||
__('"DROP DATABASE" statements are disabled.')
|
||||
|
||||
$executed_queries++;
|
||||
|
||||
if ($run_query && $executed_queries < 50) {
|
||||
$go_sql = true;
|
||||
|
||||
if (! $sql_query_disabled) {
|
||||
$complete_query = $sql_query;
|
||||
$display_query = $sql_query;
|
||||
} else {
|
||||
$complete_query = '';
|
||||
$display_query = '';
|
||||
}
|
||||
$sql_query = $import_run_buffer['sql'];
|
||||
$sql_data['valid_sql'][] = $import_run_buffer['sql'];
|
||||
$sql_data['valid_full'][] = $import_run_buffer['full'];
|
||||
if (! isset($sql_data['valid_queries'])) {
|
||||
$sql_data['valid_queries'] = 0;
|
||||
}
|
||||
$sql_data['valid_queries']++;
|
||||
} elseif ($run_query) {
|
||||
|
||||
/* Handle rollback from go_sql */
|
||||
if ($go_sql && isset($sql_data['valid_full'])) {
|
||||
$queries = $sql_data['valid_sql'];
|
||||
$fulls = $sql_data['valid_full'];
|
||||
$count = $sql_data['valid_queries'];
|
||||
$go_sql = false;
|
||||
|
||||
$sql_data['valid_sql'] = array();
|
||||
$sql_data['valid_queries'] = 0;
|
||||
unset($sql_data['valid_full']);
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
PMA_executeQuery(
|
||||
$queries[$i],
|
||||
$fulls[$i],
|
||||
$sql_data
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
PMA_executeQuery(
|
||||
$import_run_buffer['sql'],
|
||||
$import_run_buffer['full'],
|
||||
$sql_data
|
||||
);
|
||||
$error = true;
|
||||
} else {
|
||||
$executed_queries++;
|
||||
|
||||
if ($run_query && $executed_queries < 50) {
|
||||
$go_sql = true;
|
||||
if (! $sql_query_disabled) {
|
||||
$complete_query = $sql_query;
|
||||
$display_query = $sql_query;
|
||||
} else {
|
||||
$complete_query = '';
|
||||
$display_query = '';
|
||||
}
|
||||
$sql_query = $import_run_buffer['sql'];
|
||||
$sql_data['valid_sql'][] = $import_run_buffer['sql'];
|
||||
$sql_data['valid_full'][] = $import_run_buffer['full'];
|
||||
if (! isset($sql_data['valid_queries'])) {
|
||||
$sql_data['valid_queries'] = 0;
|
||||
}
|
||||
$sql_data['valid_queries']++;
|
||||
} elseif ($run_query) {
|
||||
|
||||
/* Handle rollback from go_sql */
|
||||
if ($go_sql && isset($sql_data['valid_full'])) {
|
||||
$queries = $sql_data['valid_sql'];
|
||||
$fulls = $sql_data['valid_full'];
|
||||
$count = $sql_data['valid_queries'];
|
||||
$go_sql = false;
|
||||
|
||||
$sql_data['valid_sql'] = array();
|
||||
$sql_data['valid_queries'] = 0;
|
||||
unset($sql_data['valid_full']);
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
PMA_executeQuery(
|
||||
$queries[$i],
|
||||
$fulls[$i],
|
||||
$sql_data
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
PMA_executeQuery(
|
||||
$import_run_buffer['sql'],
|
||||
$import_run_buffer['full'],
|
||||
$sql_data
|
||||
);
|
||||
} // end run query
|
||||
} // end if not DROP DATABASE
|
||||
} // end run query
|
||||
// end non empty query
|
||||
} elseif (! empty($import_run_buffer['full'])) {
|
||||
if ($go_sql) {
|
||||
|
||||
@ -104,7 +104,7 @@ class Svg extends XMLWriter
|
||||
/**
|
||||
* Set document font size
|
||||
*
|
||||
* @param string $value sets the font size in pixels
|
||||
* @param integer $value sets the font size in pixels
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
@ -116,7 +116,7 @@ class Svg extends XMLWriter
|
||||
/**
|
||||
* Get document font size
|
||||
*
|
||||
* @return string returns the font size
|
||||
* @return integer returns the font size
|
||||
*/
|
||||
public function getFontSize()
|
||||
{
|
||||
@ -240,7 +240,7 @@ class Svg extends XMLWriter
|
||||
$this->writeAttribute('style', $styles);
|
||||
if (isset($text)) {
|
||||
$this->writeAttribute('font-family', $this->font);
|
||||
$this->writeAttribute('font-size', $this->fontSize);
|
||||
$this->writeAttribute('font-size', $this->fontSize . 'px');
|
||||
$this->text($text);
|
||||
}
|
||||
$this->endElement();
|
||||
|
||||
@ -72,7 +72,7 @@ class SvgRelationSchema extends ExportRelationSchema
|
||||
);
|
||||
$this->diagram->SetAuthor('phpMyAdmin ' . PMA_VERSION);
|
||||
$this->diagram->setFont('Arial');
|
||||
$this->diagram->setFontSize('16px');
|
||||
$this->diagram->setFontSize(16);
|
||||
|
||||
$alltables = $this->getTablesFromRequest();
|
||||
|
||||
@ -264,4 +264,4 @@ class SvgRelationSchema extends ExportRelationSchema
|
||||
$table->tableDraw($this->showColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -228,7 +228,8 @@ function PMA_getHtmlToEditUserGroup($userGroup = null)
|
||||
$html_output .= '<fieldset id="fieldset_user_group_rights">';
|
||||
$html_output .= '<legend>' . __('User group menu assignments')
|
||||
. ' '
|
||||
. '<input type="checkbox" class="checkall_box" title="Check all">'
|
||||
. '<input type="checkbox" id="addUsersForm_checkall" '
|
||||
. 'class="checkall_box" title="Check all">'
|
||||
. '<label for="addUsersForm_checkall">' . __('Check all') . '</label>'
|
||||
. '</legend>';
|
||||
|
||||
@ -352,7 +353,7 @@ function PMA_editUserGroup($userGroup, $new = false)
|
||||
}
|
||||
$tabName = $tabGroupName . '_' . $tab;
|
||||
$allowed = isset($_REQUEST[$tabName]) && $_REQUEST[$tabName] == 'Y';
|
||||
$sql_query .= "('" . PMA_Util::sqlAddSlashes($userGroup) . "', '" . $tabName . "', '"
|
||||
$sql_query .= "('" . PMA\libraries\Util::sqlAddSlashes($userGroup) . "', '" . $tabName . "', '"
|
||||
. ($allowed ? "Y" : "N") . "')";
|
||||
$first = false;
|
||||
}
|
||||
|
||||
@ -689,8 +689,7 @@ function PMA_isDeleteTransformationInfo($analyzed_sql_results)
|
||||
function PMA_hasNoRightsToDropDatabase($analyzed_sql_results,
|
||||
$allowUserDropDatabase, $is_superuser
|
||||
) {
|
||||
return ! defined('PMA_CHK_DROP')
|
||||
&& ! $allowUserDropDatabase
|
||||
return ! $allowUserDropDatabase
|
||||
&& isset($analyzed_sql_results['drop_database'])
|
||||
&& $analyzed_sql_results['drop_database']
|
||||
&& ! $is_superuser;
|
||||
|
||||
10
po/az.po
10
po/az.po
@ -4,16 +4,16 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 4.7.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
|
||||
"POT-Creation-Date: 2016-08-17 11:28+0200\n"
|
||||
"PO-Revision-Date: 2016-07-29 19:10+0000\n"
|
||||
"PO-Revision-Date: 2016-09-06 06:15+0000\n"
|
||||
"Last-Translator: Sevdimali İsa <sevdimaliisayev@mail.ru>\n"
|
||||
"Language-Team: Azerbaijani <https://hosted.weblate.org/projects/phpmyadmin/"
|
||||
"master/az/>\n"
|
||||
"Language-Team: Azerbaijani "
|
||||
"<https://hosted.weblate.org/projects/phpmyadmin/master/az/>\n"
|
||||
"Language: az\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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.8-dev\n"
|
||||
"X-Generator: Weblate 2.8\n"
|
||||
|
||||
#: changelog.php:38 license.php:33
|
||||
#, fuzzy, php-format
|
||||
@ -3822,6 +3822,8 @@ msgid ""
|
||||
"You attempted to load file with unsupported compression (%s). Either support "
|
||||
"for it is not implemented or disabled by your configuration."
|
||||
msgstr ""
|
||||
"Dəstəklənməyən sıxışdırmayla (%s) fayl yükləməyi sınadınız. Ya bunun üçün "
|
||||
"hələki dəstək tamamlanmadı ya da konfiqurasiyanız tərəfindən deaktiv edildi."
|
||||
|
||||
#: libraries/Footer.php:74
|
||||
#, php-format
|
||||
|
||||
26
po/id.po
26
po/id.po
@ -4,20 +4,20 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 4.7.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
|
||||
"POT-Creation-Date: 2016-08-17 11:28+0200\n"
|
||||
"PO-Revision-Date: 2016-08-12 14:41+0000\n"
|
||||
"PO-Revision-Date: 2016-09-16 00:03+0000\n"
|
||||
"Last-Translator: Dadan Setia <da2n_s@yahoo.co.id>\n"
|
||||
"Language-Team: Indonesian <https://hosted.weblate.org/projects/phpmyadmin/"
|
||||
"master/id/>\n"
|
||||
"Language-Team: Indonesian "
|
||||
"<https://hosted.weblate.org/projects/phpmyadmin/master/id/>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 2.8-dev\n"
|
||||
"X-Generator: Weblate 2.9-dev\n"
|
||||
"X-Poedit-Basepath: ../../..\n"
|
||||
|
||||
#: changelog.php:38 license.php:33
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid ""
|
||||
#| "The %s file is not available on this system, please visit www.phpmyadmin."
|
||||
#| "net for more information."
|
||||
@ -25,8 +25,8 @@ msgid ""
|
||||
"The %s file is not available on this system, please visit %s for more "
|
||||
"information."
|
||||
msgstr ""
|
||||
"Berkas %s tidak ditemukan dalam sistem ini, harap kunjungi www.phpmyadmin."
|
||||
"net untuk informasi lebih lanjut."
|
||||
"Berkas %s tidak tersedia pada sistem ini, silahkan kunjungi %s untuk "
|
||||
"informasi lebih lanjut."
|
||||
|
||||
#: db_central_columns.php:107
|
||||
msgid "The central list of columns for the current database is empty."
|
||||
@ -777,8 +777,9 @@ msgstr ""
|
||||
"File konfigurasi membutuhkan susunan kata-kata rahasia (blowfish_secret)."
|
||||
|
||||
#: index.php:529
|
||||
#, fuzzy
|
||||
msgid "The secret passphrase in configuration (blowfish_secret) is too short."
|
||||
msgstr ""
|
||||
msgstr "Konfigurasi Passphrase rahasia (blowfish_secret) terlalu pendek."
|
||||
|
||||
#: index.php:543
|
||||
msgid ""
|
||||
@ -932,16 +933,15 @@ msgid "Do you really want to TRUNCATE the selected partition(s)?"
|
||||
msgstr "Apakah anda yakin melakukan TRUNCATE pada partisi terpilih?"
|
||||
|
||||
#: js/messages.php:90
|
||||
#, fuzzy
|
||||
#| msgid "Do you really want to delete the search \"%s\"?"
|
||||
msgid "Do you really want to remove partitioning?"
|
||||
msgstr "Apakah anda yakin ingin menghapus pencarian \"%s\"?"
|
||||
msgstr "Anda yakin ingin menghapus partisi?"
|
||||
|
||||
#: js/messages.php:91
|
||||
#, fuzzy
|
||||
#| msgid "Do you really want to execute \"%s\"?"
|
||||
msgid "Do you really want to RESET SLAVE?"
|
||||
msgstr "Anda yakin akan menjalankan \"%s\"?"
|
||||
msgstr "Anda yakin akan melakukan RESET SLAVE?"
|
||||
|
||||
#: js/messages.php:93
|
||||
#, fuzzy
|
||||
@ -959,7 +959,6 @@ msgstr ""
|
||||
"asli dan simak tips di "
|
||||
|
||||
#: js/messages.php:99
|
||||
#, fuzzy
|
||||
msgid "Garbled Data"
|
||||
msgstr "Data yang kacau"
|
||||
|
||||
@ -3873,8 +3872,9 @@ msgid "Unknown error in file upload."
|
||||
msgstr "Galat tidak dikenal sewaktu mengunggah berkas."
|
||||
|
||||
#: libraries/File.php:424
|
||||
#, fuzzy
|
||||
msgid "File is a symbolic link"
|
||||
msgstr ""
|
||||
msgstr "File merupakan tautan simbolik"
|
||||
|
||||
#: libraries/File.php:429 libraries/File.php:532
|
||||
msgid "File could not be read!"
|
||||
|
||||
64
po/ja.po
64
po/ja.po
@ -4,16 +4,16 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 4.7.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
|
||||
"POT-Creation-Date: 2016-08-17 11:28+0200\n"
|
||||
"PO-Revision-Date: 2016-08-02 16:59+0000\n"
|
||||
"Last-Translator: Masahiro Nishi <grooversmail@gmail.com>\n"
|
||||
"Language-Team: Japanese <https://hosted.weblate.org/projects/phpmyadmin/"
|
||||
"master/ja/>\n"
|
||||
"PO-Revision-Date: 2016-09-16 05:38+0000\n"
|
||||
"Last-Translator: yanagimoto <yanagimoto@klink.co.jp>\n"
|
||||
"Language-Team: Japanese "
|
||||
"<https://hosted.weblate.org/projects/phpmyadmin/master/ja/>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 2.8-dev\n"
|
||||
"X-Generator: Weblate 2.9-dev\n"
|
||||
|
||||
#: changelog.php:38 license.php:33
|
||||
#, fuzzy, php-format
|
||||
@ -776,7 +776,7 @@ msgstr ""
|
||||
|
||||
#: index.php:529
|
||||
msgid "The secret passphrase in configuration (blowfish_secret) is too short."
|
||||
msgstr ""
|
||||
msgstr "設定ファイルの中に記述されているパスフレーズ(blowfish_secret)が短すぎます。"
|
||||
|
||||
#: index.php:543
|
||||
msgid ""
|
||||
@ -1433,7 +1433,7 @@ msgstr "一般クエリログより"
|
||||
|
||||
#: js/messages.php:270
|
||||
msgid "The database name is not known for this query in the server's logs."
|
||||
msgstr ""
|
||||
msgstr "サーバーログ内にあるこのクエリに記述されたデータベース名が認識できません。"
|
||||
|
||||
#: js/messages.php:272
|
||||
msgid "Analysing logs"
|
||||
@ -2001,7 +2001,7 @@ msgstr "テーブルのデータサイズと列数に応じて数秒かかる場
|
||||
|
||||
#: js/messages.php:461
|
||||
msgid "Step"
|
||||
msgstr ""
|
||||
msgstr "手順"
|
||||
|
||||
#: js/messages.php:463
|
||||
#, fuzzy
|
||||
@ -2166,7 +2166,7 @@ msgstr "暗号化鍵"
|
||||
msgid ""
|
||||
"Indicates that you have made changes to this page; you will be prompted for "
|
||||
"confirmation before abandoning changes"
|
||||
msgstr ""
|
||||
msgstr "あなたがこのページに変更を加えた場合、変更を破棄する前に確認画面が表示されるでしょう。"
|
||||
|
||||
#: js/messages.php:535
|
||||
msgid "Select referenced key"
|
||||
@ -2518,7 +2518,7 @@ msgstr "全て無視"
|
||||
#: js/messages.php:693
|
||||
msgid ""
|
||||
"As per your settings, they are being submitted currently, please be patient."
|
||||
msgstr ""
|
||||
msgstr "設定に従って現在これらを送信しています。気長にお待ちください。"
|
||||
|
||||
#: js/messages.php:703
|
||||
msgid "Execute this query again?"
|
||||
@ -3092,7 +3092,7 @@ msgstr "ルーマニア語"
|
||||
|
||||
#: libraries/Charsets.php:328
|
||||
msgid "Sinhalese"
|
||||
msgstr ""
|
||||
msgstr "シンハラ語"
|
||||
|
||||
#: libraries/Charsets.php:331
|
||||
msgid "Slovak"
|
||||
@ -3787,7 +3787,7 @@ msgstr "ファイルのアップロード中に予期しないエラーが発生
|
||||
|
||||
#: libraries/File.php:424
|
||||
msgid "File is a symbolic link"
|
||||
msgstr ""
|
||||
msgstr "このファイルはシンボリックリンクです"
|
||||
|
||||
#: libraries/File.php:429 libraries/File.php:532
|
||||
msgid "File could not be read!"
|
||||
@ -3946,7 +3946,7 @@ msgstr "サポートされていない言語のコードを無視します。"
|
||||
#: libraries/Linter.php:99
|
||||
msgid ""
|
||||
"Linting is disabled for this query because it exceeds the maximum length."
|
||||
msgstr ""
|
||||
msgstr "文字列の長さが最大値を超えているため、このクエリに対する構文チェックは無効になっています。"
|
||||
|
||||
#: libraries/Linter.php:165
|
||||
#, php-format
|
||||
@ -4084,7 +4084,7 @@ msgstr "イベント"
|
||||
|
||||
#: libraries/Menu.php:507 libraries/Util.php:4275
|
||||
msgid "Designer"
|
||||
msgstr ""
|
||||
msgstr "デザイナ"
|
||||
|
||||
#: libraries/Menu.php:516 libraries/Util.php:4276
|
||||
#: templates/database/structure/check_all_tables.phtml:34
|
||||
@ -4217,7 +4217,7 @@ msgstr "変数"
|
||||
|
||||
#: libraries/SavedSearches.php:246
|
||||
msgid "Please provide a name for this bookmarked search."
|
||||
msgstr ""
|
||||
msgstr "このブックマークされた検索に名前を付けてください。"
|
||||
|
||||
#: libraries/SavedSearches.php:261
|
||||
#, fuzzy
|
||||
@ -4237,7 +4237,7 @@ msgstr ""
|
||||
|
||||
#: libraries/SavedSearches.php:375
|
||||
msgid "Missing information to load the search."
|
||||
msgstr ""
|
||||
msgstr "この検索を呼び出すための情報に誤りがあります。"
|
||||
|
||||
#: libraries/SavedSearches.php:394
|
||||
#, fuzzy
|
||||
@ -4797,7 +4797,7 @@ msgstr "統計データ"
|
||||
#: libraries/Util.php:690
|
||||
#, php-format
|
||||
msgid "%d errors were found during analysis."
|
||||
msgstr ""
|
||||
msgstr "解析中に %d 個のエラーが見つかりました。"
|
||||
|
||||
#: libraries/Util.php:753 libraries/rte/rte_events.lib.php:114
|
||||
#: libraries/rte/rte_events.lib.php:123 libraries/rte/rte_events.lib.php:154
|
||||
@ -5093,7 +5093,7 @@ msgstr "%s を %s 以降にアップグレードしてください。"
|
||||
|
||||
#: libraries/common.inc.php:901
|
||||
msgid "Error: Token mismatch"
|
||||
msgstr ""
|
||||
msgstr "エラー: トークンが一致しません"
|
||||
|
||||
#: libraries/common.inc.php:919
|
||||
msgid "GLOBALS overwrite attempt"
|
||||
@ -5174,15 +5174,15 @@ msgstr "閉じておく"
|
||||
|
||||
#: libraries/config.values.php:128
|
||||
msgid "Ask before sending error reports"
|
||||
msgstr ""
|
||||
msgstr "エラーレポートを送信する前に確認する"
|
||||
|
||||
#: libraries/config.values.php:129
|
||||
msgid "Always send error reports"
|
||||
msgstr ""
|
||||
msgstr "常にエラーレポートを送信する"
|
||||
|
||||
#: libraries/config.values.php:130
|
||||
msgid "Never send error reports"
|
||||
msgstr ""
|
||||
msgstr "エラーレポートを送らない"
|
||||
|
||||
#: libraries/config.values.php:133
|
||||
#, fuzzy
|
||||
@ -6638,7 +6638,7 @@ msgstr ""
|
||||
|
||||
#: libraries/config/messages.inc.php:376 libraries/config/messages.inc.php:390
|
||||
msgid "Update data when duplicate keys found on import"
|
||||
msgstr ""
|
||||
msgstr "インポート中に重複したキーが見つかった場合も更新する"
|
||||
|
||||
#: libraries/config/messages.inc.php:380
|
||||
#, fuzzy
|
||||
@ -8434,7 +8434,7 @@ msgstr ""
|
||||
|
||||
#: libraries/config/messages.inc.php:987
|
||||
msgid "Choose the default action when sending error reports."
|
||||
msgstr ""
|
||||
msgstr "エラーレポートを送信する際の既定の動作を選択してください。"
|
||||
|
||||
#: libraries/config/messages.inc.php:989
|
||||
#, fuzzy
|
||||
@ -8458,7 +8458,7 @@ msgstr "実行されたクエリ"
|
||||
msgid ""
|
||||
"Enable Zero Configuration mode which lets you setup phpMyAdmin configuration "
|
||||
"storage tables automatically."
|
||||
msgstr ""
|
||||
msgstr "ゼロコンフィギュレーションモードを有効にします。これによりphpMyAdminのコンフィギュレーションストレージテーブルは自動設定されます。"
|
||||
|
||||
#: libraries/config/messages.inc.php:1001
|
||||
#, fuzzy
|
||||
@ -8520,7 +8520,7 @@ msgstr "Open Document テキスト"
|
||||
|
||||
#: libraries/controllers/database/DatabaseStructureController.php:268
|
||||
msgid "Favorite List is full!"
|
||||
msgstr ""
|
||||
msgstr "お気に入りリストが一杯です!"
|
||||
|
||||
#: libraries/controllers/database/DatabaseStructureController.php:554
|
||||
#: tbl_operations.php:375
|
||||
@ -8785,7 +8785,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"You are using the mysql extension which is deprecated in phpMyAdmin. Please "
|
||||
"consider installing the mysqli extension."
|
||||
msgstr ""
|
||||
msgstr "phpMyAdminで非推奨のmysql拡張機能を使用しています。mysqli拡張機能の導入を検討してください。"
|
||||
|
||||
#: libraries/db_designer.lib.php:119
|
||||
#, fuzzy
|
||||
@ -9223,15 +9223,15 @@ msgstr "インポートファイルをアップロードしています…"
|
||||
#: libraries/display_import.lib.php:491
|
||||
#, php-format
|
||||
msgid "%s/sec."
|
||||
msgstr ""
|
||||
msgstr "%s/秒"
|
||||
|
||||
#: libraries/display_import.lib.php:492
|
||||
msgid "About %MIN min. %SEC sec. remaining."
|
||||
msgstr ""
|
||||
msgstr "残り時間 約 %MIN 分 %SEC 秒"
|
||||
|
||||
#: libraries/display_import.lib.php:493
|
||||
msgid "About %SEC sec. remaining."
|
||||
msgstr ""
|
||||
msgstr "残り時間 約 %SEC 秒"
|
||||
|
||||
#: libraries/display_import.lib.php:495
|
||||
msgid "The file is being processed, please be patient."
|
||||
@ -9609,7 +9609,7 @@ msgstr "返り値が空でした (行数 0)。"
|
||||
|
||||
#: libraries/import.lib.php:273 libraries/sql.lib.php:1382
|
||||
msgid "[ROLLBACK occurred.]"
|
||||
msgstr ""
|
||||
msgstr "ロールバックが発生しました。"
|
||||
|
||||
#: libraries/import.lib.php:1219
|
||||
msgid ""
|
||||
@ -9786,7 +9786,7 @@ msgstr "id %1$d の行を挿入しました"
|
||||
|
||||
#: libraries/mult_submits.inc.php:328
|
||||
msgid "Success!"
|
||||
msgstr ""
|
||||
msgstr "成功!"
|
||||
|
||||
#: libraries/mult_submits.lib.php:345 libraries/operations.lib.php:171
|
||||
#: libraries/operations.lib.php:1263 libraries/tracking.lib.php:534
|
||||
@ -9842,7 +9842,7 @@ msgstr "以下のクエリを本当に実行しますか?"
|
||||
|
||||
#: libraries/navigation/Navigation.php:54
|
||||
msgid "An error has occurred while loading the navigation display"
|
||||
msgstr ""
|
||||
msgstr "ナビゲーション画面を読み込み中にエラーが発生しました。"
|
||||
|
||||
#: libraries/navigation/Navigation.php:192
|
||||
#, fuzzy
|
||||
|
||||
29
po/sk.po
29
po/sk.po
@ -4,8 +4,8 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 4.7.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
|
||||
"POT-Creation-Date: 2016-08-17 11:28+0200\n"
|
||||
"PO-Revision-Date: 2016-08-31 15:54+0000\n"
|
||||
"Last-Translator: Jozef Pistej <pistej2@gmail.com>\n"
|
||||
"PO-Revision-Date: 2016-09-07 11:45+0000\n"
|
||||
"Last-Translator: Martin Lacina <martin@whistler.sk>\n"
|
||||
"Language-Team: Slovak "
|
||||
"<https://hosted.weblate.org/projects/phpmyadmin/master/sk/>\n"
|
||||
"Language: sk\n"
|
||||
@ -5319,10 +5319,9 @@ msgid "Could not connect to the database server!"
|
||||
msgstr "Nepodarilo sa pripojiť k databázovému serveru!"
|
||||
|
||||
#: libraries/config/Validator.php:243
|
||||
#, fuzzy
|
||||
#| msgid "Authentication type"
|
||||
msgid "Invalid authentication type!"
|
||||
msgstr "Typ overovania"
|
||||
msgstr "Neplatný typ overenia!"
|
||||
|
||||
#: libraries/config/Validator.php:250
|
||||
msgid "Empty username while using [kbd]config[/kbd] authentication method!"
|
||||
@ -5437,14 +5436,11 @@ msgid "Highlight pointer"
|
||||
msgstr "Zvýrazňovač"
|
||||
|
||||
#: libraries/config/messages.inc.php:47
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Enable [a@https://en.wikipedia.org/wiki/Bzip2]bzip2[/a] compression for "
|
||||
#| "import operations."
|
||||
msgid "Enable bzip2 compression for import operations."
|
||||
msgstr ""
|
||||
"Povoliť [a@https://en.wikipedia.org/wiki/Bzip2]bzip2[/a] kompresiu pre "
|
||||
"importovanie."
|
||||
msgstr "Povoliť bzip2 kompresiu pre operácie importu."
|
||||
|
||||
#: libraries/config/messages.inc.php:50
|
||||
msgid "Bzip2"
|
||||
@ -5465,7 +5461,6 @@ msgid "CHAR columns editing"
|
||||
msgstr "Úprava polí typu CHAR"
|
||||
|
||||
#: libraries/config/messages.inc.php:58
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Use user-friendly editor for editing SQL queries ([a@https://codemirror."
|
||||
#| "net/]CodeMirror[/a]) with syntax highlighting and line numbers."
|
||||
@ -5473,8 +5468,8 @@ msgid ""
|
||||
"Use user-friendly editor for editing SQL queries (CodeMirror) with syntax "
|
||||
"highlighting and line numbers."
|
||||
msgstr ""
|
||||
"Použiť užívateľsky príjemný editor na úpravu SQL dozatazov ([a@https://"
|
||||
"codemirror.net/]CodeMirror[/a]) s číslovaním riadkov a zvýrazňovaním syntaxe."
|
||||
"Použiť užívateľsky príjemný editor na úpravu SQL dozatazov CodeMirror) s "
|
||||
"číslovaním riadkov a zvýrazňovaním syntaxe."
|
||||
|
||||
#: libraries/config/messages.inc.php:62
|
||||
msgid "Enable CodeMirror"
|
||||
@ -6225,14 +6220,11 @@ msgid "Disable some of the warnings shown by phpMyAdmin."
|
||||
msgstr "Vypnúť niektoré varovania zobrazované phpMyAdminom."
|
||||
|
||||
#: libraries/config/messages.inc.php:353
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Enable [a@https://en.wikipedia.org/wiki/Gzip]gzip[/a] compression for "
|
||||
#| "import and export operations."
|
||||
msgid "Enable gzip compression for import and export operations."
|
||||
msgstr ""
|
||||
"Povolí [a@https://sk.wikipedia.org/wiki/GZ_(súborový_formát)]gzip[/a] "
|
||||
"kompresiu pre importovanie a exportovanie."
|
||||
msgstr "Povolí gzip kompresiu pre importovanie a exportovanie."
|
||||
|
||||
#: libraries/config/messages.inc.php:356
|
||||
msgid "GZip"
|
||||
@ -6922,7 +6914,6 @@ msgid "Authentication type"
|
||||
msgstr "Typ overovania"
|
||||
|
||||
#: libraries/config/messages.inc.php:640
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Leave blank for no [a@https://wiki.phpmyadmin.net/pma/bookmark]bookmark[/"
|
||||
#| "a] support, suggested: [kbd]pma__bookmark[/kbd]"
|
||||
@ -6930,8 +6921,8 @@ msgid ""
|
||||
"Leave blank for no [doc@bookmarks@]bookmark[/doc] support, suggested: "
|
||||
"[kbd]pma__bookmark[/kbd]"
|
||||
msgstr ""
|
||||
"Nechajte prázdne pre žiadnu podporu [a@https://wiki.phpmyadmin.net/pma/"
|
||||
"bookmark]záložiek[/a], navrhované: [kbd]pma__bookmark[/kbd]"
|
||||
"Nechajte prázdne pre žiadnu podporu [doc@bookmarks@]záložiek[/doc], "
|
||||
"navrhované: [kbd]pma__bookmark[/kbd]"
|
||||
|
||||
#: libraries/config/messages.inc.php:643
|
||||
msgid "Bookmark table"
|
||||
@ -10727,7 +10718,7 @@ msgstr "Zapnuté"
|
||||
|
||||
#: libraries/relation.lib.php:102
|
||||
msgid "Configuration of pmadb…"
|
||||
msgstr "Konfigurácia pmadb... "
|
||||
msgstr "Konfigurácia pmadb…"
|
||||
|
||||
#: libraries/relation.lib.php:106 libraries/relation.lib.php:142
|
||||
msgid "General relation features"
|
||||
|
||||
32
po/zh_CN.po
32
po/zh_CN.po
@ -4,16 +4,16 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 4.7.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
|
||||
"POT-Creation-Date: 2016-08-17 11:28+0200\n"
|
||||
"PO-Revision-Date: 2016-06-18 09:31+0000\n"
|
||||
"Last-Translator: uncle_cat <jdhao@hotmail.com>\n"
|
||||
"Language-Team: Chinese (China) <https://hosted.weblate.org/projects/"
|
||||
"phpmyadmin/master/zh_CN/>\n"
|
||||
"PO-Revision-Date: 2016-09-09 03:15+0000\n"
|
||||
"Last-Translator: jin123456bat <326550324@qq.com>\n"
|
||||
"Language-Team: Chinese (China) "
|
||||
"<https://hosted.weblate.org/projects/phpmyadmin/master/zh_CN/>\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 2.7-dev\n"
|
||||
"X-Generator: Weblate 2.8\n"
|
||||
|
||||
#: changelog.php:38 license.php:33
|
||||
#, fuzzy, php-format
|
||||
@ -753,7 +753,7 @@ msgstr "配置文件现在需要一个短语密码。"
|
||||
|
||||
#: index.php:529
|
||||
msgid "The secret passphrase in configuration (blowfish_secret) is too short."
|
||||
msgstr ""
|
||||
msgstr "配置文件中的密文(blowfish_secret)太短。"
|
||||
|
||||
#: index.php:543
|
||||
msgid ""
|
||||
@ -2453,7 +2453,6 @@ msgid "Time taken:"
|
||||
msgstr "用时:"
|
||||
|
||||
#: js/messages.php:714
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"There was a problem accessing your browser storage, some features may not "
|
||||
"work properly for you. It is likely that the browser doesn't support storage "
|
||||
@ -2461,11 +2460,9 @@ msgid ""
|
||||
"cause such a problem, clearing your \"Offline Website Data\" might help. In "
|
||||
"Safari, such problem is commonly caused by \"Private Mode Browsing\"."
|
||||
msgstr ""
|
||||
"查看你的浏览器保存数据时出现错误,因此一些功能可能不能正常工作。造成这个问题"
|
||||
"的原因可能是你的浏览器不支持保存数据或者浏览器能够保存的数据达到极限。另外对"
|
||||
"于Firefox浏览器,这个问题可能是由于浏览器存储数据被损坏导致,清理浏览器的“离"
|
||||
"线网站数据”可能会解决这个问题。对于Safari浏览器,这个问题通常是由于“隐私浏览"
|
||||
"模式”导致的。"
|
||||
"查看你的浏览器保存数据时出现错误,因此一些功能可能不能正常工作。造成这个问题的原因可能是你的浏览器不支持保存数据或者浏览器能够保存的数据达到极限。另外对于"
|
||||
"Firefox浏览器,这个问题可能是由于浏览器存储数据被损坏导致,清理浏览器的“离线网站数据”可能会解决这个问题。对于Safari浏览器,这个问题通常是由"
|
||||
"于“隐私浏览模式”导致的。"
|
||||
|
||||
#: js/messages.php:716
|
||||
msgid "Copy tables to"
|
||||
@ -3632,7 +3629,7 @@ msgstr "上传文件时发生未知错误。"
|
||||
|
||||
#: libraries/File.php:424
|
||||
msgid "File is a symbolic link"
|
||||
msgstr ""
|
||||
msgstr "文件是一个符号链接"
|
||||
|
||||
#: libraries/File.php:429 libraries/File.php:532
|
||||
msgid "File could not be read!"
|
||||
@ -5093,10 +5090,9 @@ msgid "You allow for connecting to the server without a password."
|
||||
msgstr "该服务器现在允许空密码登录。"
|
||||
|
||||
#: libraries/config/ServerConfigChecks.php:349
|
||||
#, fuzzy
|
||||
#| msgid "Key is too short, it should have at least 8 characters."
|
||||
msgid "Key is too short, it should have at least 32 characters."
|
||||
msgstr "短语密码太短,至少应有 8 个字符。"
|
||||
msgstr "短语密码太短,至少应有 32 个字符。"
|
||||
|
||||
#: libraries/config/ServerConfigChecks.php:359
|
||||
msgid "Key should contain letters, numbers [em]and[/em] special characters."
|
||||
@ -5217,10 +5213,9 @@ msgid "Could not connect to the database server!"
|
||||
msgstr "无法连接到数据库!"
|
||||
|
||||
#: libraries/config/Validator.php:243
|
||||
#, fuzzy
|
||||
#| msgid "Authentication type"
|
||||
msgid "Invalid authentication type!"
|
||||
msgstr "认证方式"
|
||||
msgstr "无效的认证方式!"
|
||||
|
||||
#: libraries/config/Validator.php:250
|
||||
msgid "Empty username while using [kbd]config[/kbd] authentication method!"
|
||||
@ -5321,12 +5316,11 @@ msgid "Highlight pointer"
|
||||
msgstr "高亮指针"
|
||||
|
||||
#: libraries/config/messages.inc.php:47
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Enable [a@https://en.wikipedia.org/wiki/Bzip2]bzip2[/a] compression for "
|
||||
#| "import operations."
|
||||
msgid "Enable bzip2 compression for import operations."
|
||||
msgstr "允许在导入的时候使用bzip2进行压缩"
|
||||
msgstr "导入的时候使用bzip2进行压缩。"
|
||||
|
||||
#: libraries/config/messages.inc.php:50
|
||||
msgid "Bzip2"
|
||||
|
||||
@ -239,12 +239,12 @@ class PMA_ServerStatusMonitor_Test extends PHPUnit_Framework_TestCase
|
||||
|
||||
$value = array(
|
||||
'sql_text' => 'insert sql_text',
|
||||
'#' => 'types',
|
||||
'#' => 11,
|
||||
);
|
||||
|
||||
$value2 = array(
|
||||
'sql_text' => 'update sql_text',
|
||||
'#' => 'types2',
|
||||
'#' => 10,
|
||||
);
|
||||
|
||||
$dbi->expects($this->at(1))->method('fetchAssoc')
|
||||
@ -262,10 +262,10 @@ class PMA_ServerStatusMonitor_Test extends PHPUnit_Framework_TestCase
|
||||
$ret = PMA_getJsonForLogDataTypeSlow($start, $end);
|
||||
|
||||
$result_rows = array(
|
||||
array('sql_text' => 'insert sql_text', '#' => 'types'),
|
||||
array('sql_text' => 'update sql_text', '#' => 'types2')
|
||||
array('sql_text' => 'insert sql_text', '#' => 11),
|
||||
array('sql_text' => 'update sql_text', '#' => 10)
|
||||
);
|
||||
$result_sum = array('insert' =>0, 'TOTAL' =>0, 'update' => 0);
|
||||
$result_sum = array('insert' =>11, 'TOTAL' =>21, 'update' => 10);
|
||||
$this->assertEquals(
|
||||
2,
|
||||
$ret['numRows']
|
||||
@ -296,13 +296,13 @@ class PMA_ServerStatusMonitor_Test extends PHPUnit_Framework_TestCase
|
||||
|
||||
$value = array(
|
||||
'sql_text' => 'insert sql_text',
|
||||
'#' => 'types',
|
||||
'#' => 10,
|
||||
'argument' => 'argument argument2',
|
||||
);
|
||||
|
||||
$value2 = array(
|
||||
'sql_text' => 'update sql_text',
|
||||
'#' => 'types2',
|
||||
'#' => 11,
|
||||
'argument' => 'argument3 argument4',
|
||||
);
|
||||
|
||||
@ -324,7 +324,7 @@ class PMA_ServerStatusMonitor_Test extends PHPUnit_Framework_TestCase
|
||||
$value,
|
||||
$value2,
|
||||
);
|
||||
$result_sum = array('argument' =>0, 'TOTAL' =>0, 'argument3' => 0);
|
||||
$result_sum = array('argument' =>10, 'TOTAL' =>21, 'argument3' => 11);
|
||||
|
||||
$this->assertEquals(
|
||||
2,
|
||||
@ -356,7 +356,7 @@ class PMA_ServerStatusMonitor_Test extends PHPUnit_Framework_TestCase
|
||||
|
||||
$value = array(
|
||||
'sql_text' => 'insert sql_text',
|
||||
'#' => 'types',
|
||||
'#' => 22,
|
||||
'argument' => 'argument argument2',
|
||||
);
|
||||
|
||||
@ -395,7 +395,7 @@ class PMA_ServerStatusMonitor_Test extends PHPUnit_Framework_TestCase
|
||||
|
||||
$value = array(
|
||||
'sql_text' => 'insert sql_text',
|
||||
'#' => 'types',
|
||||
'#' => 33,
|
||||
'argument' => 'argument argument2',
|
||||
);
|
||||
|
||||
|
||||
@ -106,8 +106,7 @@ class PMA_ServerStatusQueries_Test extends PHPUnit_Framework_TestCase
|
||||
|
||||
$GLOBALS['dbi'] = $dbi;
|
||||
$this->ServerStatusData = new ServerStatusData();
|
||||
$upTime = "10h";
|
||||
$this->ServerStatusData->status['Uptime'] = $upTime;
|
||||
$this->ServerStatusData->status['Uptime'] = 36000;
|
||||
$this->ServerStatusData->used_queries = array(
|
||||
"Com_change_db" => "15",
|
||||
"Com_select" => "12",
|
||||
|
||||
@ -147,13 +147,12 @@ class PMA_ServerStatus_Test extends PHPUnit_Framework_TestCase
|
||||
public function testPMAGetHtmlForServerStatus()
|
||||
{
|
||||
//parameters
|
||||
$upTime = "10h";
|
||||
$bytes_received = 100;
|
||||
$bytes_sent = 200;
|
||||
$max_used_conn = 500;
|
||||
$aborted_conn = 200;
|
||||
$conn = 1000;
|
||||
$this->ServerStatusData->status['Uptime'] = $upTime;
|
||||
$this->ServerStatusData->status['Uptime'] = 36000;
|
||||
$this->ServerStatusData->status['Bytes_received'] = $bytes_received;
|
||||
$this->ServerStatusData->status['Bytes_sent'] = $bytes_sent;
|
||||
$this->ServerStatusData->status['Max_used_connections'] = $max_used_conn;
|
||||
@ -173,7 +172,7 @@ class PMA_ServerStatus_Test extends PHPUnit_Framework_TestCase
|
||||
);
|
||||
//updatetime
|
||||
$upTime_html = 'This MySQL server has been running for '
|
||||
. '0 days, 0 hours, 0 minutes and 10h seconds';
|
||||
. '0 days, 10 hours, 0 minutes and 0 seconds';
|
||||
$this->assertContains(
|
||||
$upTime_html,
|
||||
$html
|
||||
|
||||
@ -172,7 +172,7 @@ class PMA_SqlTest extends PHPUnit_Framework_TestCase
|
||||
public function testHasNoRightsToDropDatabase()
|
||||
{
|
||||
$this->assertEquals(
|
||||
!defined('PMA_CHK_DROP'),
|
||||
true,
|
||||
PMA_hasNoRightsToDropDatabase(
|
||||
PMA_parseAndAnalyze('DROP DATABASE db'),
|
||||
false,
|
||||
@ -181,7 +181,7 @@ class PMA_SqlTest extends PHPUnit_Framework_TestCase
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
!defined('PMA_CHK_DROP'),
|
||||
false,
|
||||
PMA_hasNoRightsToDropDatabase(
|
||||
PMA_parseAndAnalyze('DROP TABLE tbl'),
|
||||
false,
|
||||
@ -190,7 +190,7 @@ class PMA_SqlTest extends PHPUnit_Framework_TestCase
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
!defined('PMA_CHK_DROP'),
|
||||
false,
|
||||
PMA_hasNoRightsToDropDatabase(
|
||||
PMA_parseAndAnalyze('SELECT * from tbl'),
|
||||
false,
|
||||
|
||||
@ -73,6 +73,9 @@ class PMA_FormatNumberByteDown_Test extends PHPUnit_Framework_TestCase
|
||||
array(21010101, 0, 2, '21,010,101.00'),
|
||||
array(20000, 2, 2, '20 k'),
|
||||
array(20011, 2, 2, '20.01 k'),
|
||||
array(123456789, 6, 0, '123,457 k'),
|
||||
array(-123456789, 4, 2, '-123.46 M'),
|
||||
array(0, 6, 0, '0')
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user