Merge branch 'QA_5_1' into STABLE

This commit is contained in:
Isaac Bennetch 2022-02-10 23:29:49 -05:00
commit f27346c073
32 changed files with 1193 additions and 504 deletions

View File

@ -1,6 +1,6 @@
---
name: Bug report
about: Create a report to help us improve
about: Create a report to help us improve phpMyAdmin
---
@ -22,7 +22,7 @@ A clear and concise description of what you expected to happen.
### Screenshots
If applicable, add screenshots to help explain your problem.
If applicable, add screenshots to help explain the bug.
### Server configuration
@ -39,4 +39,4 @@ If applicable, add screenshots to help explain your problem.
### Additional context
Add any other context about the problem here.
Add any other context about the bug here.

View File

@ -27,6 +27,8 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
steps:
- uses: actions/checkout@v2
- name: Install gettext
run: sudo apt-get install -y gettext
- name: Use php 7.1
uses: shivammathur/setup-php@v2
with:
@ -63,8 +65,6 @@ jobs:
- uses: actions/setup-python@v2
with:
python-version: '3.6'
- name: Install gettext
run: sudo apt-get install -y gettext
- name: Install Sphinx for the documentation build
run: pip install 'Sphinx'
- name: Build the release

View File

@ -92,8 +92,6 @@ jobs:
${{ runner.os }}-yarn-
- name: Install modules
run: yarn install --non-interactive --production
- name: Install nginx and php-fpm
run: sudo apt-get install -y nginx php7.1-fpm
- name: Copy the config
run: cp test/config.e2e.inc.php config.inc.php
- name: Start server

View File

@ -1,6 +1,18 @@
phpMyAdmin - ChangeLog
======================
5.1.3 (2022-02-10)
- issue #17308 Fix broken pagination links in the navigation sidebar
- issue #17331 Fix MariaDB has no support for system variable "disabled_storage_engines"
- issue #17315 Fix unsupported operand types in Results.php when running "SHOW PROCESSLIST" SQL query
- issue #17288 Fixed importing browser settings question box after login when having no pmadb
- issue #17288 Fix "First day of calendar" user override has no effect
- issue #17239 Fixed repeating headers are not working
- issue #17298 Fixed import of email-adresses or links from ODS results in empty contents
- issue #17344 Fixed a type error on ODS import with non string values
- issue #17239 Fixed header row show/hide columns buttons on each line after hover are shown on each row
- issue [security] Fix for path disclosure under certain server configurations (if display_errors is on, for instance)
5.1.2 (2022-01-20)
- issue Replaced MySQL documentation redirected links
- issue #16960 Fix JS error on Designer visual builder on some modal buttons
@ -544,6 +556,10 @@ phpMyAdmin - ChangeLog
- issue #15677 Fix show process-list triggers a php exception
- issue #15697 Fix uncaught php error: "Call to a member function get() on null" in db_export.php when exporting a table from the list
4.9.9 (not yet released)
- issue #17305 Fix syntax error for PHP 5
- issue #17307 Fix hide_connection_errors being undefined when a controluser is set
4.9.8 (2022-01-20)
- issue #14321 Display a correct error page when "$cfg['Servers'][$i]['SignonURL']" is empty for auth_type=signon
- issue #14321 [security] Remove leaked HTML on signon page redirect before login for auth_type=signon

2
README
View File

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

View File

@ -86,7 +86,7 @@
"php-webdriver/webdriver": "^1.11",
"phpmyadmin/coding-standard": "^2.1.1",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.3",
"phpstan/phpstan": "^1.4.5",
"phpstan/phpstan-phpunit": "^1.0",
"phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
"pragmarx/google2fa-qrcode": "^1.0.1",
@ -94,7 +94,7 @@
"symfony/finder": "^4.4",
"symfony/twig-bridge": "^4.4",
"tecnickcom/tcpdf": "^6.4.4",
"vimeo/psalm": "^4.17"
"vimeo/psalm": "^4.19"
},
"extra": {
"branch-alias": {

View File

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

View File

@ -174,6 +174,12 @@ Basic settings
:type: string
:default: ``'ask'``
Valid values are:
* ``ask``
* ``always``
* ``never``
Sets the default behavior for JavaScript error reporting.
Whenever an error is detected in the JavaScript execution, an error report
@ -266,7 +272,7 @@ Server connection settings
.. seealso::
:config:option:`$cfg['Servers'][$i]['port']`,
<https://dev.mysql.com/doc/refman/5.7/en/connecting.html>
<https://dev.mysql.com/doc/refman/8.0/en/connecting.html>
.. config:option:: $cfg['Servers'][$i]['port']
@ -286,7 +292,7 @@ Server connection settings
.. seealso::
:config:option:`$cfg['Servers'][$i]['host']`,
<https://dev.mysql.com/doc/refman/5.7/en/connecting.html>
<https://dev.mysql.com/doc/refman/8.0/en/connecting.html>
.. config:option:: $cfg['Servers'][$i]['socket']
@ -306,7 +312,7 @@ Server connection settings
.. seealso::
:config:option:`$cfg['Servers'][$i]['host']`,
<https://dev.mysql.com/doc/refman/5.7/en/connecting.html>
<https://dev.mysql.com/doc/refman/8.0/en/connecting.html>
.. config:option:: $cfg['Servers'][$i]['ssl']
@ -325,6 +331,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,
:config:option:`$cfg['Servers'][$i]['ssl_ca']`,
@ -350,6 +357,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,
:config:option:`$cfg['Servers'][$i]['ssl_ca']`,
@ -369,6 +377,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_ca']`,
@ -387,6 +396,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,
@ -405,6 +415,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,
@ -423,6 +434,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,
@ -461,6 +473,7 @@ Server connection settings
:ref:`ssl`,
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,
@ -755,6 +768,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 2.2.0
Since release 2.2.0 phpMyAdmin allows users to bookmark queries. This
can be useful for queries you often run. To allow the usage of this
functionality:
@ -770,6 +785,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 2.2.4
Since release 2.2.4 you can describe, in a special 'relation' table,
which column is a key in another table (a foreign key). phpMyAdmin
currently uses this to:
@ -811,6 +828,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 2.3.0
Since release 2.3.0 you can describe, in a special 'table\_info'
table, which column is to be displayed as a tool-tip when moving the
cursor over the corresponding key. This configuration variable will
@ -845,6 +864,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 2.3.0
Since release 2.3.0 you can have phpMyAdmin create :term:`PDF` pages
showing the relations between your tables. Further, the designer interface
permits visually managing the relations. To do this it needs two tables
@ -887,6 +908,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 2.3.0
This part requires a content update! Since release 2.3.0 you can
store comments to describe each column for each table. These will then
be shown on the "printview".
@ -939,7 +962,7 @@ Server connection settings
For auto-upgrade functionality to work, your
:config:option:`$cfg['Servers'][$i]['controluser']` must have ALTER privilege on
``phpmyadmin`` database. See the `MySQL documentation for GRANT
<https://dev.mysql.com/doc/refman/5.7/en/grant.html>`_ on how to
<https://dev.mysql.com/doc/refman/8.0/en/grant.html>`_ on how to
``GRANT`` privileges to a user.
.. _history:
@ -948,6 +971,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 2.5.0
Since release 2.5.0 you can store your :term:`SQL` history, which means all
queries you entered manually into the phpMyAdmin interface. If you don't
want to use a table-based history, you can use the JavaScript-based
@ -975,6 +1000,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 3.5.0
Since release 3.5.0 you can show recently used tables in the
navigation panel. It helps you to jump across table directly, without
the need to select the database, and then select the table. Using
@ -999,6 +1026,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.2.0
Since release 4.2.0 you can show a list of selected tables in the
navigation panel. It helps you to jump to the table directly, without
the need to select the database, and then select the table. When you
@ -1027,6 +1056,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 3.5.0
Since release 3.5.0 phpMyAdmin can be configured to remember several
things (sorted column :config:option:`$cfg['RememberSorting']`, column order,
and column visibility from a database table) for browsing tables. Without
@ -1055,6 +1086,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.1.0
Since release 4.1.0 you can create different user groups with menu items
attached to them. Users can be assigned to these groups and the logged in
user would only see menu items configured to the usergroup they are assigned to.
@ -1078,6 +1111,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.1.0
Since release 4.1.0 you can hide/show items in the navigation tree.
To allow the usage of this functionality:
@ -1094,6 +1129,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.3.0
Since release 4.3.0 you can have a central list of columns per database.
You can add/remove columns to the list as per your requirement. These columns
in the central list will be available to use while you create a new column for
@ -1115,6 +1152,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.5.0
Since release 4.5.0 your designer settings can be remembered.
Your choice regarding 'Angular/Direct Links', 'Snap to Grid', 'Toggle Relation Lines',
'Small/Big All', 'Move Menu' and 'Pin Text' can be remembered persistently.
@ -1133,6 +1172,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.2.0
Since release 4.2.0 you can save and load query-by-example searches from the Database > Query panel.
To allow the usage of this functionality:
@ -1149,6 +1190,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 4.5.0
Since release 4.5.0 you can save and load export templates.
To allow the usage of this functionality:
@ -1165,6 +1208,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 3.3.x
Since release 3.3.x a tracking mechanism is available. It helps you to
track every :term:`SQL` command which is
executed by phpMyAdmin. The mechanism supports logging of data
@ -1225,7 +1270,7 @@ Server connection settings
:type: boolean
:default: true
Whether a DROP VIEW IF EXISTS statement will be added as first line to
Whether a `DROP VIEW IF EXISTS` statement will be added as first line to
the log when creating a view.
.. _tracking5:
@ -1234,7 +1279,7 @@ Server connection settings
:type: boolean
:default: true
Whether a DROP TABLE IF EXISTS statement will be added as first line
Whether a `DROP TABLE IF EXISTS` statement will be added as first line
to the log when creating a table.
.. _tracking6:
@ -1243,7 +1288,7 @@ Server connection settings
:type: boolean
:default: true
Whether a DROP DATABASE IF EXISTS statement will be added as first
Whether a `DROP DATABASE IF EXISTS` statement will be added as first
line to the log when creating a database.
.. _userconfig:
@ -1252,6 +1297,8 @@ Server connection settings
:type: string or false
:default: ``''``
.. versionadded:: 3.4.x
Since release 3.4.x phpMyAdmin allows users to set most preferences by
themselves and store them in the database.
@ -1288,7 +1335,7 @@ Server connection settings
Sets the time zone used by phpMyAdmin. Leave blank to use the time zone of your
database server. Possible values are explained at
https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html
https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html
This is useful when your database server uses a time zone which is different from the
time zone you want to use in phpMyAdmin.
@ -1550,7 +1597,7 @@ Generic settings
.. config:option:: $cfg['ProxyUrl']
:type: string
:default: ""
:default: ``''``
The url of the proxy to be used when phpmyadmin needs to access the outside
internet such as when retrieving the latest version info or submitting error
@ -1561,7 +1608,7 @@ Generic settings
.. config:option:: $cfg['ProxyUser']
:type: string
:default: ""
:default: ``''``
The username for authenticating with the proxy. By default, no
authentication is performed. If a username is supplied, Basic
@ -1571,7 +1618,7 @@ Generic settings
.. config:option:: $cfg['ProxyPass']
:type: string
:default: ""
:default: ``''``
The password for authenticating with the proxy.
@ -1616,13 +1663,11 @@ Generic settings
:default: false
Whether `persistent connections <https://www.php.net/manual/en/features
.persistent-connections.php>`_ should be used or not. Works with
following extensions:
.persistent-connections.php>`_ should be used or not.
* mysql (`mysql\_pconnect <https://www.php.net/manual/en/function.mysql-
pconnect.php>`_),
* mysqli (requires PHP 5.3.0 or newer, `more information
<https://www.php.net/manual/en/mysqli.persistconns.php>`_).
.. seealso::
`mysqli documentation for persistent connections <https://www.php.net/manual/en/mysqli.persistconns.php>`_
.. config:option:: $cfg['ForceSSL']
@ -2018,6 +2063,8 @@ Cookie authentication options
reCaptcha will be then used in :ref:`cookie`.
.. versionadded:: 4.1.0
.. config:option:: $cfg['CaptchaLoginPrivateKey']
:type: string
@ -2030,6 +2077,8 @@ Cookie authentication options
reCaptcha will be then used in :ref:`cookie`.
.. versionadded:: 4.1.0
.. config:option:: $cfg['CaptchaSiteVerifyURL']
:type: string
@ -2407,7 +2456,7 @@ Database structure
:type: boolean
:default: true
Defines whether the table structure actions are hidden under a "More"
Defines whether the table structure actions are hidden under a ":guilabel:`More`"
drop-down.
.. config:option:: $cfg['ShowColumnComments']
@ -2451,7 +2500,7 @@ Browse mode
:type: boolean
:default: false
Defines whether a user should be displayed a "Show all" button in browse
Defines whether a user should be displayed a ":guilabel:`Show all`" button in browse
mode or not in all cases. By default it is shown only on small tables (less
than 500 rows) to avoid performance issues while getting too many rows.
@ -2461,8 +2510,8 @@ Browse mode
:default: 25
Number of rows displayed when browsing a result set and no LIMIT
clause is used. If the result set contains more rows, "Previous" and
"Next" links will be shown. Possible values: 25,50,100,250,500.
clause is used. If the result set contains more rows, ":guilabel:`Previous`" and
":guilabel:`Next`" links will be shown. Possible values: 25,50,100,250,500.
.. config:option:: $cfg['Order']
@ -3036,7 +3085,7 @@ Design customization
This will define the first day of week in the calendar. The number
can be set from 0 to 6, which represents the seven days of the week,
Sunday to Saturday respectively. This value can also be configured by the user
in server settings -> features -> general -> First Day calendar field.
in :guilabel:`Settings` -> :guilabel:`Features` -> :guilabel:`General` -> :guilabel:`First day of calendar` field.
Text fields
-----------
@ -3382,6 +3431,8 @@ Various display setting
:type: boolean
:default: false
.. versionadded:: 3.4.0
Activates in the user preferences a tab containing options for
developers of phpMyAdmin.
@ -3648,7 +3699,7 @@ Developer
It currently changes following behavior:
* There is welcome message on the main page.
* There is footer information about demo server and used git revision.
* There is footer information about demo server and used Git revision.
* The setup script is enabled even with existing configuration.
* The setup does not try to connect to the MySQL server.
@ -3706,7 +3757,7 @@ for a password when accessing remotely, you can achieve it using following snipp
.. code-block:: php
if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') {
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourpassword';
@ -3728,8 +3779,8 @@ following example shows two of them:
.. code-block:: php
<?php
$cfg['blowfish_secret']='multiServerExample70518';
//any string of your choice
$cfg['blowfish_secret'] = 'multiServerExample70518';
// any string of your choice
$i = 0;
$i++; // server 1 :
@ -3798,6 +3849,40 @@ server certificates and tell phpMyAdmin to use them:
:config:option:`$cfg['Servers'][$i]['ssl_verify']`,
<https://bugs.php.net/bug.php?id=72048>
.. _example-aws-ssl:
Amazon RDS Aurora with SSL
++++++++++++++++++++++++++
To connect phpMyAdmin to an Amazon RDS Aurora MySQL database instance using SSL,
download the CA server certificate and tell phpMyAdmin to use it:
.. code-block:: php
// Address of your instance
$cfg['Servers'][$i]['host'] = 'replace-me-custer-name.cluster-replace-me-id.replace-me-region.rds.amazonaws.com';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// You need to have the region CA file and the authority CA file (2019 edition CA for example) in the PEM bundle for it to work
$cfg['Servers'][$i]['ssl_ca'] = '../rds-combined-ca-bundle.pem';
// Enable SSL verification
$cfg['Servers'][$i]['ssl_verify'] = true;
.. seealso::
:ref:`ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_ca']`,
:config:option:`$cfg['Servers'][$i]['ssl_verify']`
.. seealso::
- Current RDS CA bundle for all regions https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
- The RDS CA (2019 edition) for the region `eu-west-3` without the parent CA https://s3.amazonaws.com/rds-downloads/rds-ca-2019-eu-west-3.pem
- `List of available Amazon RDS CA files <https://s3.amazonaws.com/rds-downloads/>`_
- `Amazon MySQL Aurora security guide <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Security.html>`_
- `Amazon certificates bundles per region <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html>`_
reCaptcha using hCaptcha
++++++++++++++++++++++++

View File

@ -1138,6 +1138,7 @@ you can use :config:option:`$cfg['MysqlSslWarningSafeHosts']` to explicitly list
.. seealso::
:ref:`example-google-ssl`,
:ref:`example-aws-ssl`,
:config:option:`$cfg['Servers'][$i]['ssl']`,
:config:option:`$cfg['Servers'][$i]['ssl_key']`,
:config:option:`$cfg['Servers'][$i]['ssl_cert']`,

View File

@ -1264,6 +1264,9 @@ Functions.insertQuery = function (queryType) {
codeMirrorEditor.setValue(data.sql);
}
$('#querymessage').html('');
},
error: function () {
$('#querymessage').html('');
}
});
}

