Dodanie właściwej konfiguracji dockera

This commit is contained in:
floriano committed 2026-09-26 20:56:57 +02:00
1 parent 6a225cb60c
commit d3fb703ed6
4364 files changed
+828806 -10

No files matched your search

+54
View File
@@ -0,0 +1,54 @@
<?php
/**
* Front controller for config view / download and clear
*/
declare(strict_types=1);
use PhpMyAdmin\Config\Forms\Setup\ConfigForm;
use PhpMyAdmin\Core;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Setup\ConfigGenerator;
use PhpMyAdmin\Url;
if (! defined('ROOT_PATH')) {
// phpcs:disable PSR1.Files.SideEffects
define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
// phpcs:enable
}
// phpcs:disable PSR1.Files.SideEffects
define('PHPMYADMIN', true);
// phpcs:enable
require ROOT_PATH . 'setup/lib/common.inc.php';
$form_display = new ConfigForm($GLOBALS['ConfigFile']);
$form_display->save('Config');
$response = ResponseRenderer::getInstance();
$response->disable();
if (isset($_POST['eol'])) {
$_SESSION['eol'] = $_POST['eol'] === 'unix' ? 'unix' : 'win';
}
if (isset($_POST['submit_clear']) && is_scalar($_POST['submit_clear']) ? $_POST['submit_clear'] : '') {
// Clear current config and return to main page
$GLOBALS['ConfigFile']->resetConfigData();
// drop post data
$response->generateHeader303('index.php' . Url::getCommonRaw());
exit;
}
if (isset($_POST['submit_download']) && is_scalar($_POST['submit_download']) ? $_POST['submit_download'] : '') {
// Output generated config file
Core::downloadHeader('config.inc.php', 'text/plain');
$response->disable();
echo ConfigGenerator::getConfigFile($GLOBALS['ConfigFile']);
exit;
}
// Show generated config file in a <textarea>
$response->generateHeader303('index.php' . Url::getCommonRaw(['page' => 'config']));
exit;
+86
View File
@@ -0,0 +1,86 @@
<?php
/**
* Front controller for setup script
*/
declare(strict_types=1);
use PhpMyAdmin\Controllers\Setup\ConfigController;
use PhpMyAdmin\Controllers\Setup\FormController;
use PhpMyAdmin\Controllers\Setup\HomeController;
use PhpMyAdmin\Controllers\Setup\ServersController;
use PhpMyAdmin\Core;
use PhpMyAdmin\Header;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
if (! defined('ROOT_PATH')) {
// phpcs:disable PSR1.Files.SideEffects
define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
// phpcs:enable
}
/** @psalm-suppress InvalidGlobal */
global $cfg;
// phpcs:disable PSR1.Files.SideEffects
define('PHPMYADMIN', true);
// phpcs:enable
require ROOT_PATH . 'setup/lib/common.inc.php';
if (@file_exists(CONFIG_FILE) && ! $cfg['DBG']['demo']) {
Core::fatalError(__('Configuration already exists, setup is disabled!'));
}
$page = 'index';
if (isset($_GET['page']) && in_array($_GET['page'], ['form', 'config', 'servers'], true)) {
$page = $_GET['page'];
}
Core::noCacheHeader();
// Sent security-related headers
(new Header())->sendHttpHeaders();
if ($page === 'form') {
echo (new FormController($GLOBALS['ConfigFile'], new Template()))([
'formset' => $_GET['formset'] ?? null,
]);
return;
}
if ($page === 'config') {
echo (new ConfigController($GLOBALS['ConfigFile'], new Template()))([
'formset' => $_GET['formset'] ?? null,
'eol' => $_GET['eol'] ?? null,
]);
return;
}
if ($page === 'servers') {
$controller = new ServersController($GLOBALS['ConfigFile'], new Template());
if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && ($_SERVER['REQUEST_METHOD'] ?? 'GET') === 'POST') {
$controller->destroy([
'id' => $_GET['id'] ?? null,
]);
header('Location: index.php' . Url::getCommonRaw());
return;
}
echo $controller->index([
'formset' => $_GET['formset'] ?? null,
'mode' => $_GET['mode'] ?? null,
'id' => $_GET['id'] ?? null,
]);
return;
}
echo (new HomeController($GLOBALS['ConfigFile'], new Template()))([
'formset' => $_GET['formset'] ?? null,
'version_check' => $_GET['version_check'] ?? null,
]);
+66
View File
@@ -0,0 +1,66 @@
<?php
declare(strict_types=1);
use PhpMyAdmin\Common;
use PhpMyAdmin\Config\ConfigFile;
use PhpMyAdmin\DatabaseInterface;
if (PHP_VERSION_ID < 70205) {
die('<p>PHP 7.2.5+ is required.</p><p>Currently installed version is: ' . PHP_VERSION . '</p>');
}
if (! defined('PHPMYADMIN')) {
exit;
}
require_once ROOT_PATH . 'libraries/constants.php';
/**
* Activate autoloader
*/
if (! @is_readable(AUTOLOAD_FILE)) {
die(
'<p>File <samp>' . AUTOLOAD_FILE . '</samp> missing or not readable.</p>'
. '<p>Most likely you did not run Composer to '
. '<a href="https://docs.phpmyadmin.net/en/latest/setup.html#installing-from-git">'
. 'install library files</a>.</p>'
);
}
require AUTOLOAD_FILE;
chdir('..');
$isMinimumCommon = true;
Common::run();
// use default error handler
restore_error_handler();
// Save current language in a cookie, required since we set $isMinimumCommon
$GLOBALS['config']->setCookie('pma_lang', (string) $GLOBALS['lang']);
$GLOBALS['config']->set('is_setup', true);
$GLOBALS['ConfigFile'] = new ConfigFile();
$GLOBALS['ConfigFile']->setPersistKeys(
[
'DefaultLang',
'ServerDefault',
'UploadDir',
'SaveDir',
'Servers/1/verbose',
'Servers/1/host',
'Servers/1/port',
'Servers/1/socket',
'Servers/1/auth_type',
'Servers/1/user',
'Servers/1/password',
]
);
$GLOBALS['dbi'] = DatabaseInterface::load();
// allows for redirection even after sending some data
ob_start();
+548
View File
@@ -0,0 +1,548 @@
/* global styles */
body {
margin-right: auto;
min-width: 960px;
padding-bottom: 1em;
color: #444;
font: 0.8em sans-serif;
background-image: linear-gradient(to right, #f3f3f3, #dadcde);
background-position: 180px 0;
background-repeat: repeat-y;
background-color: #f3f3f3;
background-size: 25px auto;
}
input,
button,
select,
textarea,
th,
td {
font: 1em sans-serif;
}
img {
border: 0;
}
a {
&,
&:link,
&:visited,
&:active {
text-decoration: none;
color: #235a81;
cursor: pointer;
outline: none;
}
&:hover {
text-decoration: underline;
color: #235a81;
}
}
h1 {
font-size: 1.5em;
}
/* language selection box */
#select_lang {
position: absolute;
right: 1em;
top: 1em;
}
/* menu */
#menu {
float: left;
width: 220px;
font-size: 1.1em;
ul {
margin: 1em 1em 1em 0.5em;
padding: 0;
list-style: none;
}
li a {
padding: 0.5em 0.6em;
margin-right: 0.6em;
display: block;
color: #333;
text-decoration: none;
&:hover,
&:active,
&.active {
background-color: #e4e4e4;
}
}
}
/* page contents and footer layout */
#page {
margin-left: 220px;
margin-right: 25px;
}
#footer {
margin-top: 1em;
a {
margin-right: 0.5em;
text-decoration: none;
font-size: small;
}
}
/* phpMyAdmin logo colors */
.blue {
color: #669;
}
.orange {
color: #f90;
}
.red {
color: #c00;
}
/* main page messages */
/* message boxes: error, confirmation */
.success h4,
.notice h4,
div.error h4 {
border-bottom: 1px solid;
font-weight: bold;
margin: 0 0 0.2em 0;
}
div.success,
div.notice,
div.error {
margin: 0.5em 0 1.3em 0;
border: 1px solid;
background: no-repeat 10px 10px;
padding: 10px 10px 10px 25px;
border-radius: 5px;
box-shadow: 0 1px 1px #fff inset;
}
.success a,
.notice a,
.error a {
text-decoration: underline;
}
.success {
color: #000;
background-color: #ebf8a4;
}
h1.success,
div.success {
border-color: #a2d246;
background: url(../themes/pmahomme/img/s_success.png) no-repeat 5px 10px;
}
.success h4 {
border-color: #0f0;
}
.notice {
color: #000;
background-color: #e8eef1;
}
h1.notice,
div.notice {
border-color: #3a6c7e;
background: url(../themes/pmahomme/img/s_notice.png) no-repeat 5px 10px;
}
.notice h4 {
border-color: #ffb10a;
}
.error {
border: 1px solid maroon !important;
color: #000;
background: pink;
}
h1.error,
div.error {
border-color: #333;
background: url(../themes/pmahomme/img/s_error.png) no-repeat 5px 10px;
}
div.error h4 {
border-color: #f00;
}
div.notice[id^=version_check] {
border-color: #002dff;
background-color: #eef;
}
div.notice[id^=version_check] h4 {
border-color: #002dff;
}
/* "restore default value" and "set value: foo" buttons */
.restore-default img,
.set-value img {
margin-bottom: -3px;
}
.userprefs-comment {
cursor: help;
float: right;
}
.form {
border: 2px #dee1ff solid;
}
table caption,
table th,
table td {
text-shadow: 0 1px 0 #fff;
}
fieldset {
margin-top: 1em;
border-radius: 4px 4px 0 0;
border: #aaa solid 1px;
padding: 1.5em;
background: #eee;
text-shadow: 0 1px 0 #fff;
box-shadow: 1px 1px 2px #fff inset;
&.optbox {
padding: 0;
}
fieldset {
margin: 0.8em;
border: 1px solid #aaa;
background: #e8e8e8;
}
legend {
float: none;
width: auto;
font-size: 0.8rem;
font-weight: bold;
color: #444;
padding: 5px 10px;
border-radius: 2px;
border: 1px solid #aaa;
background-color: #fff;
box-shadow: 3px 3px 15px #bbb;
}
p {
margin: 0;
padding: 0.5em;
background: #fff;
border-top: 0;
}
.errors { /* form error list */
margin: 0 -2px 1em -2px;
padding: 0.5em 1.5em;
background: #fbead9;
border-color: #c83838;
border-style: solid;
border-width: 1px 0;
list-style: none;
font-family: sans-serif;
font-size: small;
}
.inline_errors { /* field error list */
margin: 0.3em 0.3em 0.3em 0;
padding: 0;
list-style: none;
color: #9a0000;
font-size: small;
}
th {
width: 40%;
min-width: 350px;
padding: 0.3em 0.3em 0.3em 0.5em;
text-align: left;
font-weight: bold;
vertical-align: top;
}
&.simple {
th {
width: auto;
min-width: 0;
}
th,
td {
border-top: none;
border-bottom: 1px #555 dotted;
}
.lastrow {
border: 0;
}
}
.doc {
margin-left: 1em;
}
td {
padding-top: 0.3em;
vertical-align: top;
}
td.userprefs-allow {
padding: 0;
vertical-align: middle;
text-align: center;
width: 3em;
&:hover {
cursor: pointer;
background-color: #eee;
}
}
th small {
display: block;
font-weight: normal;
font-family: sans-serif;
font-size: x-small;
color: #666;
}
.group-header th {
background: #eaedff;
border: none;
}
.group-field-1 th,
.group-header-2 th {
padding-left: 1em;
}
.group-field-2 th,
.group-header-3 th {
padding-left: 2em;
}
.group-field-3 th {
padding-left: 3em;
}
}
fieldset th,
fieldset td,
.form .lastrow {
border-top: 1px solid #d5d5d5;
}
fieldset .lastrow,
.form .lastrow {
border-top: 1px #000 solid;
background: #d3dce3;
padding: 0.5em;
text-align: center;
}
input[type=text],
input[type=password],
input[type=number] {
border-radius: 2px;
box-shadow: 0 1px 2px #ddd;
background: white;
border: 1px solid #aaa;
color: #555;
padding: 4px;
margin: 6px;
}
input[type=submit],
button[type=submit]:not(.mult_submit) {
font-weight: bold !important;
}
input[type=submit],
button[type=submit]:not(.mult_submit),
input[type=reset],
input[name=submit_reset],
input.button {
margin-left: 14px;
border: 1px solid #aaa;
padding: 3px 7px;
color: #111;
text-decoration: none;
background-color: #ddd;
border-radius: 12px;
text-shadow: 0 1px 0 #fff;
background-size: 100% 100%;
background-image: linear-gradient(to top, #fff, #ccc);
&:hover {
position: relative;
background-size: 100% 100%;
background-image: linear-gradient(to top, #ccc, #ddd);
cursor: pointer;
}
&:active {
position: relative;
top: 1px;
left: 1px;
}
}
input[type="checkbox"],
input[type="radio"] {
vertical-align: -11%;
}
select {
border-radius: 2px;
box-shadow: 0 1px 2px #ddd;
border: 1px solid #aaa;
color: #333;
padding: 3px;
background: white;
margin: 6px;
}
/* form elements */
span.checkbox {
padding: 2px;
display: inline-block;
}
.custom { /* customized field */
background: #ffc;
}
.checkbox.custom {
padding: 1px;
border: 1px #edec90 solid;
}
.field-error {
border-color: #c11 !important;
}
.field-comment {
position: relative;
}
.field-comment-mark {
cursor: help;
padding: 0 0.2em;
font-weight: bold;
font-style: italic;
}
.field-comment-warning {
color: #a00;
}
.green { /* default form button */
color: #080 !important;
}
table.datatable {
margin: 0.5em 0 1em;
th {
padding: 0 1em 0 0.5em;
border-bottom: 1px #999 solid;
text-align: left;
}
td {
padding: 1px 0.5em;
border-bottom: 1px #dee1ff solid;
}
}
/* textarea with config file's contents */
#textconfig {
width: 100%;
border: 0;
}
/* error list */
dd {
margin-left: 0.5em;
&::before {
content: "▸ ";
}
}
/* links on failed validation page, when saving a form */
a.btn {
padding: 1px 5px;
text-decoration: none;
background: #e2e8ff;
border: 1px #a6c8ff solid;
border-top-color: #afd0ff;
border-left-color: #afd0ff;
font-weight: bold;
&:hover,
&:active {
background: #e6f5ff;
color: #004c96;
}
}
.hide {
display: none;
}
// Icons
.icon {
margin: 0 0 0 0.3em;
padding: 0;
width: 16px;
height: 16px;
}
.ic_b_edit {
background-image: url('../themes/pmahomme/img/b_edit.png');
}
.ic_b_help {
background-image: url('../themes/pmahomme/img/b_help.png');
}
.ic_b_tblops {
background-image: url('../themes/pmahomme/img/b_tblops.png');
}
.ic_s_reload {
background-image: url('../themes/pmahomme/img/s_reload.png');
}
+2
View File
@@ -0,0 +1,2 @@
@import "../../themes/bootstrap/scss/bootstrap";
@import "custom";
+3
View File
@@ -0,0 +1,3 @@
:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}*,*::before,*::after{box-sizing:border-box}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + 0.6vw)}@media(min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + 0.3vw)}@media(min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:Line truncated
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXZhcmlhbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2xhYmVscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1jb250cm9sLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZHJvcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yZWQtbGlua3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9faWNvbi1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fcmF0aW8uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0YWNrcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL190ZXh0LXRydW5jYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192ci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdXRpbGl0aWVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsInNjc3MvX2N1c3RvbS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQ0FBLGtCQVNJLENBQUEsb0JBQUEsQ0FBQSxvQkFBQSxDQUFBLGtCQUFBLENBQUEsaUJBQUEsQ0FBQSxvQkFBQSxDQUFBLG9CQUFBLENBQUEsbUJBQUEsQ0FBQSxrQkFBQSxDQUFBLGtCQUFBLENBQUEsZ0JBQUEsQ0FBQSxnQkFBQSxDQUFBLGtCQUFBLENBQUEsdUJBQUEsQ0FBQSxzQkFJQSxDQUFBLHNCQUFBLENBQUEsc0JBQUEsQ0FBQSxzQkFBQSxDQUFBLHNCQUFBLENBQUEsc0JBQUEsQ0FBQSxzQkFBQSxDQUFBLHNCQUFBLENBQUEsc0JBQUEsQ0FBQSxxQkFJQSxDQUFBLHVCQUFBLENBQUEscUJBQUEsQ0FBQSxrQkFBQSxDQUFBLHFCQUFBLENBQUEsb0JBQUEsQ0FBQSxtQkFBQSxDQUFBLGtCQUFBLENBQUEsOEJBSUEsQ0FBQSxpQ0FBQSxDQUFBLDZCQUFBLENBQUEsMkJBQUEsQ0FBQSw2QkFBQSxDQUFBLDRCQUFBLENBQUEsNkJBQUEsQ0FBQSx5QkFBQSxDQUFBLG1DQUlBLENBQUEscUNBQUEsQ0FBQSxtQLine truncated
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../node_modules/bootstrap/scss/_root.scss","../node_modules/bootstrap/scss/vendor/_rfs.scss","../node_modules/bootstrap/scss/_reboot.scss","../node_modules/bootstrap/scss/_variables.scss","../node_modules/bootstrap/scss/mixins/_border-radius.scss","../node_modules/bootstrap/scss/_type.scss","../node_modules/bootstrap/scss/mixins/_lists.scss","../node_modules/bootstrap/scss/_containers.scss","../node_modules/bootstrap/scss/mixins/_container.scss","../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../node_modules/bootstrap/scss/_grid.scss","../node_modules/bootstrap/scss/mixins/_grid.scss","../node_modules/bootstrap/scss/_tables.scss","../node_modules/bootstrap/scss/mixins/_table-variants.scss","../node_modules/bootstrap/scss/forms/_labels.scss","../node_modules/bootstrap/scss/forms/_form-text.scss","../node_modules/bootstrap/scss/forms/_form-control.scss","../node_modules/bootstrap/scss/mixins/_transition.scss","../node_modules/bootstrap/scss/mixins/_gradients.scss","../node_modules/bootstrap/scss/forms/_form-select.scss","../node_modules/bootstrap/scss/forms/_form-check.scss","../node_modules/bootstrap/scss/forms/_form-range.scss","../node_modules/bootstrap/scss/forms/_floating-labels.scss","../node_modules/bootstrap/scss/forms/_input-group.scss","../node_modules/bootstrap/scss/mixins/_forms.scss","../node_modules/bootstrap/scss/_buttons.scss","../node_modules/bootstrap/scss/mixins/_buttons.scss","../node_modules/bootstrap/scss/_transitions.scss","../node_modules/bootstrap/scss/_dropdown.scss","../node_modules/bootstrap/scss/mixins/_caret.scss","../node_modules/bootstrap/scss/_button-group.scss","../node_modules/bootstrap/scss/_nav.scss","../node_modules/bootstrap/scss/_navbar.scss","../node_modules/bootstrap/scss/_card.scss","../node_modules/bootstrap/scss/_accordion.scss","../node_modules/bootstrap/scss/_breadcrumb.scss","../node_modules/bootstrap/scss/_pagination.scss","../node_modules/bootstrap/scss/mixins/_pagination.scss","../node_modules/bootstrap/scss/_badge.scss","../node_modules/bootstrap/scss/_alert.scss","../node_modules/bootstrap/scss/_list-group.scss","../node_modules/bootstrap/scss/_close.scss","../node_modules/bootstrap/scss/_modal.scss","../node_modules/bootstrap/scss/mixins/_backdrop.scss","../node_modules/bootstrap/scss/_spinners.scss","../node_modules/bootstrap/scss/mixins/_clearfix.scss","../node_modules/bootstrap/scss/helpers/_color-bg.scss","../node_modules/bootstrap/scss/helpers/_colored-links.scss","../node_modules/bootstrap/scss/helpers/_focus-ring.scss","../node_modules/bootstrap/scss/helpers/_icon-link.scss","../node_modules/bootstrap/scss/helpers/_ratio.scss","../node_modules/bootstrap/scss/helpers/_position.scss","../node_modules/bootstrap/scss/helpers/_stacks.scss","../node_modules/bootstrap/scss/helpers/_visually-hidden.scss","../node_modules/bootstrap/scss/mixins/_visually-hidden.scss","../node_modules/bootstrap/scss/helpers/_stretched-link.scss","../node_modules/bootstrap/scss/helpers/_text-truncation.scss","../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../node_modules/bootstrap/scss/helpers/_vr.scss","../node_modules/bootstrap/scss/mixins/_utilities.scss","../node_modules/bootstrap/scss/utilities/_api.scss","scss/_custom.scss"],"names":[],"mappings":"CAAA,4BASI,mRAIA,+MAIA,yKAIA,8OAIA,yRAIA,yPAIA,yRAGF,8BACA,wBAMA,sNACA,0GACA,0FAOA,iDC2OI,oBALI,KDpOR,2BACA,2BAKA,yBACA,gCACA,mBACA,gCAEA,0BACA,iCAEA,6CACA,qCACA,2BACA,qCAEA,2CACA,oCACA,0BACA,oCAGA,4BAEA,yBACA,kCACA,gCAEA,+BACA,uCAMA,yBACA,8BACA,2BAGA,uBACA,yBACA,2BACA,oDAEA,6BACA,+BACA,8BACA,4BACA,6BACA,oDACA,+BAGA,mDACA,4DACA,qDACA,4DAIA,+BACA,8BACA,gDAIA,+BACA,sCACA,iCACA,wCEhHF,qBAGE,sBAeE,8CANJ,MAOM,wBAcN,KACE,SACA,uCD6OI,UALI,yBCtOR,uCACA,uCACA,2BACA,qCACA,mCACA,8BACA,0CASF,GACE,cACA,MCmnB4B,QDlnB5B,SACA,wCACA,QCynB4B,ID/mB9B,0CACE,aACA,cCwjB4B,MDrjB5B,YCwjB4B,IDvjB5B,YCwjB4B,IDvjB5B,8BAGF,ODuMQ,iCA5JJ,0BC3CJ,OD8MQ,kBCzMR,ODkMQ,iCA5JJ,0BCtCJ,ODyMQ,gBCpMR,OD6LQ,+BA5JJ,0BCjCJ,ODoMQ,mBC/LR,ODwLQ,iCA5JJ,0BC5BJ,OD+LQ,kBC1LR,OD+KM,UALI,QCrKV,OD0KM,UALI,KC1JV,EACE,aACA,cCwV0B,KD9U5B,YACE,iCACA,YACA,8BAMF,QACE,mBACA,kBACA,oBAMF,MAEE,kBAGF,SAGE,aACA,mBAGF,wBAIE,gBAGF,GACE,YC6b4B,IDxb9B,GACE,oBACA,cAMF,WACE,gBAQF,SAEE,YCsa4B,OD9Z9B,aD6EM,UALI,QCjEV,WACE,QCqf4B,QDpf5B,gCACA,wCASF,QAEE,kBDwDI,UALI,OCjDR,cACA,wBAGF,mBACA,eAKA,EACE,gEACA,gBCgNwC,UD9MxC,QACE,oDAWF,4DAEE,cACA,qBAOJ,kBAIE,YCgV4B,yBFlUxB,UALI,ICDV,IACE,cACA,aACA,mBACA,cDEI,UALI,QCQR,SDHI,UALI,QCUN,cACA,kBAIJ,KDVM,UALI,QCiBR,2BACA,qBAGA,OACE,cAIJ,IACE,yBDtBI,UALI,QC6BR,MC25CkC,kBD15ClC,iBC25CkC,qBChsDhC,qBFwSF,QACE,UD7BE,UALI,IC6CV,OACE,gBAMF,QAEE,sBAQF,MACE,oBACA,yBAGF,QACE,YC4X4B,MD3X5B,eC2X4B,MD1X5B,MC4Z4B,0BD3Z5B,gBAOF,GAEE,mBACA,gCAGF,2BAME,qBACA,mBACA,eAQF,MACE,qBAMF,OAEE,gBAQF,iCACE,UAKF,sCAKE,SACA,oBD5HI,UALI,QCmIR,oBAIF,cAEE,oBAKF,cACE,eAGF,OAGE,iBAGA,gBACE,UAOJ,0IACE,wBAQF,gDAIE,0BAGE,4GACE,eAON,mBACE,UACA,kBAKF,SACE,gBAUF,SACE,YACA,UACA,SACA,SAQF,OACE,WACA,WACA,UACA,cCmN4B,MDjN5B,oBDnNM,iCA5JJ,0BCyWLine truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

+43
View File
@@ -0,0 +1,43 @@
<?php
/**
* Validation callback.
*/
declare(strict_types=1);
use PhpMyAdmin\Config\Validator;
use PhpMyAdmin\Core;
if (! defined('ROOT_PATH')) {
// phpcs:disable PSR1.Files.SideEffects
define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
// phpcs:enable
}
// phpcs:disable PSR1.Files.SideEffects
define('PHPMYADMIN', true);
// phpcs:enable
require ROOT_PATH . 'setup/lib/common.inc.php';
Core::headerJSON();
$ids = isset($_POST['id']) && is_scalar($_POST['id']) ? (string) $_POST['id'] : '';
$vids = explode(',', $ids);
$vals = isset($_POST['values']) && is_scalar($_POST['values']) ? (string) $_POST['values'] : '';
$values = json_decode($vals);
if (! ($values instanceof stdClass)) {
Core::fatalError(__('Wrong data'));
}
$values = (array) $values;
$result = Validator::validate($GLOBALS['ConfigFile'], $vids, $values, true);
if ($result === false) {
$result = sprintf(
__('Wrong data or no validation for %s'),
implode(',', $vids)
);
}
echo $result !== true ? json_encode($result) : '';