Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commits for review: Add php Error Reporting Functionality to PMA #1207

Closed
wants to merge 21 commits into from
Closed
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7bdad8e
Add script that will report all the errors of current-script-run. Thi…
JayNakrani May 9, 2014
b137255
Include error reporitng script at the end of index.php. Corrosponding…
JayNakrani May 9, 2014
0cc6c30
Add standard pma code for the library files. Add comments explaining …
JayNakrani May 11, 2014
44ee4d8
Add another parameter to existing js error reporting code.
JayNakrani May 23, 2014
74f61dc
Report errors based on user preference. All the cases taken care of.
JayNakrani May 23, 2014
80d86e0
Add appropriate msgs & js functions to handle user actions.
JayNakrani May 23, 2014
0f46e06
Fix Syntax errors.
JayNakrani May 24, 2014
e956817
Make "Ignore All" button work on login page.
JayNakrani May 25, 2014
29345e1
Remove unnecessary file.
JayNakrani May 26, 2014
0215f1a
Send only(without HTML) error message string.
JayNakrani May 27, 2014
d08ef1d
Send only backtrace (not displayBacktrace). Change getBacktrace to re…
JayNakrani May 28, 2014
56ee831
Fix failing existing PHPUnit tests.
JayNakrani Jun 3, 2014
27bd1f3
Remove unnecessary code. A deliberate error & local error-reporting-s…
JayNakrani Jun 3, 2014
628280b
Improve Error Message.
JayNakrani Jun 3, 2014
c6e582f
Include error reporting script at the end of all the 'relevant' scripts.
JayNakrani Jun 3, 2014
0ec4a2d
Stop false alarms (displaying prompts-reporting form and reporting fo…
JayNakrani Jun 5, 2014
bef9527
Move error reporting code to a separate function 'PMA_Error_Handler::…
JayNakrani Jun 7, 2014
0491058
Remove included 'common_error_reporting.php' script and its inclusion…
JayNakrani Jun 7, 2014
d25a83c
Make automatic php error report submission ('sendErrorReport'='always…
JayNakrani Jun 7, 2014
8e66074
Display appropriate msg while automatically submitting php error report.
JayNakrani Jun 7, 2014
1fd02dc
Fix coding style issues.
JayNakrani Jun 8, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions browse_foreigners.php
Expand Up @@ -63,4 +63,9 @@
);

$response->addHtml($html);

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions chk_rel.php
Expand Up @@ -12,4 +12,8 @@
PMA_getRelationsParamDiagnostic(PMA_getRelationsParam())
);

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
5 changes: 5 additions & 0 deletions db_create.php
Expand Up @@ -133,4 +133,9 @@
include_once '' . $cfg['DefaultTabDatabase'];
}
}

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_datadict.php
Expand Up @@ -288,4 +288,8 @@
*/
echo PMA_Util::getButton();

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_events.php
Expand Up @@ -23,4 +23,8 @@
$_PMA_RTE = 'EVN';
require_once 'libraries/rte/rte_main.inc.php';

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_export.php
Expand Up @@ -91,4 +91,8 @@
$export_type = 'database';
require_once 'libraries/display_export.inc.php';

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_import.php
Expand Up @@ -22,4 +22,8 @@
$import_type = 'database';
require 'libraries/display_import.inc.php';

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_operations.php
Expand Up @@ -297,4 +297,8 @@
$response->addHTML(PMA_getHtmlForExportRelationalSchemaView($url_query));
} // end if

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
5 changes: 5 additions & 0 deletions db_printview.php
Expand Up @@ -177,4 +177,9 @@
echo PMA_Util::getButton();

echo "<div id='PMA_disable_floating_menubar'></div>\n";

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
5 changes: 5 additions & 0 deletions db_qbe.php
Expand Up @@ -129,4 +129,9 @@
}

$response->addHTML($db_qbe->getSelectionForm($cfgRelation));

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_routines.php
Expand Up @@ -24,4 +24,8 @@
$_PMA_RTE = 'RTN';
require_once 'libraries/rte/rte_main.inc.php';

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
5 changes: 5 additions & 0 deletions db_search.php
Expand Up @@ -60,4 +60,9 @@
);
$response->addHTML($db_search->getSelectionForm($url_params));
$response->addHTML($db_search->getResultDivs());

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_sql.php
Expand Up @@ -41,4 +41,8 @@
)
);

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_structure.php
Expand Up @@ -431,4 +431,8 @@
$response->addHTML($content);
} // end if (Create Table dialog)

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_tracking.php
Expand Up @@ -249,4 +249,8 @@
echo PMA_Util::getMessage(__('Database Log'), $log);
}

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
4 changes: 4 additions & 0 deletions db_triggers.php
Expand Up @@ -22,4 +22,8 @@
$_PMA_RTE = 'TRI';
require_once 'libraries/rte/rte_main.inc.php';

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
219 changes: 148 additions & 71 deletions error_report.php
Expand Up @@ -10,86 +10,163 @@

