Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
cdf2060
Namespace and Console panel to IndexedDB etc
adrianbj Feb 24, 2026
a4d96b1
More console performance improvements and restore lost keyboard short…
adrianbj Feb 24, 2026
ebe6fe9
Fix isBackwards error and issue with loaded snippets being tagged as …
adrianbj Feb 25, 2026
1e0a437
Fix initial width of certain panels on certain admin pages.
adrianbj Feb 25, 2026
bcfa574
Add custom limit to number of exception files in panel and other perf…
adrianbj Mar 5, 2026
1fc97fb
Fix possible directory traversal issues.
adrianbj Mar 7, 2026
aaa4a04
Create .gitignore
adrianbj Mar 7, 2026
2877a03
More directory traversal and CSRF protection fixes.
adrianbj Mar 7, 2026
6ac42bc
Verify peer on CURL request to Slack
adrianbj Mar 7, 2026
33dca10
Move external panel sort out of loop.
adrianbj Mar 7, 2026
460f415
Take logs and todo cache saving out of loops.
adrianbj Mar 7, 2026
445c6c5
Lots more CSRF additions
adrianbj Mar 7, 2026
05c3b30
Cookie sameSite rules
adrianbj Mar 7, 2026
6a46a67
More XSS fixes
adrianbj Mar 7, 2026
54d5d57
More XSS fixes
adrianbj Mar 7, 2026
9bd5042
Fix possible httpReferer exploits
adrianbj Mar 7, 2026
43f613b
Fix possible $_SERVER['REQUEST_URI'] exploits
adrianbj Mar 7, 2026
0332f16
Fix null warning
adrianbj Mar 7, 2026
3d54ae3
Attempted fix for namespace upgrade issue.
adrianbj Mar 7, 2026
443ee03
Delete settings.local.json
adrianbj Mar 7, 2026
123ece7
Fix various potential htmlspecialchars() null errors
adrianbj Mar 7, 2026
472be74
Bump requires needs to PW 3 and PHP 7.0
adrianbj Mar 7, 2026
ae663aa
Bumping to PHP 7.1 (inline with PW) and so removing old 2.5.x branch …
adrianbj Mar 7, 2026
4e6f438
Cleanup old PW 2.x fallbacks
adrianbj Mar 7, 2026
a7b9ae8
Fix error when Tracy .html file is not actually in bluescreen html fo…
adrianbj Mar 7, 2026
20d208e
More fixes for non-HTML Tracy .html files
adrianbj Mar 7, 2026
b5d796f
Cleanup from last commit
adrianbj Mar 7, 2026
c68085a
Fix exceptions panel width issues
adrianbj Mar 7, 2026
5a05a36
Ensure BasePanel is loaded first.
adrianbj Mar 8, 2026
6e14f64
Another attempt at BasePanel issue
adrianbj Mar 8, 2026
a540940
And another attempt
adrianbj Mar 8, 2026
28f8429
And again
adrianbj Mar 8, 2026
19f4396
And again
adrianbj Mar 8, 2026
b375bb5
And again
adrianbj Mar 8, 2026
fe97109
Cleanup
adrianbj Mar 8, 2026
526608d
Undo last one
adrianbj Mar 8, 2026
d2655c9
Hopefully cleaner
adrianbj Mar 8, 2026
d07edf7
Hopefully less heavy
adrianbj Mar 8, 2026
98abab2
More cleanup
adrianbj Mar 8, 2026
2d9ac96
Had to restore the early BasePanel namespace logic
adrianbj Mar 8, 2026
cf7759b
Fix panel layout issues in Language Switcher
adrianbj Mar 8, 2026
bd53d9e
Fix namespace issue in AdminToolsPanel
adrianbj Mar 9, 2026
95c15d7
Fix htmlspecialchars null error
adrianbj Mar 9, 2026
1e3019c
Fix for possible non string values being passed to trim()
adrianbj Mar 9, 2026
b14e625
Fix possible isset null issue
adrianbj Mar 9, 2026
b1785be
Fix setcookie issues
adrianbj Mar 10, 2026
32fca02
Convert UserSwitcher to findRaw() if available.
adrianbj Mar 10, 2026
1b1e1ed
Minor security and bug fixes
adrianbj Mar 11, 2026
4c55541
More namespace and other minor bugs.
adrianbj Mar 11, 2026
fd88154
openAdminer URL fix
adrianbj Mar 12, 2026
24ea510
Fix issue with missing close button and autopanel resizing in API Exp…
adrianbj Mar 12, 2026
8adc12e
Fixes for long time buggy "What's New" feature in API Explorer panel.
adrianbj Mar 12, 2026
26394ea
Fix possible issues with PW version switcher.
adrianbj Mar 12, 2026
d450fa1
Add automatic PW version reverting if it fails in anyway.
adrianbj Mar 12, 2026
f552f48
Minor fixes
adrianbj Mar 12, 2026
7041753
More minor validity checks
adrianbj Mar 12, 2026
f22d518
Add note about being able to reload to restore old version in case of…
adrianbj Mar 13, 2026
edf00e8
Add nonce to all inline scripts
adrianbj Mar 14, 2026
a9e38e0
Update getNonce() in older Tracy core versions to also find in script…
adrianbj Mar 14, 2026
e814823
Fix recently introduced namespace issue in Adminer
adrianbj Mar 17, 2026
c4f67d0
Improve robustness of various custom handlers
adrianbj Mar 19, 2026
39bcac5
Revised fix for handler issues
adrianbj Mar 19, 2026
8e6472f
Add "/refresh" to end of Upgrades module path in PW Info panel custom…
adrianbj Mar 21, 2026
0889729
Abstract some panel logic into BasePanel.php
adrianbj Mar 29, 2026
19a8c92
Add delegated event listeners instead of inline handlers
adrianbj Mar 29, 2026
27f4833
Null page check
adrianbj Mar 29, 2026
c35cf40
More refactoring - mostly adding section header and end methods
adrianbj Mar 29, 2026
78a178d
Add fieldExportCode to default sections
adrianbj Mar 29, 2026
d0efb56
Fixed "there are unsaved changes" confirm when saving page in PW admin
adrianbj Mar 30, 2026
6d0301d
Improve last attempted fix
adrianbj Mar 30, 2026
6054e96
Extract panel POST processing logic to separate files
adrianbj Mar 31, 2026
ccde1ba
Extract PW Version Switcher into its own class.
adrianbj Mar 31, 2026
4b58dab
Add missing <?php namespace ProcessWire to all POST logic files
adrianbj Mar 31, 2026
e6fcd80
Allow automatic version revert for hidden 500 errors and with reload …
adrianbj Mar 31, 2026
2fd8ba4
Adjust note on PW version switcher about how to restore in case of fa…
adrianbj Mar 31, 2026
cebb092
Add class_alias for TD and move all shortcut methods to global namesp…
adrianbj Apr 3, 2026
5f036b4
Update .gitignore
adrianbj Apr 5, 2026
d308d36
Ensure ready.php and finished.php are compiled (if not namepaced) whe…
adrianbj Apr 5, 2026
db3d6a4
Add comment about last commit
adrianbj Apr 5, 2026
b1303bc
Fix realpath issues on windows
adrianbj Apr 5, 2026
2fc1640
Fix $currentUrl issues
adrianbj Apr 5, 2026
cfc5447
Windows line ending fixes
adrianbj Apr 5, 2026
0b437e5
Fix out of scope $pages
adrianbj Apr 5, 2026
a48ccbc
Remove no longer needed maxLen fallback and add `:class` to property_…
adrianbj Apr 5, 2026
ac6ce37
Various fixes thanks to @matjazp
adrianbj Apr 5, 2026
fed4987
TD namespace fix.
adrianbj Apr 5, 2026
95289a0
Remove unused loadResources()
adrianbj Apr 5, 2026
e223bbd
Remove Firelogger (no longer supported in Tracy core) and a couple of…
adrianbj Apr 5, 2026
6322c07
Remove unintended console endpoint file
adrianbj Apr 5, 2026
cdd024e
Add stan files to .gitignore
adrianbj Apr 5, 2026
4613a51
Changes missing from removing firelogger
adrianbj Apr 5, 2026
ed6a7c4
Add new automatic "run in background" functionality in Console panel …
adrianbj Apr 5, 2026
22448a8
Minor tweaks
adrianbj Apr 6, 2026
5b48ac9
Update PHP version in composer.json
adrianbj Apr 6, 2026
51cdc3a
Fix potential issue path issues in Adminer thumbnail viewer.
adrianbj Apr 6, 2026
7d24cbc
Replace $GLOBALS with static properties
adrianbj Apr 8, 2026
b323be8
Release Tracy's FileSession lock so we can interact with the page and…
adrianbj Apr 8, 2026
26f204b
Fix undefined PW vars issue with new approach to including ready.php …
adrianbj Apr 8, 2026
d4423ab
Remove re-including ready.php and finished.php
adrianbj Apr 8, 2026
c5946d7
Fix some potential console run polling and caching issues.
adrianbj Apr 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.claude/
docs/
phpstan.neon
phpstan-baseline.neon
10 changes: 5 additions & 5 deletions ProcessTracyAdminer.module.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?php
<?php namespace ProcessWire;

