/** * generates the error report form to collect user description and preview the * report before being sent * * @return String the form */ function PMA_getErrorReportForm() { $html = ""; $html .= '<form action="error_report.php" method="post" name="report_frm"' . ' id="report_frm" class="ajax">' . '<fieldset style="padding-top:0px">'; $html .= '<p>' . __('phpMyAdmin has encountered an error. We have collected data about' . ' this error as well as information about relevant configuration' . ' settings to send to the phpMyAdmin team to help us in' . ' debugging the problem.') . '</p>'; $html .= '<div class="label"><label><p>' . __('You may examine the data in the error report:') . '</p></label></div>' . '<pre class="report-data">' . htmlspecialchars(PMA_getPrettyReportData()) . '</pre>'; $html .= '<div class="label"><label><p>' . __('Please explain the steps that lead to the error:') . '</p></label></div>' . '<textarea class="report-description" name="description"' . 'id="report_description"></textarea>'; $html .= '<input type="checkbox" name="always_send"' . ' id="always_send_checkbox"/>' . '<label for="always_send_checkbox">' . __('Automatically send report next time') . '</label>'; $html .= '</fieldset>'; $html .= PMA_URL_getHiddenInputs(); $reportData = PMA_getReportData(); if (!empty($reportData)) { $html .= PMA_getHiddenFields($reportData); } $html .= '</form>'; return $html; }
/** * 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 = PMA_getReportData($_REQUEST['exception_type']); // report if and only if there were 'actual' errors. if (count($reportData) > 0) { $server_response = PMA_sendErrorReport($reportData); if ($server_response === false) { $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($_REQUEST['automatic']) && $_REQUEST['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.');
/** * generates the error report form to collect user description and preview the * report before being sent * * @return String the form */ function PMA_getErrorReportForm() { $datas = array('report_data' => PMA_getPrettyReportData(), 'hidden_inputs' => PMA_URL_getHiddenInputs(), 'hidden_fields' => null); $reportData = PMA_getReportData(); if (!empty($reportData)) { $datas['hidden_fields'] = PMA_getHiddenFields($reportData); } include_once './libraries/Template.class.php'; return PMA\Template::get('error/report_form')->render($datas); }
/** * generates the error report form to collect user description and preview the * report before being sent * * @return String the form */ function PMA_getErrorReportForm() { $datas = array('report_data' => PMA_getPrettyReportData(), 'hidden_inputs' => URL::getHiddenInputs(), 'hidden_fields' => null); $reportData = PMA_getReportData(); if (!empty($reportData)) { $datas['hidden_fields'] = URL::getHiddenFields($reportData); } return PMA\libraries\Template::get('error/report_form')->render($datas); }
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Handle error report submission * * @package PhpMyAdmin */ require_once 'libraries/common.inc.php'; require_once 'libraries/error_report.lib.php'; $response = PMA_Response::getInstance(); if (isset($_REQUEST['send_error_report']) && $_REQUEST['send_error_report'] == true) { $server_response = PMA_sendErrorReport(PMA_getReportData(false)); if ($server_response === false) { $success = false; } else { $decoded_response = json_decode($server_response, true); $success = !empty($decoded_response) ? $decoded_response["success"] : false; } if (isset($_REQUEST['automatic']) && $_REQUEST['automatic'] === "true") { if ($success) { $response->addJSON('message', PMA_Message::error(__('An error has been detected and an error report has been ' . 'automatically submitted based on your settings.') . '<br />' . __('You may want to refresh the page.'))); } else { $response->addJSON('message', PMA_Message::error(__('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.') . '<br />' . __('You may want to refresh the page.'))); } } else { if ($success) { $response->addJSON('message', PMA_Message::success(__('Thank you for submitting this report.') . '<br />' . __('You may want to refresh the page.'))); } else { $response->addJSON('message', PMA_Message::error(__('Thank you for submitting this report.') . ' ' . __('Unfortunately the submission failed.') . ' ' . __('If you experience any ' . 'problems please submit a bug report manually.') . '<br />' . __('You may want to refresh the page.'))); }