diff --git a/ajax.php b/ajax.php index fc07dc91..9532cbf2 100644 --- a/ajax.php +++ b/ajax.php @@ -215,6 +215,7 @@ class ajax_common { $this->response['error_code'] = $error_code; $this->response['error_msg'] = strip_tags(preg_replace('##i', "\n", $error_msg)); + $this->response['console_log'] = 'ajax die: ' . $this->debug_find_source(); $this->send(); } @@ -334,6 +335,27 @@ class ajax_common } } + /** + * Find caller source + */ + function debug_find_source ($mode = '') + { + if (!SQL_PREPEND_SRC_COMM) return 'src disabled'; + foreach (debug_backtrace() as $trace) + { + if (!empty($trace['file']) && $trace['file'] !== __FILE__) + { + switch ($mode) + { + case 'file': return $trace['file']; + case 'line': return $trace['line']; + default: return hide_bb_path($trace['file']) .'('. $trace['line'] .')'; + } + } + } + return 'src not found'; + } + function edit_user_profile() { require(AJAX_DIR . 'edit_user_profile.php'); diff --git a/library/config.php b/library/config.php index aa748b1a..fb7b19ae 100644 --- a/library/config.php +++ b/library/config.php @@ -323,6 +323,7 @@ define('SPHINX_LOG_NAME', 'sphinx_errors'); // имя файла с лог define('DBG_LOG', true); // включить логирование событий движка (отключите на боевом сервере) define('DBG_LOG_TRACKER', false); // включить логирование событий анонсера (отключите на боевом сервере) +define('DEBUG_AJAX_DIE', true); // отображать в консоли браузера файл:строку в которой происходит вызов ajax_die() define('COOKIE_DBG', 'bb_dbg'); // debug cookie name define('SQL_DEBUG', true); // включить отладку для SQL запросов и Cache & Datastore define('SQL_BB_LOG_NAME', 'sql_error_bb'); // имя лог файла с SQL ошибками (Форум) diff --git a/styles/js/main.js b/styles/js/main.js index 109e54c5..340f7051 100644 --- a/styles/js/main.js +++ b/styles/js/main.js @@ -368,6 +368,7 @@ Ajax.prototype = { } else if (response.error_code) { ajax.showErrorMsg(response.error_msg); + console.log(response.console_log); $('.loading-1').removeClass('loading-1').html('error'); } else { @@ -560,4 +561,4 @@ $(document).ready(function () { }).mouseout(function () { _bMoveble = false; }); -}); \ No newline at end of file +});