class ProcessTracyAdminer extends Process implements Module {
public static function getModuleInfo() {
Expand All @@ -7,11 +7,11 @@ public static function getModuleInfo() {
'summary' => __('Adminer page for TracyDebugger.', __FILE__),
'author' => 'Adrian Jones',
'href' => 'https://processwire.com/talk/topic/12208-tracy-debugger/',
'version' => '2.0.3',
'version' => '2.0.4',
'autoload' => false,
'singular' => true,
'icon' => 'database',
'requires' => 'ProcessWire>=2.7.2, PHP>=5.4.4, TracyDebugger, ProcessTracyAdminerRenderer',
'requires' => 'ProcessWire>=3.0.0, PHP>=7.1.0, TracyDebugger, ProcessTracyAdminerRenderer',
'installs' => array('ProcessTracyAdminerRenderer'),
'page' => array(
'name' => 'adminer',
Expand All @@ -30,8 +30,8 @@ public function ___execute() {
}
else {
return '
<iframe id="adminer-iframe" src="'.str_replace('/adminer/', '/adminer-renderer/', $_SERVER['REQUEST_URI']).'" style="width:100vw; border: none; padding:0; margin:0;"></iframe>
<script>
<iframe id="adminer-iframe" src="'.htmlspecialchars(str_replace('/adminer/', '/adminer-renderer/', $_SERVER['REQUEST_URI'] ?? ''), ENT_QUOTES, 'UTF-8').'" style="width:100vw; border: none; padding:0; margin:0;"></iframe>
<script' . TracyDebugger::getNonceAttr() . '>
const adminer_iframe = document.getElementById("adminer-iframe");
window.addEventListener("popstate", function (event) {
adminer_iframe.src = location.href.replace("/adminer/", "/adminer-renderer/");
Expand Down
57 changes: 6 additions & 51 deletions ProcessTracyAdminerRenderer.module.php
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
<?php
<?php namespace ProcessWire;

class ProcessTracyAdminerRenderer extends Process implements Module {

public static function getModuleInfo() {
return array(
'title' => __('Process Tracy Adminer Renderer', __FILE__),
'summary' => __('Adminer renderer for TracyDebugger.', __FILE__),
'author' => 'Adrian Jones',
'href' => 'https://processwire.com/talk/topic/12208-tracy-debugger/',
'version' => '2.0.3',
'version' => '2.0.4',
'autoload' => false,
'singular' => true,
'icon' => 'database',
'requires' => 'ProcessWire>=2.7.2, PHP>=5.4.4, TracyDebugger',
'requires' => 'ProcessWire>=3.0.0, PHP>=7.1.0, TracyDebugger',
'page' => array(
'name' => 'adminer-renderer',
'parent' => 'setup',
Expand All @@ -22,54 +23,8 @@ public static function getModuleInfo() {
}

public function ___execute() {

function adminneo_instance() {

foreach (glob(__DIR__.'/panels/Adminer/plugins/*.php') as $filename) {
require_once $filename/*NoCompile*/;
}

$tracyConfig = wire('modules')->getModuleConfigData('TracyDebugger');

$plugins = [
new \AdminNeo\ExternalLoginPlugin(true),
new \AdminNeo\FrameSupportPlugin(["self"]),
new \AdminNeo\ProcessWirePlugin(),
new \AdminNeo\JsonDumpPlugin,
new \AdminNeo\JsonPreviewPlugin($tracyConfig['adminerJsonMaxLevel'], $tracyConfig['adminerJsonInTable'], $tracyConfig['adminerJsonInEdit'], $tracyConfig['adminerJsonMaxTextLength']),
new \AdminNeo\XmlDumpPlugin,
new \AdminNeo\Bz2OutputPlugin,
new \AdminNeo\ZipOutputPlugin
];

$config = [
"servers" => [
[
"driver" => "mysql",
"server" => wire('config')->dbHost . (wire('config')->dbPort ? ':' . wire('config')->dbPort : ''),
"database" => wire('config')->dbName,
"username" => wire('config')->dbUser,
"password" => wire('config')->dbPass
]
],
"jsonValuesDetection" => true,
"jsonValuesAutoFormat" => true,
"preferSelection" => true,
"colorVariant" => $tracyConfig['adminerThemeColor'],
"cssUrls" => [
wire('config')->urls->root . 'site/modules/TracyDebugger/panels/Adminer/css/tweaks.css'
],
"jsUrls" => [
wire('config')->urls->root . 'site/modules/TracyDebugger/panels/Adminer/scripts/tweaks.js'
]
];

return \AdminNeo\Admin::create($config, $plugins);
}

require_once __DIR__ . '/panels/Adminer/adminneo.php'/*NoCompile*/;

require_once __DIR__ . '/panels/Adminer/adminneo-instance.php';
require_once __DIR__ . '/panels/Adminer/adminneo.php';
exit;
}

}
Loading