From 92a494387555f1f33c56fab39d19ff3a7c9dd076 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 5 Mar 2019 16:05:09 +0100 Subject: [PATCH] bar: uses all GET parameters when loading bar [Closes #352] --- src/Tracy/Bar/assets/bar.js | 7 ++++--- src/Tracy/Bar/assets/loader.phtml | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Tracy/Bar/assets/bar.js b/src/Tracy/Bar/assets/bar.js index 9e11e53e3..3779e4e0f 100644 --- a/src/Tracy/Bar/assets/bar.js +++ b/src/Tracy/Bar/assets/bar.js @@ -6,6 +6,7 @@ (function(){ let nonce, contentId, ajaxCounter = 1; + let baseUrl = location.href.split('#')[0] + (location.href.indexOf('?') < 0 ? '?' : '&'); class Panel { @@ -139,7 +140,7 @@ let doc = win.document; doc.write('' - + '' + + '' + '' ); doc.body.innerHTML = '
' + this.elem.innerHTML + '
'; @@ -471,7 +472,7 @@ this.setRequestHeader('X-Tracy-Ajax', reqId); this.addEventListener('load', function() { if (this.getAllResponseHeaders().match(/^X-Tracy-Ajax: 1/mi)) { - Debug.loadScript('?_tracy_bar=content-ajax.' + reqId + '&XDEBUG_SESSION_STOP=1&v=' + Math.random()); + Debug.loadScript(baseUrl + '_tracy_bar=content-ajax.' + reqId + '&XDEBUG_SESSION_STOP=1&v=' + Math.random()); } }); } @@ -486,7 +487,7 @@ request.headers.set('X-Tracy-Ajax', reqId); return oldFetch(request).then((response) => { if (response.headers.has('X-Tracy-Ajax') && response.headers.get('X-Tracy-Ajax')[0] === '1') { - Debug.loadScript('?_tracy_bar=content-ajax.' + reqId + '&XDEBUG_SESSION_STOP=1&v=' + Math.random()); + Debug.loadScript(baseUrl + '_tracy_bar=content-ajax.' + reqId + '&XDEBUG_SESSION_STOP=1&v=' + Math.random()); } return response; diff --git a/src/Tracy/Bar/assets/loader.phtml b/src/Tracy/Bar/assets/loader.phtml index d7b240417..53b040523 100644 --- a/src/Tracy/Bar/assets/loader.phtml +++ b/src/Tracy/Bar/assets/loader.phtml @@ -13,19 +13,20 @@ declare(strict_types=1); namespace Tracy; -$baseUrl = explode('?', $_SERVER['REQUEST_URI'] ?? '')[0]; +$baseUrl = $_SERVER['REQUEST_URI'] ?? ''; +$baseUrl .= strpos($baseUrl, '?') === false ? '?' : '&'; $nonceAttr = $nonce ? ' nonce="' . Helpers::escapeHtml($nonce) . '"' : ''; $asyncAttr = $async ? ' async' : ''; ?> - + - + > Tracy.Debug.init();