$response = PMA_Response::getInstance();

if (isset($_REQUEST['send_error_report'])
&& $_REQUEST['send_error_report'] == true
) {
$server_response = PMA_sendErrorReport(PMA_getReportData(false));
if (isset($_REQUEST['exception_type'])
&& $_REQUEST['exception_type'] == 'js'
) {
if (isset($_REQUEST['send_error_report'])
&& $_REQUEST['send_error_report'] == true
) {
$server_response = PMA_sendErrorReport(PMA_getReportData(false,'js'));

if ($server_response === false) {
$success = false;
} else {
$decoded_response = json_decode($server_response, true);
$success = !empty($decoded_response) ? $decoded_response["success"] : 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.'
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.')
)
. '<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 ($success) {
$response->addJSON(
'message',
PMA_Message::success(
__('Thank you for submitting this report.')
. '<br />'
. __('You may want to refresh the page.')
)
. ' '
. __(
'If you experience any '
. 'problems please submit a bug report manually.'
);
} 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.')
)
. '<br />'
. __('You may want to refresh the page.')
)
);
);
}
if (isset($_REQUEST['always_send'])
&& $_REQUEST['always_send'] === "true"
) {
PMA_persistOption("SendErrorReports", "always", "ask");
}
}
} elseif (! empty($_REQUEST['get_settings'])) {
$response->addJSON('report_setting', $GLOBALS['cfg']['SendErrorReports']);
} 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.')
)
);
}
if (isset($_REQUEST['always_send'])
&& $_REQUEST['always_send'] === "true"
$response->addHTML(PMA_getErrorReportForm());
}
}elseif (isset($_REQUEST['exception_type'])
&& $_REQUEST['exception_type'] == 'php'
) {
PMA_persistOption("SendErrorReports", "always", "ask");
if (isset($_REQUEST['send_error_report'])
&& $_REQUEST['send_error_report'] == '1'
) {
$reportData = PMA_getReportData(false,'php');
// report if and only if there were 'actual' errors.
if($reportData) {
$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;
}

if($GLOBALS['cfg']['SendErrorReports'] == 'ask'){
if($success) {
$errSubmitMsg = PMA_Message::error(
__('Thank You for subitting error report!!')
. '<br/>'
. __('Report has been succesfully submitted.')
);
} else {
$errSubmitMsg = PMA_Message::error(
__('Thank You for subitting error report!!')
. '<br/>'
. __(' Unfortunately submission failed.')
. '<br/>'
. __(' If you experience any problems please submit a bug report manually.')
);
}
} elseif($GLOBALS['cfg']['SendErrorReports'] == 'always') {
if($success) {
$errSubmitMsg = PMA_Message::error(
__(
'An error has been detected on the server and an error report has been '
. 'automatically submitted based on your settings.'
)
);
} else {
$errSubmitMsg = PMA_Message::error(
__(
'An error has been detected and an error report has been '
. 'generated but failed to be sent.'
)
. '<br/>'
. __('If you experience any problems please submit a bug report manually.')
);
}
}

if($response->isAjax()) {
$response->addJSON('_errSubmitMsg',$errSubmitMsg);
} else {
$jsCode = 'PMA_ajaxShowMessage("<div class=\"error\">'
.$errSubmitMsg
.'</div>", false);';
$response->getFooter()->getScripts()->addCode($jsCode);
}
}
}
}
} elseif (! empty($_REQUEST['get_settings'])) {
$response->addJSON('report_setting', $GLOBALS['cfg']['SendErrorReports']);
// clear previous errors & save new ones.
$GLOBALS['error_handler']->savePreviousErrors();
} else {
$response->addHTML(PMA_getErrorReportForm());
die('Oops, something went wrong!!');
}

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
?>
5 changes: 5 additions & 0 deletions export.php
Expand Up @@ -468,5 +468,10 @@
} else {
echo PMA_getHtmlForDisplayedExportFooter($back_button);
} // end if

/**
* Include error reporting script.
*/
require_once 'libraries/common_error_reporting.inc.php';
}
?>