<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Handle error report submission * * @package PhpMyAdmin */ use PhpMyAdmin\ErrorReport; use PhpMyAdmin\Message; use PhpMyAdmin\Response; use PhpMyAdmin\UserPreferences; use PhpMyAdmin\Utils\HttpRequest; require_once 'libraries/common.inc.php'; if (!isset($_POST['exception_type']) ||!in_array($_POST['exception_type'], array('js', 'php')) ) { die('Oops, something went wrong!!'); } $response = Response::getInstance(); $errorReport = new ErrorReport(new HttpRequest()); 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 = 'PMA_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']); } else { if ($_POST['exception_type'] == 'js') { $response->addHTML($errorReport->getForm()); } else { // clear previous errors & save new ones. $GLOBALS['error_handler']->savePreviousErrors(); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
doc | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
libraries | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
sql | Folder | 0755 |
|
|
templates | Folder | 0755 |
|
|
themes | Folder | 0755 |
|
|
ajax.php | File | 1.52 KB | 0644 |
|
autoload.php | File | 43.03 KB | 0644 |
|
browse_foreigners.php | File | 1.71 KB | 0644 |
|
changelog.php | File | 3.12 KB | 0644 |
|
chk_rel.php | File | 856 B | 0644 |
|
config.sample.inc.php | File | 4.41 KB | 0644 |
|
db_central_columns.php | File | 5.54 KB | 0644 |
|
db_datadict.php | File | 5.74 KB | 0644 |
|
db_designer.php | File | 7.53 KB | 0644 |
|
db_events.php | File | 271 B | 0644 |
|
db_export.php | File | 4.52 KB | 0644 |
|
db_import.php | File | 899 B | 0644 |
|
db_multi_table_query.php | File | 1.01 KB | 0644 |
|
db_operations.php | File | 9.63 KB | 0644 |
|
db_qbe.php | File | 4.75 KB | 0644 |
|
db_routines.php | File | 365 B | 0644 |
|
db_search.php | File | 1.95 KB | 0644 |
|
db_sql.php | File | 952 B | 0644 |
|
db_sql_autocomplete.php | File | 746 B | 0644 |
|
db_sql_format.php | File | 485 B | 0644 |
|
db_structure.php | File | 1011 B | 0644 |
|
db_tracking.php | File | 4.31 KB | 0644 |
|
db_triggers.php | File | 273 B | 0644 |
|
error_report.php | File | 4.5 KB | 0644 |
|
export.php | File | 15.55 KB | 0644 |
|
favicon.ico | File | 21.96 KB | 0644 |
|
gis_data_editor.php | File | 15.61 KB | 0644 |
|
import.php | File | 23.41 KB | 0644 |
|
import_status.php | File | 3.38 KB | 0644 |
|
index.php | File | 19.78 KB | 0644 |
|
license.php | File | 894 B | 0644 |
|
lint.php | File | 1.4 KB | 0644 |
|
logout.php | File | 311 B | 0644 |
|
navigation.php | File | 2.25 KB | 0644 |
|
normalization.php | File | 4.05 KB | 0644 |
|
phpinfo.php | File | 507 B | 0644 |
|
phpmyadmin.css.php | File | 740 B | 0644 |
|
prefs_forms.php | File | 2.43 KB | 0644 |
|
prefs_manage.php | File | 14.02 KB | 0644 |
|
prefs_twofactor.php | File | 1.56 KB | 0644 |
|
print.css | File | 1.18 KB | 0644 |
|
schema_export.php | File | 653 B | 0644 |
|
server_binlog.php | File | 785 B | 0644 |
|
server_collations.php | File | 818 B | 0644 |
|
server_databases.php | File | 798 B | 0644 |
|
server_engines.php | File | 784 B | 0644 |
|
server_export.php | File | 1.06 KB | 0644 |
|
server_import.php | File | 634 B | 0644 |
|
server_plugins.php | File | 784 B | 0644 |
|
server_privileges.php | File | 13.85 KB | 0644 |
|
server_replication.php | File | 2.38 KB | 0644 |
|
server_sql.php | File | 698 B | 0644 |
|
server_status.php | File | 897 B | 0644 |
|
server_status_advisor.php | File | 862 B | 0644 |
|
server_status_monitor.php | File | 2.89 KB | 0644 |
|
server_status_processes.php | File | 1.83 KB | 0644 |
|
server_status_queries.php | File | 1.39 KB | 0644 |
|
server_status_variables.php | File | 1.53 KB | 0644 |
|
server_user_groups.php | File | 1.83 KB | 0644 |
|
server_variables.php | File | 798 B | 0644 |
|
show_config_errors.php | File | 1.06 KB | 0644 |
|
sql.php | File | 6.2 KB | 0644 |
|
tbl_addfield.php | File | 3.67 KB | 0644 |
|
tbl_change.php | File | 6.19 KB | 0644 |
|
tbl_chart.php | File | 972 B | 0644 |
|
tbl_create.php | File | 3.29 KB | 0644 |
|
tbl_export.php | File | 2.37 KB | 0644 |
|
tbl_find_replace.php | File | 999 B | 0644 |
|
tbl_get_field.php | File | 1.72 KB | 0644 |
|
tbl_gis_visualization.php | File | 1.5 KB | 0644 |
|
tbl_import.php | File | 684 B | 0644 |
|
tbl_indexes.php | File | 1.37 KB | 0644 |
|
tbl_operations.php | File | 15.08 KB | 0644 |
|
tbl_recent_favorite.php | File | 452 B | 0644 |
|
tbl_relation.php | File | 2.32 KB | 0644 |
|
tbl_replace.php | File | 16.57 KB | 0644 |
|
tbl_row_action.php | File | 4.89 KB | 0644 |
|
tbl_select.php | File | 1.1 KB | 0644 |
|
tbl_sql.php | File | 1.15 KB | 0644 |
|
tbl_structure.php | File | 1.99 KB | 0644 |
|
tbl_tracking.php | File | 5.66 KB | 0644 |
|
tbl_triggers.php | File | 141 B | 0644 |
|
tbl_zoom_select.php | File | 1.02 KB | 0644 |
|
themes.php | File | 956 B | 0644 |
|
transformation_overview.php | File | 1.87 KB | 0644 |
|
transformation_wrapper.php | File | 4.51 KB | 0644 |
|
url.php | File | 1.27 KB | 0644 |
|
user_password.php | File | 1.89 KB | 0644 |
|
version_check.php | File | 1.06 KB | 0644 |
|
view_create.php | File | 6.45 KB | 0644 |
|
view_operations.php | File | 3.78 KB | 0644 |
|