diff options
Diffstat (limited to 'srcs/phpmyadmin/error_report.php')
| -rw-r--r-- | srcs/phpmyadmin/error_report.php | 140 |
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(); -} |
