Merge branch 'master' into useNamespaces_master

This commit is contained in:
Hugues Peccatte 2015-09-18 23:17:22 +02:00
commit 21460a01c0
34 changed files with 1391 additions and 953 deletions

View File

@ -3,11 +3,14 @@ phpMyAdmin - ChangeLog
4.6.0.0 (not yet released)
+ issue #11456 Disabled storage engines
+ issue #11479 Allow setting routine wise privileges
4.5.1.0 (not yet released)
- issue Invalid argument supplied for foreach()
- issue array_key_exists() expects parameter 2 to be array
- issue #11480 Notice Undefined index: drop_database
- issue #11486 Server variable edition in ANSI_QUOTES sql_mode: losing current value
- issue #11491 Propose table structure broken
4.5.0.0 (not yet released)
+ rfe Pagination for GIS visualization
@ -107,6 +110,7 @@ phpMyAdmin - ChangeLog
- issue #11442 MySQL 5.7 and SHOW VARIABLES
- issue #11445 MySQL 5.7 and Status page for an unprivileged user
- issue #11448 Clarify doc about the MemoryLimit directive
- issue #11489 Cannot copy a database under certain conditions
4.4.15.0 (not yet released)
- issue #11411 Undefined "replace" function on numeric scalar
@ -120,6 +124,7 @@ phpMyAdmin - ChangeLog
- issue #11457 Request URI too large
- issue Invalid argument supplied for foreach()
- issue #11461 Foreign key constraints for InnoDB tables with upper-case letters disabled
- issue #11487 Warning when entering Query page
4.4.14.1 (2015-09-08)
- issue [security] reCaptcha bypass

View File

@ -642,7 +642,7 @@ are always ways to make your installation more secure:
AuthUserFile /usr/share/phpmyadmin/passwd
Require valid-user
Once you have changed configuration, you need to create list of users which
Once you have changed the configuration, you need to create a list of users which
can authenticate. This can be done using the :program:`htpasswd` utility:
.. code-block:: sh

17
js/server_plugins.js Normal file
View File

@ -0,0 +1,17 @@
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Functions used in server plugins pages
*/
AJAX.registerOnload('server_plugins.js', function () {
// Make columns sortable, but only for tables with more than 1 data row
var $tables = $('#plugins_plugins table:has(tbody tr + tr)');
$tables.tablesorter({
sortList: [[0, 0]],
headers: {
1: {sorter: false}
},
widgets: ['zebra']
});
$tables.find('thead th')
.append('<div class="sorticon"></div>');
});

View File

@ -1314,8 +1314,8 @@ class DatabaseInterface
* @param boolean $full whether to return full info or only column names
* @param mixed $link mysql link resource
*
* @return false|array array indexed by column names or,
* if $column is given, flat array description
* @return array array indexed by column names or,
* if $column is given, flat array description
*/
public function getColumns($database, $table, $column = null, $full = false,
$link = null
@ -1323,7 +1323,7 @@ class DatabaseInterface
$sql = $this->getColumnsSql($database, $table, $column, $full);
$fields = $this->fetchResult($sql, 'Field', null, $link);
if (! is_array($fields) || count($fields) == 0) {
return null;
return array();
}
// Check if column is a part of multiple-column index and set its 'Key'.
$indexes = Index::getFromTable($table, $database);

View File

@ -29,7 +29,7 @@ class Linter
*/
public static function getLines($str)
{
if ((!($str instanceof UtfString))
if ((!($str instanceof SqlParser\UtfString))
&& (defined('USE_UTF_STRINGS')) && (USE_UTF_STRINGS)
) {
// If the lexer uses UtfString for processing then the position will

View File

@ -604,6 +604,10 @@ class Menu
$tabs['engine']['link'] = 'server_engines.php';
$tabs['engine']['text'] = __('Engines');
$tabs['plugins']['icon'] = 'b_plugin.png';
$tabs['plugins']['link'] = 'server_plugins.php';
$tabs['plugins']['text'] = __('Plugins');
return $tabs;
}

View File

@ -1550,7 +1550,6 @@ class Table
$this->_dbi->getError($GLOBALS['controllink'])
)
);
print_r($message);
return $message;
}
}

View File

