Convert SendErrorReports to use $config

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
This commit is contained in:
Kamil Tekiela 2025-01-03 02:13:25 +00:00
parent 9798216e6f
commit 0d8ed00cc2
10 changed files with 18 additions and 27 deletions

View File

@ -18981,12 +18981,6 @@ parameters:
count: 4
path: tests/unit/Error/ErrorHandlerTest.php
-
message: '#^Property PhpMyAdmin\\Config\:\:\$settings \(array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\) does not accept array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\.$#'
identifier: assign.propertyType
count: 1
path: tests/unit/Error/ErrorHandlerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:

View File

@ -11412,9 +11412,6 @@
<code><![CDATA[addErrorProvider]]></code>
<code><![CDATA[providerForTestHandleError]]></code>
</PossiblyUnusedMethod>
<PropertyTypeCoercion>
<code><![CDATA[$config->settings]]></code>
</PropertyTypeCoercion>
</file>
<file src="tests/unit/Error/ErrorReportTest.php">
<DeprecatedMethod>

View File

@ -87,7 +87,7 @@ final class ErrorReportController implements InvocableController
/* Message to show to the user */
if ($success) {
if ($automatic === 'true' || $config->settings['SendErrorReports'] === 'always') {
if ($automatic === 'true' || $config->config->SendErrorReports === 'always') {
$msg = __(
'An error has been detected and an error report has been '
. 'automatically submitted based on your settings.',
@ -134,7 +134,7 @@ final class ErrorReportController implements InvocableController
}
}
} elseif ($request->hasBodyParam('get_settings')) {
$this->response->addJSON('report_setting', $config->settings['SendErrorReports']);
$this->response->addJSON('report_setting', $config->config->SendErrorReports);
} elseif ($exceptionType === 'js') {
$this->response->addJSON('report_modal', $this->errorReport->getEmptyModal());
$this->response->addHTML($this->errorReport->getForm());

View File

@ -370,7 +370,7 @@ class ErrorHandler
$retval = '';
// display errors if SendErrorReports is set to 'ask'.
$config = Config::getInstance();
if ($config->settings['SendErrorReports'] !== 'never') {
if ($config->config->SendErrorReports !== 'never') {
foreach ($this->getErrors() as $error) {
if ($error->isDisplayed()) {
continue;
@ -382,11 +382,11 @@ class ErrorHandler
$retval .= $this->getDispUserErrors();
}
if ($config->settings['SendErrorReports'] !== 'never' && $this->countActualErrors() !== 0) {
if ($config->config->SendErrorReports !== 'never' && $this->countActualErrors() !== 0) {
// add report button.
$retval .= '<form method="post" action="' . Url::getFromRoute('/error-report')
. '" id="pma_report_errors_form"';
if ($config->settings['SendErrorReports'] === 'always') {
if ($config->config->SendErrorReports === 'always') {
// in case of 'always', generate 'invisible' form.
$retval .= ' class="hide"';
}
@ -406,7 +406,7 @@ class ErrorHandler
. __('Automatically send report next time')
. '</label>';
if ($config->settings['SendErrorReports'] === 'ask') {
if ($config->config->SendErrorReports === 'ask') {
// add ignore buttons
$retval .= '<input type="submit" value="'
. __('Ignore')
@ -472,7 +472,7 @@ class ErrorHandler
*/
public function hasDisplayErrors(): bool
{
if (Config::getInstance()->settings['SendErrorReports'] !== 'never') {
if (Config::getInstance()->config->SendErrorReports !== 'never') {
return $this->getErrors() !== [];
}
@ -499,7 +499,7 @@ class ErrorHandler
*/
public function hasErrorsForPrompt(): bool
{
return Config::getInstance()->settings['SendErrorReports'] !== 'never'
return Config::getInstance()->config->SendErrorReports !== 'never'
&& $this->countActualErrors() !== 0;
}
@ -519,7 +519,7 @@ class ErrorHandler
$response = ResponseRenderer::getInstance();
$jsCode = '';
$config = Config::getInstance();
if ($config->settings['SendErrorReports'] === 'always') {
if ($config->config->SendErrorReports === 'always') {
if ($response->isAjax()) {
// set flag for automatic report submission.
$response->addJSON('sendErrorAlways', '1');
@ -534,7 +534,7 @@ class ErrorHandler
scrollTop:$(document).height()
}, "slow");';
}
} elseif ($config->settings['SendErrorReports'] === 'ask') {
} elseif ($config->config->SendErrorReports === 'ask') {
//ask user whether to submit errors or not.
if (! $response->isAjax()) {
// js code to show appropriate msgs, event binding & focusing.

View File

@ -265,7 +265,7 @@ class ErrorReport
'report_data' => $reportData,
'hidden_inputs' => Url::getHiddenInputs(),
'hidden_fields' => null,
'allowed_to_send_error_reports' => $this->config->get('SendErrorReports') !== 'never',
'allowed_to_send_error_reports' => $this->config->config->SendErrorReports !== 'never',
];
if ($reportData !== []) {
@ -278,7 +278,7 @@ class ErrorReport
public function getEmptyModal(): string
{
return $this->template->render('error/report_modal', [
'allowed_to_send_error_reports' => $this->config->get('SendErrorReports') !== 'never',
'allowed_to_send_error_reports' => $this->config->config->SendErrorReports !== 'never',
]);
}
}

View File

@ -228,7 +228,7 @@ class Header
}
}
if ($this->config->settings['SendErrorReports'] !== 'never') {
if ($this->config->config->SendErrorReports !== 'never') {
$this->scripts->addFile('vendor/tracekit.js');
$this->scripts->addFile('error_report.js');
}

View File

@ -52,7 +52,7 @@ class ErrorHandlerTest extends AbstractTestCase
$_SESSION['errors'] = [];
$config = Config::getInstance();
$config->set('environment', 'production');
$config->settings['SendErrorReports'] = 'always';
$config->set('SendErrorReports', 'always');
}
/**
@ -97,7 +97,7 @@ class ErrorHandlerTest extends AbstractTestCase
): void {
$config = new Config();
$config->set('environment', 'production');
$config->settings['SendErrorReports'] = $reportErrorConfig;
$config->set('SendErrorReports', $reportErrorConfig);
Config::$instance = $config;
$error = new Error($errorNumber, $errorMessage, $errorFile, $errorLine);

View File

@ -71,7 +71,7 @@ class HeaderTest extends AbstractTestCase
Current::$message = null;
$config = Config::getInstance();
$config->settings['CodemirrorEnable'] = false;
$config->settings['SendErrorReports'] = 'never';
$config->set('SendErrorReports', 'never');
$config->settings['enable_drag_drop_import'] = false;
$config->settings['DisableShortcutKeys'] = true;
$dbi = $this->createDatabaseInterface();

View File

@ -85,7 +85,7 @@ class InsertEditTest extends AbstractTestCase
$config->settings['CharTextareaRows'] = 5;
$config->settings['CharTextareaCols'] = 6;
$config->settings['AllowThirdPartyFraming'] = false;
$config->settings['SendErrorReports'] = 'ask';
$config->set('SendErrorReports', 'ask');
$config->settings['DefaultTabDatabase'] = '/database/structure';
$config->settings['ShowDatabasesNavigationAsTree'] = true;
$config->settings['DefaultTabTable'] = '/sql';

View File

@ -49,7 +49,7 @@ class SqlTest extends AbstractTestCase
Current::$table = 'table';
$config = Config::getInstance();
$config->settings['AllowThirdPartyFraming'] = false;
$config->settings['SendErrorReports'] = 'ask';
$config->set('SendErrorReports', 'ask');
$config->settings['ServerDefault'] = 1;
$config->settings['DefaultTabDatabase'] = '/database/structure';
$config->settings['DefaultTabTable'] = '/sql';