aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/error_report.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/error_report.php')
-rw-r--r--srcs/phpmyadmin/error_report.php140
1 files changed, 0 insertions, 140 deletions
diff --git a/srcs/phpmyadmin/error_report.php b/srcs/phpmyadmin/error_report.php
deleted file mode 100644
index 9882569..0000000
--- a/srcs/phpmyadmin/error_report.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * Handle error report submission
- *
- * @package PhpMyAdmin
- */
-declare(strict_types=1);
-
-use PhpMyAdmin\ErrorReport;
-use PhpMyAdmin\Message;
-use PhpMyAdmin\Response;
-use PhpMyAdmin\UserPreferences;
-use PhpMyAdmin\Utils\HttpRequest;
-
-if (! defined('ROOT_PATH')) {
- define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR);
-}
-
-require_once ROOT_PATH . 'libraries/common.inc.php';
-
-if (! isset($_POST['exception_type'])
- || ! in_array($_POST['exception_type'], ['js', 'php'])
-) {
- die('Oops, something went wrong!!');
-}
-
-$response = Response::getInstance();
-
-/** @var ErrorReport $errorReport */
-$errorReport = $containerBuilder->get('error_report');
-
-if (isset($_POST['send_error_report'])
- && ($_POST['send_error_report'] == true
- || $_POST['send_error_report'] == '1')
-) {
- if ($_POST['exception_type'] == 'php') {
- /**
- * Prevent infinite error submission.
- * Happens in case error submissions fails.
- * If reporting is done in some time interval,
- * just clear them & clear json data too.
- */
- if (isset($_SESSION['prev_error_subm_time'])
- && isset($_SESSION['error_subm_count'])
- && $_SESSION['error_subm_count'] >= 3
- && ($_SESSION['prev_error_subm_time'] - time()) <= 3000
- ) {
- $_SESSION['error_subm_count'] = 0;
- $_SESSION['prev_errors'] = '';
- $response->addJSON('stopErrorReportLoop', '1');
- } else {
- $_SESSION['prev_error_subm_time'] = time();
- $_SESSION['error_subm_count'] = (
- isset($_SESSION['error_subm_count'])
- ? ($_SESSION['error_subm_count'] + 1)
- : 0
- );
- }
- }
- $reportData = $errorReport->getData($_POST['exception_type']);
- // report if and only if there were 'actual' errors.
- if (count($reportData) > 0) {
- $server_response = $errorReport->send($reportData);
- if (! is_string($server_response)) {
- $success = false;
- } else {
- $decoded_response = json_decode($server_response, true);
- $success = ! empty($decoded_response) ?
- $decoded_response["success"] : false;
- }
-
- /* Message to show to the user */
- if ($success) {
- if ((isset($_POST['automatic'])
- && $_POST['automatic'] === "true")
- || $GLOBALS['cfg']['SendErrorReports'] == 'always'
- ) {
- $msg = __(
- 'An error has been detected and an error report has been '
- . 'automatically submitted based on your settings.'
- );
- } else {
- $msg = __('Thank you for submitting this report.');
- }
- } else {
- $msg = __(
- 'An error has been detected and an error report has been '
- . 'generated but failed to be sent.'
- )
- . ' '
- . __(
- 'If you experience any '
- . 'problems please submit a bug report manually.'
- );
- }
- $msg .= ' ' . __('You may want to refresh the page.');
-
- /* Create message object */
- if ($success) {
- $msg = Message::notice($msg);
- } else {
- $msg = Message::error($msg);
- }
-
- /* Add message to response */
- if ($response->isAjax()) {
- if ($_POST['exception_type'] == 'js') {
- $response->addJSON('message', $msg);
- } else {
- $response->addJSON('errSubmitMsg', $msg);
- }
- } elseif ($_POST['exception_type'] == 'php') {
- $jsCode = 'Functions.ajaxShowMessage("<div class=\"error\">'
- . $msg
- . '</div>", false);';
- $response->getFooter()->getScripts()->addCode($jsCode);
- }
-
- if ($_POST['exception_type'] == 'php') {
- // clear previous errors & save new ones.
- $GLOBALS['error_handler']->savePreviousErrors();
- }
-
- /* Persist always send settings */
- if (isset($_POST['always_send'])
- && $_POST['always_send'] === "true"
- ) {
- $userPreferences = new UserPreferences();
- $userPreferences->persistOption("SendErrorReports", "always", "ask");
- }
- }
-} elseif (! empty($_POST['get_settings'])) {
- $response->addJSON('report_setting', $GLOBALS['cfg']['SendErrorReports']);
-} elseif ($_POST['exception_type'] == 'js') {
- $response->addHTML($errorReport->getForm());
-} else {
- // clear previous errors & save new ones.
- $GLOBALS['error_handler']->savePreviousErrors();
-}