diff --git a/error_report.php b/error_report.php index 2efb7c897d..a01f8a87dc 100644 --- a/error_report.php +++ b/error_report.php @@ -1,7 +1,7 @@ $_REQUEST['exception'], + "exception" => $exception, "pma_version" => PMA_VERSION, "browser_name" => PMA_USR_BROWSER_AGENT, "browser_version" => PMA_USR_BROWSER_VER, @@ -106,7 +106,6 @@ function get_report_data($json_encode = true) { !empty($GLOBALS['cfg']['Servers'][1]['pmadb']), "php_version" => phpversion(), "microhistory" => $_REQUEST['microhistory'], - "scripts" => $_REQUEST['scripts'], ); if(!empty($_REQUEST['description'])) { @@ -174,4 +173,38 @@ function send_error_report($report) { } return $response; } + +function translate_stacktrace($stack) { + if(!defined('LINE_COUNTS')) { + return $stack; + } + + foreach($stack as &$level) { + if(preg_match("", $level["url"], $matches)) { + parse_str($matches[1], $vars); + List($file_name, $line_number) = + get_line_number($vars["scripts"], $level["line"]); + unset($level["url"]); + $level["filename"] = $file_name; + $level["line"] = $line_number; + } + } + unset($level); + return $stack; +} + +function get_line_number($filenames, $cumulative_number) { + global $LINE_COUNT; + $cumulative_sum = 0; + foreach($filenames as $filename) { + $filecount = $LINE_COUNT[$filename]; + if ($cumulative_number <= $cumulative_sum + $filecount + 2) { + $linenumber = $cumulative_number - $cumulative_sum; + break; + } + $cumulative_sum += $filecount + 2; + } + return array($filename, $linenumber); +} + ?> diff --git a/js/error_report.js b/js/error_report.js index 8f40cc2259..c2b159ee35 100644 --- a/js/error_report.js +++ b/js/error_report.js @@ -202,7 +202,7 @@ var ErrorReport = { var report_data = { "ajax_request": true, "token": token, - "exception": ErrorReport._simplify_exception(exception), + "exception": exception, "current_url": window.location.href, "microhistory": ErrorReport._get_microhistory(), "scripts": AJAX.cache.pages[AJAX.cache.current-1].scripts.map( @@ -322,4 +322,3 @@ ErrorReport.set_up_error_reporting(); $(function(){ ErrorReport.wrap_global_functions(); }) - diff --git a/scripts/line-counts.sh b/scripts/line-counts.sh index b40da2ccb2..e9a7b6b5c9 100755 --- a/scripts/line-counts.sh +++ b/scripts/line-counts.sh @@ -1,9 +1,5 @@ #! /usr/bin/bash -php_code=$(cat <