@ -731,7 +731,7 @@ if (! defined('PMA_MINIMUM_COMMON')) {
if ($server['host'] == $_REQUEST['server']
|| $server['verbose'] == $_REQUEST['server']
|| $verboseToLower == $serverToLower
|| md5($verboseToLower) == $serverToLower
|| md5($verboseToLower) === $serverToLower
) {
$_REQUEST['server'] = $i;
break;

View File

@ -399,9 +399,9 @@ function PMA_closeExportFile($file_handle, $dump_buffer, $save_filename)
/**
* Compress the export buffer
*
* @param string $dump_buffer the current dump buffer
* @param string $compression the compression mode
* @param string $filename the filename
* @param array|string $dump_buffer the current dump buffer
* @param string $compression the compression mode
* @param string $filename the filename
*
* @return object $message a message object (or empty string)
*/

View File

@ -0,0 +1,124 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* functions for displaying server plugins
*
* @usedby server_plugins.php
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/**
* Returns the common SQL used to retrieve plugin data
*
* @return string SQL
*/
function PMA_getServerPluginSQL()
{
return "SELECT plugin_name, plugin_type, (plugin_status = 'ACTIVE') AS is_active,
plugin_type_version, plugin_author, plugin_description, plugin_license
FROM information_schema.plugins
ORDER BY plugin_type, plugin_name";
}
/**
* Returns details about server plugins
*
* @return array server plugins data
*/
function PMA_getServerPlugins()
{
$sql = PMA_getServerPluginSQL();
$res = $GLOBALS['dbi']->query($sql);
$plugins = array();
while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
$plugins[$row['plugin_type']][] = $row;
}
$GLOBALS['dbi']->freeResult($res);
ksort($plugins);
return $plugins;
}
/**
* Returns the html for plugin Tab.
*
* @param Array $plugins list
*
* @return string
*/
function PMA_getPluginTab($plugins)
{
$html = '<div id="plugins_plugins">';
$html .= '<div id="sectionlinks">';
foreach ($plugins as $plugin_type => $plugin_list) {
$key = 'plugins-'
. preg_replace('/[^a-z]/', '', /*overload*/mb_strtolower($plugin_type));
$html .= '<a href="#' . $key . '">'
. htmlspecialchars($plugin_type) . '</a>' . "\n";
}
$html .= '</div>';
$html .= '<br />';
foreach ($plugins as $plugin_type => $plugin_list) {
$key = 'plugins-'
. preg_replace('/[^a-z]/', '', /*overload*/mb_strtolower($plugin_type));
sort($plugin_list);
$html .= '<table class="data_full_width" id="' . $key . '">';
$html .= '<caption class="tblHeaders">';
$html .= htmlspecialchars($plugin_type);
$html .= '</caption>';
$html .= '<thead>';
$html .= '<tr>';
$html .= '<th>' . __('Plugin') . '</th>';
$html .= '<th>' . __('Description') . '</th>';
$html .= '<th>' . __('Version') . '</th>';
$html .= '<th>' . __('Author') . '</th>';
$html .= '<th>' . __('License') . '</th>';
$html .= '</tr>';
$html .= '</thead>';
$html .= '<tbody>';
$html .= PMA_getPluginList($plugin_list);
$html .= '</tbody>';
$html .= '</table>';
}
$html .= '</div>';
return $html;
}
/**
* Returns the html for plugin List.
*
* @param Array $plugin_list list
*
* @return string
*/
function PMA_getPluginList($plugin_list)
{
$html = "";
$odd_row = false;
foreach ($plugin_list as $plugin) {
$odd_row = !$odd_row;
$html .= '<tr class="noclick ' . ($odd_row ? 'odd' : 'even') . '">';
$html .= '<th>';
$html .= htmlspecialchars($plugin['plugin_name']);
if (! $plugin['is_active']) {
$html .= '&nbsp;<small class="attention">' . __('disabled') . '</small>';
}
$html .= '</th>';
$html .= '<td>' . htmlspecialchars($plugin['plugin_description']) . '</td>';
$html .= '<td>' . htmlspecialchars($plugin['plugin_type_version']) . '</td>';
$html .= '<td>' . htmlspecialchars($plugin['plugin_author']) . '</td>';
$html .= '<td>' . htmlspecialchars($plugin['plugin_license']) . '</td>';
$html .= '</tr>';
}
return $html;
}

View File

@ -962,6 +962,97 @@ function PMA_getHtmlForResourceLimits($row)
return $html_output;
}
/**
* Get the HTML snippet for routine specific privileges
*
* @param string $username username for database connection
* @param string $hostname hostname for database connection
* @param string $db the database
* @param string $routine the routine
* @param string $url_dbname url encoded db name
*
* @return string $html_output
*/
function PMA_getHtmlForRoutineSpecificPrivilges(
$username, $hostname, $db, $routine, $url_dbname
) {
$header = PMA_getHtmlHeaderForUserProperties(
false, $url_dbname, $db, $username, $hostname, $routine
);
$sql = "SELECT `Proc_priv`"
. " FROM `mysql`.`procs_priv`"
. " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
. " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "'"
. " AND `Db` = '"
. PMA_Util::sqlAddSlashes(PMA_Util::unescapeMysqlWildcards($db)) . "'"
. " AND `Routine_name` LIKE '" . PMA_Util::sqlAddSlashes($routine) . "';";
$res = $GLOBALS['dbi']->fetchValue($sql);
$privs = array(
'Alter_routine_priv' => 'N',
'Execute_priv' => 'N',
'Grant_priv' => 'N',
);
foreach (explode(',', $res) as $priv) {
if ($priv == 'Alter Routine') {
$privs['Alter_routine_priv'] = 'Y';
} else {
$privs[$priv . '_priv'] = 'Y';
}
}
$routineArray = array(PMA_getTriggerPrivilegeTable());
$privTableNames = array(__('Routine'));
$privCheckboxes = PMA_getHtmlForGlobalPrivTableWithCheckboxes(
$routineArray, $privTableNames, $privs
);
$data = array(
'username' => $username,
'hostname' => $hostname,
'database' => $db,
'routine' => $routine,
'grantCount' => count($privs),
'privCheckboxes' => $privCheckboxes,
'header' => $header,
);
$html_output = PMA\Template::get('privileges/edit_routine_privileges')
->render($data);
return $html_output;
}
/**
* Get routine privilege table as an array
*
* @return privilege type array
*/
function PMA_getTriggerPrivilegeTable()
{
$routinePrivTable = array(
array(
'Grant',
'GRANT',
__(
'Allows adding users and privileges '
. 'without reloading the privilege tables.'
)
),
array(
'Alter_routine',
'ALTER ROUTINE',
__('Allows altering and dropping this routine.')
),
array(
'Execute',
'EXECUTE',
__('Allows executing this routine.')
)
);
return $routinePrivTable;
}
/**
* Get the HTML snippet for table specific privileges
*
@ -1007,10 +1098,10 @@ function PMA_getHtmlForTableSpecificPrivileges(
. 'value="' . count($columns) . '" />' . "\n"
. '<fieldset id="fieldset_user_priv">' . "\n"
. '<legend data-submenu-label="Table">' . __('Table-specific privileges')
. PMA\libraries\Util::showHint(
__('Note: MySQL privilege names are expressed in English.')
)
. '</legend>' . "\n";
. '</legend>'
. '<p><small><i>'
. __('Note: MySQL privilege names are expressed in English.')
. '</i></small></p>';
// privs that are attached to a specific column
$html_output .= PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn(
@ -1954,20 +2045,21 @@ function PMA_updatePassword($err_url, $username, $hostname)
* @param string $tablename table name
* @param string $username username
* @param string $hostname host name
* @param string $itemType item type
*
* @return array ($message, $sql_query)
*/
function PMA_getMessageAndSqlQueryForPrivilegesRevoke($dbname,
$tablename, $username, $hostname
$tablename, $username, $hostname, $itemType
) {
$db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename);
$sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $db_and_table
$sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $itemType . ' ' . $db_and_table
. ' FROM \''
. PMA\libraries\Util::sqlAddSlashes($username) . '\'@\''
. PMA\libraries\Util::sqlAddSlashes($hostname) . '\';';
$sql_query1 = 'REVOKE GRANT OPTION ON ' . $db_and_table
$sql_query1 = 'REVOKE GRANT OPTION ON ' . $itemType . ' ' . $db_and_table
. ' FROM \'' . PMA\libraries\Util::sqlAddSlashes($username) . '\'@\''
. PMA\libraries\Util::sqlAddSlashes($hostname) . '\';';
@ -2586,17 +2678,19 @@ function PMA_getHtmlListOfPrivs(
/**
* Returns edit, revoke or export link for a user.
*
* @param string $linktype The link type (edit | revoke | export)
* @param string $username User name
* @param string $hostname Host name
* @param string $dbname Database name
* @param string $tablename Table name
* @param string $initial Initial value
* @param string $linktype The link type (edit | revoke | export)
* @param string $username User name
* @param string $hostname Host name
* @param string $dbname Database name
* @param string $tablename Table name
* @param string $routinename Routine name
* @param string $initial Initial value
*
* @return string HTML code with link
*/
function PMA_getUserLink(
$linktype, $username, $hostname, $dbname = '', $tablename = '', $initial = ''
$linktype, $username, $hostname, $dbname = '',
$tablename = '', $routinename = '', $initial = ''
) {
$html = '<a';
switch($linktype) {
@ -2615,10 +2709,12 @@ function PMA_getUserLink(
case 'edit':
$params['dbname'] = $dbname;
$params['tablename'] = $tablename;
$params['routinename'] = $routinename;
break;
case 'revoke':
$params['dbname'] = $dbname;
$params['tablename'] = $tablename;
$params['routinename'] = $routinename;
$params['revokeall'] = 1;
break;
case 'export':
@ -2780,6 +2876,7 @@ function PMA_getExtraDataForAjaxBehavior(
$hostname,
'',
'',
'',
isset($_GET['initial']) ? $_GET['initial'] : ''
)
. '</td>' . "\n";
@ -2940,29 +3037,40 @@ function PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename)
* db name was given, so we want all user specific rights for this db
* So this function returns user rights as an array
*
* @param array $tables tables
* @param string $user_host_condition a where clause that contained user's host
* condition
* @param string $dbname database name
* @param string $username username
* @param string $hostname host name
* @param string $type database or table
* @param string $dbname database name
*
* @return array $db_rights database rights
*/
function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
function PMA_getUserSpecificRights($username, $hostname, $type, $dbname = '')
{
if (!/*overload*/mb_strlen($dbname)) {
$user_host_condition = " WHERE `User`"
. " = '" . PMA_Util::sqlAddSlashes($username) . "'"
. " AND `Host`"
. " = '" . PMA_Util::sqlAddSlashes($hostname) . "'";
if ($type == 'database') {
$tables_to_search_for_users = array(
'tables_priv', 'columns_priv',
'tables_priv', 'columns_priv', 'procs_priv'
);
$dbOrTableName = 'Db';
} else {
$user_host_condition .=
' AND `Db`'
. ' LIKE \''
} elseif ($type == 'table') {
$user_host_condition .= " AND `Db` LIKE '"
. PMA\libraries\Util::sqlAddSlashes($dbname, true) . "'";
$tables_to_search_for_users = array('columns_priv',);
$dbOrTableName = 'Table_name';
} else { // routine
$user_host_condition .= " AND `Db` LIKE '"
. PMA\libraries\Util::sqlAddSlashes($dbname, true) . "'";
$tables_to_search_for_users = array('procs_priv',);
$dbOrTableName = 'Routine_name';
}
// we also want privileges for this user not in table `db` but in other table
$tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;');
$db_rights_sqls = array();
foreach ($tables_to_search_for_users as $table_search_in) {
if (in_array($table_search_in, $tables)) {
@ -2990,7 +3098,7 @@ function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) {
$db_rights_row = array_merge($user_defaults, $db_rights_row);
if (!/*overload*/mb_strlen($dbname)) {
if ($type == 'database') {
// only Db names in the table `mysql`.`db` uses wildcards
// as we are in the db specific rights display we want
// all db names escaped, also from other sources
@ -3003,10 +3111,10 @@ function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
$GLOBALS['dbi']->freeResult($db_rights_result);
if (!/*overload*/mb_strlen($dbname)) {
if ($type == 'database') {
$sql_query = 'SELECT * FROM `mysql`.`db`'
. $user_host_condition . ' ORDER BY `Db` ASC';
} else {
} elseif ($type == 'table') {
$sql_query = 'SELECT `Table_name`,'
. ' `Table_priv`,'
. ' IF(`Column_priv` = _latin1 \'\', 0, 1)'
@ -3014,6 +3122,12 @@ function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
. ' FROM `mysql`.`tables_priv`'
. $user_host_condition
. ' ORDER BY `Table_name` ASC;';
} else {
$sql_query = "SELECT `Routine_name`, `Proc_priv`"
. " FROM `mysql`.`procs_priv`"
. $user_host_condition
. " ORDER BY `Routine_name`";
}
$result = $GLOBALS['dbi']->query($sql_query);
@ -3025,7 +3139,7 @@ function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
} else {
$db_rights[$row[$dbOrTableName]] = $row;
}
if (!/*overload*/mb_strlen($dbname)) {
if ($type == 'database') {
// there are db specific rights for this user
// so we can drop this db rights
$db_rights[$row['Db']]['can_delete'] = true;
@ -3036,100 +3150,123 @@ function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
}
/**
* Display user rights in table rows(Table specific or database specific privs)
* Get a HTML table for display user's tabel specific or database specific rights
*
* @param array $db_rights user's database rights array
* @param string $dbname database name
* @param string $hostname host name
* @param string $username username
* @param string $username username
* @param string $hostname host name
* @param string $type database, table or routine
* @param string $dbname database name
*
* @return array $found_rows, $html_output
* @return array $html_output
*/
function PMA_getHtmlForUserRights($db_rights, $dbname,
$hostname, $username
function PMA_getHtmlForAllTableSpecificRights(
$username, $hostname, $type, $dbname = ''
) {
$html_output = '';
$found_rows = array();
$uiData = array(
'database' => array(
'formId' => 'database_specific_priv',
'subMenuLabel' => __('Database'),
'legend' => __('Database-specific privileges'),
'typeLabel' => __('Database'),
),
'table' => array(
'formId' => 'table_specific_priv',
'subMenuLabel' => __('Table'),
'legend' => __('Table-specific privileges'),
'typeLabel' => __('Table'),
),
'routine' => array(
'formId' => 'routine_specific_priv',
'subMenuLabel' => __('Routine'),
'legend' => __('Routine-specific privileges'),
'typeLabel' => __('Routine'),
),
);
// display rows
if (count($db_rights) < 1) {
$html_output .= '<tr class="odd">' . "\n"
. '<td colspan="6"><center><i>' . __('None') . '</i></center></td>' . "\n"
. '</tr>' . "\n";
return array($found_rows, $html_output);
}
/**
* no db name given, so we want all privs for the given user
* db name was given, so we want all user specific rights for this db
*/
$db_rights = PMA_getUserSpecificRights($username, $hostname, $type, $dbname);
ksort($db_rights);
$odd_row = true;
//while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
$foundRows = array();
$privileges = array();
foreach ($db_rights as $row) {
$dbNameLength = /*overload*/mb_strlen($dbname);
$found_rows[] = (!$dbNameLength)
? $row['Db']
: $row['Table_name'];
$onePrivilege = array();
$html_output .= '<tr class="' . ($odd_row ? 'odd' : 'even') . '">' . "\n"
. '<td>'
. htmlspecialchars(
(!$dbNameLength)
? $row['Db']
: $row['Table_name']
)
. '</td>' . "\n"
. '<td><code>' . "\n"
. ' '
. join(
',' . "\n" . ' ',
PMA_extractPrivInfo($row, true)
) . "\n"
. '</code></td>' . "\n"
. '<td>'
. ((((!$dbNameLength) && $row['Grant_priv'] == 'Y')
|| ($dbNameLength
&& in_array('Grant', explode(',', $row['Table_priv']))))
? __('Yes')
: __('No'))
. '</td>' . "\n"
. '<td>';
if (!empty($row['Table_privs']) || !empty($row['Column_priv'])) {
$html_output .= __('Yes');
} else {
$html_output .= __('No');
$paramDbName = '';
$paramTableName = '';
$paramRoutineName = '';
if ($type == 'database') {
$name = $row['Db'];
$onePrivilege['grant'] = $row['Grant_priv'] == 'Y';
$onePrivilege['tablePrivs'] = ! empty($row['Table_priv'])
|| ! empty($row['Column_priv']);
$onePrivilege['privileges'] = join(',', PMA_extractPrivInfo($row, true));
$paramDbName = $row['Db'];
} elseif ($type == 'table') {
$name = $row['Table_name'];
$onePrivilege['grant'] = in_array('Grant', explode(',', $row['Table_priv']));
$onePrivilege['columnPrivs'] = ! empty($row['Column_priv']);
$onePrivilege['privileges'] = join(',', PMA_extractPrivInfo($row, true));
$paramDbName = $dbname;
$paramTableName = $row['Table_name'];
} else { // routine
$name = $row['Routine_name'];
$onePrivilege['grant'] = in_array('Grant', explode(',', $row['Proc_priv']));
$privs = array(
'Alter_routine_priv' => 'N',
'Execute_priv' => 'N',
'Grant_priv' => 'N',
);
foreach (explode(',', $row['Proc_priv']) as $priv) {
if ($priv == 'Alter Routine') {
$privs['Alter_routine_priv'] = 'Y';
} else {
$privs[$priv . '_priv'] = 'Y';
}
}
$onePrivilege['privileges'] = join(',', PMA_extractPrivInfo($privs, true));
$paramDbName = $dbname;
$paramRoutineName = $row['Routine_name'];
}
$html_output .= '</td>';
$html_output .= '<td>';
$foundRows[] = $name;
$onePrivilege['name'] = $name;
$onePrivilege['editLink'] = '';
if ($GLOBALS['is_grantuser']) {
$html_output .= PMA_getUserLink(
$onePrivilege['editLink'] = PMA_getUserLink(
'edit',
$username,
$hostname,
(!$dbNameLength) ? $row['Db'] : $dbname,
(!$dbNameLength) ? '' : $row['Table_name']
$paramDbName,
$paramTableName,
$paramRoutineName
);
}
$html_output .= '</td>';
$html_output .= '<td>';
if (! empty($row['can_delete'])
|| isset($row['Table_name'])
&& /*overload*/mb_strlen($row['Table_name'])
) {
$html_output .= PMA_getUserLink(
$onePrivilege['revokeLink'] = '';
if ($type != 'database' || ! empty($row['can_delete'])) {
$onePrivilege['revokeLink'] = PMA_getUserLink(
'revoke',
$username,
$hostname,
(!$dbNameLength) ? $row['Db'] : $dbname,
(!$dbNameLength) ? '' : $row['Table_name']
$paramDbName,
$paramTableName,
$paramRoutineName
);
}
$html_output .= '</td>' . "\n"
. '</tr>' . "\n";
$odd_row = ! $odd_row;
} // end while
return array($found_rows, $html_output);
}
<<<<<<< HEAD
/**
* Get a HTML table for display user's tabel specific or database specific rights
*
@ -3193,22 +3330,27 @@ function PMA_getHtmlForAllTableSpecificRights(
* db name was given, so we want all user specific rights for this db
*/
$db_rights = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
=======
$privileges[] = $onePrivilege;
}
>>>>>>> master
ksort($db_rights);
$html_output .= '<tbody>' . "\n";
// display rows
list ($found_rows, $html_out) = PMA_getHtmlForUserRights(
$db_rights, $dbname, $hostname, $username
);
$data = $uiData[$type];
$data['privileges'] = $privileges;
$data['userName'] = $username;
$data['hostName'] = $hostname;
$data['database'] = $dbname;
$data['type'] = $type;
$html_output .= $html_out;
$html_output .= '</tbody>' . "\n";
$html_output .='</table>' . "\n";
if ($type == 'database') {
return array($html_output, $found_rows);
}
// we already have the list of databases from libraries/common.inc.php
// via $pma = new PMA;
$pred_db_array = $GLOBALS['pma']->databases;
$databases_to_skip = array('information_schema', 'performance_schema');
<<<<<<< HEAD
/**
* Get HTML for display select db
*
@ -3276,32 +3418,58 @@ function PMA_displayTablesInEditPrivs($dbname, $found_rows)
null,
PMA\libraries\DatabaseInterface::QUERY_STORE
);
if ($result) {
$pred_tbl_array = array();
while ($row = $GLOBALS['dbi']->fetchRow($result)) {
if (! isset($found_rows) || ! in_array($row[0], $found_rows)) {
$pred_tbl_array[] = $row[0];
=======
$databases = array();
if (! empty($pred_db_array)) {
foreach ($pred_db_array as $current_db) {
if (in_array($current_db, $databases_to_skip)) {
continue;
}
$current_db_escaped = PMA_Util::escapeMysqlWildcards($current_db);
// cannot use array_diff() once, outside of the loop,
// because the list of databases has special characters
// already escaped in $foundRows,
// contrary to the output of SHOW DATABASES
if (! in_array($current_db_escaped, $foundRows)) {
$databases[] = $current_db;
}
}
}
$GLOBALS['dbi']->freeResult($result);
$data['databases'] = $databases;
if (! empty($pred_tbl_array)) {
$html_output .= '<select name="pred_tablename" '
. 'class="autosubmit">' . "\n"
. '<option value="" selected="selected">' . __('Use text field')
. ':</option>' . "\n";
foreach ($pred_tbl_array as $current_table) {
$html_output .= '<option '
. 'value="' . htmlspecialchars($current_table) . '">'
. htmlspecialchars($current_table)
. '</option>' . "\n";
} elseif ($type == 'table') {
$result = @$GLOBALS['dbi']->tryQuery(
"SHOW TABLES FROM " . PMA_Util::backquote($dbname),
null,
PMA_DatabaseInterface::QUERY_STORE
);
>>>>>>> master
$tables = array();
if ($result) {
while ($row = $GLOBALS['dbi']->fetchRow($result)) {
if (! in_array($row[0], $foundRows)) {
$tables[] = $row[0];
}
}
$html_output .= '</select>' . "\n";
$GLOBALS['dbi']->freeResult($result);
}
$data['tables'] = $tables;
} else { // routine
$routineData = $GLOBALS['dbi']->getRoutines($dbname);
$routines = array();
foreach ($routineData as $routine) {
if (! in_array($routine['name'], $foundRows)) {
$routines[] = $routine['name'];
}
}
$data['routines'] = $routines;
}
$html_output .= '<input type="text" id="text_tablename" name="tablename" />'
. "\n";
$html_output = PMA\Template::get('privileges/privileges_summary')
->render($data);
return $html_output;
}
@ -3508,6 +3676,7 @@ function PMA_getHtmlTableBodyForUserRights($db_rights)
$host['Host'],
'',
'',
'',
isset($_GET['initial']) ? $_GET['initial'] : ''
)
. '</td>';
@ -3729,13 +3898,15 @@ function PMA_deleteUser($queries)
* @param string $hostname host name
* @param string $tablename table name
* @param string $dbname database name
* @param strubg $itemType item type
*
* @return Message success message or error message for update
*/
function PMA_updatePrivileges($username, $hostname, $tablename, $dbname)
function PMA_updatePrivileges($username, $hostname, $tablename, $dbname, $itemType)
{
$db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename);
<<<<<<< HEAD
$sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $db_and_table
. ' FROM \'' . PMA\libraries\Util::sqlAddSlashes($username)
. '\'@\'' . PMA\libraries\Util::sqlAddSlashes($hostname) . '\';';
@ -3744,6 +3915,16 @@ function PMA_updatePrivileges($username, $hostname, $tablename, $dbname)
$sql_query1 = 'REVOKE GRANT OPTION ON ' . $db_and_table
. ' FROM \'' . PMA\libraries\Util::sqlAddSlashes($username) . '\'@\''
. PMA\libraries\Util::sqlAddSlashes($hostname) . '\';';
=======
$sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $itemType . ' ' . $db_and_table
. ' FROM \'' . PMA_Util::sqlAddSlashes($username)
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
if (! isset($_POST['Grant_priv']) || $_POST['Grant_priv'] != 'Y') {
$sql_query1 = 'REVOKE GRANT OPTION ON ' . $itemType . ' ' . $db_and_table
. ' FROM \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
. PMA_Util::sqlAddSlashes($hostname) . '\';';
>>>>>>> master
} else {
$sql_query1 = '';
}
@ -3754,9 +3935,15 @@ function PMA_updatePrivileges($username, $hostname, $tablename, $dbname)
&& 'USAGE' == implode('', PMA_extractPrivInfo()))
) {
$sql_query2 = 'GRANT ' . join(', ', PMA_extractPrivInfo())
<<<<<<< HEAD
. ' ON ' . $db_and_table
. ' TO \'' . PMA\libraries\Util::sqlAddSlashes($username) . '\'@\''
. PMA\libraries\Util::sqlAddSlashes($hostname) . '\'';
=======
. ' ON ' . $itemType . ' ' . $db_and_table
. ' TO \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
. PMA_Util::sqlAddSlashes($hostname) . '\'';
>>>>>>> master
if (! /*overload*/mb_strlen($dbname)) {
// add REQUIRE clause
@ -4138,6 +4325,7 @@ function PMA_getDataForDBInfo()
$hostname = null;
$dbname = null;
$tablename = null;
$routinename = null;
$dbname_is_wildcard = null;
if (isset($_REQUEST['username'])) {
@ -4157,6 +4345,14 @@ function PMA_getDataForDBInfo()
unset($tablename);
}
if (PMA_isValid($_REQUEST['pred_routinename'])) {
$routinename = $_REQUEST['pred_routinename'];
} elseif (PMA_isValid($_REQUEST['routinename'])) {
$routinename = $_REQUEST['routinename'];
} else {
unset($routinename);
}
if (isset($_REQUEST['pred_dbname'])) {
$is_valid_pred_dbname = true;
foreach ($_REQUEST['pred_dbname'] as $key => $db_name) {
@ -4235,6 +4431,7 @@ function PMA_getDataForDBInfo()
$username, $hostname,
isset($dbname)? $dbname : null,
isset($tablename)? $tablename : null,
isset($routinename) ? $routinename : null,
$db_and_table,
$dbname_is_wildcard,
);
@ -4381,6 +4578,21 @@ function PMA_getHtmlHeaderForUserProperties(
$html_output .= ' - ' . __('Table')
. ' <i>' . htmlspecialchars($tablename) . '</i>';
} elseif (! empty($_REQUEST['routinename'])) {
$html_output .= ' <i><a href="server_privileges.php'
. PMA_URL_getCommon(
array(
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'routinename' => '',
)
)
. '">' . htmlspecialchars($dbname)
. '</a></i>';
$html_output .= ' - ' . __('Routine')
. ' <i>' . htmlspecialchars($tablename) . '</i>';
} else {
if (! is_array($dbname)) {
$dbname = array($dbname);
@ -4635,10 +4847,10 @@ function PMA_getHtmlForUserProperties($dbname_is_wildcard,$url_dbname,
if (! is_array($dbname) && ! /*overload*/mb_strlen($tablename)
&& empty($dbname_is_wildcard)
) {
// no table name was given, display all table specific rights
// but only if $dbname contains no wildcards
<<<<<<< HEAD
$html_output .= '<form class="submenu-item" action="server_privileges.php" '
. 'id="db_or_table_specific_priv" method="post">' . "\n";
@ -4650,19 +4862,23 @@ function PMA_getHtmlForUserProperties($dbname_is_wildcard,$url_dbname,
);
$html_output .= $html_rightsTable;
=======
>>>>>>> master
if (! /*overload*/mb_strlen($dbname)) {
// no database name was given, display select db
$html_output .= PMA_getHtmlForSelectDbInEditPrivs($found_rows);
$html_output .= PMA_getHtmlForAllTableSpecificRights(
$username, $hostname, 'database'
);
} else {
$html_output .= PMA_displayTablesInEditPrivs($dbname, $found_rows);
}
$html_output .= '</fieldset>' . "\n";
// unescape wildcards in dbname at table level
$unescaped_db = PMA_Util::unescapeMysqlWildcards($dbname);
$html_output .= '<fieldset class="tblFooters">' . "\n"
. ' <input type="submit" value="' . __('Go') . '" />'
. '</fieldset>' . "\n"
. '</form>' . "\n";
$html_output .= PMA_getHtmlForAllTableSpecificRights(
$username, $hostname, 'table', $unescaped_db
);
$html_output .= PMA_getHtmlForAllTableSpecificRights(
$username, $hostname, 'routine', $unescaped_db
);
}
}
// Provide a line with links to the relevant database and table
@ -5052,3 +5268,24 @@ function PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password)
$password_set_show
);
}
/**
* Returns the type ('PROCEDURE' or 'FUNCTION') of the routine
*
* @param string $dbname database
* @param string $routineName routine
*
* @return string type
*/
function PMA_getRoutineType($dbname, $routineName)
{
$routineData = $GLOBALS['dbi']->getRoutines($dbname);
$routines = array();
foreach ($routineData as $routine) {
if ($routine['name'] === $routineName) {
return $routine['type'];
}
}
return '';
}

View File

@ -25,9 +25,11 @@ function PMA_getAjaxReturnForGetVal($variable_doc_links)
// Send with correct charset
header('Content-Type: text/html; charset=UTF-8');
// Do not use double quotes inside the query to avoid a problem
// when server is running in ANSI_QUOTES sql_mode
$varValue = $GLOBALS['dbi']->fetchSingleRow(
'SHOW GLOBAL VARIABLES WHERE Variable_name="'
. PMA\libraries\Util::sqlAddSlashes($_REQUEST['varName']) . '";',
'SHOW GLOBAL VARIABLES WHERE Variable_name=\''
. PMA\libraries\Util::sqlAddSlashes($_REQUEST['varName']) . '\';',
'NUM'
);
if (isset($variable_doc_links[$_REQUEST['varName']][3])

View File

@ -531,12 +531,12 @@ function PMA_getHtmlForBookmark($displayParts, $cfgBookmark, $sql_query, $db,
);
$html .= '</legend>';
$html .= '<div class="formelement">';
$html .= '<label>' . __('Label:') . '</label>';
$html .= '<input type="text" name="bkm_fields[bkm_label]" value="" />';
$html .= '<label>' . __('Label:');
$html .= '<input type="text" name="bkm_fields[bkm_label]" value="" /></label>';
$html .= '</div>';
$html .= '<div class="formelement">';
$html .= '<input type="checkbox" name="bkm_all_users" value="true" />';
$html .= '<label>' . __('Let every user access this bookmark') . '</label>';
$html .= '<label><input type="checkbox" name="bkm_all_users" value="true" />';
$html .= __('Let every user access this bookmark') . '</label>';
$html .= '</div>';
$html .= '<div class="clearfloat"></div>';
$html .= '</fieldset>';

162
po/da.po
View File

@ -4,10 +4,10 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.6.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2015-09-06 07:31-0400\n"
"PO-Revision-Date: 2015-09-01 14:48+0200\n"
"Last-Translator: Claus Svalekjaer <just.my.smtp.server@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/phpmyadmin/master/"
"da/>\n"
"PO-Revision-Date: 2015-09-16 14:31+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Danish "
"<https://hosted.weblate.org/projects/phpmyadmin/master/da/>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -2566,17 +2566,16 @@ msgstr "%s forespørgsler udført %s gange på %s sekunder."
#: js/messages.php:602
#, php-format
msgid "%s argument(s) passed"
msgstr ""
msgstr "%s argument(er) sendt"
#: js/messages.php:603
msgid "Show arguments"
msgstr "Tabel kommentarer"
#: js/messages.php:604
#, fuzzy
#| msgid "Hide search results"
msgid "Hide arguments"
msgstr "Slet søgeresultater"
msgstr "Skjul argumenterne"
#: js/messages.php:605 libraries/Console.class.php:321
msgid "Time taken:"
@ -2895,33 +2894,30 @@ msgstr "Angiv mindst {0} tegn"
#: js/messages.php:787
msgid "Please enter a value between {0} and {1} characters long"
msgstr ""
msgstr "Indtast venligst en værdi med en længde på mellem {0} og {1} tegn"
#: js/messages.php:788
msgid "Please enter a value between {0} and {1}"
msgstr "Indtast venligst en værdi mellem {0} og {1}"
#: js/messages.php:789
#, fuzzy
#| msgid "Please enter a valid length!"
msgid "Please enter a value less than or equal to {0}"
msgstr "Angiv venligst en gyldig længde!"
msgstr "Angiv venligst værdi der er mindre end eller lig med {0}"
#: js/messages.php:790
#, fuzzy
#| msgid "Please enter a valid page name"
msgid "Please enter a value greater than or equal to {0}"
msgstr "Angiv venligst et gyldigt sidenavn"
msgstr "Angiv venligst værdi der er større end eller lig med {0}"
#: js/messages.php:792
msgid "Please enter a valid date or time"
msgstr "Angiv venligst en gyldig dato eller tid"
#: js/messages.php:793
#, fuzzy
#| msgid "Please enter a valid number!"
msgid "Please enter a valid HEX input"
msgstr "Angiv venligst et gyldigt nummer!"
msgstr "Angiv venligst et gyldigt HEX-tal"
#: js/messages.php:794 libraries/Message.class.php:199
#: libraries/Util.class.php:657 libraries/core.lib.php:245
@ -3173,42 +3169,37 @@ msgid "Count"
msgstr "Antal"
#: libraries/Console.class.php:292
#, fuzzy
#| msgid "Execute every"
msgid "Execution order"
msgstr "Udfør hver"
msgstr "Rækkefølge for udførelse"
#: libraries/Console.class.php:295
msgid "Time taken"
msgstr ""
msgstr "Tidsforbrug"
#: libraries/Console.class.php:298
msgid "Order by:"
msgstr "Rækkefølge:"
#: libraries/Console.class.php:301
#, fuzzy
#| msgid "SQL queries"
msgid "Group queries"
msgstr "SQL-forespørgsler"
msgstr "Gruppér SQL-forespørgsler"
#: libraries/Console.class.php:304
#, fuzzy
#| msgid "SQL queries"
msgid "Ungroup queries"
msgstr "SQL-forespørgsler"
msgstr "Opløs gruppering af SQL-forespørgsler"
#: libraries/Console.class.php:315
#, fuzzy
#| msgid "Show create"
msgid "Show trace"
msgstr "Vis opret"
msgstr "Vis sporing"
#: libraries/Console.class.php:317
#, fuzzy
#| msgid "Hide Panel"
msgid "Hide trace"
msgstr "Skjul panel"
msgstr "Skjul sporing"
#: libraries/Console.class.php:319
msgid "Count:"
@ -3262,12 +3253,13 @@ msgid ""
"Execute queries on Enter and insert new line with Shift + Enter. To make "
"this permanent, view settings."
msgstr ""
"Udfør forespørgsler med Enter og indsæt ny linje med Skift + Enter. For at "
"gøre dette permanent, så se indstillingerne."
#: libraries/Console.class.php:389
#, fuzzy
#| msgid "Switch to copied table"
msgid "Switch to dark theme"
msgstr "Skift til den kopierede tabel"
msgstr "Skift til det mørke tema"
#: libraries/DBQbe.class.php:405 libraries/DisplayResults.class.php:1478
#: libraries/DisplayResults.class.php:2268
@ -3300,17 +3292,16 @@ msgstr "Kolonne:"
#: libraries/DBQbe.class.php:513
msgid "Alias:"
msgstr ""
msgstr "Alias:"
#: libraries/DBQbe.class.php:566
msgid "Sort:"
msgstr "Sortér:"
#: libraries/DBQbe.class.php:630
#, fuzzy
#| msgid "Sort:"
msgid "Sort order:"
msgstr "Sortér:"
msgstr "Sorteringsrækkefølge:"
#: libraries/DBQbe.class.php:679
msgid "Show:"
@ -3491,7 +3482,6 @@ msgstr "Indeni tabel(ler):"
#: libraries/DbSearch.class.php:450 libraries/display_export.lib.php:50
#: libraries/replication_gui.lib.php:380
#, fuzzy
#| msgid "Unselect All"
msgid "Unselect all"
msgstr "Fravælg alle"
@ -3573,10 +3563,9 @@ msgid "Relational key"
msgstr "Relationel nøgle"
#: libraries/DisplayResults.class.php:1745
#, fuzzy
#| msgid "Display foreign key relationships"
msgid "Display column for relations"
msgstr "Vis fremmednøgle-relationer"
msgstr "Vis kolonne for relationer"
#: libraries/DisplayResults.class.php:1758
msgid "Show binary contents"
@ -3666,7 +3655,6 @@ msgstr "Med det markerede:"
#: libraries/server_user_groups.lib.php:231
#: templates/database/structure/check_all_tables.phtml:3
#: templates/database/structure/check_all_tables.phtml:4
#, fuzzy
#| msgid "Check All"
msgid "Check all"
msgstr "Vælg alle"
@ -3752,10 +3740,9 @@ msgid "Error while moving uploaded file."
msgstr "Fejl under flytning af uploaded fil."
#: libraries/File.class.php:497
#, fuzzy
#| msgid "Cannot read (moved) upload file."
msgid "Cannot read uploaded file."
msgstr "Kan ikke læse (flyttet) uploaded fil."
msgstr "Kan ikke læse uploaded fil."
#: libraries/Footer.class.php:74
#, php-format
@ -3887,11 +3874,13 @@ msgstr ""
msgid ""
"Linting is disabled for this query because it exceeds the maximum length."
msgstr ""
"Linting er deaktiveret for denne forespørgsel, da den overstiger den maks. "
"længde."
#: libraries/Linter.class.php:162
#, php-format
msgid "%1$s (near <code>%2$s</code>)"
msgstr ""
msgstr "%1$s (nær <code>%2$s</code>)"
#: libraries/Menu.class.php:200 libraries/ServerStatusData.class.php:442
#: libraries/config/messages.inc.php:933
@ -4029,10 +4018,9 @@ msgid "Databases"
msgstr "Databaser"
#: libraries/Menu.class.php:568
#, fuzzy
#| msgid "User groups"
msgid "User accounts"
msgstr "Brugergrupper"
msgstr "Brugerkonti"
#: libraries/Menu.class.php:595 libraries/ServerStatusData.class.php:122
#: libraries/Util.class.php:4279 libraries/server_common.lib.php:36
@ -4743,15 +4731,14 @@ msgid "Max: %s%s"
msgstr "Maksimum størrelse: %s%s"
#: libraries/Util.class.php:665
#, fuzzy
#| msgid "Static data"
msgid "Static analysis:"
msgstr "Statiske data"
msgstr "Statisk analyse:"
#: libraries/Util.class.php:668
#, php-format
msgid "%d errors were found during analysis."
msgstr ""
msgstr "Der blev fundet %d fejl under analysen."
#: libraries/Util.class.php:730 libraries/rte/rte_events.lib.php:110
#: libraries/rte/rte_events.lib.php:119 libraries/rte/rte_events.lib.php:150
@ -4775,14 +4762,13 @@ msgstr "Spring over Forklar SQL"
#: libraries/Util.class.php:1189
#, php-format
msgid "Analyze Explain at %s"
msgstr ""
msgstr "Forklaring af analyse ved %s"
#: libraries/Util.class.php:1220
msgid "Without PHP Code"
msgstr "Uden PHP-kode"
#: libraries/Util.class.php:1223 libraries/config/messages.inc.php:898
#, fuzzy
#| msgid "Create PHP Code"
msgid "Create PHP code"
msgstr "Fremstil PHP-kode"
@ -4914,7 +4900,6 @@ msgid "Check privileges for database \"%s\"."
msgstr "Tjek privilegier for databasen \"%s\"."
#: libraries/build_html_for_db.lib.php:181
#, fuzzy
#| msgid "Check Privileges"
msgid "Check privileges"
msgstr "Tjek privilegier"
@ -4983,8 +4968,9 @@ msgstr "Attribut"
#: libraries/central_columns.lib.php:710
#: libraries/central_columns.lib.php:1384
#, fuzzy
msgid "A_I"
msgstr ""
msgstr "A_I"
#: libraries/central_columns.lib.php:750
msgid "Select a table"
@ -5138,7 +5124,6 @@ msgid "display column"
msgstr "vis kolonne"
#: libraries/config.values.php:102
#, fuzzy
#| msgid "Welcome to %s"
msgid "Welcome"
msgstr "Velkommen til %s"
@ -5164,22 +5149,19 @@ msgid "Never send error reports"
msgstr "Send aldrig fejlrapporter"
#: libraries/config.values.php:132
#, fuzzy
#| msgid "Set default"
msgid "Server default"
msgstr "Angiv standardværdi"
msgstr "Serverens standardforvalg"
#: libraries/config.values.php:133
#, fuzzy
#| msgid "Enabled"
msgid "Enable"
msgstr "Slået til"
msgstr "Slå til"
#: libraries/config.values.php:134
#, fuzzy
#| msgid "Disabled"
msgid "Disable"
msgstr "Slået fra"
msgstr "Slå fra"
#: libraries/config.values.php:163
#: libraries/plugins/export/ExportHtmlword.class.php:69
@ -5541,6 +5523,9 @@ msgid ""
"MySQL server is enabled by matching the IP or hostname of the MySQL server "
"to the given regular expression."
msgstr ""
"Begrænser de MySQL-servere som brugeren kan angive, når et login til en "
"arbitrær MySQL-server er slået til, ved at matche IP-adressen eller "
"værtsnavnet på MySQL-serveren til det angivne regulære udtryk."
#: libraries/config/messages.inc.php:26
msgid "Restrict login to MySQL server"
@ -6209,7 +6194,6 @@ msgid "Page titles"
msgstr "Sidetitler"
#: libraries/config/messages.inc.php:288
#, fuzzy
#| msgid ""
#| "Specify browser's title bar text. Refer to "
#| "[doc@cfg_TitleTable]documentation[/doc] for magic strings that can be "
@ -6218,8 +6202,8 @@ msgid ""
"Specify browser's title bar text. Refer to [doc@faq6-27]documentation[/doc] "
"for magic strings that can be used to get special values."
msgstr ""
"Angiv browserens tekst i titelbaren. Se [doc@cfg_TitleTable]dokumentationen[/"
"doc] for tekststrenge der indeholder særlige værdier."
"Angiv browserens tekst i titelbaren. Se [doc@faq6-27]dokumentationen[/doc] "
"for tekststrenge der indeholder særlige værdier."
#: libraries/config/messages.inc.php:292
msgid "Security"
@ -6441,11 +6425,11 @@ msgstr "Afbryd ikke ved fejl i INSERT"
#: libraries/config/messages.inc.php:373 libraries/config/messages.inc.php:387
msgid "Add ON DUPLICATE KEY UPDATE"
msgstr ""
msgstr "Tilføj ON DUPLICATE KEY UPDATE"
#: libraries/config/messages.inc.php:375 libraries/config/messages.inc.php:389
msgid "Update data when duplicate keys found on import"
msgstr ""
msgstr "Opdatér data når der findes duplikerede nøgler under import"
#: libraries/config/messages.inc.php:379
msgid ""
@ -6732,7 +6716,6 @@ msgid "Minimum number of databases to display the database filter box"
msgstr "Mindste antal databaser, der skal vises i database-filterboksen"
#: libraries/config/messages.inc.php:505
#, fuzzy
#| msgid ""
#| "Group items in the navigation tree (determined by the separator defined "
#| "below)."
@ -6740,7 +6723,8 @@ msgid ""
"Group items in the navigation tree (determined by the separator defined in "
"the Databases and Tables tabs above)."
msgstr ""
"Gruppér elementer i navigationstræet (iht. separator defineret nedenfor)."
"Gruppér elementer i navigationstræet (iht. separator defineret i databaserne "
"og tabelfanerne ovenfor)."
#: libraries/config/messages.inc.php:508
msgid "Group items in the tree"
@ -10825,6 +10809,8 @@ msgstr "MIME-type"
msgid ""
"Update data when duplicate keys found on import (add ON DUPLICATE KEY UPDATE)"
msgstr ""
"Opdatér data når der findes duplikerede nøgler under import (tilføj ON "
"DUPLICATE KEY UPDATE)"
#: libraries/plugins/import/ImportCsv.class.php:63
#: libraries/plugins/import/ImportOds.class.php:75
@ -12217,7 +12203,7 @@ msgstr "Der er ingen hændelser at vise."
#: libraries/select_lang.lib.php:616
msgid "Ignoring unsupported language code."
msgstr "Ignorer ikke understøttet sprog kode."
msgstr "Ignorér sprogkoder som ikke understøttes."
#: libraries/select_server.lib.php:43 libraries/select_server.lib.php:48
#, fuzzy
@ -12508,21 +12494,23 @@ msgstr "Kræver SSL"
#: libraries/server_privileges.lib.php:759
#: libraries/server_privileges.lib.php:768
msgid "Requires that a specific cipher method be used for a connection."
msgstr ""
msgstr "Kræver at den specifikke chiffermetode anvendes for en forbindelse."
#: libraries/server_privileges.lib.php:778
#: libraries/server_privileges.lib.php:787
msgid "Requires that a valid X509 certificate issued by this CA be presented."
msgstr ""
"Kræver at et gyldigt X509-certifikat som er udstedt af denne "
"certifikatudsteder bliver forevist."
#: libraries/server_privileges.lib.php:797
#: libraries/server_privileges.lib.php:806
msgid "Requires that a valid X509 certificate with this subject be presented."
msgstr ""
msgstr "Kræver at et gyldigt X509-certifikat med dette emne bliver forevist."
#: libraries/server_privileges.lib.php:818
msgid "Requires a valid X509 certificate."
msgstr ""
msgstr "Kræver et gyldigt X509-certifikat."
#: libraries/server_privileges.lib.php:869
msgid "Resource limits"
@ -14343,14 +14331,14 @@ msgid "Run SQL query/queries on database %s"
msgstr "Kør SQL-forspørgsel(er) på database %s"
#: libraries/sql_query_form.lib.php:174
#, fuzzy, php-format
#, php-format
#| msgid "Run SQL query/queries on database %s"
msgid "Run SQL query/queries on table %s"
msgstr "Kør SQL-forspørgsel(er) på database %s"
msgstr "Kør SQL-forspørgsel/forespørgsler på tabellen %s"
#: libraries/sql_query_form.lib.php:250
msgid "Get auto-saved query"
msgstr "Hent autogemt forespørgsel"
msgstr "Hent automatisk gemt forespørgsel"
#: libraries/sql_query_form.lib.php:256
#, fuzzy
@ -14948,10 +14936,9 @@ msgid "Row: %1$s, Column: %2$s, Error: %3$s"
msgstr "Række: %1$s, kolonne: %2$s, fejl: %3$s"
#: tbl_row_action.php:71
#, fuzzy
#| msgid "No versions selected."
msgid "No row selected."
msgstr "Der er ikke valgt versioner."
msgstr "Der er ikke valgt en række."
#: tbl_tracking.php:33
#, php-format
@ -16936,7 +16923,6 @@ msgid "Too many connections are aborted."
msgstr "For mange forbindelser er aborterede."
#: libraries/advisory_rules.txt:403 libraries/advisory_rules.txt:410
#, fuzzy
#| msgid ""
#| "Connections are usually aborted when they cannot be authorized. <a href="
#| "\"http://www.mysqlperformanceblog.com/2008/08/23/how-to-track-down-the-"
@ -16947,10 +16933,10 @@ msgid ""
"\"http://www.percona.com/blog/2008/08/23/how-to-track-down-the-source-of-"
"aborted_connects/\">This article</a> might help you track down the source."
msgstr ""
"Forbindelser aborteres normalt, når de ikke kan blive autoriseret. <a href="
"\"http://www.mysqlperformanceblog.com/2008/08/23/how-to-track-down-the-"
"source-of-aborted_connects/\">Denne artikel</a> kan måske hjælpe dig med at "
"finde årsagen."
"Forbindelser aborteres normalt, når de ikke kan blive autoriseret. <a href=\""
"http://www.percona.com/blog/2008/08/23/how-to-track-down-the-source-of-"
"aborted_connects/\">Denne artikel</a> kan måske hjælpe dig med at finde "
"årsagen."
#: libraries/advisory_rules.txt:404
#, php-format
@ -17071,7 +17057,7 @@ msgid "The InnoDB log file size is inadequately large."
msgstr "InnoDB logfilen er utilstrækkelig stor."
#: libraries/advisory_rules.txt:447
#, fuzzy, php-format
#, php-format
#| msgid ""
#| "It is usually sufficient to set {innodb_log_file_size} to 25%% of the "
#| "size of {innodb_buffer_pool_size}. A very big {innodb_log_file_size} "
@ -17096,11 +17082,11 @@ msgstr ""
"Det er sædvanligvis tilstrækkeligt at sætte {innodb_log_file_size} til 25%% "
"af størrelsen af {innodb_buffer_pool_size}. En meget høj "
"{innodb_log_file_size} reducerer genoprettelsestiden betydeligt efter et "
"databasenedbrud. Se også <a href=\"http://www.mysqlperformanceblog."
"com/2006/07/03/choosing-proper-innodb_log_file_size/\">denne artikel</a>.Man "
"skal lukke serveren ned, fjerne InnoDB-logfiler, sætte den nye værdi i my."
"cnf, starte serveren og tjekke at alt gik godt i fejllogene. Se også <a href="
"\"http://mysqldatabaseadministration.blogspot.com/2007/01/increase-"
"databasenedbrud. Se også <a href=\"http://www.percona.com/blog/2006/07/03"
"/choosing-proper-innodb_log_file_size/\">denne artikel</a>.Man skal lukke "
"serveren ned, fjerne InnoDB-logfiler, sætte den nye værdi i my.cnf, starte "
"serveren og tjekke at alt gik godt i fejllogene. Se også <a href=\""
"http://mysqldatabaseadministration.blogspot.com/2007/01/increase-"
"innodblogfilesize-proper-way.html\">dette blogindlæg</a>"
#: libraries/advisory_rules.txt:448
@ -17117,7 +17103,7 @@ msgid "Your InnoDB buffer pool is fairly small."
msgstr "Din InnoDB buffer pool er temmelig lille."
#: libraries/advisory_rules.txt:454
#, fuzzy, php-format
#, php-format
#| msgid ""
#| "The InnoDB buffer pool has a profound impact on performance for InnoDB "
#| "tables. Assign all your remaining memory to this buffer. For database "
@ -17143,13 +17129,13 @@ msgid ""
msgstr ""
"InnoDB buffer pool har en betydelig indvirkning på ydeevnen af InnoDB "
"tabeller. Alloker al resterende hukommelse til denne buffer. For database "
"servere, som kun bruger InnoDB tabeller og ikke har andre services kørende "
"(fx webserver), kan man bruge op til 80%% af tilgængelig hukommelse. Hvis "
"der bruges non-InnoDB tabeller og/eller der kører andet på maskinen, skal "
"man være varsom med at sætte denne parameter for højt. Det kan ellers give "
"sig udslag i, at der opstår høj brug af swap-filen. Se også <a href=\"http://"
"www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/"
"\">denne artikel</a>"
"servere, som kun bruger InnoDB tabeller og ikke har andre services kørende ("
"fx webserver), kan man bruge op til 80%% af tilgængelig hukommelse. Hvis der "
"bruges non-InnoDB tabeller og/eller der kører andet på maskinen, skal man "
"være varsom med at sætte denne parameter for højt. Det kan ellers give sig "
"udslag i, at der opstår høj brug af swap-filen. Se også <a href=\""
"http://www.percona.com/blog/2007/11/03/choosing-innodb_buffer_pool_size/\">"
"denne artikel</a>"
#: libraries/advisory_rules.txt:455
#, php-format

147
po/es.po
View File

@ -4,10 +4,10 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.6.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2015-09-06 07:31-0400\n"
"PO-Revision-Date: 2015-08-26 18:10+0200\n"
"Last-Translator: Luis Garcia <floss.dev@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/phpmyadmin/"
"master/es/>\n"
"PO-Revision-Date: 2015-09-16 13:02+0200\n"
"Last-Translator: Ronnie Simon <ronniesimonf@gmail.com>\n"
"Language-Team: Spanish "
"<https://hosted.weblate.org/projects/phpmyadmin/master/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -653,7 +653,6 @@ msgstr ""
"encontrar más información en %s."
#: index.php:163
#, fuzzy
#| msgid "General Settings"
msgid "General settings"
msgstr "Configuraciones generales"
@ -669,7 +668,6 @@ msgid "Server connection collation"
msgstr "Cotejamiento de la conexión al servidor"
#: index.php:229
#, fuzzy
#| msgid "Appearance Settings"
msgid "Appearance settings"
msgstr "Configuraciones de apariencia"
@ -1016,10 +1014,9 @@ msgstr ""
"los datos?"
#: js/messages.php:88
#, fuzzy
#| msgid "Save & Close"
msgid "Save & close"
msgstr "Guardar y cerrar"
msgstr "Guardar y Cerrar"
#: js/messages.php:89 libraries/config/FormDisplay.tpl.php:417
#: libraries/insert_edit.lib.php:1548 prefs_manage.php:361
@ -1028,10 +1025,9 @@ msgid "Reset"
msgstr "Reiniciar"
#: js/messages.php:90
#, fuzzy
#| msgid "Reset All"
msgid "Reset all"
msgstr "Reiniciar todo"
msgstr "Reiniciar Todo"
#: js/messages.php:93
msgid "Missing value in the form!"
@ -1054,10 +1050,9 @@ msgid "Add index"
msgstr "Agregar índice"
#: js/messages.php:98
#, fuzzy
#| msgid "Edit Index"
msgid "Edit index"
msgstr "Editar índice"
msgstr "Editar Índice"
#: js/messages.php:99 templates/table/index_form.phtml:232
#, php-format
@ -1105,7 +1100,6 @@ msgstr "consulta SQL:"
#. l10n: Default label for the y-Axis of Charts
#: js/messages.php:118
#, fuzzy
#| msgid "Y Values"
msgid "Y values"
msgstr "Valores Y"
@ -1202,7 +1196,6 @@ msgid "Query cache used"
msgstr "Caché de consultas utilizado"
#: js/messages.php:151
#, fuzzy
#| msgid "System CPU Usage"
msgid "System CPU usage"
msgstr "Uso de CPU del sistema"
@ -1240,28 +1233,24 @@ msgid "Used memory"
msgstr "Memoria utilizada"
#: js/messages.php:162
#, fuzzy
#| msgid "Total Swap"
msgid "Total swap"
msgstr "Intercambio total"
msgstr "Intercambio Total"
#: js/messages.php:163
#, fuzzy
#| msgid "Cached Swap"
msgid "Cached swap"
msgstr "Intercambio en caché"
msgstr "Intercambio en Caché"
#: js/messages.php:164
#, fuzzy
#| msgid "Used Swap"
msgid "Used swap"
msgstr "Intercambio utilizado"
msgstr "Intercambio Utilizado"
#: js/messages.php:165
#, fuzzy
#| msgid "Free Swap"
msgid "Free swap"
msgstr "Intercambio libre"
msgstr "Intercambio Libre"
#: js/messages.php:167
msgid "Bytes sent"
@ -1680,10 +1669,9 @@ msgid "No files available on server for import!"
msgstr "¡No existen archivos disponibles en el servidor para importar!"
#: js/messages.php:275
#, fuzzy
#| msgid "Analyse Query"
msgid "Analyse query"
msgstr "Analizar consulta"
msgstr "Analizar Consulta"
#: js/messages.php:279
msgid "Advisor system"
@ -1746,28 +1734,24 @@ msgid "Loading…"
msgstr "Cargando…"
#: js/messages.php:301
#, fuzzy
#| msgid "Request Aborted!!"
msgid "Request aborted!!"
msgstr "Petición abortado!!"
msgstr "¡¡Petición Abortada!!"
#: js/messages.php:302
#, fuzzy
#| msgid "Processing Request"
msgid "Processing request"
msgstr "Procesando Petición"
msgstr "Procesando petición"
#: js/messages.php:303
#, fuzzy
#| msgid "Request Failed!!"
msgid "Request failed!!"
msgstr "¡Petición fallida!"
msgstr "¡¡Petición Fallida!!"
#: js/messages.php:304
#, fuzzy
#| msgid "Error in processing request:"
msgid "Error in processing request"
msgstr "Error al procesar la petición:"
msgstr "Error al procesar la petición"
#: js/messages.php:305
#, php-format
@ -1785,16 +1769,14 @@ msgid "No databases selected."
msgstr "No se seleccionaron bases de datos."
#: js/messages.php:308
#, fuzzy
#| msgid "Dropping Column"
msgid "Dropping column"
msgstr "Eliminando Columna"
msgstr "Eliminando columna"
#: js/messages.php:309
#, fuzzy
#| msgid "Add primary key"
msgid "Adding primary key"
msgstr "Agregar clave primaria"
msgstr "Añadiendo clave primaria"
#: js/messages.php:310
#: templates/database/designer/aggregate_query_panel.phtml:59
@ -1811,22 +1793,19 @@ msgid "Click to dismiss this notification"
msgstr "Pulse para descartar esta notificación"
#: js/messages.php:314
#, fuzzy
#| msgid "Renaming Databases"
msgid "Renaming databases"
msgstr "Renombrando Bases de Datos"
msgstr "Renombrando bases de datos"
#: js/messages.php:315
#, fuzzy
#| msgid "Copying Database"
msgid "Copying database"
msgstr "Copiando Base de Datos"
msgstr "Copiando base de datos"
#: js/messages.php:316
#, fuzzy
#| msgid "Changing Charset"
msgid "Changing charset"
msgstr "Cambiando el Juego de caracteres"
msgstr "Cambiando el juego de caracteres"
#: js/messages.php:320 libraries/Util.class.php:3232
msgid "Enable foreign key checks"
@ -2218,16 +2197,14 @@ msgid "Geometry"
msgstr "Geometría"
#: js/messages.php:440
#, fuzzy
#| msgid "Inner Ring"
msgid "Inner ring"
msgstr "Círculo interior"
#: js/messages.php:441
#, fuzzy
#| msgid "Outer ring:"
msgid "Outer ring"
msgstr "Círculo exterior:"
msgstr "Círculo exterior"
#: js/messages.php:445
msgid "Do you want to copy encryption key?"
@ -2477,16 +2454,14 @@ msgid "More"
msgstr "Más"
#: js/messages.php:531
#, fuzzy
#| msgid "Show Panel"
msgid "Show panel"
msgstr "Mostrar panel"
#: js/messages.php:532
#, fuzzy
#| msgid "Hide Panel"
msgid "Hide panel"
msgstr "Esconder panel"
msgstr "Ocultar panel"
#: js/messages.php:533
msgid "Show hidden navigation tree items."
@ -2563,16 +2538,14 @@ msgid "Create view"
msgstr "Crear vista"
#: js/messages.php:556
#, fuzzy
#| msgid "Send error reports"
msgid "Send error report"
msgstr "Enviar reportes de error"
msgstr "Enviar informe de error"
#: js/messages.php:557
#, fuzzy
#| msgid "Submit Error Report"
msgid "Submit error report"
msgstr "Enviar reporte de error"
msgstr "Enviar informe de error"
#: js/messages.php:559
msgid ""
@ -2582,16 +2555,14 @@ msgstr ""
"Ocurrió un error fatal en JavaScript. ¿Desearía enviar un reporte de error?"
#: js/messages.php:561
#, fuzzy
#| msgid "Change Report Settings"
msgid "Change report settings"
msgstr "Cambiar configuraciones del reporte"
msgstr "Cambiar configuraciones del informe"
#: js/messages.php:562
#, fuzzy
#| msgid "Show Report Details"
msgid "Show report details"
msgstr "Mostrar detalles del reporte"
msgstr "Mostrar detalles del informe"
#: js/messages.php:565
msgid ""
@ -3560,7 +3531,6 @@ msgstr "Dentro de las tablas:"
#: libraries/DbSearch.class.php:450 libraries/display_export.lib.php:50
#: libraries/replication_gui.lib.php:380
#, fuzzy
#| msgid "Unselect All"
msgid "Unselect all"
msgstr "Deseleccionar todo"
@ -3734,10 +3704,9 @@ msgstr "Para los elementos que están marcados:"
#: libraries/server_user_groups.lib.php:231
#: templates/database/structure/check_all_tables.phtml:3
#: templates/database/structure/check_all_tables.phtml:4
#, fuzzy
#| msgid "Check All"
msgid "Check all"
msgstr "Marcar todos"
msgstr "Seleccionar todo"
#: libraries/DisplayResults.class.php:4988 libraries/Header.class.php:383
#: templates/database/structure/print_view_data_dictionary_link.phtml:3
@ -4864,7 +4833,6 @@ msgid "Without PHP Code"
msgstr "Sin código PHP"
#: libraries/Util.class.php:1223 libraries/config/messages.inc.php:898
#, fuzzy
#| msgid "Create PHP Code"
msgid "Create PHP code"
msgstr "Crear código PHP"
@ -4996,10 +4964,9 @@ msgid "Check privileges for database \"%s\"."
msgstr "Comprobar los privilegios para la base de datos \"%s\"."
#: libraries/build_html_for_db.lib.php:181
#, fuzzy
#| msgid "Check Privileges"
msgid "Check privileges"
msgstr "Comprobar los privilegios"
msgstr "Seleccionar privilegios"
#: libraries/central_columns.lib.php:155
msgid ""
@ -6739,7 +6706,6 @@ msgid "Maximum tables"
msgstr "Número máximo de tablas"
#: libraries/config/messages.inc.php:465
#, fuzzy
#| msgid ""
#| "The number of bytes a script is allowed to allocate, eg. [kbd]32M[/kbd] "
#| "([kbd]0[/kbd] for no limit)."
@ -6747,8 +6713,8 @@ msgid ""
"The number of bytes a script is allowed to allocate, eg. [kbd]32M[/kbd] "
"([kbd]-1[/kbd] for no limit and [kbd]0[/kbd] for no change)."
msgstr ""
"El número de bytes que un script puede reservar. ej. [kbd]32M[/kbd] ([kbd]0[/"
"kbd] para ilimitado)."
"El número de bytes que un script tiene permitido reservar. ej. [kbd]32M[/kbd]"
" ([kbd]-1[/kbd] para ilimitado y [kbd]0[/kbd] para no cambiar).."
#: libraries/config/messages.inc.php:468
msgid "Memory limit"
@ -7742,7 +7708,6 @@ msgstr ""
"todas las tablas."
#: libraries/config/messages.inc.php:853
#, fuzzy
#| msgid "Show Creation timestamp"
msgid "Show creation timestamp"
msgstr "Mostrar marca temporal de creación"
@ -7755,10 +7720,9 @@ msgstr ""
"actualización para todas las tablas."
#: libraries/config/messages.inc.php:857
#, fuzzy
#| msgid "Show Last update timestamp"
msgid "Show last update timestamp"
msgstr "Mostrar marca temporal de última actualización"
msgstr "Mostrar marca temporal de la última actualización"
#: libraries/config/messages.inc.php:859
msgid ""
@ -7768,10 +7732,9 @@ msgstr ""
"para todas las tablas."
#: libraries/config/messages.inc.php:861
#, fuzzy
#| msgid "Show Last check timestamp"
msgid "Show last check timestamp"
msgstr "Mostrar marca temporal de última revisión"
msgstr "Mostrar marca temporal de la última revisión"
#: libraries/config/messages.inc.php:863
msgid ""
@ -8446,10 +8409,9 @@ msgid "Custom - display all possible options"
msgstr "Personalizado - mostrar todas las opciones de configuración posibles"
#: libraries/display_export.lib.php:335
#, fuzzy
#| msgid "Databases"
msgid "Databases:"
msgstr "Bases de datos"
msgstr "Bases de datos:"
#: libraries/display_export.lib.php:337
#: libraries/navigation/Navigation.class.php:196
@ -8658,7 +8620,6 @@ msgstr ""
"Por ejemplo: <b>.sql.zip</b>"
#: libraries/display_import.lib.php:224
#, fuzzy
#| msgid "File to Import:"
msgid "File to import:"
msgstr "Archivo a importar:"
@ -8672,7 +8633,6 @@ msgid "File uploads are not allowed on this server."
msgstr "No está permitido subir archivos a este servidor."
#: libraries/display_import.lib.php:278
#, fuzzy
#| msgid "Partial Import:"
msgid "Partial import:"
msgstr "Importación parcial:"
@ -8706,7 +8666,6 @@ msgstr ""
"desde la primera:"
#: libraries/display_import.lib.php:340
#, fuzzy
#| msgid "Other Options:"
msgid "Other options:"
msgstr "Otras opciones:"
@ -10063,10 +10022,9 @@ msgstr ""
#: libraries/operations.lib.php:879 libraries/operations.lib.php:973
#: libraries/operations.lib.php:1327 libraries/rte/rte_routines.lib.php:998
#: templates/columns_definitions/table_fields_definitions.phtml:47
#, fuzzy
#| msgid "Adjust Privileges"
msgid "Adjust privileges"
msgstr "Ajustar los privilegios"
msgstr "Ajustar privilegios"
#: libraries/operations.lib.php:134
#, php-format
@ -11072,7 +11030,6 @@ msgstr "Mostrar la cuadrícula"
#: libraries/plugins/schema/SchemaPdf.class.php:94
#: templates/database/structure/print_view_data_dictionary_link.phtml:6
#, fuzzy
#| msgid "Data Dictionary"
msgid "Data dictionary"
msgstr "Diccionario de datos"
@ -11836,10 +11793,9 @@ msgid "Re-type"
msgstr "Debe volver a escribir"
#: libraries/replication_gui.lib.php:895
#, fuzzy
#| msgid "Generate password"
msgid "Generate password:"
msgstr "Generar contraseña"
msgstr "Generar contraseña:"
#: libraries/replication_gui.lib.php:933
msgid "Replication started successfully."
@ -12307,7 +12263,6 @@ msgid "Ignoring unsupported language code."
msgstr "Ignorando código de idioma no compatible."
#: libraries/select_server.lib.php:43 libraries/select_server.lib.php:48
#, fuzzy
#| msgid "Current Server:"
msgid "Current server:"
msgstr "Servidor actual:"
@ -12370,10 +12325,9 @@ msgstr ""
#: libraries/server_databases.lib.php:366
#: libraries/server_databases.lib.php:371
#, fuzzy
#| msgid "Enable Statistics"
msgid "Enable statistics"
msgstr "Activar las estadísticas"
msgstr "Activar estadísticas"
#: libraries/server_databases.lib.php:492
#, php-format
@ -12825,10 +12779,9 @@ msgid "table-specific"
msgstr "específico para la tabla"
#: libraries/server_privileges.lib.php:2628
#, fuzzy
#| msgid "Edit privileges:"
msgid "Edit privileges"
msgstr "Editar los privilegios:"
msgstr "Editar privilegios"
#: libraries/server_privileges.lib.php:2631
msgid "Revoke"
@ -13258,10 +13211,9 @@ msgid "Clear series"
msgstr "Vaciar serie"
#: libraries/server_status_monitor.lib.php:233
#, fuzzy
#| msgid "Series in Chart:"
msgid "Series in chart:"
msgstr "Series en el gráfico:"
msgstr "Series en gráfico:"
#: libraries/server_status_monitor.lib.php:254
msgid "Start Monitor"
@ -14791,16 +14743,14 @@ msgid "Username and hostname didn't change."
msgstr "El nombre del usuario y el nombre del sistema central no cambiaron."
#: server_status.php:39
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view server status."
msgstr "Privilegios insuficientes para ver los usuarios."
msgstr "Privilegios insuficientes para ver estado del servidor."
#: server_status_advisor.php:39
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view the advisor."
msgstr "Privilegios insuficientes para ver los usuarios."
msgstr "Privilegios insuficientes para ver el asesor."
#: server_status_processes.php:36
#, php-format
@ -14816,22 +14766,22 @@ msgstr ""
"cerrado."
#: server_status_queries.php:55
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view query statistics."
msgstr "Privilegios insuficientes para ver los usuarios."
msgstr "Privilegios insuficientes para ver las estadísticas de las consultas."
#: server_status_variables.php:57
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view status variables."
msgstr "Privilegios insuficientes para ver los usuarios."
msgstr "Privilegios insuficientes para ver el estado de las variables."
#: server_variables.php:83
#, fuzzy, php-format
#, php-format
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view server variables and settings. %s"
msgstr "Privilegios insuficientes para ver los usuarios."
msgstr ""
"Privilegios insuficientes para ver las variables del servidor y las "
"configuraciones. %s"
#: setup/frames/config.inc.php:41 setup/frames/index.inc.php:277
msgid "Download"
@ -15207,10 +15157,9 @@ msgid "Operator"
msgstr "Operador"
#: templates/database/designer/database_tables.phtml:29
#, fuzzy
#| msgid "Move columns"
msgid "Show/hide columns"
msgstr "Mover columnas"
msgstr "Mostrar/ocultar columnas"
#: templates/database/designer/database_tables.phtml:40
msgid "See table structure"

140
po/gl.po
View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.6.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2015-09-06 07:31-0400\n"
"PO-Revision-Date: 2015-09-13 22:55+0200\n"
"PO-Revision-Date: 2015-09-16 19:34+0200\n"
"Last-Translator: Xosé Calvo <xosecalvo@gmail.com>\n"
"Language-Team: Galician "
"<https://hosted.weblate.org/projects/phpmyadmin/master/gl/>\n"
@ -370,7 +370,7 @@ msgstr "Produciuse un erro e xerouse un erro de fallo que foi imposíbel enviar.
#: error_report.php:81
msgid "If you experience any problems please submit a bug report manually."
msgstr ""
msgstr "Se percibe problemas envíe un informe de fallo manualmente."
#: error_report.php:85
msgid "You may want to refresh the page."
@ -957,7 +957,7 @@ msgid ""
"the data related to the selected partition(s)!"
msgstr ""
"Confirma que desexa ELIMINAR (DROP) a(s) partición(s) seleccionada(s)? Isto "
"tamén ha ELIMINAR os datos relacionados coa(s) partición(s) seleccionada(s)?"
"tamén ha ELIMINAR os datos relacionados coa(s) partición(s) seleccionada(s)!"
#: js/messages.php:65
msgid "Do you really want to TRUNCATE the selected partition(s)?"
@ -1910,7 +1910,7 @@ msgstr "Variábel %d:"
#: js/messages.php:357 libraries/normalization.lib.php:886
msgid "Pick"
msgstr ""
msgstr "Escoller"
#: js/messages.php:358
msgid "Column selector"
@ -4104,39 +4104,34 @@ msgid "Remove from Favorites"
msgstr "Eliminar a gráfica"
#: libraries/RecentFavoriteTable.class.php:234
#, fuzzy
#| msgid "There are no recent tables"
msgid "There are no recent tables."
msgstr "Non hai táboas recentes"
#: libraries/RecentFavoriteTable.class.php:235
#, fuzzy
#| msgid "There are no recent tables"
msgid "There are no favorite tables."
msgstr "Non hai táboas recentes"
msgstr "Non hai táboas favoritas"
#: libraries/RecentFavoriteTable.class.php:250
msgid "Recent tables"
msgstr "Táboas recentes"
#: libraries/RecentFavoriteTable.class.php:252
#, fuzzy
#| msgid "Reset"
msgid "Recent"
msgstr "Reiniciar"
msgstr "Recentes"
#: libraries/RecentFavoriteTable.class.php:254
#: libraries/config/messages.inc.php:544
#, fuzzy
#| msgid "Variables"
msgid "Favorite tables"
msgstr "Variábeis"
msgstr "Táboas favoritas"
#: libraries/RecentFavoriteTable.class.php:256
#, fuzzy
#| msgid "Variables"
msgid "Favorites"
msgstr "Variábeis"
msgstr "Favoritos"
#: libraries/SavedSearches.class.php:246
msgid "Please provide a name for this bookmarked search."
@ -4149,24 +4144,22 @@ msgid "Missing information to save the bookmarked search."
msgstr "Faltan as táboas de almacenamento da configuración do phpMyAdmin"
#: libraries/SavedSearches.class.php:283 libraries/SavedSearches.class.php:320
#, fuzzy
#| msgid "The user %s already exists!"
msgid "An entry with this name already exists."
msgstr "Xa existe o usuario %s!"
msgstr "Xa existe unha entrada con este nome."
#: libraries/SavedSearches.class.php:347
msgid "Missing information to delete the search."
msgstr ""
msgstr "Falta información para eliminar a busca."
#: libraries/SavedSearches.class.php:375
msgid "Missing information to load the search."
msgstr ""
msgstr "Falta información para cargar a busca."
#: libraries/SavedSearches.class.php:394
#, fuzzy
#| msgid "Error while moving uploaded file."
msgid "Error while loading the search."
msgstr "Produciuse un erro ao mover o ficheiro subido."
msgstr "Produciuse un erro ao cargar a busca."
#: libraries/ServerStatusData.class.php:116
#: libraries/server_status_processes.lib.php:100
@ -4303,10 +4296,9 @@ msgid "This MySQL server does not support the %s storage engine."
msgstr "Este servidor de MySQL non acepta o motor de almacenamento %s."
#: libraries/Table.class.php:342
#, fuzzy
#| msgid "unknown table status: "
msgid "Unknown table status:"
msgstr "estado da táboa descoñecido: "
msgstr "Estado da táboa descoñecido:"
#: libraries/Table.class.php:735
#, php-format
@ -7285,30 +7277,27 @@ msgid "Grid editing: save all edited cells at once"
msgstr "Edición da grella: gravar todas as celas editadas inmediatamente"
#: libraries/config/messages.inc.php:618
#, fuzzy
#| msgid "Directory where exports can be saved on server"
msgid "Directory where exports can be saved on server."
msgstr "Directorio no que se poden gravar as exportacións no servidor"
msgstr "Directorio no que se poden gravar as exportacións no servidor."
#: libraries/config/messages.inc.php:619
msgid "Save directory"
msgstr "Directorio de gardado"
#: libraries/config/messages.inc.php:620
#, fuzzy
#| msgid "Leave blank if not used"
msgid "Leave blank if not used."
msgstr "Déixeo en branco se non o vai empregar"
msgstr "Déixeo en branco se non o vai empregar."
#: libraries/config/messages.inc.php:621
msgid "Host authorization order"
msgstr "Orde de autenticación do servidor"
#: libraries/config/messages.inc.php:622
#, fuzzy
#| msgid "Leave blank for defaults"
msgid "Leave blank for defaults."
msgstr "Déixeo en branco para o predefinido"
msgstr "Déixeo en branco para o predefinido."
#: libraries/config/messages.inc.php:623
msgid "Host authorization rules"
@ -7323,10 +7312,9 @@ msgid "Allow root login"
msgstr "Permitir o rexistro de root"
#: libraries/config/messages.inc.php:626
#, fuzzy
#| msgid "Session value"
msgid "Session timezone"
msgstr "Valor da sesión"
msgstr "Zona horaria da sesión"
#: libraries/config/messages.inc.php:628
msgid ""
@ -7366,10 +7354,9 @@ msgid "SweKey config file"
msgstr "Ficheiro de configuración SweKey"
#: libraries/config/messages.inc.php:640
#, fuzzy
#| msgid "Authentication method to use"
msgid "Authentication method to use."
msgstr "Método de autenticación que se quere empregar"
msgstr "Método de autenticación que se quere empregar."
#: libraries/config/messages.inc.php:641 setup/frames/index.inc.php:164
msgid "Authentication type"
@ -7388,7 +7375,6 @@ msgid "Bookmark table"
msgstr "Táboa de marcadores"
#: libraries/config/messages.inc.php:648
#, fuzzy
#| msgid ""
#| "Leave blank for no column comments/mime types, suggested: "
#| "[kbd]pma__column_info[/kbd]"
@ -7397,28 +7383,26 @@ msgid ""
"[kbd]pma__column_info[/kbd]."
msgstr ""
"Déixeo en branco se non quere comentarios/tipos mime das columnas; suxírese: "
"[kbd]pma__column_info[/kbd]"
"[kbd]pma__column_info[/kbd]."
#: libraries/config/messages.inc.php:651
msgid "Column information table"
msgstr "Táboa de información das columnas"
#: libraries/config/messages.inc.php:652
#, fuzzy
#| msgid "Compress connection to MySQL server"
msgid "Compress connection to MySQL server."
msgstr "Comprimir a conexión ao servidor de MySQL"
msgstr "Comprimir a conexión ao servidor de MySQL."
#: libraries/config/messages.inc.php:653
msgid "Compress connection"
msgstr "Comprimir a conexión"
#: libraries/config/messages.inc.php:655
#, fuzzy
#| msgid "How to connect to server, keep [kbd]tcp[/kbd] if unsure"
msgid "How to connect to server, keep [kbd]tcp[/kbd] if unsure."
msgstr ""
"Como ligar co servidor; déixeo como [kbd]tcp[/kbd] se non está segura/a"
"Como ligar co servidor; déixeo como [kbd]tcp[/kbd] se non está segura/a."
#: libraries/config/messages.inc.php:656
msgid "Connection type"
@ -7429,7 +7413,6 @@ msgid "Control user password"
msgstr "Contrasinal do usuario de control"
#: libraries/config/messages.inc.php:659
#, fuzzy
#| msgid ""
#| "A special MySQL user configured with limited permissions, more "
#| "information available on [a@http://wiki.phpmyadmin.net/pma/"
@ -7439,15 +7422,14 @@ msgid ""
"available on [a@http://wiki.phpmyadmin.net/pma/controluser]wiki[/a]."
msgstr ""
"Un usuario especial de MySQL configurado con permisos limitados; hai máis "
"información dispoñíbel no [a@http://wiki.phpmyadmin.net/pma/"
"controluser]wiki[/a]"
"información dispoñíbel no "
"[a@http://wiki.phpmyadmin.net/pma/controluser]wiki[/a]."
#: libraries/config/messages.inc.php:662
msgid "Control user"
msgstr "Usuario de control"
#: libraries/config/messages.inc.php:664
#, fuzzy
#| msgid ""
#| "An alternate host to hold the configuration storage; leave blank to use "
#| "the already defined host"
@ -7456,14 +7438,13 @@ msgid ""
"already defined host."
msgstr ""
"Un servidor alternativo que manteña o almacenamento da configuración; déixeo "
"en branco para empregar o servidor xa indicado"
"en branco para empregar o servidor xa indicado."
#: libraries/config/messages.inc.php:667
msgid "Control host"
msgstr "Servidor de control"
#: libraries/config/messages.inc.php:669
#, fuzzy
#| msgid ""
#| "An alternate port to connect to the host that holds the configuration "
#| "storage; leave blank to use the default port, or the already defined "
@ -7475,17 +7456,16 @@ msgid ""
msgstr ""
"Un porto alternativo ao que conectar o servidor que manteña o almacenamento "
"da configuración; déixeo en branco para empregar o servidor por omisión, ou "
"o porto xa definido se controlhost for o mesmo que o servidor"
"o porto xa definido se controlhost for o mesmo que o servidor."
#: libraries/config/messages.inc.php:673
msgid "Control port"
msgstr "Porto de control"
#: libraries/config/messages.inc.php:675
#, fuzzy
#| msgid "Hide databases matching regular expression (PCRE)"
msgid "Hide databases matching regular expression (PCRE)."
msgstr "Agochar as bases de datos que coincidan cunha expresión regular (PCRE)"
msgstr "Agochar as bases de datos que coincidan cunha expresión regular (PCRE)."
#: libraries/config/messages.inc.php:677
msgid ""
@ -7505,7 +7485,6 @@ msgid "Hide databases"
msgstr "Agochar as bases de datos"
#: libraries/config/messages.inc.php:683
#, fuzzy
#| msgid ""
#| "Leave blank for no SQL query history support, suggested: "
#| "[kbd]pma__history[/kbd]"
@ -7514,17 +7493,16 @@ msgid ""
"kbd]."
msgstr ""
"Déixeo en branco se non quere un histórico das consultas SQL; por omisión: "
"[kbd]pma__history[/kbd]"
"[kbd]pma__history[/kbd]."
#: libraries/config/messages.inc.php:686
msgid "SQL query history table"
msgstr "Táboa do historial de consultas SQL"
#: libraries/config/messages.inc.php:687
#, fuzzy
#| msgid "Hostname where MySQL server is running"
msgid "Hostname where MySQL server is running."
msgstr "Nome da máquina na que se executa o servidor de MySQL"
msgstr "Nome da máquina na que se executa o servidor de MySQL."
#: libraries/config/messages.inc.php:688
msgid "Server hostname"
@ -7535,7 +7513,6 @@ msgid "Logout URL"
msgstr "URL de desconexión"
#: libraries/config/messages.inc.php:691
#, fuzzy
#| msgid ""
#| "Limits number of table preferences which are stored in database, the "
#| "oldest records are automatically removed"
@ -7544,7 +7521,7 @@ msgid ""
"records are automatically removed."
msgstr ""
"Limita o número de preferencias de táboas que se almacenan na base de datos; "
"os rexistros máis antigos elimínanse automaticamente"
"os rexistros máis antigos elimínanse automaticamente."
#: libraries/config/messages.inc.php:695
msgid "Maximal number of table preferences to store"
@ -7557,7 +7534,6 @@ msgid "QBE saved searches table"
msgstr "Ver a táboa de estado do escravo"
#: libraries/config/messages.inc.php:698
#, fuzzy
#| msgid ""
#| "Leave blank for no PDF schema support, suggested: [kbd]pma__pdf_pages[/"
#| "kbd]"
@ -7565,17 +7541,15 @@ msgid ""
"Leave blank for no QBE saved searches support, suggested: "
"[kbd]pma__savedsearches[/kbd]."
msgstr ""
"Déixeo en branco se non quere PDF schema; por omisión: [kbd]pma__pdf_pages[/"
"kbd]"
"Déixeo en branco se non quere PDF schema; por omisión: "
"[kbd]pma__pdf_pages[/kbd]."
#: libraries/config/messages.inc.php:701
#, fuzzy
#| msgid "Export views"
msgid "Export templates table"
msgstr "Exportar as vistas"
msgstr "Exportar a táboa de modelos."
#: libraries/config/messages.inc.php:703
#, fuzzy
#| msgid ""
#| "Leave blank for no PDF schema support, suggested: [kbd]pma__pdf_pages[/"
#| "kbd]"
@ -7583,14 +7557,13 @@ msgid ""
"Leave blank for no export template support, suggested: "
"[kbd]pma__export_templates[/kbd]."
msgstr ""
"Déixeo en branco se non quere PDF schema; por omisión: [kbd]pma__pdf_pages[/"
"kbd]"
"Déixeo en branco se non quere PDF schema; por omisión: "
"[kbd]pma__pdf_pages[/kbd]."
#: libraries/config/messages.inc.php:706
#, fuzzy
#| msgid "Textarea columns"
msgid "Central columns table"
msgstr "Columnas da área de texto"
msgstr "Táboa de columnas centrais"
#: libraries/config/messages.inc.php:708
#, fuzzy
@ -7605,10 +7578,9 @@ msgstr ""
"[kbd]pma__table_coords[/kbd]"
#: libraries/config/messages.inc.php:711
#, fuzzy
#| msgid "Try to connect without password"
msgid "Try to connect without password."
msgstr "Tentar conectarse sen contrasinal"
msgstr "Tentar conectarse sen contrasinal."
#: libraries/config/messages.inc.php:712
msgid "Connect without password"
@ -7629,32 +7601,29 @@ msgid "Show only listed databases"
msgstr "Mostrar só as bases de datos listadas"
#: libraries/config/messages.inc.php:719 libraries/config/messages.inc.php:828
#, fuzzy
#| msgid "Leave empty if not using config auth"
msgid "Leave empty if not using config auth."
msgstr "Déixeo en branco se non vai empregar config auth"
msgstr "Déixeo en branco se non vai empregar config auth."
#: libraries/config/messages.inc.php:720
msgid "Password for config auth"
msgstr "Contrasinal para config auth"
#: libraries/config/messages.inc.php:722
#, fuzzy
#| msgid ""
#| "Leave blank for no PDF schema support, suggested: [kbd]pma__pdf_pages[/"
#| "kbd]"
msgid ""
"Leave blank for no PDF schema support, suggested: [kbd]pma__pdf_pages[/kbd]."
msgstr ""
"Déixeo en branco se non quere PDF schema; por omisión: [kbd]pma__pdf_pages[/"
"kbd]"
"Déixeo en branco se non quere PDF schema; por omisión: "
"[kbd]pma__pdf_pages[/kbd]."
#: libraries/config/messages.inc.php:724
msgid "PDF schema: pages table"
msgstr "PDF schema: táboa de páxinas"
#: libraries/config/messages.inc.php:726
#, fuzzy
#| msgid ""
#| "Database used for relations, bookmarks, and PDF features. See [a@http://"
#| "wiki.phpmyadmin.net/pma/pmadb]pmadb[/a] for complete information. Leave "
@ -7667,7 +7636,7 @@ msgstr ""
"Base de datos empregada para relacións, marcadores e funcionalidades PDF. "
"Vexa [a@http://wiki.phpmyadmin.net/pma/pmadb]pmadb[/a] para a información "
"completa. Déixeo en branco se non lle interesan. Por omisión: "
"[kbd]phpmyadmin[/kbd]"
"[kbd]phpmyadmin[/kbd]."
#: libraries/config/messages.inc.php:730
#: libraries/display_create_database.lib.php:31
@ -7675,19 +7644,17 @@ msgid "Database name"
msgstr "Nome da base de datos"
#: libraries/config/messages.inc.php:732
#, fuzzy
#| msgid "Port on which MySQL server is listening, leave empty for default"
msgid "Port on which MySQL server is listening, leave empty for default."
msgstr ""
"Porto polo que está a escoitar o servidor de MySQL server; déixeo en branco "
"para deixar o predefinido"
"para deixar o predefinido."
#: libraries/config/messages.inc.php:733
msgid "Server port"
msgstr "Porto do servidor"
#: libraries/config/messages.inc.php:735
#, fuzzy
#| msgid ""
#| "Leave blank for no \"persistent\" recently used tables across sessions, "
#| "suggested: [kbd]pma__recent[/kbd]"
@ -7696,14 +7663,13 @@ msgid ""
"suggested: [kbd]pma__recent[/kbd]."
msgstr ""
"Déixeo en branco para eliminar a «persistencia» das táboas utilizadas "
"recentemente entre sesións; suxírese: [kbd]pma__recent[/kbd]"
"recentemente entre sesións; suxírese: [kbd]pma__recent[/kbd]."
#: libraries/config/messages.inc.php:738
msgid "Recently used table"
msgstr "Táboa usada recentemente"
#: libraries/config/messages.inc.php:740
#, fuzzy
#| msgid ""
#| "Leave blank for no \"persistent\" recently used tables across sessions, "
#| "suggested: [kbd]pma__recent[/kbd]"
@ -7712,16 +7678,14 @@ msgid ""
"suggested: [kbd]pma__favorite[/kbd]."
msgstr ""
"Déixeo en branco para eliminar a «persistencia» das táboas utilizadas "
"recentemente entre sesións; suxírese: [kbd]pma__recent[/kbd]"
"recentemente entre sesións; suxírese: [kbd]pma__recent[/kbd]."
#: libraries/config/messages.inc.php:743
#, fuzzy
#| msgid "Variables"
msgid "Favorites table"
msgstr "Variábeis"
msgstr "Táboa de favoritos"
#: libraries/config/messages.inc.php:745
#, fuzzy
#| msgid ""
#| "Leave blank for no [a@http://wiki.phpmyadmin.net/pma/relation]relation-"
#| "links[/a] support, suggested: [kbd]pma__relation[/kbd]"
@ -7729,15 +7693,14 @@ msgid ""
"Leave blank for no [a@http://wiki.phpmyadmin.net/pma/relation]relation-"
"links[/a] support, suggested: [kbd]pma__relation[/kbd]."
msgstr ""
"Déixeo en branco se non quere [a@http://wiki.phpmyadmin.net/pma/"
"relation]ligazóns de relación[/a]; suxírese: [kbd]pma__relation[/kbd]"
"Déixeo en branco se non quere [a@http://wiki.phpmyadmin.net/pma/relation]"
"ligazóns de relación[/a]; suxírese: [kbd]pma__relation[/kbd]."
#: libraries/config/messages.inc.php:749
msgid "Relation table"
msgstr "Táboa de relacións"
#: libraries/config/messages.inc.php:751
#, fuzzy
#| msgid ""
#| "See [a@http://wiki.phpmyadmin.net/pma/auth_types#signon]authentication "
#| "types[/a] for an example"
@ -7746,7 +7709,7 @@ msgid ""
"types[/a] for an example."
msgstr ""
"Vexa os [a@http://wiki.phpmyadmin.net/pma/auth_types#signon]tipos de "
"autenticación[/a] se quere un exemplo"
"autenticación[/a] se quere un exemplo."
#: libraries/config/messages.inc.php:754
msgid "Signon session name"
@ -7757,29 +7720,26 @@ msgid "Signon URL"
msgstr "URL de rexistro de entrada"
#: libraries/config/messages.inc.php:757
#, fuzzy
#| msgid "Socket on which MySQL server is listening, leave empty for default"
msgid "Socket on which MySQL server is listening, leave empty for default."
msgstr ""
"Socket polo que está a escoitar o servidor de MySQL; déixeo en branco para "
"deixar o predefinido"
"deixar o predefinido."
#: libraries/config/messages.inc.php:758
msgid "Server socket"
msgstr "Socket do servidor"
#: libraries/config/messages.inc.php:759
#, fuzzy
#| msgid "Enable SSL for connection to MySQL server"
msgid "Enable SSL for connection to MySQL server."
msgstr "Activar a SSL para a conexión ao servidor de MySQL"
msgstr "Activar a SSL para a conexión ao servidor de MySQL."
#: libraries/config/messages.inc.php:760
msgid "Use SSL"
msgstr "Empregar a SSL"
#: libraries/config/messages.inc.php:762
#, fuzzy
#| msgid ""
#| "Leave blank for no PDF schema support, suggested: [kbd]pma__table_coords[/"
#| "kbd]"
@ -7788,7 +7748,7 @@ msgid ""
"kbd]."
msgstr ""
"Déixeo en branco se non quere PDF schema; por omisión: "
"[kbd]pma__table_coords[/kbd]"
"[kbd]pma__table_coords[/kbd]."
#: libraries/config/messages.inc.php:765
#, fuzzy

368
po/hy.po

File diff suppressed because it is too large Load Diff

View File

@ -4,10 +4,10 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.6.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2015-09-06 07:31-0400\n"
"PO-Revision-Date: 2015-08-28 06:06+0200\n"
"Last-Translator: Amir Hamzah <amir.overlord666@gmail.com>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/phpmyadmin/master/"
"ms/>\n"
"PO-Revision-Date: 2015-09-17 15:33+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Malay "
"<https://hosted.weblate.org/projects/phpmyadmin/master/ms/>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -298,12 +298,12 @@ msgstr "Tiada nama pangkalan data!"
#: db_operations.php:141
#, php-format
msgid "Database %1$s has been renamed to %2$s."
msgstr "Pangkalan data %1$s telah ditukarnama ke %2$s"
msgstr "Pangkalan data %1$s telah ditukarnama ke %2$s."
#: db_operations.php:153
#, php-format
msgid "Database %1$s has been copied to %2$s."
msgstr "Pangkalan data %1$s telah di salin ke %2$s"
msgstr "Pangkalan data %1$s telah di salin ke %2$s."
#: db_operations.php:283
#, php-format
@ -17960,10 +17960,6 @@ msgstr ""
#~ msgid "None"
#~ msgstr "Tiada"
#~ msgctxt ""
#~ msgid "None"
#~ msgstr "Tiada"
#~ msgid "The %s table doesn"
#~ msgstr "Jadual \"%s\" tidak wujud!"

View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.6.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2015-09-06 07:31-0400\n"
"PO-Revision-Date: 2015-09-13 10:19+0200\n"
"PO-Revision-Date: 2015-09-15 10:38+0200\n"
"Last-Translator: Martin Lacina <martin@whistler.sk>\n"
"Language-Team: Slovak "
"<https://hosted.weblate.org/projects/phpmyadmin/master/sk/>\n"
@ -8184,34 +8184,29 @@ msgid "Template name"
msgstr "Názov šablóny"
#: libraries/display_export.lib.php:217
#, fuzzy
#| msgid "File name template:"
msgid "Existing templates:"
msgstr "Šablóna pre názov súboru:"
msgstr "Existujúce šablóny:"
#: libraries/display_export.lib.php:218
#, fuzzy
#| msgid "Temp disk rate"
msgid "Template:"
msgstr "Frekvencia dočasného ukladania na disk"
msgstr "Šablóna:"
#: libraries/display_export.lib.php:223
#, fuzzy
#| msgid "Updated"
msgid "Update"
msgstr "Aktualizova"
msgstr "Aktualizovať"
#: libraries/display_export.lib.php:245
#, fuzzy
#| msgid "Select a table"
msgid "Select a template"
msgstr "Vyberte tabuľku"
msgstr "Zvoľte šablónu"
#: libraries/display_export.lib.php:291
#, fuzzy
#| msgid "Export method"
msgid "Export method:"
msgstr "Metóda exportu"
msgstr "Metóda exportu:"
#: libraries/display_export.lib.php:301
msgid "Quick - display only the minimal options"
@ -8222,10 +8217,9 @@ msgid "Custom - display all possible options"
msgstr "Vlastná - zobrazí všetky voľby nastavení"
#: libraries/display_export.lib.php:335
#, fuzzy
#| msgid "Databases"
msgid "Databases:"
msgstr "Databázy"
msgstr "Databázy:"
#: libraries/display_export.lib.php:337
#: libraries/navigation/Navigation.class.php:196
@ -8332,16 +8326,14 @@ msgid "View output as text"
msgstr "Zobraziť výstup ako text"
#: libraries/display_export.lib.php:751
#, fuzzy
#| msgid "Export views as tables"
msgid "Export databases as separate files"
msgstr "Exportovať pohľady (views) ako tabuľky"
msgstr "Exportovať databázy ako samostatné súbory"
#: libraries/display_export.lib.php:753
#, fuzzy
#| msgid "Export table headers"
msgid "Export tables as separate files"
msgstr "Exportovať záhlavia tabuliek"
msgstr "Exportovať tabuľky ako samostatné súbory"
#: libraries/display_export.lib.php:783 libraries/display_export.lib.php:909
msgid "Rename exported databases/tables/columns"
@ -8438,7 +8430,6 @@ msgstr ""
"Napríklad: <b>.sql.zip</b>"
#: libraries/display_import.lib.php:224
#, fuzzy
#| msgid "File to Import:"
msgid "File to import:"
msgstr "Súbor na importovanie:"
@ -8452,7 +8443,6 @@ msgid "File uploads are not allowed on this server."
msgstr "Ukladanie súborov na server nie je povolené."
#: libraries/display_import.lib.php:278
#, fuzzy
#| msgid "Partial Import:"
msgid "Partial import:"
msgstr "Čiastočný import:"
@ -8482,7 +8472,6 @@ msgid ""
msgstr ""
#: libraries/display_import.lib.php:340
#, fuzzy
#| msgid "Other Options:"
msgid "Other options:"
msgstr "Ďalšie nastavenia:"
@ -9285,10 +9274,9 @@ msgid "An error has occurred while loading the navigation display"
msgstr ""
#: libraries/navigation/Navigation.class.php:192
#, fuzzy
#| msgid "Group name:"
msgid "Groups:"
msgstr "Názov skupiny:"
msgstr "Skupiny:"
#: libraries/navigation/Navigation.class.php:193
msgid "Events:"
@ -9733,18 +9721,18 @@ msgstr "Premenovať databázu na"
#: libraries/operations.lib.php:873 libraries/operations.lib.php:967
#: libraries/operations.lib.php:1321
#: templates/columns_definitions/column_adjust_privileges.phtml:16
#, fuzzy
#| msgid "You don't have sufficient privileges to be here right now!"
msgid ""
"You don't have sufficient privileges to perform this operation; Please refer "
"to the documentation for more details"
msgstr "Nemáte dostatočné práva na vykonanie tejto akcie!"
msgstr ""
"Nemáte dostatočné práva na vykonanie tejto operácie. Pre viac detailov si "
"pozrite dokumentáciu"
#: libraries/operations.lib.php:102 libraries/operations.lib.php:249
#: libraries/operations.lib.php:879 libraries/operations.lib.php:973
#: libraries/operations.lib.php:1327 libraries/rte/rte_routines.lib.php:998
#: templates/columns_definitions/table_fields_definitions.phtml:47
#, fuzzy
#| msgid "Adjust Privileges"
msgid "Adjust privileges"
msgstr "Upraviť oprávnenia"
@ -9924,10 +9912,9 @@ msgid "Truncate"
msgstr ""
#: libraries/operations.lib.php:1619
#, fuzzy
#| msgid "Collapse"
msgid "Coalesce"
msgstr "Zbaliť"
msgstr "Zlúčiť"
#: libraries/operations.lib.php:1628
msgid "Partition maintenance"
@ -10361,10 +10348,10 @@ msgid "(less efficient as indexes will be generated during table creation)"
msgstr ""
#: libraries/plugins/export/ExportSql.class.php:288
#, fuzzy, php-format
#, php-format
#| msgid "Session value"
msgid "%s value"
msgstr "Hodnota sedenia"
msgstr "%s hodnota"
#: libraries/plugins/export/ExportSql.class.php:329
msgid ""
@ -10717,7 +10704,6 @@ msgstr "Zobraziť mriežku"
#: libraries/plugins/schema/SchemaPdf.class.php:94
#: templates/database/structure/print_view_data_dictionary_link.phtml:6
#, fuzzy
#| msgid "Data Dictionary"
msgid "Data dictionary"
msgstr "Dátový slovník"
@ -11094,10 +11080,9 @@ msgid "Remembering Designer Settings"
msgstr "Pamätať si triedenie tabuľky"
#: libraries/relation.lib.php:338
#, fuzzy
#| msgid "Invalid export type"
msgid "Saving export templates"
msgstr "Chybný typ exportu"
msgstr "Ukladanie exportných šablón"
#: libraries/relation.lib.php:346
msgid "Quick steps to setup advanced features:"
@ -11418,10 +11403,9 @@ msgid "Re-type"
msgstr "Potvrdiť"
#: libraries/replication_gui.lib.php:895
#, fuzzy
#| msgid "Generate password"
msgid "Generate password:"
msgstr "Vytvoriť heslo"
msgstr "Vytvoriť heslo:"
#: libraries/replication_gui.lib.php:933
msgid "Replication started successfully."
@ -11643,10 +11627,10 @@ msgid "Sorry, we failed to restore the dropped routine."
msgstr "Bohužiaľ sa nepodarilo obnoviť odstránenú rutinu."
#: libraries/rte/rte_routines.lib.php:439
#, fuzzy, php-format
#, php-format
#| msgid "Routine %1$s has been modified."
msgid "Routine %1$s has been modified. Privileges have been adjusted."
msgstr "Rutina %1$s bola zmenená."
msgstr "Rutina %1$s bola zmenená. Oprávnenia boli upravené."
#: libraries/rte/rte_routines.lib.php:444
#, php-format
@ -11884,10 +11868,9 @@ msgid "Ignoring unsupported language code."
msgstr ""
#: libraries/select_server.lib.php:43 libraries/select_server.lib.php:48
#, fuzzy
#| msgid "Current server"
msgid "Current server:"
msgstr "Aktuálny server"
msgstr "Aktuálny server:"
#: libraries/server_bin_log.lib.php:30
msgid "Select binary log to view"
@ -11946,10 +11929,9 @@ msgstr ""
#: libraries/server_databases.lib.php:366
#: libraries/server_databases.lib.php:371
#, fuzzy
#| msgid "Enable Statistics"
msgid "Enable statistics"
msgstr "Zobraziť štatistiky"
msgstr "Povoliť štatistiky"
#: libraries/server_databases.lib.php:492
#, php-format
@ -12307,10 +12289,9 @@ msgstr "Nezmeniť heslo"
#: libraries/server_privileges.lib.php:1694
#: libraries/server_privileges.lib.php:1697
#, fuzzy
#| msgid "Authentication"
msgid "Authentication Plugin"
msgstr "Overenie"
msgstr "Rozšírenie pre prihlasovanie"
#: libraries/server_privileges.lib.php:1925
#, php-format
@ -12324,10 +12305,9 @@ msgstr "Boli zrušené oprávnenia pre %s."
#: libraries/server_privileges.lib.php:2061
#: libraries/server_privileges.lib.php:4318
#, fuzzy
#| msgid "Add user group"
msgid "Add user account"
msgstr "Pridať používateľskú skupinu"
msgstr "Pridať používateľský účet"
#: libraries/server_privileges.lib.php:2070
#, fuzzy
@ -12396,10 +12376,9 @@ msgid "table-specific"
msgstr "závislé na tabuľke"
#: libraries/server_privileges.lib.php:2628
#, fuzzy
#| msgid "Edit Privileges:"
msgid "Edit privileges"
msgstr "Upraviť oprávnenia:"
msgstr "Upraviť oprávnenia"
#: libraries/server_privileges.lib.php:2631
msgid "Revoke"

View File

@ -4,10 +4,10 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.6.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2015-09-06 07:31-0400\n"
"PO-Revision-Date: 2015-08-27 13:45+0200\n"
"PO-Revision-Date: 2015-09-16 05:36+0200\n"
"Last-Translator: Chien Wei Lin <cwlin0416@gmail.com>\n"
"Language-Team: Chinese (Taiwan) <https://hosted.weblate.org/projects/"
"phpmyadmin/master/zh_TW/>\n"
"Language-Team: Chinese (Taiwan) "
"<https://hosted.weblate.org/projects/phpmyadmin/master/zh_TW/>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -631,7 +631,6 @@ msgstr ""
"及 pma 使用者。這兒有更多的資訊 %s。"
#: index.php:163
#, fuzzy
#| msgid "General Settings"
msgid "General settings"
msgstr "一般設定"
@ -647,7 +646,6 @@ msgid "Server connection collation"
msgstr "伺服器連線編碼與排序"
#: index.php:229
#, fuzzy
#| msgid "Appearance Settings"
msgid "Appearance settings"
msgstr "外觀設定"
@ -971,7 +969,6 @@ msgid ""
msgstr "您確定您要更改所有欄位編碼與排序(Collation)並轉換資料?"
#: js/messages.php:88
#, fuzzy
#| msgid "Save & Close"
msgid "Save & close"
msgstr "儲存並關閉"
@ -983,7 +980,6 @@ msgid "Reset"
msgstr "重新設定"
#: js/messages.php:90
#, fuzzy
#| msgid "Reset All"
msgid "Reset all"
msgstr "全部重設"
@ -1009,7 +1005,6 @@ msgid "Add index"
msgstr "新增索引"
#: js/messages.php:98
#, fuzzy
#| msgid "Edit Index"
msgid "Edit index"
msgstr "編輯索引"
@ -1060,7 +1055,6 @@ msgstr "SQL 查詢:"
#. l10n: Default label for the y-Axis of Charts
#: js/messages.php:118
#, fuzzy
#| msgid "Y Values"
msgid "Y values"
msgstr "Y 軸值"
@ -1155,7 +1149,6 @@ msgid "Query cache used"
msgstr "查詢快取已使用"
#: js/messages.php:151
#, fuzzy
#| msgid "System CPU Usage"
msgid "System CPU usage"
msgstr "系統 CPU 使用率"
@ -1193,28 +1186,24 @@ msgid "Used memory"
msgstr "已使用記憶體"
#: js/messages.php:162
#, fuzzy
#| msgid "Total Swap"
msgid "Total swap"
msgstr "暫存區總計"
msgstr "交換空間總計"
#: js/messages.php:163
#, fuzzy
#| msgid "Cached Swap"
msgid "Cached swap"
msgstr "已快取暫存區"
msgstr "已快取交換空間"
#: js/messages.php:164
#, fuzzy
#| msgid "Used Swap"
msgid "Used swap"
msgstr "已使用暫存區"
msgstr "已使用交換空間"
#: js/messages.php:165
#, fuzzy
#| msgid "Free Swap"
msgid "Free swap"
msgstr "閒置的暫存區"
msgstr "未使用交換空間"
#: js/messages.php:167
msgid "Bytes sent"
@ -1615,7 +1604,6 @@ msgid "No files available on server for import!"
msgstr "伺服器上無可用來匯入的檔案!"
#: js/messages.php:275
#, fuzzy
#| msgid "Analyse Query"
msgid "Analyse query"
msgstr "分析查詢"
@ -1681,28 +1669,24 @@ msgid "Loading…"
msgstr "載入中…"
#: js/messages.php:301
#, fuzzy
#| msgid "Request Aborted!!"
msgid "Request aborted!!"
msgstr "請求失敗!!"
msgstr "已放棄請求!!"
#: js/messages.php:302
#, fuzzy
#| msgid "Processing Request"
msgid "Processing request"
msgstr "請求處理中"
#: js/messages.php:303
#, fuzzy
#| msgid "Request Failed!!"
msgid "Request failed!!"
msgstr "請求失敗!!"
#: js/messages.php:304
#, fuzzy
#| msgid "Error in processing request:"
msgid "Error in processing request"
msgstr "處理要求時發生錯誤"
msgstr "處理要求時發生錯誤"
#: js/messages.php:305
#, php-format
@ -1720,16 +1704,14 @@ msgid "No databases selected."
msgstr "尚未選擇任何資料庫。"
#: js/messages.php:308
#, fuzzy
#| msgid "Dropping Column"
msgid "Dropping column"
msgstr "刪除欄位"
#: js/messages.php:309
#, fuzzy
#| msgid "Add primary key"
msgid "Adding primary key"
msgstr "新增主鍵"
msgstr "新增主鍵"
#: js/messages.php:310
#: templates/database/designer/aggregate_query_panel.phtml:59
@ -1746,19 +1728,16 @@ msgid "Click to dismiss this notification"
msgstr "點選關閉此通知"
#: js/messages.php:314
#, fuzzy
#| msgid "Renaming Databases"
msgid "Renaming databases"
msgstr "更改資料庫名稱中"
#: js/messages.php:315
#, fuzzy
#| msgid "Copying Database"
msgid "Copying database"
msgstr "複製資料庫中"
#: js/messages.php:316
#, fuzzy
#| msgid "Changing Charset"
msgid "Changing charset"
msgstr "更改字元編碼"
@ -2141,16 +2120,14 @@ msgid "Geometry"
msgstr "幾何形"
#: js/messages.php:440
#, fuzzy
#| msgid "Inner Ring"
msgid "Inner ring"
msgstr "內環"
#: js/messages.php:441
#, fuzzy
#| msgid "Outer ring:"
msgid "Outer ring"
msgstr "外環:"
msgstr "外環"
#: js/messages.php:445
msgid "Do you want to copy encryption key?"
@ -2381,16 +2358,14 @@ msgid "More"
msgstr "更多"
#: js/messages.php:531
#, fuzzy
#| msgid "Show Panel"
msgid "Show panel"
msgstr "顯示控制面板"
msgstr "顯示面板"
#: js/messages.php:532
#, fuzzy
#| msgid "Hide Panel"
msgid "Hide panel"
msgstr "隱藏控制面板"
msgstr "隱藏面板"
#: js/messages.php:533
msgid "Show hidden navigation tree items."
@ -2461,13 +2436,11 @@ msgid "Create view"
msgstr "新增檢視表"
#: js/messages.php:556
#, fuzzy
#| msgid "Send error reports"
msgid "Send error report"
msgstr "傳送錯誤報告"
#: js/messages.php:557
#, fuzzy
#| msgid "Submit Error Report"
msgid "Submit error report"
msgstr "送出錯誤報告"
@ -2479,13 +2452,11 @@ msgid ""
msgstr "發生 JavaScript 嚴重錯誤,您是否要回報錯誤報告?"
#: js/messages.php:561
#, fuzzy
#| msgid "Change Report Settings"
msgid "Change report settings"
msgstr "更改報告設定"
#: js/messages.php:562
#, fuzzy
#| msgid "Show Report Details"
msgid "Show report details"
msgstr "顯示報告詳細資訊"
@ -3438,7 +3409,6 @@ msgstr "於下列資料表中:"
#: libraries/DbSearch.class.php:450 libraries/display_export.lib.php:50
#: libraries/replication_gui.lib.php:380
#, fuzzy
#| msgid "Unselect All"
msgid "Unselect all"
msgstr "全部取消"
@ -3611,7 +3581,6 @@ msgstr "已選擇項目:"
#: libraries/server_user_groups.lib.php:231
#: templates/database/structure/check_all_tables.phtml:3
#: templates/database/structure/check_all_tables.phtml:4
#, fuzzy
#| msgid "Check All"
msgid "Check all"
msgstr "全選"
@ -4682,7 +4651,6 @@ msgid "Without PHP Code"
msgstr "關閉 PHP 程式碼"
#: libraries/Util.class.php:1223 libraries/config/messages.inc.php:898
#, fuzzy
#| msgid "Create PHP Code"
msgid "Create PHP code"
msgstr "產生 PHP 程式碼"
@ -4812,7 +4780,6 @@ msgid "Check privileges for database \"%s\"."
msgstr "檢查資料庫 「%s」 之權限."
#: libraries/build_html_for_db.lib.php:181
#, fuzzy
#| msgid "Check Privileges"
msgid "Check privileges"
msgstr "檢查權限"
@ -4880,7 +4847,7 @@ msgstr "屬性"
#: libraries/central_columns.lib.php:710
#: libraries/central_columns.lib.php:1384
msgid "A_I"
msgstr ""
msgstr "流水號(A_I)"
#: libraries/central_columns.lib.php:750
msgid "Select a table"
@ -5395,7 +5362,7 @@ msgid ""
"Restricts the MySQL servers the user can enter when a login to an arbitrary "
"MySQL server is enabled by matching the IP or hostname of the MySQL server "
"to the given regular expression."
msgstr ""
msgstr "限制使用者登入任意 MySQL 伺服器時,該 MySQL 伺服器的 IP 或主機名稱需要符合指定的正規表示法。"
#: libraries/config/messages.inc.php:26
msgid "Restrict login to MySQL server"
@ -6439,7 +6406,6 @@ msgid "Maximum tables"
msgstr "資料表數量上限"
#: libraries/config/messages.inc.php:465
#, fuzzy
#| msgid ""
#| "The number of bytes a script is allowed to allocate, eg. [kbd]32M[/kbd] "
#| "([kbd]0[/kbd] for no limit)."
@ -6447,7 +6413,8 @@ msgid ""
"The number of bytes a script is allowed to allocate, eg. [kbd]32M[/kbd] "
"([kbd]-1[/kbd] for no limit and [kbd]0[/kbd] for no change)."
msgstr ""
"執行 Script 時可配置的記憶體大小,例 [kbd]32MB[/kbd] ([kbd]0[/kbd]爲不限制)。"
"執行 Script 時可配置的記憶體大小,例 [kbd]32MB[/kbd] ([kbd]-1[/kbd] 爲不限制、[kbd]0[/kbd] "
"為不做變更)。"
#: libraries/config/messages.inc.php:468
msgid "Memory limit"
@ -7349,10 +7316,9 @@ msgid "Show or hide a column displaying the Creation timestamp for all tables."
msgstr "顯示或隱藏所有資料表欄位建立的時間。"
#: libraries/config/messages.inc.php:853
#, fuzzy
#| msgid "Show Creation timestamp"
msgid "Show creation timestamp"
msgstr "顯示建立時間戳記"
msgstr "顯示建立時間"
#: libraries/config/messages.inc.php:855
msgid ""
@ -7360,10 +7326,9 @@ msgid ""
msgstr "顯示或隱藏所有資料表的最後更新時間欄位。"
#: libraries/config/messages.inc.php:857
#, fuzzy
#| msgid "Show Last update timestamp"
msgid "Show last update timestamp"
msgstr "顯示最後更新時間戳記"
msgstr "顯示最後更新時間"
#: libraries/config/messages.inc.php:859
msgid ""
@ -7371,10 +7336,9 @@ msgid ""
msgstr "顯示或隱藏所有資料表的最後檢查時間欄位。"
#: libraries/config/messages.inc.php:861
#, fuzzy
#| msgid "Show Last check timestamp"
msgid "Show last check timestamp"
msgstr "顯示最後檢查時間戳記"
msgstr "顯示最後檢查時間"
#: libraries/config/messages.inc.php:863
msgid ""
@ -8011,10 +7975,9 @@ msgid "Custom - display all possible options"
msgstr "自訂 - 顯示所有可用的選項"
#: libraries/display_export.lib.php:335
#, fuzzy
#| msgid "Databases"
msgid "Databases:"
msgstr "資料庫"
msgstr "資料庫"
#: libraries/display_export.lib.php:337
#: libraries/navigation/Navigation.class.php:196
@ -8216,10 +8179,9 @@ msgid ""
msgstr "壓縮檔案名稱必須以 <b>.[格式].[壓縮方式]</b> 結尾。如: <b>.sql.zip</b>"
#: libraries/display_import.lib.php:224
#, fuzzy
#| msgid "File to Import:"
msgid "File to import:"
msgstr "要匯入的檔案:"
msgstr "要匯入的檔案"
#: libraries/display_import.lib.php:234 libraries/display_import.lib.php:251
msgid "You may also drag and drop a file on any page."
@ -8230,10 +8192,9 @@ msgid "File uploads are not allowed on this server."
msgstr "此伺服器不允許上傳檔案。"
#: libraries/display_import.lib.php:278
#, fuzzy
#| msgid "Partial Import:"
msgid "Partial import:"
msgstr "部分匯入:"
msgstr "部分匯入"
#: libraries/display_import.lib.php:285
#, php-format
@ -8258,7 +8219,6 @@ msgid ""
msgstr "跳過此數量的查詢(SQL)或者行數(其他格式),由第一行開始:"
#: libraries/display_import.lib.php:340
#, fuzzy
#| msgid "Other Options:"
msgid "Other options:"
msgstr "其他選項:"
@ -9403,7 +9363,7 @@ msgid ""
"For each column below, please select the <b>minimal set</b> of columns among "
"given set whose values combined together are sufficient to determine the "
"value of the column."
msgstr ""
msgstr "以下欄位,請選擇可足夠用來辨識欄位值的<b>最少</b>欄位值組合。"
#: libraries/normalization.lib.php:372 libraries/normalization.lib.php:764
#, php-format
@ -9464,7 +9424,7 @@ msgid ""
"given set whose values combined together are sufficient to determine the "
"value of the column.<br />Note: A column may have no transitive dependency, "
"in that case you don't have to select any."
msgstr ""
msgstr "以下欄位,請選擇可足夠用來辨識欄位值的<b>最少</b>欄位值組合。<br />注意:欄位可能沒有遞移相依,因此您可能不用做任何選擇。"
#: libraries/normalization.lib.php:777
msgid ""
@ -9525,7 +9485,6 @@ msgstr "您的權限不足以執行此操作,請參考說明文件了解詳細
#: libraries/operations.lib.php:879 libraries/operations.lib.php:973
#: libraries/operations.lib.php:1327 libraries/rte/rte_routines.lib.php:998
#: templates/columns_definitions/table_fields_definitions.phtml:47
#, fuzzy
#| msgid "Adjust Privileges"
msgid "Adjust privileges"
msgstr "調整權限"
@ -9703,10 +9662,9 @@ msgid "Truncate"
msgstr "清空"
#: libraries/operations.lib.php:1619
#, fuzzy
#| msgid "Collapse"
msgid "Coalesce"
msgstr "Coalesce"
msgstr "合併"
#: libraries/operations.lib.php:1628
msgid "Partition maintenance"
@ -10082,7 +10040,7 @@ msgstr "檢視結構"
#: libraries/plugins/export/ExportPdf.class.php:289
msgid "Stand in"
msgstr ""
msgstr "加入"
#: libraries/plugins/export/ExportSql.class.php:91
msgid ""
@ -10499,7 +10457,6 @@ msgstr "顯示網格"
#: libraries/plugins/schema/SchemaPdf.class.php:94
#: templates/database/structure/print_view_data_dictionary_link.phtml:6
#, fuzzy
#| msgid "Data Dictionary"
msgid "Data dictionary"
msgstr "資料字典"
@ -11209,10 +11166,9 @@ msgid "Re-type"
msgstr "重新輸入"
#: libraries/replication_gui.lib.php:895
#, fuzzy
#| msgid "Generate password"
msgid "Generate password:"
msgstr "產生密碼"
msgstr "產生密碼"
#: libraries/replication_gui.lib.php:933
msgid "Replication started successfully."
@ -11672,10 +11628,9 @@ msgid "Ignoring unsupported language code."
msgstr "忽略不支援的語言代碼。"
#: libraries/select_server.lib.php:43 libraries/select_server.lib.php:48
#, fuzzy
#| msgid "Current server"
msgid "Current server:"
msgstr "目前伺服器"
msgstr "目前伺服器"
#: libraries/server_bin_log.lib.php:30
msgid "Select binary log to view"
@ -11733,7 +11688,6 @@ msgstr ""
#: libraries/server_databases.lib.php:366
#: libraries/server_databases.lib.php:371
#, fuzzy
#| msgid "Enable Statistics"
msgid "Enable statistics"
msgstr "開啟統計資訊"
@ -12166,10 +12120,9 @@ msgid "table-specific"
msgstr "指定資料表"
#: libraries/server_privileges.lib.php:2628
#, fuzzy
#| msgid "Edit privileges:"
msgid "Edit privileges"
msgstr "編輯權限"
msgstr "編輯權限"
#: libraries/server_privileges.lib.php:2631
msgid "Revoke"
@ -12564,10 +12517,9 @@ msgid "Clear series"
msgstr "清除序列"
#: libraries/server_status_monitor.lib.php:233
#, fuzzy
#| msgid "Series in Chart:"
msgid "Series in chart:"
msgstr "圖表中的序列:"
msgstr "圖表中的序列"
#: libraries/server_status_monitor.lib.php:254
msgid "Start Monitor"
@ -13990,16 +13942,14 @@ msgid "Username and hostname didn't change."
msgstr "使用者名稱與主機名稱未變更。"
#: server_status.php:39
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view server status."
msgstr "權限不足檢視使用者。"
msgstr "權限不足檢視伺服器狀態。"
#: server_status_advisor.php:39
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view the advisor."
msgstr "權限不足檢視使用者。"
msgstr "權限不足檢視建議。"
#: server_status_processes.php:36
#, php-format
@ -14013,22 +13963,20 @@ msgid ""
msgstr "phpMyAdmin 無法中止程序 %s。該程序可能已經關閉。"
#: server_status_queries.php:55
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view query statistics."
msgstr "權限不足檢視使用者。"
msgstr "權限不足檢視查詢統計資訊。"
#: server_status_variables.php:57
#, fuzzy
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view status variables."
msgstr "權限不足檢視使用者。"
msgstr "權限不足檢視狀態變數。"
#: server_variables.php:83
#, fuzzy, php-format
#, php-format
#| msgid "Not enough privilege to view users."
msgid "Not enough privilege to view server variables and settings. %s"
msgstr "權限不足檢視使用者。"
msgstr "權限不足檢視伺服器變數與設定。%s"
#: setup/frames/config.inc.php:41 setup/frames/index.inc.php:277
msgid "Download"
@ -14387,10 +14335,9 @@ msgid "Operator"
msgstr "運算子"
#: templates/database/designer/database_tables.phtml:29
#, fuzzy
#| msgid "Move columns"
msgid "Show/hide columns"
msgstr "移動欄位"
msgstr "顯示/隱藏欄位"
#: templates/database/designer/database_tables.phtml:40
msgid "See table structure"

37
server_plugins.php Normal file
View File

@ -0,0 +1,37 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* object the server plugin page
*
* @package PhpMyAdmin
*/
/**
* requirements
*/
require_once 'libraries/common.inc.php';
/**
* JS includes
*/
$response = PMA_Response::getInstance();
$header = $response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('jquery/jquery.tablesorter.js');
$scripts->addFile('server_plugins.js');
/**
* Does the common work
*/
require 'libraries/server_common.inc.php';
require 'libraries/server_plugins.lib.php';
$plugins = PMA_getServerPlugins();
/**
* Displays the page
*/
$response->addHTML(PMA_getHtmlForSubPageHeader('plugins'));
$response->addHTML(PMA_getPluginTab($plugins));
exit;

View File

@ -114,7 +114,7 @@ $_add_user_error = false;
* tablename, db_and_table, dbname_is_wildcard
*/
list(
$username, $hostname, $dbname, $tablename,
$username, $hostname, $dbname, $tablename, $routinename,
$db_and_table, $dbname_is_wildcard
) = PMA_getDataForDBInfo();
@ -179,6 +179,11 @@ if (isset($_REQUEST['change_copy'])) {
);
}
$itemType = '';
if (! empty($routinename)) {
$itemType = PMA_getRoutineType($dbname, $routinename);
}
/**
* Updates privileges
*/
@ -188,8 +193,11 @@ if (! empty($_POST['update_privs'])) {
list($sql_query[$key], $message) = PMA_updatePrivileges(
(isset($username) ? $username : ''),
(isset($hostname) ? $hostname : ''),
(isset($tablename) ? $tablename : ''),
(isset($db_name) ? $db_name : '')
(isset($tablename)
? $tablename
: (isset($routinename) ? $routinename : '')),
(isset($db_name) ? $db_name : ''),
$itemType
);
}
@ -198,8 +206,11 @@ if (! empty($_POST['update_privs'])) {
list($sql_query, $message) = PMA_updatePrivileges(
(isset($username) ? $username : ''),
(isset($hostname) ? $hostname : ''),
(isset($tablename) ? $tablename : ''),
(isset($dbname) ? $dbname : '')
(isset($tablename)
? $tablename
: (isset($routinename) ? $routinename : '')),
(isset($dbname) ? $dbname : ''),
$itemType
);
}
}
@ -220,8 +231,12 @@ if (! empty($_REQUEST['changeUserGroup']) && $cfgRelation['menuswork']
if (isset($_REQUEST['revokeall'])) {
list ($message, $sql_query) = PMA_getMessageAndSqlQueryForPrivilegesRevoke(
(isset($dbname) ? $dbname : ''),
(isset($tablename) ? $tablename : ''),
$username, $hostname
(isset($tablename)
? $tablename
: (isset($routinename) ? $routinename : '')),
$username,
$hostname,
$itemType
);
}
@ -382,25 +397,35 @@ if (isset($_REQUEST['adduser'])) {
);
}
} else {
if (isset($dbname) && ! is_array($dbname)) {
$url_dbname = urlencode(
str_replace(
array('\_', '\%'),
array('_', '%'),
$_REQUEST['dbname']
)
);
}
if (! isset($username)) {
// No username is given --> display the overview
$response->addHTML(
PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir)
);
} else if (!empty($routinename)) {
$response->addHTML(
PMA_getHtmlForRoutineSpecificPrivilges(
$username, $hostname, $dbname, $routinename,
(isset($url_dbname) ? $url_dbname : '')
)
);
} else {
// A user was selected -> display the user's properties
// In an Ajax request, prevent cached values from showing
if ($GLOBALS['is_ajax_request'] == true) {
header('Cache-Control: no-cache');
}
if (isset($dbname) && ! is_array($dbname)) {
$url_dbname = urlencode(
str_replace(
array('\_', '\%'),
array('_', '%'), $_REQUEST['dbname']
)
);
}
$response->addHTML(
PMA_getHtmlForUserProperties(
(isset($dbname_is_wildcard) ? $dbname_is_wildcard : ''),

View File

@ -47,7 +47,7 @@ $options_array = array(
$cfgRelation = PMA_getRelationsParam();
$tbl_storage_engine = /*overload*/
mb_strtoupper(
$GLOBALS['dbi']->getTable($db, $table)->getStatusInfo('Engine')
$dbi->getTable($db, $table)->getStatusInfo('Engine')
);
$upd_query = new Table($table, $db, $dbi);

View File

@ -0,0 +1,15 @@
<label for="text_dbname"><?php echo __('Add privileges on the following database(s):'); ?></label>
<?php if (! empty($databases)) : ?>
<select name="pred_dbname[]" multiple="multiple">
<?php foreach ($databases as $database) : ?>
<?php $escapedDatabase = PMA_Util::escapeMysqlWildcards($database); ?>
<option value="<?php echo htmlspecialchars($escapedDatabase); ?>">
<?php echo htmlspecialchars($database); ?>
</option>
<?php endforeach; ?>
</select>
<?php endif; ?>
<input type="text" id="text_dbname" name="dbname" />
<?php echo PMA_Util::showHint(__('Wildcards % and _ should be escaped with a \ to use them literally.'))?>

View File

@ -0,0 +1,14 @@
<input type="hidden" name="dbname" value="<?php echo htmlspecialchars($database); ?>"/>
<label for="text_routinename"><?php echo __('Add privileges on the following routine:'); ?></label>
<?php if (! empty($routines)) : ?>
<select name="pred_routinename" 'class="autosubmit">
<option value="" selected="selected"><?php echo __('Use text field'); ?>:</option>
<?php foreach ($routines as $routine) : ?>
<option value="<?php echo htmlspecialchars($routine); ?>"><?php echo htmlspecialchars($routine); ?></option>
<?php endforeach; ?>
</select>
<?php endif; ?>
<input type="text" id="text_routinename" name="routinename" />

View File

@ -0,0 +1,14 @@
<input type="hidden" name="dbname" value="<?php echo htmlspecialchars($database); ?>"/>
<label for="text_tablename"><?php echo __('Add privileges on the following table:'); ?></label>
<?php if (! empty($tables)) : ?>
<select name="pred_tablename" 'class="autosubmit">
<option value="" selected="selected"><?php echo __('Use text field'); ?>:</option>
<?php foreach ($tables as $table) : ?>
<option value="<?php echo htmlspecialchars($table); ?>"><?php echo htmlspecialchars($table); ?></option>
<?php endforeach; ?>
</select>
<?php endif; ?>
<input type="text" id="text_tablename" name="tablename" />

View File

@ -0,0 +1,26 @@
<div id="edit_user_dialog">
<?php echo $header; ?>
<form class="submenu-item" name="usersForm" id="addUsersForm" action="server_privileges.php" method="post">
<?php echo PMA_URL_getHiddenInputs(); ?>
<input type="hidden" name="username" value="<?php echo htmlspecialchars($username); ?>">
<input type="hidden" name="hostname" value="<?php echo htmlspecialchars($hostname); ?>">
<input type="hidden" name="dbname" value="<?php echo htmlspecialchars($database); ?>">
<input type="hidden" name="routinename" value="<?php echo htmlspecialchars($routine); ?>">
<input type="hidden" name="grant_count" value="<?php echo $grantCount; ?>">
<fieldset id="fieldset_user_global_rights">
<legend data-submenu-label="<?php echo __('Routine')?>">
<?php echo __('Routine-specific privileges'); ?>
</legend>
<p>
<small>
<i><?php echo __('Note: MySQL privilege names are expressed in English.'); ?></i>
</small>
</p>
<?php echo $privCheckboxes; ?>
</fieldset>
<fieldset id="fieldset_user_privtable_footer" class="tblFooters">
<input type="hidden" name="update_privs" value="1">
<input type="submit" value="Go">
</fieldset>
</form>
</div>

View File

@ -0,0 +1,67 @@
<form class="submenu-item" action="server_privileges.php" id="<?php echo $formId; ?>" method="post">
<?php echo PMA_URL_getHiddenInputs(); ?>
<input type="hidden" name="username" value="<?php echo htmlspecialchars($userName); ?>" />
<input type="hidden" name="hostname" value="<?php echo htmlspecialchars($hostName); ?>" />
<fieldset>
<legend data-submenu-label="<?php echo $subMenuLabel; ?>">
<?php echo $legend; ?>
</legend>
<table class="data">
<thead>
<tr>
<th><?php echo $typeLabel; ?></th>
<th><?php echo __('Privileges'); ?></th>
<th><?php echo __('Grant'); ?></th>
<?php if ($type == 'database') : ?>
<th><?php echo __('Table-specific privileges'); ?></th>
<?php elseif ($type == 'table') : ?>
<th><?php echo __('Column-specific privileges'); ?></th>
<?php endif; ?>
<th colspan="2"><?php echo __('Action'); ?></th>
</tr>
</thead>
<tbody>
<?php if (count($privileges) == 0) : ?>
<?php $colspan = ($type == 'database' ? 7 : ($type == 'table' ? 6 : 5)); ?>
<tr class="odd">
<td colspan="<?php echo $colspan; ?>"><center><i><?php echo __('None') ?></i></center></td>
</tr>
<?php else : ?>
<?php $odd = true; ?>
<?php foreach ($privileges as $privilege) : ?>
<?php echo PMA\Template::get('privileges/privileges_summary_row')
->render(
array_merge(
$privilege,
array(
'odd' => $odd,
'type' => $type,
)
)
); ?>
<?php $odd = !$odd; ?>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
<?php if ($type == 'database') : ?>
<?php echo PMA\Template::get('privileges/add_privileges_database')
->render(array('databases' => $databases)); ?>
<?php elseif ($type == 'table') : ?>
<?php echo PMA\Template::get('privileges/add_privileges_table')
->render(array('database' => $database, 'tables' => $tables)); ?>
<?php else: // routine ?>
<?php echo PMA\Template::get('privileges/add_privileges_routine')
->render(array('database' => $database, 'routines' => $routines)); ?>
<?php endif; ?>
</fieldset>
<fieldset class="tblFooters">
<input type="submit" value="<?php echo __('Go'); ?>" />
</fieldset>
</form>

View File

@ -0,0 +1,14 @@
<tr class="<?php echo ($odd ? 'odd' : 'even'); ?>">
<td><?php echo htmlspecialchars($name); ?></td>
<td><code><?php echo $privileges; ?></code></td>
<td><?php echo ($grant ? __('Yes') : __('No')); ?></td>
<?php if ($type == 'database') : ?>
<td><?php echo ($tablePrivs ? __('Yes') : __('No')); ?></td>
<?php elseif ($type == 'table') : ?>
<td><?php echo ($columnPrivs ? __('Yes') : __('No')); ?></td>
<?php endif; ?>
<td><?php echo $editLink; ?></td>
<td><?php echo $revokeLink; ?></td>
</tr>

View File

@ -5,7 +5,7 @@ use PMA\libraries\Util;
?>
<a href="#" id="printView"><?php echo Util::getIcon('b_print.png', __('Print view'), true); ?></a>
<?php if (! $tbl_is_view && ! $db_is_system_schema): ?>
<a href="sql.php<?php echo $url_query; ?>&amp;session_max_rows=all&amp;sql_query=' . <?php echo urlencode(
<a href="sql.php<?php echo $url_query; ?>&amp;session_max_rows=all&amp;sql_query=<?php echo urlencode(
'SELECT * FROM ' . Util::backquote($GLOBALS['table'])
. ' PROCEDURE ANALYSE()'
); ?>" style="margin-right: 0;">

View File

@ -0,0 +1,138 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* tests for server_plugins.lib.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/Util.class.php';
require_once 'libraries/php-gettext/gettext.inc';
require_once 'libraries/url_generating.lib.php';
require_once 'libraries/server_plugins.lib.php';
require_once 'libraries/Theme.class.php';
require_once 'libraries/database_interface.inc.php';
require_once 'libraries/Message.class.php';
require_once 'libraries/sanitizing.lib.php';
require_once 'libraries/js_escape.lib.php';
/**
* PMA_ServerPlugins_Test class
*
* this class is for testing server_plugins.lib.php functions
*
* @package PhpMyAdmin-test
*/
class PMA_ServerPlugins_Test extends PHPUnit_Framework_TestCase
{
/**
* Prepares environment for the test.
*
* @return void
*/
public function setUp()
{
//$_REQUEST
$_REQUEST['log'] = "index1";
$_REQUEST['pos'] = 3;
//$GLOBALS
$GLOBALS['cfg']['MaxRows'] = 10;
$GLOBALS['cfg']['ServerDefault'] = "server";
$GLOBALS['cfg']['RememberSorting'] = true;
$GLOBALS['cfg']['SQP'] = array();
$GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 1000;
$GLOBALS['cfg']['ShowSQL'] = true;
$GLOBALS['cfg']['TableNavigationLinksMode'] = 'icons';
$GLOBALS['cfg']['LimitChars'] = 100;
$GLOBALS['cfg']['DBG']['sql'] = false;
$GLOBALS['table'] = "table";
$GLOBALS['pmaThemeImage'] = 'image';
//$_SESSION
$_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme');
$_SESSION['PMA_Theme'] = new PMA_Theme();
}
/**
* Test for PMA_getPluginAndModuleInfo
*
* @return void
*/
public function testPMAGetPluginAndModuleInfo()
{
//Mock DBI
$dbi = $this->getMockBuilder('PMA_DatabaseInterface')
->disableOriginalConstructor()
->getMock();
$GLOBALS['dbi'] = $dbi;
//Call the test function
/**
* Prepare plugin list
*/
$plugins = array();
$row = array();
$row["plugin_name"] = "plugin_name1";
$row["plugin_type"] = "plugin_type1";
$row["plugin_type_version"] = "plugin_version1";
$row["plugin_author"] = "plugin_author1";
$row["plugin_license"] = "plugin_license1";
$row["plugin_description"] = "plugin_description1";
$row["is_active"] = true;
$plugins[$row['plugin_type']][] = $row;
$html = PMA_getPluginTab($plugins);
//validate 1:Items
$this->assertContains(
'<th>Plugin</th>',
$html
);
$this->assertContains(
'<th>Description</th>',
$html
);
$this->assertContains(
'<th>Version</th>',
$html
);
$this->assertContains(
'<th>Author</th>',
$html
);
$this->assertContains(
'<th>License</th>',
$html
);
//validate 2: one Item HTML
$this->assertContains(
'<th>plugin_name1</th>',
$html
);
$this->assertContains(
'<td>plugin_description1</td>',
$html
);
$this->assertContains(
'<td>plugin_version1</td>',
$html
);
$this->assertContains(
'<td>plugin_author1</td>',
$html
);
$this->assertContains(
'<td>plugin_license1</td>',
$html
);
}
}

View File

@ -152,7 +152,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$_REQUEST['tablename'] = "PMA_tablename";
$_REQUEST['dbname'] = "PMA_dbname";
list(
$username, $hostname, $dbname, $tablename,
$username, $hostname, $dbname, $tablename, $routinename,
$db_and_table, $dbname_is_wildcard
) = PMA_getDataForDBInfo();
$this->assertEquals(
@ -184,7 +184,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$_REQUEST['pred_tablename'] = "PMA_pred__tablename";
$_REQUEST['pred_dbname'] = array("PMA_pred_dbname");
list(
,, $dbname, $tablename,
,, $dbname, $tablename, $routinename,
$db_and_table, $dbname_is_wildcard
) = PMA_getDataForDBInfo();
$this->assertEquals(
@ -747,7 +747,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$_POST['max_questions'] = 1000;
list ($message, $sql_query)
= PMA_getMessageAndSqlQueryForPrivilegesRevoke(
$dbname, $tablename, $username, $hostname
$dbname, $tablename, $username, $hostname, ''
);
$this->assertEquals(
@ -755,9 +755,9 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$message->getMessage()
);
$this->assertEquals(
"REVOKE ALL PRIVILEGES ON `pma_dbname`.`pma_tablename` "
"REVOKE ALL PRIVILEGES ON `pma_dbname`.`pma_tablename` "
. "FROM 'pma_username'@'pma_hostname'; "
. "REVOKE GRANT OPTION ON `pma_dbname`.`pma_tablename` "
. "REVOKE GRANT OPTION ON `pma_dbname`.`pma_tablename` "
. "FROM 'pma_username'@'pma_hostname';",
$sql_query
);
@ -781,7 +781,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$_POST['Grant_priv'] = 'Y';
$_POST['max_questions'] = 1000;
list($sql_query, $message) = PMA_updatePrivileges(
$username, $hostname, $tablename, $dbname
$username, $hostname, $tablename, $dbname, ''
);
$this->assertEquals(
@ -789,7 +789,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$message->getMessage()
);
$this->assertEquals(
"REVOKE ALL PRIVILEGES ON `pma_dbname`.`pma_tablename` "
"REVOKE ALL PRIVILEGES ON `pma_dbname`.`pma_tablename` "
. "FROM 'pma_username'@'pma_hostname'; ",
$sql_query
);
@ -1477,7 +1477,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
$tablename = "pma_tablename";
$html = PMA_getUserLink(
'edit', $username, $hostname, $dbname, $tablename
'edit', $username, $hostname, $dbname, $tablename, ''
);
$url_html = PMA_URL_getCommon(
@ -1486,6 +1486,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
'hostname' => $hostname,
'dbname' => $dbname,
'tablename' => $tablename,
'routinename' => '',
)
);
$this->assertContains(
@ -1498,7 +1499,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
);
$html = PMA_getUserLink(
'revoke', $username, $hostname, $dbname, $tablename
'revoke', $username, $hostname, $dbname, $tablename, ''
);
$url_html = PMA_URL_getCommon(
@ -1507,6 +1508,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
'hostname' => $hostname,
'dbname' => $dbname,
'tablename' => $tablename,
'routinename' => '',
'revokeall' => 1,
)
);
@ -2023,49 +2025,6 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
);
}
/**
* Tests for PMA_getUserSpecificRights
*
* @return void
*/
function testPMAGetUserSpecificRights()
{
// Setup for the test
$GLOBALS['dbi']->expects($this->any())->method('fetchAssoc')
->will(
$this->onConsecutiveCalls(
array('Db' => 'y'), false, array('Db' => 'y'), false,
false, array('Table_name' => 't')
)
);
// Test case 1
$tables = array('columns_priv');
$user_host_condition = '';
$dbname = '';
$expected = array(
'y' => array(
'privs' => array('USAGE'),
'Db' => 'y',
'Grant_priv' => 'N',
'Column_priv' => true,
'can_delete' => true
)
);
$actual = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
$this->assertEquals($expected, $actual);
// Test case 2
$dbname = 'db';
$expected = array(
't' => array(
'Table_name' => 't'
)
);
$actual = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
$this->assertEquals($expected, $actual);
}
/**
* Tests for PMA_getHtmlForUserProperties
*
@ -2107,61 +2066,6 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
);
}
/**
* Tests for PMA_getHtmlForUserRights
*
* @return void
*/
function testPMAGetHtmlForUserRights()
{
// Test case 1
$db_rights = array(
'y' => array(
'privs' => array('USAGE'),
'Db' => 'y',
'Grant_priv' => 'N',
'Column_priv' => true,
'can_delete' => true
)
);
$exp_found_rows = array('y');
$actual = PMA_getHtmlForUserRights($db_rights, '', 'host', 'user');
$this->assertArrayHasKey(0, $actual);
$this->assertArrayHasKey(1, $actual);
$this->assertEquals($exp_found_rows, $actual[0]);
$this->assertContains('Edit privileges', $actual[1]);
$this->assertContains('Revoke', $actual[1]);
$this->assertContains(
'<tr class="odd">',
$actual[1]
);
$this->assertContains(
'<dfn title="No privileges.">USAGE</dfn>',
$actual[1]
);
$this->assertContains(
'<img src="imageb_usredit.png" title="Edit privileges" '
. 'alt="Edit privileges" />',
$actual[1]
);
$this->assertContains(
'<img src="imageb_usrdrop.png" title="Revoke" alt="Revoke" />',
$actual[1]
);
// Test case 2
$actual = PMA_getHtmlForUserRights(array(), '', '', '');
$this->assertArrayHasKey(0, $actual);
$this->assertArrayHasKey(1, $actual);
$this->assertEquals(array(), $actual[0]);
$this->assertEquals(
'<tr class="odd">' . "\n"
. '<td colspan="6"><center><i>None</i></center></td>' . "\n"
. '</tr>' . "\n",
$actual[1]
);
}
/**
* Tests for PMA_getHtmlForAllTableSpecificRights
*
@ -2170,117 +2074,28 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase
function testPMAGetHtmlForAllTableSpecificRights()
{
// Test case 1
$actual = PMA_getHtmlForAllTableSpecificRights('pma', 'host', 'pmadb');
$this->assertArrayHasKey(0, $actual);
$this->assertArrayHasKey(1, $actual);
$actual = PMA_getHtmlForAllTableSpecificRights('pma', 'host', 'table', 'pmadb');
$this->assertContains(
'<input type="hidden" name="username" value="pma" />',
$actual[0]
$actual
);
$this->assertContains(
'<input type="hidden" name="hostname" value="host" />',
$actual[0]
$actual
);
$this->assertContains(
'<legend data-submenu-label="Table">'
. 'Table-specific privileges',
$actual[0]
$actual
);
$this->assertEquals(array(), $actual[1]);
// Test case 2
$actual = PMA_getHtmlForAllTableSpecificRights('pma2', 'host2', '');
$this->assertArrayHasKey(0, $actual);
$this->assertArrayHasKey(1, $actual);
$GLOBALS['pma'] = new stdClass();
$GLOBALS['pma']->databases = array('x', 'y', 'z');
$actual = PMA_getHtmlForAllTableSpecificRights('pma2', 'host2', 'database', '');
$this->assertContains(
'<legend data-submenu-label="Database">'
. 'Database-specific privileges',
$actual[0]
);
}
/**
* Tests for PMA_getHtmlForSelectDbInEditPrivs
*
* @return void
*/
function testPMAGetHtmlForSelectDbInEditPrivs()
{
$GLOBALS['pma'] = new StdClass();
$GLOBALS['pma']->databases = array(
'pmadb',
'testdb',
'mysql'
);
$actual = PMA_getHtmlForSelectDbInEditPrivs(array('pmadb'));
$this->assertContains(
'<label for="text_dbname">'
. 'Add privileges on the following database(s):',
$actual
);
$this->assertContains(
'<select name="pred_dbname[]" multiple="multiple">',
$actual
);
$this->assertContains(
'<option value="testdb">testdb',
$actual
);
$this->assertContains(
'<option value="mysql">mysql',
$actual
);
$this->assertContains(
'<input type="text" id="text_dbname" name="dbname" />',
$actual
);
$this->assertContains(
'Wildcards % and _ should be escaped with a \ to use them literally.',
$actual
);
}
/**
* Tests for PMA_displayTablesInEditPrivs
*
* @return void
*/
function testPMADisplayTablesInEditPrivs()
{
// Setup for the test
$GLOBALS['dbi']->expects($this->any())->method('fetchRow')
->will($this->onConsecutiveCalls(array('t<bl'), array('ab"c')));
// Test case 1
$actual = PMA_displayTablesInEditPrivs('testdb', array());
$this->assertContains(
'<input type="hidden" name="dbname"',
$actual
);
$this->assertContains(
'<label for="text_tablename">Add privileges on the following table:',
$actual
);
$this->assertContains(
'<input type="text" id="text_tablename" name="tablename" />',
$actual
);
$this->assertContains(
'<select name="pred_tablename" class="autosubmit">',
$actual
);
$this->assertContains(
'<option value="" selected="selected">Use text field:',
$actual
);
$this->assertContains(
'<option value="t&lt;bl">t&lt;bl</option>', $actual
);
$this->assertContains(
'<option value="ab&quot;c">ab&quot;c</option>', $actual
);
$this->assertContains(
'<input type="text" id="text_tablename" name="tablename" />',
$actual
);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B