View File

@ -1715,7 +1715,7 @@ var makeGrid = function (t, enableResize, enableReorder, enableVisib, enableGrid
// make sure we have more than one column
if ($firstRowCols.length > 1) {
var $colVisibTh = $(g.t).find('th:not(.draggable)');
var $colVisibTh = $(g.t).find('th:not(.draggable)').slice(0, 1);
Functions.tooltip(
$colVisibTh,
'th',

View File

@ -1066,14 +1066,12 @@ Navigation.selectCurrentDatabase = function () {
Navigation.treePagination = function ($this) {
var $msgbox = Functions.ajaxShowMessage();
var isDbSelector = $this.closest('div.pageselector').is('.dbselector');
var url;
var params;
var url = 'index.php?route=/navigation';
var params = 'ajax_request=true';
if ($this[0].tagName === 'A') {
url = $this.attr('href');
params = 'ajax_request=true';
params += CommonParams.get('arg_separator') + $this.getPostData();
} else { // tagName === 'SELECT'
url = 'index.php?route=/navigation';
params = $this.closest('form').serialize() + CommonParams.get('arg_separator') + 'ajax_request=true';
params += CommonParams.get('arg_separator') + $this.closest('form').serialize();
}
var searchClause = Navigation.FastFilter.getSearchClause();
if (searchClause) {

View File

@ -1433,6 +1433,8 @@ class Config
$server = [];
$server['hide_connection_errors'] = $cfg['Server']['hide_connection_errors'];
if (! empty($cfg['Server']['controlhost'])) {
$server['host'] = $cfg['Server']['controlhost'];
} else {
@ -1504,6 +1506,10 @@ class Config
$server['compress'] = false;
}
if (! isset($server['hide_connection_errors'])) {
$server['hide_connection_errors'] = false;
}
return [
$user,
$password,

View File

@ -288,6 +288,10 @@ class DatabaseInterface implements DbalInterface
*/
public function getTables(string $database, $link = self::CONNECT_USER): array
{
if ($database === '') {
return [];
}
$tables = $this->fetchResult(
'SHOW TABLES FROM ' . Util::backquote($database) . ';',
null,
@ -1170,9 +1174,7 @@ class DatabaseInterface implements DbalInterface
{
$storageDbName = $GLOBALS['cfg']['Server']['pmadb'] ?? '';
// Use "phpmyadmin" as a default database name to check to keep the behavior consistent
$storageDbName = $storageDbName !== null && is_string($storageDbName) && $storageDbName !== ''
? $storageDbName
: 'phpmyadmin';
$storageDbName = is_string($storageDbName) && $storageDbName !== '' ? $storageDbName : 'phpmyadmin';
// This will make users not having explicitly listed databases
// have config values filled by the default phpMyAdmin storage table name values

View File

@ -2490,8 +2490,8 @@ class Results
$whereClauseMap = $this->properties['whereClauseMap'];
while ($row = $dbi->fetchRow($dt_result)) {
// add repeating headers
if (($row_no != 0) && ($_SESSION['tmpval']['repeat_cells'] != 0)
&& ! $row_no % $_SESSION['tmpval']['repeat_cells']
if (($row_no !== 0) && ($_SESSION['tmpval']['repeat_cells'] > 0)
&& ($row_no % $_SESSION['tmpval']['repeat_cells']) === 0
) {
$table_body_html .= $this->getRepeatingHeaders(
$display_params
@ -2520,7 +2520,7 @@ class Results
$copy_url = null;
$copy_str = null;
$edit_url = null;
$editCopyUrlParams = null;
$editCopyUrlParams = [];
$delUrlParams = null;
// 1.2 Defines the URLs for the modify/delete link(s)
@ -3258,8 +3258,12 @@ class Results
* @param bool $clause_is_unique the unique condition of clause
* @param string $url_sql_query the analyzed sql query
*
* @return array<int,string|array> 5 element array - $edit_url, $copy_url,
* $edit_str, $copy_str
* @phpstan-return array{string, string, string, string,
* array{
* db: string, table: string, where_clause: string,
* clause_is_unique: bool, sql_query: string, goto: string
* }
* }
*
* @access private
*/

View File

@ -4,6 +4,7 @@ declare(strict_types=1);
namespace PhpMyAdmin;
use Throwable;
use const E_COMPILE_ERROR;
use const E_COMPILE_WARNING;
use const E_CORE_ERROR;
@ -26,6 +27,7 @@ use function error_reporting;
use function headers_sent;
use function htmlspecialchars;
use function set_error_handler;
use function set_exception_handler;
use function trigger_error;
use const PHP_VERSION_ID;
@ -64,6 +66,7 @@ class ErrorHandler
* rely on PHPUnit doing it's own error handling which we break here.
*/
if (! defined('TESTSUITE')) {
set_exception_handler([$this, 'handleException']);
set_error_handler([$this, 'handleError']);
}
if (! Util::isErrorReportingAvailable()) {
@ -211,6 +214,22 @@ class ErrorHandler
$this->addError($errstr, $errno, $errfile, $errline, true);
}
/**
* Hides exception if it's not in the development environment.
*
* @throws Throwable
*/
public function handleException(Throwable $exception): void
{
$config = $GLOBALS['PMA_Config'] ?? null;
$environment = $config instanceof Config ? $config->get('environment') : 'production';
if ($environment !== 'development') {
return;
}
throw $exception;
}
/**
* Add an error; can also be called directly (with or without escaping)
*

View File

@ -46,13 +46,7 @@ class Header
* @var Menu
*/
private $menu;
/**
* Whether to offer the option of importing user settings
*
* @access private
* @var bool
*/
private $userprefsOfferImport;
/**
* The page title
*
@ -141,15 +135,6 @@ class Header
$this->scripts = new Scripts();
$this->addDefaultScripts();
$this->headerIsSent = false;
// if database storage for user preferences is transient,
// offer to load exported settings from localStorage
// (detection will be done in JavaScript)
$this->userprefsOfferImport = false;
if ($GLOBALS['PMA_Config']->get('user_preferences') === 'session'
&& ! isset($_SESSION['userprefs_autoload'])
) {
$this->userprefsOfferImport = true;
}
$this->userPreferences = new UserPreferences();
}
@ -176,21 +161,18 @@ class Header
$this->scripts->addFile('menu_resizer.js');
// Cross-framing protection
// At this point browser settings are not merged
// this is good that we only use file configuration for this protection
if ($GLOBALS['cfg']['AllowThirdPartyFraming'] === false) {
$this->scripts->addFile('cross_framing_protection.js');
}
$this->scripts->addFile('rte.js');
if ($GLOBALS['cfg']['SendErrorReports'] !== 'never') {
$this->scripts->addFile('vendor/tracekit.js');
$this->scripts->addFile('error_report.js');
}
// Here would not be a good place to add CodeMirror because
// the user preferences have not been merged at this point
$this->scripts->addFile('messages.php', ['l' => $GLOBALS['lang']]);
$this->scripts->addCode($this->getVariablesForJavaScript());
$this->scripts->addFile('config.js');
$this->scripts->addFile('doclinks.js');
$this->scripts->addFile('functions.js');
@ -198,12 +180,7 @@ class Header
$this->scripts->addFile('indexes.js');
$this->scripts->addFile('common.js');
$this->scripts->addFile('page_settings.js');
if ($GLOBALS['cfg']['enable_drag_drop_import'] === true) {
$this->scripts->addFile('drag_drop_import.js');
}
if (! $GLOBALS['PMA_Config']->get('DisableShortcutKeys')) {
$this->scripts->addFile('shortcuts_handler.js');
}
$this->scripts->addCode($this->getJsParamsCode());
}
@ -398,7 +375,7 @@ class Header
$version = self::getVersionParameter();
// The user preferences have been merged at this point
// so we can conditionally add CodeMirror
// so we can conditionally add CodeMirror, other scripts and settings
if ($GLOBALS['cfg']['CodemirrorEnable']) {
$this->scripts->addFile('vendor/codemirror/lib/codemirror.js');
$this->scripts->addFile('vendor/codemirror/mode/sql/sql.js');
@ -413,13 +390,36 @@ class Header
}
}
if ($GLOBALS['cfg']['SendErrorReports'] !== 'never') {
$this->scripts->addFile('vendor/tracekit.js');
$this->scripts->addFile('error_report.js');
}
if ($GLOBALS['cfg']['enable_drag_drop_import'] === true) {
$this->scripts->addFile('drag_drop_import.js');
}
if (! $GLOBALS['PMA_Config']->get('DisableShortcutKeys')) {
$this->scripts->addFile('shortcuts_handler.js');
}
$this->scripts->addCode($this->getVariablesForJavaScript());
$this->scripts->addCode(
'ConsoleEnterExecutes='
. ($GLOBALS['cfg']['ConsoleEnterExecutes'] ? 'true' : 'false')
);
$this->scripts->addFiles($this->console->getScripts());
if ($this->userprefsOfferImport) {
// if database storage for user preferences is transient,
// offer to load exported settings from localStorage
// (detection will be done in JavaScript)
$userprefsOfferImport = false;
if ($GLOBALS['PMA_Config']->get('user_preferences') === 'session'
&& ! isset($_SESSION['userprefs_autoload'])
) {
$userprefsOfferImport = true;
}
if ($userprefsOfferImport) {
$this->scripts->addFile('config.js');
}
@ -435,7 +435,7 @@ class Header
$customHeader = Config::renderHeader();
// offer to load user preferences from localStorage
if ($this->userprefsOfferImport) {
if ($userprefsOfferImport) {
$loadUserPreferences = $this->userPreferences->autoloadGetHeader();
}

View File

@ -1259,13 +1259,15 @@ class Generator
$_url_params[$name] = 0;
$list_navigator_html .= '<a' . $class . $title1 . ' href="' . $script
. Url::getCommon($_url_params, '&') . '">' . $caption1
. '</a>';
. '" data-post="'
. Url::getCommon($_url_params, '', false)
. '">' . $caption1 . '</a>';
$_url_params[$name] = $pos - $max_count;
$list_navigator_html .= ' <a' . $class . $title2
. ' href="' . $script . Url::getCommon($_url_params, '&') . '">'
. $caption2 . '</a>';
$list_navigator_html .= ' <a' . $class . $title2 . ' href="' . $script
. '" data-post="'
. Url::getCommon($_url_params, '', false)
. '">' . $caption2 . '</a>';
}
$list_navigator_html .= '<form action="' . $script
@ -1296,17 +1298,19 @@ class Generator
$_url_params[$name] = $pos + $max_count;
$list_navigator_html .= '<a' . $class . $title3 . ' href="' . $script
. Url::getCommon($_url_params, '&') . '" >' . $caption3
. '</a>';
. '" data-post="'
. Url::getCommon($_url_params, '', false)
. '" >' . $caption3 . '</a>';
$_url_params[$name] = floor($count / $max_count) * $max_count;
if ($_url_params[$name] == $count) {
$_url_params[$name] = $count - $max_count;
}
$list_navigator_html .= ' <a' . $class . $title4
. ' href="' . $script . Url::getCommon($_url_params, '&') . '" >'
. $caption4 . '</a>';
$list_navigator_html .= ' <a' . $class . $title4 . ' href="' . $script
. '" data-post="'
. Url::getCommon($_url_params, '', false)
. '" >' . $caption4 . '</a>';
}
$list_navigator_html .= '</div>' . "\n";
}

View File

@ -239,8 +239,8 @@ class ImportOds extends ImportPlugin
/**
* Get value
*
* @param array $cell_attrs Cell attributes
* @param array $text Texts
* @param SimpleXMLElement $cell_attrs Cell attributes
* @param SimpleXMLElement $text Texts
*
* @return float|string
*/
@ -266,7 +266,14 @@ class ImportOds extends ImportPlugin
/* We need to concatenate all paragraphs */
$values = [];
foreach ($text as $paragraph) {
$values[] = (string) $paragraph;
// Maybe a text node has the content ? (email, url, ...)
// Example: <text:a ... xlink:href="mailto:contact@example.org">test@example.fr</text:a>
$paragraphValue = $paragraph->__toString();
if ($paragraphValue === '' && isset($paragraph->{'a'})) {
$values[] = $paragraph->{'a'}->__toString();
continue;
}
$values[] = $paragraphValue;
}
return implode("\n", $values);
@ -378,7 +385,7 @@ class ImportOds extends ImportPlugin
if (! $col_names_in_first_row) {
if ($_REQUEST['ods_empty_rows'] ?? false) {
foreach ($tempRow as $cell) {
if (strcmp('NULL', $cell)) {
if (strcmp('NULL', (string) $cell)) {
$tempRows[] = $tempRow;
break;
}

View File

@ -12,7 +12,6 @@ use PhpMyAdmin\Plugins\UploadInterface;
use function array_key_exists;
use function function_exists;
use function trim;
use function uploadprogress_get_info;
/**
* Implementation for upload progress
@ -65,7 +64,8 @@ class UploadProgress implements UploadInterface
$status = null;
// @see https://pecl.php.net/package/uploadprogress
if (function_exists('uploadprogress_get_info')) {
$status = uploadprogress_get_info($id);
// phpcs:ignore SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly.ReferenceViaFullyQualifiedName
$status = \uploadprogress_get_info($id);
}
if ($status) {

View File

@ -11,7 +11,7 @@ use FastRoute\DataGenerator\GroupCountBased as DataGeneratorGroupCountBased;
use FastRoute\Dispatcher\GroupCountBased as DispatcherGroupCountBased;
use FastRoute\RouteCollector;
use function htmlspecialchars;
use function mb_strlen;
use function is_string;
use function rawurldecode;
use function sprintf;
use function is_writable;
@ -124,21 +124,25 @@ class Routing
return $couldWrite !== false;
}
/**
* @psalm-return non-empty-string
*/
public static function getCurrentRoute(): string
{
/** @var string $route */
$route = $_GET['route'] ?? $_POST['route'] ?? '/';
if (! is_string($route) || $route === '') {
$route = '/';
}
/**
* See FAQ 1.34.
*
* @see https://docs.phpmyadmin.net/en/latest/faq.html#faq1-34
*/
if (($route === '/' || $route === '') && isset($_GET['db']) && mb_strlen($_GET['db']) !== 0) {
$route = '/database/structure';
if (isset($_GET['table']) && mb_strlen($_GET['table']) !== 0) {
$route = '/sql';
}
$db = isset($_GET['db']) && is_string($_GET['db']) ? $_GET['db'] : '';
if ($route === '/' && $db !== '') {
$table = isset($_GET['table']) && is_string($_GET['table']) ? $_GET['table'] : '';
$route = $table === '' ? '/database/structure' : '/sql';
}
return $route;

View File

@ -106,7 +106,7 @@ class StorageEngine
if ($storage_engines == null) {
$storage_engines = $dbi->fetchResult('SHOW STORAGE ENGINES', 'Engine');
if ($dbi->getVersion() >= 50708) {
if (! $dbi->isMariaDB() && $dbi->getVersion() >= 50708) {
$disabled = (string) SessionCache::get(
'disabled_storage_engines',
static function () use ($dbi) {

View File

@ -12,12 +12,12 @@ namespace PhpMyAdmin;
final class Version
{
// The VERSION_SUFFIX constant is defined at libraries/vendor_config.php
public const VERSION = '5.1.2' . VERSION_SUFFIX;
public const VERSION = '5.1.3' . VERSION_SUFFIX;
public const SERIES = '5.1';
public const MAJOR = 5;
public const MINOR = 1;
public const PATCH = 2;
public const ID = 50102;
public const PATCH = 3;
public const ID = 50103;
public const PRE_RELEASE_NAME = '';
public const IS_DEV = false;
}

View File

@ -1,6 +1,6 @@
{
"name": "phpmyadmin",
"version": "5.1.2",
"version": "5.1.3",
"description": "A web interface for MySQL and MariaDB",
"repository": "https://github.com/phpmyadmin/phpmyadmin.git",
"author": "The phpMyAdmin Team <developers@phpmyadmin.net> (https://www.phpmyadmin.net/team/)",

View File

@ -1,5 +1,15 @@
parameters:
ignoreErrors:
-
message: "#^Static property PhpMyAdmin\\\\Charsets\\:\\:\\$charsets \\(array\\<string, PhpMyAdmin\\\\Charsets\\\\Charset\\>\\) does not accept array\\<int\\|string, PhpMyAdmin\\\\Charsets\\\\Charset\\>\\.$#"
count: 1
path: libraries/classes/Charsets.php
-
message: "#^Static property PhpMyAdmin\\\\Charsets\\:\\:\\$collations \\(array\\<string, array\\<string, PhpMyAdmin\\\\Charsets\\\\Collation\\>\\>\\) does not accept array\\<int\\|string, array\\<int\\|string, PhpMyAdmin\\\\Charsets\\\\Collation\\>\\>\\.$#"
count: 1
path: libraries/classes/Charsets.php
-
message: "#^Strict comparison using \\=\\=\\= between non\\-empty\\-array\\<int, string\\> and false will always evaluate to false\\.$#"
count: 1
@ -316,7 +326,7 @@ parameters:
path: libraries/classes/Controllers/Table/StructureController.php
-
message: "#^Method PhpMyAdmin\\\\Controllers\\\\Table\\\\StructureController\\:\\:extractPartitionDetails\\(\\) should return array\\<array\\>\\|null but returns array\\<string, array\\<int, array\\<string, mixed\\>\\>\\|bool\\|int\\|string\\>\\.$#"
message: "#^Method PhpMyAdmin\\\\Controllers\\\\Table\\\\StructureController\\:\\:extractPartitionDetails\\(\\) should return array\\<array\\>\\|null but returns array\\<string, array\\<int\\<0, max\\>, array\\<string, mixed\\>\\>\\|bool\\|int\\|string\\>\\.$#"
count: 1
path: libraries/classes/Controllers/Table/StructureController.php
@ -361,7 +371,7 @@ parameters:
path: libraries/classes/Core.php
-
message: "#^Offset 'pass'\\|'port'\\|'user' does not exist on array\\{scheme\\?\\: string, host\\: string, port\\?\\: int, user\\?\\: string, pass\\?\\: string, path\\?\\: string, query\\?\\: string, fragment\\?\\: string\\}\\.$#"
message: "#^Offset 'pass'\\|'port'\\|'user' does not exist on array\\{host\\: non\\-empty\\-string, scheme\\?\\: string, port\\?\\: int, user\\?\\: string, pass\\?\\: string, path\\?\\: string, query\\?\\: string, fragment\\?\\: string\\}\\.$#"
count: 1
path: libraries/classes/Core.php
@ -371,22 +381,22 @@ parameters:
path: libraries/classes/Database/CentralColumns.php
-
message: "#^Offset 'DCN' does not exist on array\\{C_NAME\\: array\\<int, string\\>, DCN\\?\\: non\\-empty\\-array\\<int, string\\>, DTN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int, string\\>, STN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>\\}\\.$#"
message: "#^Offset 'DCN' does not exist on array\\{C_NAME\\: array\\<int\\<0, max\\>, string\\>, DCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, DTN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, STN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>\\}\\.$#"
count: 1
path: libraries/classes/Database/Designer/Common.php
-
message: "#^Offset 'DTN' does not exist on array\\{C_NAME\\: array\\<int, string\\>, DCN\\?\\: non\\-empty\\-array\\<int, string\\>, DTN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int, string\\>, STN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>\\}\\.$#"
message: "#^Offset 'DTN' does not exist on array\\{C_NAME\\: array\\<int\\<0, max\\>, string\\>, DCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, DTN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, STN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>\\}\\.$#"
count: 1
path: libraries/classes/Database/Designer/Common.php
-
message: "#^Offset 'SCN' does not exist on array\\{C_NAME\\: array\\<int, string\\>, DCN\\?\\: non\\-empty\\-array\\<int, string\\>, DTN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int, string\\>, STN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>\\}\\.$#"
message: "#^Offset 'SCN' does not exist on array\\{C_NAME\\: array\\<int\\<0, max\\>, string\\>, DCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, DTN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, STN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>\\}\\.$#"
count: 1
path: libraries/classes/Database/Designer/Common.php
-
message: "#^Offset 'STN' does not exist on array\\{C_NAME\\: array\\<int, string\\>, DCN\\?\\: non\\-empty\\-array\\<int, string\\>, DTN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int, string\\>, STN\\?\\: non\\-empty\\-array\\<int, non\\-empty\\-string\\>\\}\\.$#"
message: "#^Offset 'STN' does not exist on array\\{C_NAME\\: array\\<int\\<0, max\\>, string\\>, DCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, DTN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>, SCN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, string\\>, STN\\?\\: non\\-empty\\-array\\<int\\<0, max\\>, non\\-empty\\-string\\>\\}\\.$#"
count: 2
path: libraries/classes/Database/Designer/Common.php
@ -520,16 +530,6 @@ parameters:
count: 2
path: libraries/classes/Dbal/DbiMysqli.php
-
message: "#^Binary operation \"\\+\" between array\\|string\\|null and array\\{default_action\\: 'insert'\\} results in an error\\.$#"
count: 3
path: libraries/classes/Display/Results.php
-
message: "#^Binary operation \"\\+\" between array\\|string\\|null and array\\{default_action\\: 'update'\\} results in an error\\.$#"
count: 3
path: libraries/classes/Display/Results.php
-
message: "#^Call to an undefined method object\\:\\:getMIMESubtype\\(\\)\\.$#"
count: 1
@ -571,37 +571,37 @@ parameters:
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#5 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:handleNonPrintableContents\\(\\) expects string, array\\<int, class\\-string\\|string\\> given\\.$#"
message: "#^Parameter \\#5 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:handleNonPrintableContents\\(\\) expects string, array\\<int, string\\> given\\.$#"
count: 2
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#7 \\$transformation_plugin of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForGeometryColumns\\(\\) expects PhpMyAdmin\\\\Plugins\\\\TransformationsPlugin, array\\<int, class\\-string\\|string\\>\\|object given\\.$#"
message: "#^Parameter \\#7 \\$transformation_plugin of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForGeometryColumns\\(\\) expects PhpMyAdmin\\\\Plugins\\\\TransformationsPlugin, array\\<int, string\\>\\|object given\\.$#"
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#7 \\$transformation_plugin of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNonNumericColumns\\(\\) expects PhpMyAdmin\\\\Plugins\\\\TransformationsPlugin, array\\<int, class\\-string\\|string\\>\\|object given\\.$#"
message: "#^Parameter \\#7 \\$transformation_plugin of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNonNumericColumns\\(\\) expects PhpMyAdmin\\\\Plugins\\\\TransformationsPlugin, array\\<int, string\\>\\|object given\\.$#"
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#8 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForGeometryColumns\\(\\) expects string, array\\<int, class\\-string\\|string\\> given\\.$#"
message: "#^Parameter \\#8 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForGeometryColumns\\(\\) expects string, array\\<int, string\\> given\\.$#"
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#8 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNonNumericColumns\\(\\) expects string, array\\<int, class\\-string\\|string\\> given\\.$#"
message: "#^Parameter \\#8 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNonNumericColumns\\(\\) expects string, array\\<int, string\\> given\\.$#"
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#8 \\$transformation_plugin of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNumericColumns\\(\\) expects PhpMyAdmin\\\\Plugins\\\\TransformationsPlugin, array\\<int, class\\-string\\|string\\>\\|object given\\.$#"
message: "#^Parameter \\#8 \\$transformation_plugin of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNumericColumns\\(\\) expects PhpMyAdmin\\\\Plugins\\\\TransformationsPlugin, array\\<int, string\\>\\|object given\\.$#"
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Parameter \\#9 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNumericColumns\\(\\) expects string, array\\<int, class\\-string\\|string\\> given\\.$#"
message: "#^Parameter \\#9 \\$default_function of method PhpMyAdmin\\\\Display\\\\Results\\:\\:getDataCellForNumericColumns\\(\\) expects string, array\\<int, string\\> given\\.$#"
count: 1
path: libraries/classes/Display/Results.php
@ -615,6 +615,11 @@ parameters:
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Result of && is always false\\.$#"
count: 1
path: libraries/classes/Display/Results.php
-
message: "#^Strict comparison using \\=\\=\\= between string and null will always evaluate to false\\.$#"
count: 3
@ -831,7 +836,7 @@ parameters:
path: libraries/classes/Gis/GisGeometryCollection.php
-
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisLineString.php
@ -841,7 +846,7 @@ parameters:
path: libraries/classes/Gis/GisLineString.php
-
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getLineForOpenLayers\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getLineForOpenLayers\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisLineString.php
@ -871,7 +876,7 @@ parameters:
path: libraries/classes/Gis/GisLineString.php
-
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisMultiLineString.php
@ -881,7 +886,7 @@ parameters:
path: libraries/classes/Gis/GisMultiLineString.php
-
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getLineArrayForOpenLayers\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getLineArrayForOpenLayers\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisMultiLineString.php
@ -911,7 +916,7 @@ parameters:
path: libraries/classes/Gis/GisMultiLineString.php
-
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisMultiPoint.php
@ -921,7 +926,7 @@ parameters:
path: libraries/classes/Gis/GisMultiPoint.php
-
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisMultiPoint\\:\\:getPointsArrayForOpenLayers\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisMultiPoint\\:\\:getPointsArrayForOpenLayers\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisMultiPoint.php
@ -951,7 +956,7 @@ parameters:
path: libraries/classes/Gis/GisMultiPoint.php
-
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisMultiPolygon.php
@ -961,7 +966,7 @@ parameters:
path: libraries/classes/Gis/GisMultiPolygon.php
-
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPolygonArrayForOpenLayers\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPolygonArrayForOpenLayers\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisMultiPolygon.php
@ -996,7 +1001,7 @@ parameters:
path: libraries/classes/Gis/GisMultiPolygon.php
-
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisPoint.php
@ -1006,7 +1011,7 @@ parameters:
path: libraries/classes/Gis/GisPoint.php
-
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPointForOpenLayers\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPointForOpenLayers\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisPoint.php
@ -1036,7 +1041,7 @@ parameters:
path: libraries/classes/Gis/GisPoint.php
-
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#1 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getBoundsForOl\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisPolygon.php
@ -1046,7 +1051,7 @@ parameters:
path: libraries/classes/Gis/GisPolygon.php
-
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPolygonForOpenLayers\\(\\) expects string, int given\\.$#"
message: "#^Parameter \\#2 \\$srid of method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPolygonForOpenLayers\\(\\) expects string, int\\<min, \\-1\\>\\|int\\<1, max\\> given\\.$#"
count: 1
path: libraries/classes/Gis/GisPolygon.php
@ -1122,7 +1127,12 @@ parameters:
-
message: "#^Cannot access offset int on array\\|false\\.$#"
count: 2
count: 1
path: libraries/classes/Git.php
-
message: "#^Cannot access offset int\\<min, \\-1\\>\\|int\\<1, max\\> on array\\|false\\.$#"
count: 1
path: libraries/classes/Git.php
-
@ -1131,7 +1141,7 @@ parameters:
path: libraries/classes/Git.php
-
message: "#^Offset int does not exist on array\\|null\\.$#"
message: "#^Offset int\\<0, max\\> does not exist on array\\|null\\.$#"
count: 2
path: libraries/classes/Import.php
@ -1395,11 +1405,6 @@ parameters:
count: 1
path: libraries/classes/Plugins/Export/ExportSql.php
-
message: "#^Cannot access offset mixed on array\\<PhpMyAdmin\\\\SqlParser\\\\Components\\\\CreateDefinition\\>\\|PhpMyAdmin\\\\SqlParser\\\\Components\\\\ArrayObj\\.$#"
count: 4
path: libraries/classes/Plugins/Export/ExportSql.php
-
message: "#^Parameter \\#1 \\$create_query of method PhpMyAdmin\\\\Plugins\\\\Export\\\\ExportSql\\:\\:makeCreateTableMSSQLCompatible\\(\\) expects string, string\\|null given\\.$#"
count: 1
@ -1506,12 +1511,7 @@ parameters:
path: libraries/classes/Plugins/Import/ImportOds.php
-
message: "#^Parameter \\#1 \\$cell_attrs of method PhpMyAdmin\\\\Plugins\\\\Import\\\\ImportOds\\:\\:getValue\\(\\) expects array, SimpleXMLElement\\|null given\\.$#"
count: 1
path: libraries/classes/Plugins/Import/ImportOds.php
-
message: "#^Parameter \\#2 \\$text of method PhpMyAdmin\\\\Plugins\\\\Import\\\\ImportOds\\:\\:getValue\\(\\) expects array, SimpleXMLElement given\\.$#"
message: "#^Parameter \\#1 \\$cell_attrs of method PhpMyAdmin\\\\Plugins\\\\Import\\\\ImportOds\\:\\:getValue\\(\\) expects SimpleXMLElement, SimpleXMLElement\\|null given\\.$#"
count: 1
path: libraries/classes/Plugins/Import/ImportOds.php
@ -1565,11 +1565,6 @@ parameters:
count: 2
path: libraries/classes/Plugins/Import/ImportXml.php
-
message: "#^Used function uploadprogress_get_info not found\\.$#"
count: 1
path: libraries/classes/Plugins/Import/Upload/UploadProgress.php
-
message: "#^Method PhpMyAdmin\\\\Plugins\\\\Import\\\\Upload\\\\UploadSession\\:\\:getIdKey\\(\\) should return string but returns string\\|false\\.$#"
count: 1

View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 5.1.2-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2021-08-27 17:07+0200\n"
"PO-Revision-Date: 2022-01-01 16:54+0000\n"
"PO-Revision-Date: 2022-01-31 15:55+0000\n"
"Last-Translator: Salvador Domingues <salvadordomingues@gmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/phpmyadmin/"
"5-1/pt/>\n"
@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.10.1\n"
"X-Generator: Weblate 4.11-dev\n"
#: libraries/advisory_rules_generic.php:9
msgid "Uptime below one day"
@ -2002,7 +2002,7 @@ msgstr "Personalizar as opções por defeito."
#: libraries/classes/Config/Descriptions.php:203
msgid "Settings for phpMyAdmin developers."
msgstr "Configurações para programadores phpMyAdmin."
msgstr "Definições para programadores phpMyAdmin."
#: libraries/classes/Config/Descriptions.php:204
msgid "Customize edit mode."
@ -2046,11 +2046,11 @@ msgstr "Opções de exibição de tabelas."
#: libraries/classes/Config/Descriptions.php:217
msgid "Settings that didn't fit anywhere else."
msgstr "Configurações que não se encaixavam em nenhum outro lugar."
msgstr "Definições que não se encaixavam em nenhum outro lugar."
#: libraries/classes/Config/Descriptions.php:218
msgid "Authentication settings."
msgstr "Configurações de autenticação."
msgstr "Definições de autenticação."
#: libraries/classes/Config/Descriptions.php:219
msgid "Enter server connection parameters."
@ -3605,7 +3605,7 @@ msgstr "Microsoft Office"
#: libraries/classes/Config/Descriptions.php:776
msgid "Other core settings"
msgstr "Outras configurações do núcleo"
msgstr "Outras definições do núcleo"
#: libraries/classes/Config/Descriptions.php:777
msgid "Page titles"
@ -3617,7 +3617,7 @@ msgstr "Segurança"
#: libraries/classes/Config/Descriptions.php:779
msgid "Basic settings"
msgstr "Configurações básicas"
msgstr "Definições básicas"
#: libraries/classes/Config/Descriptions.php:780
msgid "Authentication"
@ -4419,7 +4419,7 @@ msgstr "Utilizar a pesquisa da base de dados"
#: libraries/classes/Config/Descriptions.php:970
msgid "Enable the Developer tab in settings"
msgstr "Activar o separador Programador nas definições"
msgstr "Ativar o separador Programador nas definições"
#: libraries/classes/Config/Descriptions.php:971
#: libraries/classes/Setup/Index.php:132 libraries/classes/Setup/Index.php:156
@ -4502,7 +4502,7 @@ msgstr "Mostrar consulta de navegação atual"
#: libraries/classes/Config/Descriptions.php:989
msgid "Execute queries on Enter and insert new line with Shift + Enter"
msgstr ""
"Executa os queries carregando no Enter e insere uma nova linha com Shift + "
"Execute as queries carregando no Enter e insira uma nova linha com Shift + "
"Enter"
#: libraries/classes/Config/Descriptions.php:990
@ -4837,7 +4837,7 @@ msgstr "Transformações predefinidas"
#: libraries/classes/Config/PageSettings.php:138
msgid "Cannot save settings, submitted configuration form contains errors!"
msgstr ""
"As configurações não podem ser gravadas, o formulário de configuração "
"As definições não podem ser guardadas, o formulário de configuração "
"submetido contém erros!"
#: libraries/classes/Config.php:741
@ -5276,8 +5276,8 @@ msgid ""
"An error has been detected and an error report has been automatically "
"submitted based on your settings."
msgstr ""
"Foi detectado um erro e enviado automaticamente um relatório de erro com "
"base nas suas configurações."
"Foi detetado um erro e enviado automaticamente um relatório de erro com base "
"nas suas definições."
#: libraries/classes/Controllers/ErrorReportController.php:105
msgid "Thank you for submitting this report."
@ -5561,11 +5561,11 @@ msgstr "A eliminar os dados de rastreamento"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:49
msgid "Dropping Primary Key/Index"
msgstr "Eliminando Chave Primária/Índice"
msgstr "A eliminar Chave Primária/Índice"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:50
msgid "Dropping Foreign key."
msgstr "Eliminando Chave estrangeira."
msgstr "A eliminar Chave estrangeira."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:51
msgid "This operation could take a long time. Proceed anyway?"
@ -5851,9 +5851,9 @@ msgid ""
"likely that your current configuration will not work anymore. Please reset "
"your configuration to default in the <i>Settings</i> menu."
msgstr ""
"As configurações da tabela de armazenamento local do seu browser já não são "
"compatíveis com a nova versão do monitor de diálogos. É provável que a sua "
"configuração actual deixe de funcionar. Por favor, reinicie as suas "
"As configurações da tabela de armazenamento local do seu navegador já não "
"são compatíveis com a nova versão do monitor de diálogos. É provável que a "
"sua configuração atual deixe de funcionar. Por favor, reinicie as suas "
"configurações no menu <i>Configurações</i>."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:160
@ -6096,8 +6096,8 @@ msgid ""
"Following settings will be applied globally and reset to default on server "
"restart:"
msgstr ""
"As seguintes configurações vão ser aplicadas globalmente e redefinidas para "
"o valor predefinição após o reinicio do servidor:"
"As seguintes definições vão ser aplicadas globalmente e redefinidas para o "
"valor predefinição após o reinicio do servidor:"
#. l10n: %s is FILE or TABLE
#: libraries/classes/Controllers/JavaScriptMessagesController.php:226
@ -6133,11 +6133,11 @@ msgstr ""
#: libraries/classes/Controllers/JavaScriptMessagesController.php:237
msgid "Change settings"
msgstr "Alterar configurações"
msgstr "Alterar definições"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:238
msgid "Current settings"
msgstr "Configurações atuais"
msgstr "Definições atuais"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:240
msgid "Chart title"
@ -6402,7 +6402,7 @@ msgstr "Cancelar"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:327
#: templates/header.twig:50
msgid "Page-related settings"
msgstr "Configurações relacionadas com a página"
msgstr "Definições relacionadas com a página"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:328
#: templates/config/form_display/fieldset_bottom.twig:8
@ -10132,7 +10132,7 @@ msgstr "Visualizar o conteúdo da estrutura clicando em seu nome."
msgid ""
"Change any of its settings by clicking the corresponding \"Options\" link."
msgstr ""
"Alterar qualquer uma destas configurações clicando no link \"Opções\" "
"Alterar qualquer uma destas definições clicando no link \"Opções\" "
"correspondente."
#: libraries/classes/Import.php:1346
@ -10147,7 +10147,7 @@ msgstr "Ir para o banco de dados: %s"
#: libraries/classes/Import.php:1359 libraries/classes/Import.php:1402
#, php-format
msgid "Edit settings for %s"
msgstr "Editar as configurações para %s"
msgstr "Editar as definições para %s"
#: libraries/classes/Import.php:1387
#, php-format
@ -11026,7 +11026,7 @@ msgstr "Truncar"
#: templates/table/structure/display_structure.twig:283
#: templates/table/structure/display_structure.twig:463
msgid "Drop"
msgstr "Elimina"
msgstr "Eliminar"
#: libraries/classes/Operations.php:618
msgid "Coalesce"
@ -11070,7 +11070,7 @@ msgstr "Erro ao criar o PDF:"
#: libraries/classes/Plugins/Auth/AuthenticationConfig.php:80
msgid "Cannot connect: invalid settings."
msgstr "Não é possível realizar a ligação: configurações inválidas."
msgstr "Não é possível realizar a ligação: definições inválidas."
#: libraries/classes/Plugins/Auth/AuthenticationConfig.php:94
#: libraries/classes/Plugins/Auth/AuthenticationHttp.php:86
@ -12692,8 +12692,7 @@ msgstr "Permite apagar Bases de Dados e tabelas."
#: templates/server/privileges/privileges_table.twig:578
msgid "Allows reloading server settings and flushing the server's caches."
msgstr ""
"Permite recarregar as configurações do servidor e limpar os caches do "
"servidor."
"Permite recarregar as definições do servidor e limpar as caches do servidor."
#: libraries/classes/Server/Privileges.php:363
#: templates/server/privileges/privileges_table.twig:588
@ -15524,7 +15523,7 @@ msgid ""
"team for debugging the error."
msgstr ""
"Este relatório automaticamente inclui dados sobre o erro e informações sobre "
"configurações relevantes. Ele será enviado à equipa do phpMyAdmin para poder "
"definições relevantes. Será enviado à equipa do phpMyAdmin para poder "
"depurar o erro."
#: templates/error/report_form.twig:12
@ -15853,7 +15852,7 @@ msgstr "Mais definições"
#: templates/home/index.twig:89
msgid "Appearance settings"
msgstr "Configurações de aspecto"
msgstr "Definições de aspeto"
#: templates/home/index.twig:113
msgid "Database server"
@ -16410,7 +16409,7 @@ msgstr "Documentação MySQL"
#: templates/navigation/main.twig:43 templates/navigation/main.twig:44
msgid "Navigation panel settings"
msgstr "Configurações do painel de navegação"
msgstr "Definições do painel de navegação"
#: templates/navigation/main.twig:47 templates/navigation/main.twig:48
msgid "Reload navigation panel"
@ -16434,16 +16433,15 @@ msgstr ""
#: templates/preferences/autoload.twig:13
msgid "Delete settings"
msgstr "Apagar configurações"
msgstr "Apagar definições"
#: templates/preferences/forms/main.twig:4
msgid "Cannot save settings, submitted form contains errors!"
msgstr ""
"As configurações não podem salvas, o formulário submetido contém erros!"
msgstr "As definições não podem guardadas, o formulário submetido contém erros!"
#: templates/preferences/header.twig:6
msgid "Manage your settings"
msgstr "Gerencie suas configurações"
msgstr "Gira as suas definições"
#: templates/preferences/header.twig:12
msgid "Two-factor authentication"
@ -16469,7 +16467,7 @@ msgstr "A configuração contém dados incorretos para alguns campos."
#: templates/preferences/manage/error.twig:16
msgid "Do you want to import remaining settings?"
msgstr "Deseja importar as configurações restantes?"
msgstr "Deseja importar as definições restantes?"
#: templates/preferences/manage/main.twig:3
#: templates/preferences/manage/main.twig:33
@ -16487,11 +16485,11 @@ msgstr "Importar do armazenamento do seu browser"
#: templates/preferences/manage/main.twig:30
msgid "Settings will be imported from your browser's local storage."
msgstr ""
"As configurações vão ser importadas do armazenamento local do seu browser."
"As definições vão ser importadas do armazenamento local do seu navegador."
#: templates/preferences/manage/main.twig:36
msgid "You have no saved settings!"
msgstr "Não dispõe de configurações guardadas!"
msgstr "Não dispõe de definições guardadas!"
#: templates/preferences/manage/main.twig:40
#: templates/preferences/manage/main.twig:104
@ -16508,8 +16506,8 @@ msgid ""
"You can set more settings by modifying config.inc.php, eg. by using %sSetup "
"script%s."
msgstr ""
"Você pode definir mais configurações modificando config.inc.php, por exemplo "
"usando %sscript de configuração%s."
"Pode definir mais definições modificando o config.inc.php, por exemplo, ao "
"utilizar o %sscript de configuração%s."
#: templates/preferences/manage/main.twig:81
msgid "Save as JSON file"
@ -16525,11 +16523,11 @@ msgstr "Gravar para o armazenamento do seu browser"
#: templates/preferences/manage/main.twig:96
msgid "Settings will be saved in your browser's local storage."
msgstr "As configurações serão gravadas no armazenamento local do seu browser."
msgstr "As definições serão guardadas no armazenamento local do seu navegador."
#: templates/preferences/manage/main.twig:99
msgid "Existing settings will be overwritten!"
msgstr "As configurações existentes serão sobre-escritas!"
msgstr "As definições existentes serão sobre-escritas!"
#: templates/preferences/manage/main.twig:120
msgid "You can reset all your settings and restore them to default values."
@ -17598,7 +17596,7 @@ msgid ""
msgstr ""
"O seu navegador atualizará todos os gráficos exibidos em intervalo regular. "
"Pode adicioná-los e alterar a taxa de atualização em 'Definições', ou "
"remover qualquer um usando o ícone da engrenagem em cada gráfico."
"remover qualquer um utilizando o ícone da engrenagem em cada gráfico."
#: templates/server/status/monitor/index.twig:108
msgid ""
@ -17862,7 +17860,7 @@ msgstr ""
#: templates/server/variables/index.twig:5
msgid "Server variables and settings"
msgstr "Variáveis do servidor e configurações"
msgstr "Variáveis do servidor e definições"
#: templates/server/variables/index.twig:43
msgid "This is a read-only variable and can not be edited"

381
po/ro.po
View File

@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 5.1.2-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2021-08-27 17:07+0200\n"
"PO-Revision-Date: 2022-01-03 16:54+0000\n"
"Last-Translator: Emanuel <emanuel12m@gmail.com>\n"
"PO-Revision-Date: 2022-02-08 13:56+0000\n"
"Last-Translator: liviuconcioiu <liviu.concioiu@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/phpmyadmin/5-1/"
"ro/>\n"
"Language: ro\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 4.10.1\n"
"X-Generator: Weblate 4.11-dev\n"
#: libraries/advisory_rules_generic.php:9
msgid "Uptime below one day"
@ -594,17 +594,15 @@ msgid "key_buffer_size is 0"
msgstr "key_buffer_size este 0"
#: libraries/advisory_rules_generic.php:373
#, fuzzy, no-php-format
#| msgid "Max %% MyISAM key buffer ever used"
#, no-php-format
msgid "Max % MyISAM key buffer ever used"
msgstr "%% maxim tampon cheie MyISAM folosit vreodată"
msgstr "% maxim tampon cheie MyISAM folosit vreodată"
#: libraries/advisory_rules_generic.php:378
#: libraries/advisory_rules_generic.php:395
#, fuzzy, no-php-format
#| msgid "MyISAM key buffer (index cache) %% used is low."
#, no-php-format
msgid "MyISAM key buffer (index cache) % used is low."
msgstr "Tamponul cheie MyISAM folosit (cache index) %% este mic."
msgstr "Tamponul cheie MyISAM folosit (cache index) % este mic."
#: libraries/advisory_rules_generic.php:380
#: libraries/advisory_rules_generic.php:397
@ -641,10 +639,9 @@ msgid "Percentage of index reads from memory"
msgstr "Procentul de citiri index din memorie"
#: libraries/advisory_rules_generic.php:411
#, fuzzy, no-php-format
#| msgid "The %% of indexes that use the MyISAM key buffer is low."
#, no-php-format
msgid "The % of indexes that use the MyISAM key buffer is low."
msgstr "%% de indexuri care folosește tamponul cheii MyISAM este mic."
msgstr "% de indexuri care folosește tamponul cheii MyISAM este mic."
#: libraries/advisory_rules_generic.php:412
msgid "You may need to increase {key_buffer_size}."
@ -728,10 +725,9 @@ msgstr ""
"pe oră"
#: libraries/advisory_rules_generic.php:462
#, fuzzy, no-php-format
#| msgid "Immediate table locks %%"
#, no-php-format
msgid "Immediate table locks %"
msgstr "Blocări de tabel imediate %%"
msgstr "Blocări de tabel imediate %"
#: libraries/advisory_rules_generic.php:466
#: libraries/advisory_rules_generic.php:476
@ -783,10 +779,9 @@ msgid "The thread cache is set to 0"
msgstr "Cache-ul firului de execuție este setat la 0"
#: libraries/advisory_rules_generic.php:493
#, fuzzy, no-php-format
#| msgid "Thread cache hit rate %%"
#, no-php-format
msgid "Thread cache hit rate %"
msgstr "Rată de succes cache fire de execuție %%"
msgstr "Rată de succes cache fire de execuție %"
#: libraries/advisory_rules_generic.php:497
msgid "Thread cache is not efficient."
@ -1003,17 +998,17 @@ msgid ""
"fine. See also <a href=\"https://mysqldatabaseadministration.blogspot."
"com/2007/01/increase-innodblogfilesize-proper-way.html\">this blog entry</a>"
msgstr ""
"De obicei, este suficientă setarea propietății {innodb_log_file_size} la 25%"
"% din mărimea lui {innodb_buffer_pool_size}. O valoare foarte mare pentru "
"De obicei, este suficientă setarea propietății {innodb_log_file_size} la "
"25%% din mărimea lui {innodb_buffer_pool_size}. O valoare foarte mare pentru "
"{innodb_log_file_size} va încetini considerabil timpul de recuperare după o "
"distrugere(eroare gravă) a unei baze de date. A se vedea de asemenea <a "
"href=\"https://www.mysqlperformanceblog.com/2006/07/03/choosing-proper-"
"innodb_log_file_size/\">Articolul acesta</a>. Trebuie să se închidă server-"
"ul, elimine fișierele InnoDB cu intrări, seteze valoarea nouă în my.cnf, "
"pornească server-ul și apoi să se verifice intrările de erori, pentru a se "
"asigura că totul a decurs bine. A se vedea de asemenea <a href=\"https://"
"mysqldatabaseadministration.blogspot.com/2007/01/increase-innodblogfilesize-"
"proper-way.html\">acest post din blog</a>"
"distrugere(eroare gravă) a unei baze de date. A se vedea de asemenea <a href="
"\"https://www.mysqlperformanceblog.com/2006/07/03/"
"choosing-proper-innodb_log_file_size/\">Articolul acesta</a>. Trebuie să se "
"închidă server-ul, elimine fișierele InnoDB cu intrări, seteze valoarea nouă "
"în my.cnf, pornească server-ul și apoi să se verifice intrările de erori, "
"pentru a se asigura că totul a decurs bine. A se vedea de asemenea <a href="
"\"https://mysqldatabaseadministration.blogspot.com/2007/01/increase-"
"innodblogfilesize-proper-way.html\">acest post din blog</a>"
#: libraries/advisory_rules_generic.php:633
#: libraries/advisory_rules_generic.php:662
@ -1056,17 +1051,17 @@ msgid ""
"\"https://mysqldatabaseadministration.blogspot.com/2007/01/increase-"
"innodblogfilesize-proper-way.html\">this blog entry</a>"
msgstr ""
"De obicei, este suficientă setarea propietății {innodb_log_file_size} la 25%"
"% din mărimea lui {innodb_buffer_pool_size}. O valoare foarte mare pentru "
"De obicei, este suficientă setarea propietății {innodb_log_file_size} la "
"25%% din mărimea lui {innodb_buffer_pool_size}. O valoare foarte mare pentru "
"{innodb_log_file_size} va încetini considerabil timpul de recuperare după o "
"distrugere(eroare gravă) a unei baze de date. A se vedea de asemenea <a "
"href=\"https://www.mysqlperformanceblog.com/2006/07/03/choosing-proper-"
"innodb_log_file_size/\">Articolul acesta</a>. Trebuie să se închidă server-"
"ul, elimine fișierele InnoDB cu intrări, seteze valoarea nouă în my.cnf, "
"pornească server-ul și apoi să se verifice intrările de erori, pentru a se "
"asigura că totul a decurs bine. A se vedea de asemenea <a href=\"https://"
"mysqldatabaseadministration.blogspot.com/2007/01/increase-innodblogfilesize-"
"proper-way.html\">acest post din blog</a>"
"distrugere(eroare gravă) a unei baze de date. A se vedea de asemenea <a href="
"\"https://www.mysqlperformanceblog.com/2006/07/03/"
"choosing-proper-innodb_log_file_size/\">Articolul acesta</a>. Trebuie să se "
"închidă server-ul, elimine fișierele InnoDB cu intrări, seteze valoarea nouă "
"în my.cnf, pornească server-ul și apoi să se verifice intrările de erori, "
"pentru a se asigura că totul a decurs bine. A se vedea de asemenea <a href="
"\"https://mysqldatabaseadministration.blogspot.com/2007/01/increase-"
"innodblogfilesize-proper-way.html\">acest post din blog</a>"
#: libraries/advisory_rules_generic.php:685
#, php-format
@ -1110,12 +1105,12 @@ msgstr ""
"InnoDB. Alocă toată memoria rămasă în acest tampon. Pentru serverele de bază "
"de date care folosesc exclusiv InnoDB ca motor de stocare și nu a alte "
"servicii care rulează (de exemplu, un server web), poți seta o valoare mare, "
"cum ar fi 80%% din memoria disponibilă. În caz contrar, trebuie să evaluezi "
"cum ar fi 80% din memoria disponibilă. În caz contrar, trebuie să evaluezi "
"cu atenție consumul de memorie al celorlalte servicii și tabelele non-InnoDB "
"și să setezi această variabilă în consecință. Dacă este setată o valoare "
"prea mare, sistemul tău va începe să se schimbe, ceea ce scade semnificativ "
"performanța. De asemenea, vezi <a href=\"https://www.percona.com/"
"blog/2007/11/03/choosing-innodb_buffer_pool_size/\">acest articol</a>"
"performanța. De asemenea, vezi <a href=\"https://www.percona.com/blog/2007/"
"11/03/choosing-innodb_buffer_pool_size/\">acest articol</a>"
#: libraries/advisory_rules_generic.php:706
#, php-format
@ -1178,10 +1173,9 @@ msgstr ""
"query_cache_size este setat la 0 sau query_cache_type este setat la ”OPRIT”"
#: libraries/advisory_rules_mysql_before80003.php:23
#, fuzzy, no-php-format
#| msgid "Query cache efficiency (%%)"
#, no-php-format
msgid "Query cache efficiency (%)"
msgstr "Eficiență cache interogări (%%)"
msgstr "Eficiență cache interogări (%)"
#: libraries/advisory_rules_mysql_before80003.php:27
msgid "Query cache not running efficiently, it has a low hit rate."
@ -1201,10 +1195,9 @@ msgid "Query Cache usage"
msgstr "Utilizare cache interogări"
#: libraries/advisory_rules_mysql_before80003.php:39
#, fuzzy, no-php-format
#| msgid "Less than 80%% of the query cache is being utilized."
#, no-php-format
msgid "Less than 80% of the query cache is being utilized."
msgstr "Este utilizat mai puțin de 80%% din cache-ul interogări."
msgstr "Este utilizat mai puțin de 80% din cache-ul interogări."
#: libraries/advisory_rules_mysql_before80003.php:41
msgid ""
@ -2252,16 +2245,12 @@ msgstr ""
"sau a tabelului actual."
#: libraries/classes/Config/Descriptions.php:292
#, fuzzy
#| msgid ""
#| "Open the linked page in the main window ([kbd]main[/kbd]) or in a new one "
#| "([kbd]new[/kbd])."
msgid ""
"Open the linked page in the main window ([code]main[/code]) or in a new one "
"([code]new[/code])."
msgstr ""
"Deschide pagina legată în fereastra principală ([kbd]principală[/kbd]) sau "
"într-o fereastră nouă ([kbd]nouă[/kbd])."
"Deschide pagina legată în fereastra principală ([code]principală[/code]) sau "
"într-o fereastră nouă ([code]nouă[/code])."
#: libraries/classes/Config/Descriptions.php:296
msgid ""
@ -2483,13 +2472,14 @@ msgstr ""
"[kbd]pma__central_columns[/kbd]."
#: libraries/classes/Config/Descriptions.php:391
#, fuzzy
msgid ""
"You can use MySQL wildcard characters (% and _), escape them if you want to "
"use their literal instances, i.e. use [kbd]'my\\_db'[/kbd] and not "
"[kbd]'my_db'[/kbd]."
msgstr ""
"Poți folosi metacaractere MySQL (% și _), să le escapezi dacă vrei să "
"folosești instanțele lor literale, adică folosește [kbd]'my\\_db'[/kbd] și "
"folosești instanțele lor literale, adică folosește [kbd]'my\\_db'[/kbd] și "
"nu [kbd]'my_db'[/kbd]."
#: libraries/classes/Config/Descriptions.php:396
@ -2663,11 +2653,10 @@ msgid "Leave blank for defaults."
msgstr "Lasă gol pentru implicite."
#: libraries/classes/Config/Descriptions.php:478
#, fuzzy
#| msgid "HTTP Basic Auth Realm name to display when doing HTTP Auth"
msgid "HTTP Basic Auth Realm name to display when doing HTTP Auth."
msgstr ""
"Numele HTTP Basic Auth Realm ce va fi afișat când se face autentificarea HTTP"
"Numele HTTP Basic Auth Realm ce va fi afișat când se face autentificarea "
"HTTP."
#: libraries/classes/Config/Descriptions.php:479
msgid "Authentication method to use."
@ -2830,12 +2819,6 @@ msgstr ""
"mărită pentru zonele text ale interogărilor SQL (*2)."
#: libraries/classes/Config/Descriptions.php:538
#, fuzzy
#| msgid ""
#| "Input proxies as [kbd]IP: trusted HTTP header[/kbd]. The following "
#| "example specifies that phpMyAdmin should trust a HTTP_X_FORWARDED_FOR (X-"
#| "Forwarded-For) header coming from the proxy 1.2.3.4:[br][kbd]1.2.3.4: "
#| "HTTP_X_FORWARDED_FOR[/kbd]"
msgid ""
"Input proxies as [kbd]IP: trusted HTTP header[/kbd]. The following example "
"specifies that phpMyAdmin should trust a HTTP_X_FORWARDED_FOR (X-Forwarded-"
@ -2844,8 +2827,8 @@ msgid ""
msgstr ""
"Proxy-uri de intrare ca [kbd] IP: header HTTP de încredere [/kbd]. Următorul "
"exemplu specifică faptul că phpMyAdmin ar trebui să încredere într-un antet "
"HTTP_X_FORWARDED_FOR (X-Forwarded-For) provenind de la proxy 1.2.3.4: [br]"
"[kbd] 1.2.3.4: HTTP_X_FORWARDED_FOR [/kbd]"
"HTTP_X_FORWARDED_FOR (X-Forwarded-For) provenind de la proxy 1.2.3.4: "
"[br][kbd] 1.2.3.4: HTTP_X_FORWARDED_FOR [/kbd]."
#: libraries/classes/Config/Descriptions.php:544
msgid ""
@ -3331,7 +3314,7 @@ msgstr "Coloane escapate cu"
#: libraries/classes/Config/Descriptions.php:706
#: libraries/classes/Config/Descriptions.php:751
msgid "Replace NULL with"
msgstr "Înlocuiește NUL cu"
msgstr "Înlocuiește NULL cu"
#: libraries/classes/Config/Descriptions.php:673
#: libraries/classes/Config/Descriptions.php:679
@ -3574,7 +3557,7 @@ msgstr "Verificări chei străine"
#: libraries/classes/Config/Descriptions.php:756
msgid "First day of calendar"
msgstr ""
msgstr "Prima zi din calendar"
#: libraries/classes/Config/Descriptions.php:757
#: libraries/classes/Config/Descriptions.php:768 libraries/classes/Menu.php:530
@ -3780,7 +3763,7 @@ msgstr "Nu anulează la eroarea de INSERARE"
#: libraries/classes/Config/Descriptions.php:806
#: libraries/classes/Config/Descriptions.php:813
msgid "Add ON DUPLICATE KEY UPDATE"
msgstr ""
msgstr "Adaugă ON DUPLICATE KEY UPDATE"
#: libraries/classes/Config/Descriptions.php:808
msgid "Format of imported file"
@ -4939,7 +4922,7 @@ msgid "Invalid server index: %s"
msgstr "Index server invalid: %s"
#: libraries/classes/Config.php:1401
#, fuzzy, php-format
#, php-format
msgid "Server %d"
msgstr "Server %d"
@ -5199,10 +5182,8 @@ msgstr "Nu am putut încărca modulele de export, te rog verifică-ți instalare
#: libraries/classes/Controllers/Table/MaintenanceController.php:117
#: libraries/classes/Controllers/Table/MaintenanceController.php:153
#: libraries/classes/Controllers/Table/MaintenanceController.php:188
#, fuzzy
#| msgid "No tables selected."
msgid "No table selected."
msgstr "Nicio bază de date selectată."
msgstr "Niciun tabel selectat."
#: libraries/classes/Controllers/Database/ImportController.php:75
#: libraries/classes/Controllers/ImportController.php:619
@ -5815,10 +5796,8 @@ msgid "Y values"
msgstr "Valori Y"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:126
#, fuzzy
#| msgid "Please enter the same value again"
msgid "Please enter the SQL query first."
msgstr "Te rog introdu din nou aceeași valoare"
msgstr "Te rog introdu mai întâi interogarea SQL."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:129
msgid "The host name is empty!"
@ -6414,16 +6393,12 @@ msgid "Please select the file you want to import."
msgstr "Te rog selectează fișierul pe care vrei să-l imporți."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:312
#, fuzzy
#| msgid "Please enter a valid page name"
msgid "Please enter a valid table name."
msgstr "Te rog introdu un nume de pagină valid"
msgstr "Te rog introdu un nume de tabel valid."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:313
#, fuzzy
#| msgid "Please enter a valid page name"
msgid "Please enter a valid database name."
msgstr "Te rog introdu un nume de pagină valid"
msgstr "Te rog introdu un nume de bază de date valid."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:314
msgid "No files available on server for import!"
@ -6894,8 +6869,7 @@ msgstr "Pentru a mări, selectează o secțiune a plotului cu mausul."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:472
msgid "Click reset zoom button to come back to original state."
msgstr ""
"Dă clic pe pe butonul de resetare a măririi pentru a reveni la starea "
"inițială."
"Dă clic pe butonul de resetare a măririi pentru a reveni la starea inițială."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:474
msgid "Click a data point to view and possibly edit the data row."
@ -7096,6 +7070,8 @@ msgstr "Șterge pagina"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:542
msgid "Some tables saved in this page might have been renamed or deleted."
msgstr ""
"Este posibil ca unele tabele salvate în această pagină să fi fost redenumite "
"sau șterse."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:543
#: templates/database/designer/main.twig:10
@ -7398,16 +7374,12 @@ msgstr ""
"În funcție de setările tale, aceste sunt trimise acum, te rog ai răbdare."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:682
#, fuzzy
#| msgid "Successfully deleted the page"
msgid "Successfully copied!"
msgstr "Pagină ștearsă cu succes"
msgstr "Copiat cu succes!"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:683
#, fuzzy
#| msgid "Copying database"
msgid "Copying failed!"
msgstr "Copiez baza de date"
msgstr "Copiere eșuată!"
#: libraries/classes/Controllers/JavaScriptMessagesController.php:686
msgid "Execute this query again?"
@ -7507,17 +7479,15 @@ msgstr "Tip invalid de export"
#. l10n: unknown error code (from U2F API)
#: libraries/classes/Controllers/JavaScriptMessagesController.php:720
#, fuzzy
#| msgid "Unknown error"
msgctxt "U2F error"
msgid "Unknown security key error."
msgstr "Eroare necunoscută"
msgstr "Eroare cheie de securitate necunoscută."
#. l10n: error code 3 (from U2F API)
#: libraries/classes/Controllers/JavaScriptMessagesController.php:722
msgctxt "U2F error"
msgid "Client does not support security key."
msgstr ""
msgstr "Clientul nu suportă cheie de securitate."
#. l10n: error code 4 (from U2F API) on register
#: libraries/classes/Controllers/JavaScriptMessagesController.php:724
@ -7529,11 +7499,9 @@ msgstr "Activarea cheii de securitate a eșuat (%s)."
#. l10n: error code 4 (from U2F API) on authanticate
#: libraries/classes/Controllers/JavaScriptMessagesController.php:726
#, fuzzy
#| msgid "Invalid export type"
msgctxt "U2F error"
msgid "Invalid security key."
msgstr "Tip invalid de export"
msgstr "Cheie de securitate invalidă."
#: libraries/classes/Controllers/JavaScriptMessagesController.php:731
#, fuzzy, php-format
@ -8690,6 +8658,8 @@ msgid ""
"The ini_get and/or ini_set functions are disabled in php.ini. phpMyAdmin "
"requires these functions!"
msgstr ""
"Funcțiile ini_get și/sau ini_set sunt dezactivate în php.ini. phpMyAdmin are "
"nevoie de aceste funcții!"
#: libraries/classes/Core.php:1261
msgid "GLOBALS overwrite attempt"
@ -8874,8 +8844,8 @@ msgstr "Editează evenimentul"
#| msgid "The definer must be in the \"username@hostname\" format"
msgid "The definer must be in the \"username@hostname\" format!"
msgstr ""
"Datele introduse aici trebuie sa fie în format-ul \"nume-de-"
"utilizator@numele-gazdei\" (username@hostname)"
"Datele introduse aici trebuie să fie în formatul \"nume-de-utilizator@numele-"
"gazdei\"!"
#: libraries/classes/Database/Events.php:402
msgid "You must provide an event name!"
@ -10546,10 +10516,8 @@ msgstr ""
"de navigare."
#: libraries/classes/Navigation/NavigationTree.php:816
#, fuzzy
#| msgid "Groups:"
msgid "Groups"
msgstr "Grupuri:"
msgstr "Grupuri"
#: libraries/classes/Navigation/NavigationTree.php:982
#, php-format
@ -11133,6 +11101,8 @@ msgid ""
"Your password is too long. To prevent denial-of-service attacks, phpMyAdmin "
"restricts passwords to less than 1000 characters."
msgstr ""
"Parola ta este prea lungă. Pentru a preveni atacurile DoS, phpMyAdmin "
"restricționează parolele la mai puțin de 1000 caractere."
#: libraries/classes/Plugins/Auth/AuthenticationCookie.php:372
msgid "You are not allowed to log in to this MySQL server!"
@ -11778,10 +11748,8 @@ msgstr ""
"ghilimele."
#: libraries/classes/Plugins/Import/ImportCsv.php:128
#, fuzzy
#| msgid "Column names: "
msgid "Column names:"
msgstr "Nume coloane: "
msgstr "Nume coloane:"
#: libraries/classes/Plugins/Import/ImportCsv.php:267
#: libraries/classes/Plugins/Import/ImportCsv.php:643
@ -12086,7 +12054,7 @@ msgstr ""
"listarea codului HTML. Din motive de securitate, va trebui sa editati manual "
"fisierul libraries/transformations/text_plain__external.inc.php și să "
"inserați uneltele permise să ruleze. Prima opțiune este apoi numărul de "
"programe care vor fi utilizate și a doua opțiune sînt parametri pentru "
"programe care vor fi utilizate și a doua opțiune sînt parametri pentru "
"program. Al treilea parametru, dacă este stabilit la 1 va transforma ieșirea "
"folosind htmlspecialchars() (implicit este 1). Un al patrulea parametru, "
"dacă este stabilit la 1, va aplica NOWRAP la conținut, astfel încît întregul "
@ -12182,7 +12150,7 @@ msgstr ""
"pentru definirea punctului de început a outputului de text (Default 0). A "
"doua optiune este un offset de text returnat. Daca este gol, returneaza "
"textul ramas. A treia optiune defineste caracterele care vor fi atasate la "
"output la returnarea unui substring (Default: …) ."
"output la returnarea unui substring (Default: …) ."
#: libraries/classes/Plugins/Transformations/Abs/TextFileUploadTransformationsPlugin.php:28
msgid ""
@ -12455,19 +12423,15 @@ msgid "no description"
msgstr "nicio descriere"
#: libraries/classes/Relation.php:2039
#, fuzzy, php-format
#| msgid ""
#| "You do not have necessary privileges to create a database named '%s'. You "
#| "may go to 'Operations' tab of any database to set up the phpMyAdmin "
#| "configuration storage there."
#, php-format
msgid ""
"You do not have necessary privileges to create a database named '%s'. You "
"may go to 'Operations' tab of any database to set up the phpMyAdmin "
"configuration storage there."
msgstr ""
"Nu ai privilegiile necesare pentru a crea o bază de date numită "
"„phpmyadmin”. Poți merge la fila „Operații” a oricărei baze de date pentru a "
"inițializa acolo spațiul de stocare pentru configurarea phpMyAdmin."
"Nu ai privilegiile necesare pentru a crea o bază de date numită „%s”. Poți "
"merge la fila „Operații” a oricărei baze de date pentru a inițializa acolo "
"spațiul de stocare pentru configurarea phpMyAdmin."
#: libraries/classes/Relation.php:2163
#, php-format
@ -12566,10 +12530,9 @@ msgid ""
msgstr ""
#: libraries/classes/Routing.php:165
#, fuzzy, php-format
#| msgid "Source database `%s` was not found!"
#, php-format
msgid "Error 404! The page %s was not found."
msgstr "Baza de date sursă „%s” nu a fost găsită!"
msgstr "Eroare 404! Pagina %s nu a fost găsită."
#: libraries/classes/Routing.php:176
msgid "Error 405! Request method not allowed."
@ -13469,9 +13432,9 @@ msgid ""
"-1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and "
"2.2250738585072014E-308 to 1.7976931348623157E+308"
msgstr ""
"Un număr cu virgulă mobilă cu dublă precizie, valorile permise sunt "
"-1.7976931348623157E+308 până la -2.2250738585072014E-308, 0, şi "
"2.2250738585072014E-308 până la 1.7976931348623157E+308"
"Un număr cu virgulă mobilă cu dublă precizie, valorile permise sunt -1."
"7976931348623157E+308 până la -2.2250738585072014E-308, 0, şi 2."
"2250738585072014E-308 până la 1.7976931348623157E+308"
#: libraries/classes/Types.php:251
msgid ""
@ -14222,9 +14185,9 @@ msgid ""
"example '\\\\xyz' or 'a\\'b')."
msgstr ""
"Dacă câmpul este „enum” sau „set”, vă rugăm să adăugați valori folosind "
"formatul: 'a','b','c'…<br />Daca aveti nevoie sa puneti bara intoarsa "
"(backslash) (\"\\\") sau semnul (\"'\") la aceste valori, folosiți exemplul "
"( '\\\\xyz' or 'a\\'b')."
"formatul: 'a','b','c'…<br>Dacă aveti nevoie sa puneti bara intoarsa "
"(backslash) (\"\\\") sau semnul (\"'\") la aceste valori, folosiți exemplul ("
" '\\\\xyz' or 'a\\'b')."
#: templates/columns_definitions/table_fields_definitions.twig:21
msgid ""
@ -14476,10 +14439,8 @@ msgid "A_I"
msgstr "A_I"
#: templates/database/central_columns/main.twig:131
#, fuzzy
#| msgid "The central list of columns for the current database is empty."
msgid "The central list of columns for the current database is empty"
msgstr "Lista centrală de coloane pentru baza de date curentă este goală."
msgstr "Lista centrală de coloane pentru baza de date curentă este goală"
#: templates/database/central_columns/main.twig:168
#: templates/display/results/table.twig:62
@ -14544,10 +14505,8 @@ msgid "Number of columns"
msgstr "Număr de coloane"
#: templates/database/data_dictionary/index.twig:3
#, fuzzy
#| msgid "Database comment"
msgid "Database comment:"
msgstr "Comentariu bază de date"
msgstr "Comentariu bază de date:"
#: templates/database/data_dictionary/index.twig:68 templates/indexes.twig:18
#: templates/table/structure/display_structure.twig:417
@ -14876,12 +14835,12 @@ msgid "OFF"
msgstr "OPRIT"
#: templates/database/export/index.twig:62
#, fuzzy
#| msgid ", @DATABASE@ will become the database name"
msgid ""
"@SERVER@ will become the server name and @DATABASE@ will become the database "
"name."
msgstr ", @DATABASE@ va deveni numele bazei de date"
msgstr ""
"@SERVER@ va deveni numele server-ului și @DATABASE@ va deveni numele bazei "
"de date."
#. l10n: A query that the user has written freely
#: templates/database/export/index.twig:5 templates/table/export/index.twig:5
@ -14907,10 +14866,8 @@ msgstr "Interogare în mai multe tabele"
#: templates/database/multi_table_query/form.twig:10
#: templates/database/qbe/index.twig:10
#, fuzzy
#| msgid "Query failed"
msgid "Query by example"
msgstr "Interogare eșuată"
msgstr "Interogare prin exemplu"
#: templates/database/multi_table_query/form.twig:15
msgid "Query window"
@ -14987,16 +14944,12 @@ msgstr "Nume bază de date nouă"
#: templates/table/operations/index.twig:79
#: templates/table/operations/index.twig:113
#: templates/table/operations/index.twig:291
#, fuzzy
#| msgid ""
#| "You don't have sufficient privileges to perform this operation; Please "
#| "refer to the documentation for more details"
msgid ""
"You don't have sufficient privileges to perform this operation; Please refer "
"to the documentation for more details."
msgstr ""
"Nu ai suficiente privilegii pentru a efectua această operație; te rog "
"consultă documentația pentru mai multe detalii"
"consultă documentația pentru mai multe detalii."
#: templates/database/operations/index.twig:89
msgid "Remove database"
@ -15129,10 +15082,8 @@ msgid "Ins:"
msgstr "Inserează:"
#: templates/database/qbe/ins_del_and_or_cell.twig:12
#, fuzzy
#| msgid "And:"
msgid "And"
msgstr "Și:"
msgstr "Și"
#: templates/database/qbe/ins_del_and_or_cell.twig:17
#, fuzzy
@ -15169,16 +15120,12 @@ msgid "Modify:"
msgstr "Modifică:"
#: templates/database/qbe/selection_form.twig:54
#, fuzzy
#| msgid "Add/Delete criteria rows"
msgid "Add/Delete criteria rows:"
msgstr "Adaugă/șterge rândurile de criterii"
msgstr "Adaugă/șterge rândurile de criterii:"
#: templates/database/qbe/selection_form.twig:67
#, fuzzy
#| msgid "Add/Delete columns"
msgid "Add/Delete columns:"
msgstr "Adaugă/șterge coloane"
msgstr "Adaugă/șterge coloane:"
#: templates/database/qbe/selection_form.twig:86
#: templates/database/qbe/selection_form.twig:88
@ -15382,10 +15329,8 @@ msgid "Make consistent with central list"
msgstr "Asigură consecvență în lista centrală"
#: templates/database/structure/copy_form.twig:14
#, fuzzy
#| msgid "Options"
msgid "Options:"
msgstr "Opțiuni"
msgstr "Opțiuni:"
#: templates/database/structure/copy_form.twig:39
msgid "Add AUTO INCREMENT value"
@ -15513,10 +15458,8 @@ msgid "There are no triggers to display."
msgstr "Nu există niciun declanșator de afișat."
#: templates/display/results/sort_by_key.twig:3
#, fuzzy
#| msgid "Sort by key"
msgid "Sort by key:"
msgstr "Sortează după cheie"
msgstr "Sortează după cheie:"
#: templates/display/results/table.twig:32
msgid "Save edited data"
@ -15744,10 +15687,10 @@ msgid ""
"formatting strings. Additionally the following transformations will happen: "
"%s Other text will be kept as is. See the FAQ 6.27 for details."
msgstr ""
"Această valoare este interpretată folosind %1$sstrftime%2$s, deci poți "
"Această valoare este interpretată folosind funcția 'strftime', deci poți "
"folosi șiruri de formatare pentru timp. În plus, vor avea loc următoarele "
"transformări: %3$s. Orice alt text va fi păstrat așa cum este. Vezi "
"%4$sÎntrebări frecvente%5$s pentru detalii."
"transformări: %s Orice alt text va fi păstrat așa cum este. Vezi Întrebări "
"frecvente 6.27 pentru detalii."
#: templates/export.twig:329
msgid "use this for future exports"
@ -15831,10 +15774,9 @@ msgstr "Punct:"
#: templates/gis_data_editor_form.twig:93
#: templates/gis_data_editor_form.twig:134
#: templates/gis_data_editor_form.twig:186
#, fuzzy, php-format
#| msgid "Point %d"
#, php-format
msgid "Point %d:"
msgstr "Punct %d"
msgstr "Punct %d:"
#: templates/gis_data_editor_form.twig:113
#, php-format
@ -15898,22 +15840,19 @@ msgid "no branch"
msgstr "nicio ramură"
#: templates/home/git_info.twig:15 templates/home/git_info.twig:22
#, fuzzy, php-format
#| msgid "%1$s from %2$s branch"
#, php-format
msgid "from %s branch"
msgstr "%1$s din ramura %2$s"
msgstr "din ramura %s"
#: templates/home/git_info.twig:25
#, fuzzy, php-format
#| msgid "committed on %1$s by %2$s"
#, php-format
msgid "committed on %s by %s"
msgstr "consemnat pe %1$s de %2$s"
msgstr "consemnat pe %s de %s"
#: templates/home/git_info.twig:32
#, fuzzy, php-format
#| msgid "authored on %1$s by %2$s"
#, php-format
msgid "authored on %s by %s"
msgstr "scris pe %1$s de %2$s"
msgstr "scris pe %s de %s"
#: templates/home/index.twig:22 templates/login/form.twig:7
#, php-format
@ -15923,7 +15862,7 @@ msgid ""
"at %s."
msgstr ""
"Folosești serverul demonstrativ. Poți face orice aici, dar te rog nu "
"modifica rădăcina, devian-sys-maint sau utilizatorii pma. Mai multe "
"modifica rădăcina, debian-sys-maint sau utilizatorii pma. Mai multe "
"informații sunt disponibile la %s."
#: templates/home/index.twig:32
@ -15931,10 +15870,8 @@ msgid "General settings"
msgstr "Setări generale"
#: templates/home/index.twig:56
#, fuzzy
#| msgid "Server connection collation"
msgid "Server connection collation:"
msgstr "Colaționare conexiune server"
msgstr "Colaționare conexiune server:"
#: templates/home/index.twig:79 templates/preferences/manage/main.twig:56
msgid "More settings"
@ -16094,16 +16031,15 @@ msgid "You may also drag and drop a file on any page."
msgstr "De asemenea, poți trage și plasa un fișier în orice pagină."
#: templates/import.twig:74 templates/import.twig:104
#, fuzzy, php-format
#| msgid "Select from the web server upload directory <b>%s</b>:"
#, php-format
msgid "Select from the web server upload directory [strong]%s[/strong]:"
msgstr "Selectează de pe serverul web un director pentru încărcări <b>%s</b>:"
msgstr ""
"Selectează de pe serverul web un director pentru încărcări "
"[strong]%s[/strong]:"
#: templates/import.twig:80
#, fuzzy
#| msgid "File to import:"
msgid "Select file to import"
msgstr "Fișier de importat:"
msgstr "Selectează fișierul de importat"
#: templates/import.twig:85 templates/import.twig:115
msgid "There are no files to upload!"
@ -16410,8 +16346,6 @@ msgid "Password:"
msgstr "Parolă:"
#: templates/login/form.twig:67
#, fuzzy
#| msgid "Server Choice:"
msgid "Server choice:"
msgstr "Alegere server:"
@ -16626,10 +16560,8 @@ msgstr ""
"%sscriptul de inițializare%s."
#: templates/preferences/manage/main.twig:81
#, fuzzy
#| msgid "Save as file"
msgid "Save as JSON file"
msgstr "Salvează ca fișier"
msgstr "Salvează ca fișier JSON"
#: templates/preferences/manage/main.twig:85
msgid "Save as PHP file"
@ -16808,10 +16740,8 @@ msgid "Create database"
msgstr "Creează bază de date"
#: templates/server/databases/index.twig:72
#, fuzzy
#| msgid "Check privileges for database \"%s\"."
msgid "No privileges to create databases"
msgstr "Verifică privilegiile pentru baza de date „%s”."
msgstr "Nu ai privilegii pentru a crea baze de date"
#: templates/server/databases/index.twig:159
#: templates/server/replication/index.twig:18
@ -16864,16 +16794,12 @@ msgid "Storage Engine"
msgstr "Motor de stocare"
#: templates/server/engines/show.twig:45
#, fuzzy
#| msgid "Storage engines"
msgid "Unknown storage engine."
msgstr "Motoare de stocare"
msgstr "Motor de stocare necunoscut."
#: templates/server/export/index.twig:32
#, fuzzy
#| msgid "@SERVER@ will become the server name"
msgid "@SERVER@ will become the server name."
msgstr "@SERVER@ va deveni numele serverului"
msgstr "@SERVER@ va deveni numele server-ului."
#: templates/server/export/index.twig:3
msgid "Exporting databases from the current server"
@ -16916,10 +16842,8 @@ msgid "deleting"
msgstr "Șterg"
#: templates/server/plugins/index.twig:47
#, fuzzy
#| msgid "Delete"
msgid "deleted"
msgstr "Șterge"
msgstr "șterse"
#: templates/server/privileges/add_user.twig:12
msgid "Database for user account"
@ -16948,11 +16872,9 @@ msgstr "Introdu:"
#: templates/server/privileges/change_password.twig:28
#: templates/server/privileges/login_information_fields.twig:54
#, fuzzy
#| msgid "Data length"
msgctxt "Password strength"
msgid "Strength:"
msgstr "Lungime date"
msgstr "Putere:"
#: templates/server/privileges/change_password.twig:32
#: templates/server/privileges/login_information_fields.twig:60
@ -16961,10 +16883,8 @@ msgid "Re-type:"
msgstr "Tastează din nou:"
#: templates/server/privileges/change_password.twig:40
#, fuzzy
#| msgid "Password Hashing"
msgid "Password Hashing:"
msgstr "Criptare Parola"
msgstr "Criptare parolă:"
#: templates/server/privileges/change_password.twig:58
msgid ""
@ -16982,10 +16902,8 @@ msgid "User group"
msgstr "Grup de utilizatori"
#: templates/server/privileges/choose_user_group.twig:6
#, fuzzy
#| msgid "User group"
msgid "User group:"
msgstr "Grup de utilizatori"
msgstr "Grup de utilizatori:"
#: templates/server/privileges/edit_routine_privileges.twig:4
#: templates/server/privileges/user_properties.twig:4
@ -17138,18 +17056,13 @@ msgid "Password hashing method"
msgstr "Criptare Parola"
#: templates/server/privileges/login_information_fields.twig:83
#, fuzzy
#| msgid ""
#| "This method requires using an '<i>SSL connection</i>' or an "
#| "'<i>unencrypted connection that encrypts the password using RSA</i>'; "
#| "while connecting to the server."
msgid ""
"This method requires using an '<em>SSL connection</em>' or an "
"'<em>unencrypted connection that encrypts the password using RSA</em>'; "
"while connecting to the server."
msgstr ""
"Această metodă necesită folosirea unei „<i>conexiuni SSL</i>” sau a unei "
"„<i>conexiuni necriptate care criptează parola folosind RSA</i>”; în timpul "
"Această metodă necesită folosirea unei „<em>conexiuni SSL</em>” sau a unei „"
"<em>conexiuni necriptate care criptează parola folosind RSA</em>”; în timpul "
"conectării la server."
#: templates/server/privileges/new_user_ajax.twig:52
@ -17388,10 +17301,8 @@ msgstr ""
"să-l %sconfigurezi%s?"
#: templates/server/replication/index.twig:43
#, fuzzy
#| msgid "No privileges."
msgid "No privileges"
msgstr "Niciun privilegiu."
msgstr "Niciun privilegiu"
#: templates/server/replication/master_add_slave_user.twig:6
#: templates/server/replication/master_replication.twig:44
@ -17626,34 +17537,24 @@ msgid "Possible performance issues"
msgstr "Probleme de performanță posibile"
#: templates/server/status/advisor/index.twig:78
#, fuzzy
#| msgid "Issue"
msgid "Issue:"
msgstr "Problemă"
msgstr "Problemă:"
#: templates/server/status/advisor/index.twig:81
#, fuzzy
#| msgid "Recommendation"
msgid "Recommendation:"
msgstr "Recomandare"
msgstr "Recomandare:"
#: templates/server/status/advisor/index.twig:84
#, fuzzy
#| msgid "Justification"
msgid "Justification:"
msgstr "Justificare"
msgstr "Justificare:"
#: templates/server/status/advisor/index.twig:87
#, fuzzy
#| msgid "Used variable / formula"
msgid "Used variable / formula:"
msgstr "Variabilă/formulă folosită"
msgstr "Variabilă/formulă folosită:"
#: templates/server/status/advisor/index.twig:90
#, fuzzy
#| msgid "Test"
msgid "Test:"
msgstr "Test"
msgstr "Test:"
#: templates/server/status/base.twig:16
msgid "Query statistics"
@ -17899,10 +17800,8 @@ msgstr ""
#. l10n: Questions is the name of a MySQL Status variable
#: templates/server/status/queries/index.twig:8
#, fuzzy
#| msgid "Questions since startup: %s"
msgid "Questions since startup:"
msgstr "Întrebări de la pornire: %s"
msgstr "Întrebări de la pornire:"
#: templates/server/status/queries/index.twig:20
msgid "per hour:"
@ -18202,10 +18101,8 @@ msgid "Rollback when finished"
msgstr "Restaurează când termini"
#: templates/sql/query.twig:149
#, fuzzy
#| msgid "Bookmark"
msgid "Bookmark:"
msgstr "Semn de carte"
msgstr "Semn de carte:"
#: templates/sql/query.twig:156
msgid "shared"
@ -18312,12 +18209,12 @@ msgid "Save chart as image"
msgstr "Salvează diagrama ca imagine"
#: templates/table/export/index.twig:12
#, fuzzy
#| msgid ", @DATABASE@ will become the database name"
msgid ""
"@SERVER@ will become the server name, @DATABASE@ will become the database "
"name and @TABLE@ will become the table name."
msgstr ", @DATABASE@ va deveni numele bazei de date"
msgstr ""
"@SERVER@ va deveni numele server-ului, @DATABASE@ va deveni numele bazei de "
"date și @TABLE@ va deveni numele tabelului."
#: templates/table/export/index.twig:7
#, php-format
@ -18512,10 +18409,8 @@ msgid "Remove partitioning"
msgstr "Înlătură partiționarea"
#: templates/table/operations/index.twig:469
#, fuzzy
#| msgid "Check referential integrity:"
msgid "Check referential integrity"
msgstr "Verifică integritatea referențială:"
msgstr "Verifică integritatea referențială"
#: templates/table/operations/view.twig:11
msgid "Rename view to"

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.18.1@dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb">
<files psalm-version="4.20.0@f82a70e7edfc6cf2705e9374c8a0b6a974a779ed">
<file src="libraries/classes/Bookmark.php">
<RedundantCastGivenDocblockType occurrences="1">
<code>(int) $this-&gt;id</code>
@ -343,10 +343,9 @@
<PossiblyUndefinedArrayOffset occurrences="1">
<code>$_FILES['import_file']</code>
</PossiblyUndefinedArrayOffset>
<TypeDoesNotContainType occurrences="4">
<TypeDoesNotContainType occurrences="3">
<code>$bookmark_created</code>
<code>$finished</code>
<code>$memory_limit == -1</code>
<code>$timeout_passed</code>
</TypeDoesNotContainType>
</file>
@ -779,9 +778,6 @@
</TypeDoesNotContainType>
</file>
<file src="libraries/classes/Display/Results.php">
<FalseOperand occurrences="1">
<code>! $row_no</code>
</FalseOperand>
<ImplicitToStringCast occurrences="1">
<code>$message</code>
</ImplicitToStringCast>
@ -802,6 +798,8 @@
<InvalidScalarArgument occurrences="1">
<code>$original_length</code>
</InvalidScalarArgument>
<LessSpecificReturnStatement occurrences="1"/>
<MoreSpecificReturnType occurrences="1"/>
<ParadoxicalCondition occurrences="3">
<code>! isset($column) || $column === null</code>
<code>! isset($column) || $column === null</code>
@ -812,14 +810,6 @@
<code>$col_visib</code>
<code>$sortExpressionNoDirection</code>
</PossiblyInvalidArgument>
<PossiblyInvalidOperand occurrences="6">
<code>$editCopyUrlParams</code>
<code>$editCopyUrlParams</code>
<code>$editCopyUrlParams</code>
<code>$editCopyUrlParams</code>
<code>$editCopyUrlParams</code>
<code>$editCopyUrlParams</code>
</PossiblyInvalidOperand>
<PossiblyNullArgument occurrences="4">
<code>$col_visib_current</code>
<code>$col_visib_current</code>
@ -1658,12 +1648,6 @@
<code>$analyses</code>
</ReferenceConstraintViolation>
</file>
<file src="libraries/classes/Plugins/Import/ImportOds.php">
<InvalidArgument occurrences="2">
<code>$cell_attrs</code>
<code>$text</code>
</InvalidArgument>
</file>
<file src="libraries/classes/Plugins/Import/ImportShp.php">
<InvalidArgument occurrences="1">
<code>[]</code>
@ -2285,7 +2269,8 @@
<code>showOutput</code>
<code>startSvgDoc</code>
</PossiblyUndefinedMethod>
<TooFewArguments occurrences="1">
<TooFewArguments occurrences="2">
<code>setFont</code>
<code>tableDraw</code>
</TooFewArguments>
</file>

View File

@ -1211,6 +1211,7 @@ class ConfigTest extends AbstractTestCase
'host' => '',
'controluser' => 'u2',
'controlpass' => 'p2',
'hide_connection_errors' => false,
];
$cfg_ssl = [
'user' => 'u',
@ -1219,6 +1220,7 @@ class ConfigTest extends AbstractTestCase
'ssl' => true,
'controluser' => 'u2',
'controlpass' => 'p2',
'hide_connection_errors' => false,
];
$cfg_control_ssl = [
'user' => 'u',
@ -1227,6 +1229,7 @@ class ConfigTest extends AbstractTestCase
'control_ssl' => true,
'controluser' => 'u2',
'controlpass' => 'p2',
'hide_connection_errors' => false,
];
return [
@ -1247,6 +1250,7 @@ class ConfigTest extends AbstractTestCase
'compress' => false,
'controluser' => 'u2',
'controlpass' => 'p2',
'hide_connection_errors' => false,
],
],
],
@ -1263,6 +1267,7 @@ class ConfigTest extends AbstractTestCase
'port' => 0,
'ssl' => false,
'compress' => false,
'hide_connection_errors' => false,
],
],
],
@ -1283,6 +1288,7 @@ class ConfigTest extends AbstractTestCase
'compress' => false,
'controluser' => 'u2',
'controlpass' => 'p2',
'hide_connection_errors' => false,
],
],
],
@ -1299,6 +1305,7 @@ class ConfigTest extends AbstractTestCase
'port' => 0,
'ssl' => true,
'compress' => false,
'hide_connection_errors' => false,
],
],
],
@ -1320,6 +1327,7 @@ class ConfigTest extends AbstractTestCase
'controluser' => 'u2',
'controlpass' => 'p2',
'control_ssl' => true,
'hide_connection_errors' => false,
],
],
],
@ -1336,6 +1344,7 @@ class ConfigTest extends AbstractTestCase
'port' => 0,
'ssl' => true,
'compress' => false,
'hide_connection_errors' => false,
],
],
],

View File

@ -186,32 +186,12 @@ class ImportOdsTest extends AbstractTestCase
$nullCells = '';
$nullCellNames = '';
$nulls = ', NULL' . str_repeat(', NULL', 44);// 45 empty cells
$nullCells = ', `T` varchar(10), `U` varchar(10),'
. ' `V` varchar(10), `W` varchar(10), `X` varchar(10), `Y` varchar(10), `Z` varchar(10),'
. ' `AA` varchar(10), `AB` varchar(10), `AC` varchar(10), `AD` varchar(10), `AE` varchar(10),'
. ' `AF` varchar(10), `AG` varchar(10), `AH` varchar(10), `AI` varchar(10), `AJ` varchar(10),'
. ' `AK` varchar(10), `AL` varchar(10), `AM` varchar(10), `AN` varchar(10), `AO` varchar(10),'
. ' `AP` varchar(10), `AQ` varchar(10), `AR` varchar(10), `AS` varchar(10), `AT` varchar(10),'
. ' `AU` varchar(10), `AV` varchar(10), `AW` varchar(10), `AX` varchar(10), `AY` varchar(10),'
. ' `AZ` varchar(10), `BA` varchar(10), `BB` varchar(10), `BC` varchar(10), `BD` varchar(10),'
. ' `BE` varchar(10), `BF` varchar(10), `BG` varchar(10), `BH` varchar(10), `BI` varchar(10),'
. ' `BJ` varchar(10), `BK` varchar(10), `BL` varchar(10)';
$nullCellNames = ', `T`, `U`, `V`, `W`, `X`, `Y`, `Z`, `AA`, `AB`, `AC`,'
. ' `AD`, `AE`, `AF`, `AG`, `AH`, `AI`, `AJ`, `AK`, `AL`, `AM`, `AN`, `AO`, `AP`, `AQ`,'
. ' `AR`, `AS`, `AT`, `AU`, `AV`, `AW`, `AX`, `AY`, `AZ`, `BA`, `BB`, `BC`, `BD`, `BE`,'
. ' `BF`, `BG`, `BH`, `BI`, `BJ`, `BK`, `BL`';
$endOfSql = ');;';
if (! $odsEmptyRowsMode) {
$fullCols = 'NULL' . str_repeat(', NULL', 44 + 19);
$endOfSql = '),' . "\n"// three more empty lines
. ' (' . $fullCols . '),' . "\n"
. ' (' . $fullCols . '),' . "\n"
. ' (' . $fullCols . ');;';
$nulls = '';
$fullCols = 'NULL' . str_repeat(', NULL', 18);// 19 empty cells
$endOfSql = '),' . "\n" . ' (' . $fullCols . '),' . "\n" . ' (' . $fullCols . ');;';
}
//Test function called
@ -227,6 +207,8 @@ class ImportOdsTest extends AbstractTestCase
. ' `Gefahrstoff` varchar(11), `GefahrArbeitsbereich` varchar(14), `Verwendungszweck` varchar(10),'
. ' `Verbrauch` varchar(10), `showLagerbestand` varchar(7)' . $nullCells . ') '
. 'DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;;'
. 'CREATE TABLE IF NOT EXISTS `ODS_DB`.`Feuille 1` (`value` varchar(19)) '
. 'DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;;'
. 'INSERT INTO `ODS_DB`.`Shop` ('
. '`Artikelnummer`, `Name`, `keywords`, `EK_Preis`, `Preis`, `Details`, `addInfo`, `Einheit`,'
. ' `Wirkstoff`, `verkuerztHaltbar`, `kuehlkette`, `Gebinde`, `Verbrauchsnachweis`,'
@ -237,31 +219,45 @@ class ImportOdsTest extends AbstractTestCase
. ' \'Stück,Rolle,Pack,Flasche,Sack,Eimer,Karton,Palette,Beutel,Kanister,Paar\', \'ja/nein\','
. ' \'ja/nein\', \'GHS01-GHS09\', \'Arbeitsbereich\', NULL, NULL, \'ja/nein\''
. $nulls . '),' . "\n"
. ' (\'1005\', \'Beatmungsfilter\', NULL, \'0,85\', \'1,2\', NULL, NULL, \'5\', NULL, NULL, \'nein\','
. ' (\'1005\', \'Beatmungsfilter\', NULL, \'0.85\', \'1,2\', NULL, NULL, \'5\', NULL, NULL, \'nein\','
. ' \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\'' . $nulls . '),' . "\n"
. ' (\'04-3-06\', \'Absaugkatheter, CH06 grün\', NULL, \'0.13\', \'0.13\', NULL, NULL, \'1\','
. ' (\'04-3-06\', \'Absaugkatheter, CH06 grün\', NULL, \'0.13\', \'0,13\', NULL, NULL, \'1\','
. ' NULL, NULL,'
. ' NULL, \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls . '),' . "\n"
. ' (\'04-3-10\', \'Absaugkatheter, CH10 schwarz\', NULL, \'0.13\', \'0.13\', NULL, NULL, \'1\','
. ' (\'04-3-10\', \'Absaugkatheter, CH10 schwarz\', NULL, \'0.13\', \'0,13\', NULL, NULL, \'1\','
. ' NULL, NULL, NULL, \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls . '),' . "\n"
. ' (\'04-3-18\', \'Absaugkatheter, CH18 rot\', NULL, \'0.13\', \'0.13\', NULL, NULL, \'1\','
. ' (\'04-3-18\', \'Absaugkatheter, CH18 rot\', NULL, \'0.13\', \'0,13\', NULL, NULL, \'1\','
. ' NULL, NULL, NULL, \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls . '),' . "\n"
. ' (\'06-38\', \'Bakterienfilter\', NULL, \'1.25\', \'1.25\', NULL, NULL, \'1\', NULL, NULL, NULL,'
. ' (\'06-38\', \'Bakterienfilter\', NULL, \'1.25\', \'1,25\', NULL, NULL, \'1\', NULL, NULL, NULL,'
. ' \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls . '),' . "\n"
. ' (\'05-453\', \'Blockerspritze für Larynxtubus, Erwachsen\', NULL, \'2.6\', \'2.6\', NULL, NULL,'
. ' (\'05-453\', \'Blockerspritze für Larynxtubus, Erwachsen\', NULL, \'2.6\', \'2,6\', NULL, NULL,'
. ' \'1\', NULL, NULL, NULL, \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls . '),' . "\n"
. ' (\'04-402\', \'Absaugschlauch mit Fingertip für Accuvac\', NULL, \'1.7\', \'1.7\', NULL, NULL,'
. ' (\'04-402\', \'Absaugschlauch mit Fingertip für Accuvac\', NULL, \'1.7\', \'1,7\', NULL, NULL,'
. ' \'1\', NULL, NULL, NULL, \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls . '),' . "\n"
. ' (\'02-580\', \'Einmalbeatmungsbeutel, Erwachsen\', NULL, \'8.9\', \'8.9\', NULL, NULL,'
. ' (\'02-580\', \'Einmalbeatmungsbeutel, Erwachsen\', NULL, \'8.9\', \'8,9\', NULL, NULL,'
. ' \'1\', NULL, NULL, NULL, \'Stück\', \'nein\', \'nein\', NULL, NULL, NULL, NULL, \'ja\''
. $nulls
. $endOfSql,
. $endOfSql
. 'INSERT INTO `ODS_DB`.`Feuille 1` (`value`) VALUES ('
. '\'test@example.org\'),' . "\n"
. ' (\'123 45\'),' . "\n"
. ' (\'123 \'),' . "\n"
. ' (\'test@example.fr\'),' . "\n"
. ' (\'https://example.org\'),' . "\n"
. ' (\'example.txt\'),' . "\n"
. ' (\'\\\'Feuille 1\\\'!A1:A4\'),' . "\n"
. ' (\'1,50\'),' . "\n"
. ' (\'0.05\'),' . "\n"
. ' (\'true\'),' . "\n"
. ' (\'12\')'
. ($odsEmptyRowsMode ? '' : ',' . "\n" . ' (NULL)')
. ($odsEmptyRowsMode ? ';;' : ',' . "\n" . ' (NULL);;'),
$sql_query
);

View File

@ -1071,6 +1071,11 @@ class DbiDummy implements DbiExtension
. ' WHERE TABLE_SCHEMA = \'ODS_DB\' AND TABLE_NAME = \'Shop\'',
'result' => [],
],
[
'query' => 'SELECT TABLE_NAME FROM information_schema.VIEWS'
. ' WHERE TABLE_SCHEMA = \'ODS_DB\' AND TABLE_NAME = \'Feuille 1\'',
'result' => [],
],
[
'query' => 'SELECT TABLE_NAME FROM information_schema.VIEWS'
. ' WHERE TABLE_SCHEMA = \'ODS_DB\' AND TABLE_NAME = \'pma_bookmark\'',

File diff suppressed because one or more lines are too long